From 97d62c7a6a305c47670ea9c147edc444f4bf8620 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 26 Jan 2024 09:23:27 -0700 Subject: [PATCH] docs(maps/fleetengine): update comment on Waypoint (#9291) BEGIN_NESTED_COMMIT docs(maps/fleetengine): update comment on Waypoint PiperOrigin-RevId: 601494762 Source-Link: https://github.com/googleapis/googleapis/commit/8169878669833edb8d4499a2e04ace3861ed44fb Source-Link: https://github.com/googleapis/googleapis-gen/commit/5e1191808cf084491fb4b24bb8ff1bd70ce94c96 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNWUxMTkxODA4Y2YwODQ0OTFmYjRiMjRiYjhmZjFiZDcwY2U5NGM5NiJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT fix(firestore): remove types QueryMode, QueryPlan, ResultSetStats fix: remove QueryMode field from RunQueryRequest fix: remove ResultSetStats field from RunQueryResponse fix: remove QueryMode field from RunAggregationQueryRequest fix: remove ResultSetStats field from RunAggregationQueryResponse PiperOrigin-RevId: 601486523 Source-Link: https://github.com/googleapis/googleapis/commit/a8b027a5c70951da414e3f6b3131cc0ed7886d48 Source-Link: https://github.com/googleapis/googleapis-gen/commit/b9b571f58541c0ace1ff94bf22af3d063eebfb7c Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYjliNTcxZjU4NTQxYzBhY2UxZmY5NGJmMjJhZjNkMDYzZWViZmI3YyJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(contactcenterinsights): add Conversation QualityMetadata docs: clarify usage of agent and customer channel fields in IngestConversationsRequest PiperOrigin-RevId: 601446672 Source-Link: https://github.com/googleapis/googleapis/commit/6f0527b716d3581415b5ade997bd4c6a04480a7d Source-Link: https://github.com/googleapis/googleapis-gen/commit/5678b00d61bed0bac64a63725d276eacd980b04a Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNTY3OGIwMGQ2MWJlZDBiYWM2NGE2MzcyNWQyNzZlYWNkOTgwYjA0YSJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(analytics/admin): add `GetCalculatedMetric`, `CreateCalculatedMetric`, `ListCalculatedMetrics`, `UpdateCalculatedMetric`, `DeleteCalculatedMetric` methods to the Admin API v1alpha feat: add the `CALCULATED_METRIC` option to the `ChangeHistoryResourceType` enum feat: add the `calculated_metric` field to the `ChangeHistoryResource.resource` oneof field feat: add the `CalculatedMetric` resource PiperOrigin-RevId: 601235502 Source-Link: https://github.com/googleapis/googleapis/commit/a88065adf4dbbeec2e11f3951046eb5729ee34c2 Source-Link: https://github.com/googleapis/googleapis-gen/commit/e7b50944e6637b70bcedd0bab5d666b2f22ef757 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZTdiNTA5NDRlNjYzN2I3MGJjZWRkMGJhYjVkNjY2YjJmMjJlZjc1NyJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(pubsub): add enforce_in_transit fields and optional annotations PiperOrigin-RevId: 601205737 Source-Link: https://github.com/googleapis/googleapis/commit/27f83015e8aacb6695f56435b3185f6d45fad995 Source-Link: https://github.com/googleapis/googleapis-gen/commit/daf775c7ecd90de69e1304b840a28d201c025f08 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZGFmNzc1YzdlY2Q5MGRlNjllMTMwNGI4NDBhMjhkMjAxYzAyNWYwOCJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(spanner): add FLOAT32 enum to TypeCode PiperOrigin-RevId: 601176446 Source-Link: https://github.com/googleapis/googleapis/commit/584ecd4102d83b2a2898c31acf7e429d09cefa13 Source-Link: https://github.com/googleapis/googleapis-gen/commit/0bdb815779d0fd7824bafff0c91046a7dca5cd5f Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMGJkYjgxNTc3OWQwZmQ3ODI0YmFmZmYwYzkxMDQ2YTdkY2E1Y2Q1ZiJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(spanner/admin/database): add proto descriptors for proto and enum types in create/update/get database ddl requests PiperOrigin-RevId: 601013501 Source-Link: https://github.com/googleapis/googleapis/commit/81b24a52c7d820e43a18417fa4ee2b7494b64fa3 Source-Link: https://github.com/googleapis/googleapis-gen/commit/46f0446037906f0d905365835f02a652241f3de3 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNDZmMDQ0NjAzNzkwNmYwZDkwNTM2NTgzNWYwMmE2NTIyNDFmM2RlMyJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT chore: Update WORKSPACE Go versions to 1.19.13 PiperOrigin-RevId: 600908604 Source-Link: https://github.com/googleapis/googleapis/commit/db906b1089a4449ea6ccebee0d8e5db3c555dd3b Source-Link: https://github.com/googleapis/googleapis-gen/commit/b3cc2ef5d9b4db495b92b566f14d7e836c88deab Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYjNjYzJlZjVkOWI0ZGI0OTViOTJiNTY2ZjE0ZDdlODM2Yzg4ZGVhYiJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(batch): Add `run_as_non_root` field to allow user's runnable be executed as non root --- feat: Add `tags` field in Job's AllocationPolicy field in v1 --- feat: add Batch Image Streaming support for v1 --- docs: Polish the field descriptions for enableImageStreaming and CloudLoggingOptions PiperOrigin-RevId: 600866696 Source-Link: https://github.com/googleapis/googleapis/commit/78acac9e89bf175b27c89ebe6207e310909086b9 Source-Link: https://github.com/googleapis/googleapis-gen/commit/61e7a2704e599217151acb9798ca77f29bc50710 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNjFlN2EyNzA0ZTU5OTIxNzE1MWFjYjk3OThjYTc3ZjI5YmM1MDcxMCJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(functions): updated description for `docker_registry` to reflect transition to Artifact Registry feat: fields for automatic runtime updates feat: additional optional parameter `version_id` added to `GetFunctionRequest` feat: reflects deprecation of `network` field feat: minor updates in comments throughout PiperOrigin-RevId: 600866189 Source-Link: https://github.com/googleapis/googleapis/commit/78d3b67c13ddf60cfa7ade79d28a9ce4beec7ef9 Source-Link: https://github.com/googleapis/googleapis-gen/commit/1947dd8700fd099d5e1e6d2fec54309f963cfb3f Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMTk0N2RkODcwMGZkMDk5ZDVlMWU2ZDJmZWM1NDMwOWY5NjNjZmIzZiJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT build(securityposture): added APIs for SecurityPosture service in C#, Ruby and Java Clients will now have access to SecurityPosture service APIs in C#, Ruby and Java. PiperOrigin-RevId: 600854050 Source-Link: https://github.com/googleapis/googleapis/commit/6ebf8c0a97d90cbf0028b8cfd53c3cb6de1f0e86 Source-Link: https://github.com/googleapis/googleapis-gen/commit/d3baa835af2ea464266e67645a28c903abe7556c Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZDNiYWE4MzVhZjJlYTQ2NDI2NmU2NzY0NWEyOGM5MDNhYmU3NTU2YyJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT fix(ai/generativelanguage): Fix content.proto's Schema - `type` should be required feat: Update GenAI libraries to include input_safety_feedback docs: Minor docs updates. PiperOrigin-RevId: 600837712 Source-Link: https://github.com/googleapis/googleapis/commit/d99f6f5e15472f9ea1506af96e01b7e7735451f7 Source-Link: https://github.com/googleapis/googleapis-gen/commit/4be94d5705bde10c5a99a754f5a3a7bfa21509e8 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNGJlOTRkNTcwNWJkZTEwYzVhOTlhNzU0ZjVhM2E3YmZhMjE1MDllOCJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(pubsub): add `ingestion_data_source_settings` field to `Topic` PiperOrigin-RevId: 600786127 Source-Link: https://github.com/googleapis/googleapis/commit/708f769ea3987faa1b810fcb44d9e0ee9172b352 Source-Link: https://github.com/googleapis/googleapis-gen/commit/3b85818ca8f12ace75390cea24e5f3df5ac70be7 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiM2I4NTgxOGNhOGYxMmFjZTc1MzkwY2VhMjRlNWYzZGY1YWM3MGJlNyJ9 END_NESTED_COMMIT --- .../accessapprovalpb/accessapproval.pb.go | 162 +- .../accesscontextmanagerpb/access_level.pb.go | 1 + .../service_perimeter.pb.go | 2 + .../advisorynotificationspb/service.pb.go | 1 + ai/generativelanguage/apiv1/doc.go | 16 +- .../apiv1/generativelanguagepb/citation.pb.go | 63 +- .../apiv1/generativelanguagepb/content.pb.go | 1 + .../generative_service.pb.go | 3 + ai/generativelanguage/apiv1beta/doc.go | 16 +- .../generativelanguagepb/citation.pb.go | 66 +- .../generativelanguagepb/content.pb.go | 12 +- .../generative_service.pb.go | 665 +- .../generativelanguagepb/model_service.pb.go | 13 +- .../generativelanguagepb/permission.pb.go | 6 +- .../permission_service.pb.go | 22 +- .../generativelanguagepb/retriever.pb.go | 5 +- .../retriever_service.pb.go | 58 +- .../generativelanguagepb/text_service.pb.go | 8 +- .../generativelanguagepb/tuned_model.pb.go | 10 +- .../apiv1/aiplatformpb/annotation.pb.go | 14 +- .../aiplatformpb/batch_prediction_job.pb.go | 96 +- aiplatform/apiv1/aiplatformpb/content.pb.go | 2 + .../apiv1/aiplatformpb/custom_job.pb.go | 25 +- .../aiplatformpb/data_labeling_job.pb.go | 9 +- aiplatform/apiv1/aiplatformpb/dataset.pb.go | 11 +- .../apiv1/aiplatformpb/dataset_service.pb.go | 40 +- aiplatform/apiv1/aiplatformpb/endpoint.pb.go | 9 +- .../apiv1/aiplatformpb/endpoint_service.pb.go | 24 +- .../aiplatformpb/evaluated_annotation.pb.go | 4 +- .../apiv1/aiplatformpb/explanation.pb.go | 10 +- .../aiplatformpb/explanation_metadata.pb.go | 11 +- .../apiv1/aiplatformpb/feature_group.pb.go | 1 + .../feature_monitoring_stats.pb.go | 8 +- .../aiplatformpb/feature_online_store.pb.go | 1 + .../feature_online_store_admin_service.pb.go | 52 +- .../feature_online_store_service.pb.go | 3 + .../feature_registry_service.pb.go | 22 +- .../apiv1/aiplatformpb/feature_selector.pb.go | 8 +- .../apiv1/aiplatformpb/feature_view.pb.go | 1 + .../featurestore_monitoring.pb.go | 19 +- .../featurestore_online_service.pb.go | 2 + .../aiplatformpb/featurestore_service.pb.go | 180 +- aiplatform/apiv1/aiplatformpb/index.pb.go | 1 + .../aiplatformpb/index_endpoint_service.pb.go | 26 +- aiplatform/apiv1/aiplatformpb/io.pb.go | 8 +- .../apiv1/aiplatformpb/job_service.pb.go | 146 +- .../apiv1/aiplatformpb/metadata_service.pb.go | 122 +- .../aiplatformpb/migratable_resource.pb.go | 1 + .../aiplatformpb/migration_service.pb.go | 19 +- aiplatform/apiv1/aiplatformpb/model.pb.go | 63 +- .../apiv1/aiplatformpb/model_evaluation.pb.go | 5 +- .../aiplatformpb/model_evaluation_slice.pb.go | 6 +- .../apiv1/aiplatformpb/model_monitoring.pb.go | 13 +- .../apiv1/aiplatformpb/model_service.pb.go | 49 +- aiplatform/apiv1/aiplatformpb/nas_job.pb.go | 2 + aiplatform/apiv1/aiplatformpb/openapi.pb.go | 5 +- .../apiv1/aiplatformpb/pipeline_job.pb.go | 2 + .../apiv1/aiplatformpb/pipeline_service.pb.go | 70 +- .../aiplatformpb/prediction_service.pb.go | 8 +- .../apiv1/aiplatformpb/publisher_model.pb.go | 2 + aiplatform/apiv1/aiplatformpb/schedule.pb.go | 2 + .../apiv1/aiplatformpb/schedule_service.pb.go | 41 +- aiplatform/apiv1/aiplatformpb/study.pb.go | 7 +- .../apiv1/aiplatformpb/tensorboard_data.pb.go | 1 + .../aiplatformpb/tensorboard_experiment.pb.go | 8 +- aiplatform/apiv1/aiplatformpb/tool.pb.go | 12 +- .../aiplatformpb/training_pipeline.pb.go | 6 +- .../aiplatformpb/user_action_reference.pb.go | 1 + aiplatform/apiv1/aiplatformpb/value.pb.go | 1 + .../apiv1/aiplatformpb/vizier_service.pb.go | 61 +- .../apiv1beta1/aiplatformpb/annotation.pb.go | 14 +- .../aiplatformpb/batch_prediction_job.pb.go | 96 +- .../apiv1beta1/aiplatformpb/content.pb.go | 2 + .../apiv1beta1/aiplatformpb/custom_job.pb.go | 25 +- .../aiplatformpb/data_labeling_job.pb.go | 9 +- .../apiv1beta1/aiplatformpb/dataset.pb.go | 11 +- .../aiplatformpb/dataset_service.pb.go | 40 +- .../apiv1beta1/aiplatformpb/endpoint.pb.go | 9 +- .../aiplatformpb/endpoint_service.pb.go | 18 +- .../aiplatformpb/evaluated_annotation.pb.go | 4 +- .../apiv1beta1/aiplatformpb/explanation.pb.go | 10 +- .../aiplatformpb/explanation_metadata.pb.go | 11 +- .../aiplatformpb/feature_group.pb.go | 1 + .../feature_monitoring_stats.pb.go | 8 +- .../aiplatformpb/feature_online_store.pb.go | 1 + .../feature_online_store_admin_service.pb.go | 52 +- .../feature_online_store_service.pb.go | 5 + .../feature_registry_service.pb.go | 22 +- .../aiplatformpb/feature_selector.pb.go | 8 +- .../aiplatformpb/feature_view.pb.go | 2 + .../featurestore_monitoring.pb.go | 19 +- .../featurestore_online_service.pb.go | 2 + .../aiplatformpb/featurestore_service.pb.go | 180 +- .../apiv1beta1/aiplatformpb/index.pb.go | 1 + .../aiplatformpb/index_endpoint_service.pb.go | 26 +- aiplatform/apiv1beta1/aiplatformpb/io.pb.go | 8 +- .../apiv1beta1/aiplatformpb/job_service.pb.go | 146 +- .../aiplatformpb/metadata_service.pb.go | 122 +- .../aiplatformpb/migratable_resource.pb.go | 1 + .../aiplatformpb/migration_service.pb.go | 19 +- .../apiv1beta1/aiplatformpb/model.pb.go | 63 +- .../aiplatformpb/model_evaluation.pb.go | 11 +- .../aiplatformpb/model_evaluation_slice.pb.go | 6 +- .../aiplatformpb/model_monitoring.pb.go | 13 +- .../aiplatformpb/model_service.pb.go | 43 +- .../apiv1beta1/aiplatformpb/nas_job.pb.go | 2 + .../apiv1beta1/aiplatformpb/openapi.pb.go | 5 +- .../aiplatformpb/persistent_resource.pb.go | 28 +- .../aiplatformpb/pipeline_job.pb.go | 2 + .../aiplatformpb/pipeline_service.pb.go | 70 +- .../aiplatformpb/prediction_service.pb.go | 8 +- .../aiplatformpb/publisher_model.pb.go | 2 + .../apiv1beta1/aiplatformpb/schedule.pb.go | 2 + .../aiplatformpb/schedule_service.pb.go | 41 +- .../apiv1beta1/aiplatformpb/study.pb.go | 7 +- .../aiplatformpb/tensorboard_data.pb.go | 1 + .../aiplatformpb/tensorboard_experiment.pb.go | 8 +- aiplatform/apiv1beta1/aiplatformpb/tool.pb.go | 12 +- .../aiplatformpb/training_pipeline.pb.go | 6 +- .../aiplatformpb/user_action_reference.pb.go | 1 + .../apiv1beta1/aiplatformpb/value.pb.go | 1 + .../aiplatformpb/vizier_service.pb.go | 61 +- alloydb/apiv1/alloydbpb/resources.pb.go | 39 +- alloydb/apiv1/alloydbpb/service.pb.go | 22 +- alloydb/apiv1alpha/alloydbpb/resources.pb.go | 39 +- alloydb/apiv1alpha/alloydbpb/service.pb.go | 22 +- alloydb/apiv1beta/alloydbpb/resources.pb.go | 39 +- alloydb/apiv1beta/alloydbpb/service.pb.go | 22 +- .../apiv1alpha/adminpb/access_report.pb.go | 4 + .../apiv1alpha/adminpb/analytics_admin.pb.go | 10687 +++++++++------- .../admin/apiv1alpha/adminpb/audience.pb.go | 4 + .../apiv1alpha/adminpb/channel_group.pb.go | 2 + .../adminpb/expanded_data_set.pb.go | 2 + .../admin/apiv1alpha/adminpb/resources.pb.go | 2253 ++-- .../adminpb/subproperty_event_filter.pb.go | 2 + .../apiv1alpha/analytics_admin_client.go | 607 + .../analytics_admin_client_example_test.go | 129 + analytics/admin/apiv1alpha/auxiliary.go | 47 + .../admin/apiv1alpha/gapic_metadata.json | 50 + .../apiv1/apigeeconnectpb/connection.pb.go | 3 +- .../apiv1/apigeeconnectpb/tether.pb.go | 1 + .../apigeeregistrypb/registry_service.pb.go | 4 +- apikeys/apiv2/apikeyspb/resources.pb.go | 10 +- appengine/apiv1/appenginepb/app_yaml.pb.go | 1 + appengine/apiv1/appenginepb/audit_data.pb.go | 1 + appengine/apiv1/appenginepb/firewall.pb.go | 2 +- appengine/apiv1/appenginepb/operation.pb.go | 1 + appengine/apiv1/appenginepb/version.pb.go | 2 + apps/meet/apiv2beta/meetpb/resource.pb.go | 3 + .../artifactregistrypb/apt_artifact.pb.go | 2 + .../apiv1/artifactregistrypb/file.pb.go | 16 +- .../apiv1/artifactregistrypb/repository.pb.go | 14 +- .../apiv1/artifactregistrypb/tag.pb.go | 8 +- .../artifactregistrypb/yum_artifact.pb.go | 2 + .../artifactregistrypb/apt_artifact.pb.go | 2 + .../apiv1beta2/artifactregistrypb/file.pb.go | 16 +- .../artifactregistrypb/repository.pb.go | 1 + .../apiv1beta2/artifactregistrypb/tag.pb.go | 8 +- .../artifactregistrypb/yum_artifact.pb.go | 2 + asset/apiv1/assetpb/asset_service.pb.go | 297 +- asset/apiv1/assetpb/assets.pb.go | 102 +- .../apiv1p2beta1/assetpb/asset_service.pb.go | 3 + asset/apiv1p2beta1/assetpb/assets.pb.go | 1 + asset/apiv1p5beta1/assetpb/assets.pb.go | 1 + .../assuredworkloadspb/assuredworkloads.pb.go | 9 +- .../assuredworkloadspb/assuredworkloads.pb.go | 2 + .../apiv1/automlpb/annotation_payload.pb.go | 1 + automl/apiv1/automlpb/data_items.pb.go | 2 + automl/apiv1/automlpb/dataset.pb.go | 1 + automl/apiv1/automlpb/image.pb.go | 108 +- automl/apiv1/automlpb/io.pb.go | 72 +- automl/apiv1/automlpb/model.pb.go | 1 + automl/apiv1/automlpb/model_evaluation.pb.go | 1 + automl/apiv1/automlpb/operations.pb.go | 3 + .../apiv1/automlpb/prediction_service.pb.go | 189 +- automl/apiv1/automlpb/service.pb.go | 49 +- automl/apiv1/automlpb/text_extraction.pb.go | 1 + automl/apiv1/automlpb/text_sentiment.pb.go | 4 +- .../automlpb/annotation_payload.pb.go | 1 + .../apiv1beta1/automlpb/classification.pb.go | 38 +- automl/apiv1beta1/automlpb/data_items.pb.go | 2 + automl/apiv1beta1/automlpb/data_stats.pb.go | 1 + automl/apiv1beta1/automlpb/data_types.pb.go | 1 + automl/apiv1beta1/automlpb/dataset.pb.go | 1 + automl/apiv1beta1/automlpb/image.pb.go | 108 +- automl/apiv1beta1/automlpb/io.pb.go | 102 +- automl/apiv1beta1/automlpb/model.pb.go | 1 + .../automlpb/model_evaluation.pb.go | 1 + automl/apiv1beta1/automlpb/operations.pb.go | 3 + .../automlpb/prediction_service.pb.go | 226 +- automl/apiv1beta1/automlpb/service.pb.go | 51 +- automl/apiv1beta1/automlpb/tables.pb.go | 49 +- automl/apiv1beta1/automlpb/text.pb.go | 4 +- .../apiv1beta1/automlpb/text_extraction.pb.go | 1 + .../apiv1beta1/automlpb/text_sentiment.pb.go | 4 +- .../apiv2/baremetalsolutionpb/instance.pb.go | 7 +- .../apiv2/baremetalsolutionpb/network.pb.go | 3 +- .../apiv2/baremetalsolutionpb/nfs_share.pb.go | 5 +- .../baremetalsolutionpb/provisioning.pb.go | 3 + .../apiv2/baremetalsolutionpb/ssh_key.pb.go | 3 +- .../apiv2/baremetalsolutionpb/volume.pb.go | 3 +- batch/apiv1/batchpb/batch.pb.go | 350 +- batch/apiv1/batchpb/job.pb.go | 655 +- batch/apiv1/batchpb/task.pb.go | 284 +- batch/apiv1/batchpb/volume.pb.go | 1 + .../app_connections_service.pb.go | 6 +- .../app_connector_instance_config.pb.go | 1 + .../app_connectors_service.pb.go | 7 +- .../appgatewayspb/app_gateways_service.pb.go | 6 +- .../client_connector_services_service.pb.go | 8 +- .../client_gateways_service.pb.go | 9 +- .../apiv1/analyticshubpb/analyticshub.pb.go | 5 + .../biglake/apiv1/biglakepb/metastore.pb.go | 2 + .../apiv1alpha1/biglakepb/metastore.pb.go | 3 + .../apiv1/connectionpb/connection.pb.go | 5 +- .../apiv1beta1/connectionpb/connection.pb.go | 2 + .../dataexchangepb/dataexchange.pb.go | 2 + .../apiv1/datapoliciespb/datapolicy.pb.go | 5 +- .../datapoliciespb/datapolicy.pb.go | 5 +- .../apiv1/datatransferpb/datatransfer.pb.go | 1 + .../apiv1/datatransferpb/transfer.pb.go | 2 + .../migrationpb/migration_entities.pb.go | 1 + .../apiv2/migrationpb/migration_metrics.pb.go | 1 + .../migrationpb/translation_config.pb.go | 4 + .../migrationpb/migration_entities.pb.go | 2 + .../migrationpb/migration_metrics.pb.go | 1 + .../migrationpb/translation_task.pb.go | 1 + .../apiv1/reservationpb/reservation.pb.go | 172 +- .../storage/apiv1/storagepb/storage.pb.go | 4 + bigquery/storage/apiv1/storagepb/stream.pb.go | 59 +- bigquery/storage/apiv1/storagepb/table.pb.go | 18 +- .../apiv1beta1/storagepb/read_options.pb.go | 57 +- .../apiv1beta1/storagepb/storage.pb.go | 3 + .../apiv1beta2/storagepb/storage.pb.go | 4 + .../storage/apiv1beta2/storagepb/stream.pb.go | 10 +- billing/apiv1/billingpb/cloud_billing.pb.go | 2 +- .../apiv1/budgetspb/budget_model.pb.go | 6 +- .../apiv1beta1/budgetspb/budget_model.pb.go | 6 +- .../binaryauthorizationpb/resources.pb.go | 2 + .../continuous_validation_logging.pb.go | 2 + .../binaryauthorizationpb/resources.pb.go | 5 +- .../certificate_issuance_config.pb.go | 1 + .../certificate_manager.pb.go | 3 + channel/apiv1/channelpb/common.pb.go | 1 + .../apiv1/channelpb/entitlement_changes.pb.go | 1 + channel/apiv1/channelpb/entitlements.pb.go | 2 +- channel/apiv1/channelpb/reports_service.pb.go | 33 +- channel/apiv1/channelpb/repricing.pb.go | 3 + channel/apiv1/channelpb/service.pb.go | 245 +- .../apiv1/channelpb/subscriber_event.pb.go | 1 + .../apiv1/v2/cloudbuildpb/cloudbuild.pb.go | 14 +- .../apiv2/cloudbuildpb/repositories.pb.go | 1 + clouddms/apiv1/clouddmspb/clouddms.pb.go | 6 +- .../apiv1/clouddmspb/clouddms_resources.pb.go | 11 +- .../conversionworkspace_resources.pb.go | 8 + .../apiv2/cloudprofilerpb/profiler.pb.go | 2 - .../apiv1/cloudquotaspb/cloudquotas.pb.go | 3 +- cloudtasks/apiv2/cloudtaskspb/queue.pb.go | 72 +- cloudtasks/apiv2/cloudtaskspb/target.pb.go | 54 +- cloudtasks/apiv2/cloudtaskspb/task.pb.go | 55 +- .../apiv2beta2/cloudtaskspb/cloudtasks.pb.go | 10 +- .../apiv2beta2/cloudtaskspb/queue.pb.go | 74 +- .../apiv2beta2/cloudtaskspb/target.pb.go | 115 +- cloudtasks/apiv2beta2/cloudtaskspb/task.pb.go | 27 +- .../apiv2beta3/cloudtaskspb/queue.pb.go | 74 +- .../apiv2beta3/cloudtaskspb/target.pb.go | 52 +- cloudtasks/apiv2beta3/cloudtaskspb/task.pb.go | 55 +- .../apiv1/procurementpb/order.pb.go | 1 + compute/apiv1/computepb/compute.pb.go | 19 +- config/apiv1/configpb/config.pb.go | 23 +- .../contact_center_insights.pb.go | 15 +- .../contactcenterinsightspb/resources.pb.go | 2715 ++-- .../apiv1/containerpb/cluster_service.pb.go | 91 +- .../apiv1/datacatalogpb/bigquery.pb.go | 1 + .../apiv1/datacatalogpb/data_source.pb.go | 33 +- .../apiv1/datacatalogpb/datacatalog.pb.go | 105 +- .../apiv1/datacatalogpb/dump_content.pb.go | 2 + .../datacatalogpb/gcs_fileset_spec.pb.go | 32 +- .../apiv1/datacatalogpb/physical_schema.pb.go | 1 + .../datacatalogpb/policytagmanager.pb.go | 16 +- .../policytagmanagerserialization.pb.go | 22 +- datacatalog/apiv1/datacatalogpb/schema.pb.go | 1 + datacatalog/apiv1/datacatalogpb/search.pb.go | 9 +- .../apiv1/datacatalogpb/table_spec.pb.go | 1 + datacatalog/apiv1/datacatalogpb/tags.pb.go | 13 +- .../datacatalogpb/datacatalog.pb.go | 112 +- .../datacatalogpb/gcs_fileset_spec.pb.go | 34 +- .../policytagmanagerserialization.pb.go | 2 + .../apiv1beta1/datacatalogpb/search.pb.go | 6 +- .../apiv1beta1/datacatalogpb/table_spec.pb.go | 1 + .../apiv1beta1/datacatalogpb/tags.pb.go | 3 + .../lineage/apiv1/lineagepb/lineage.pb.go | 9 +- .../apiv1beta3/dataflowpb/environment.pb.go | 28 +- dataflow/apiv1beta3/dataflowpb/jobs.pb.go | 5 +- .../apiv1beta3/dataflowpb/streaming.pb.go | 1 + .../apiv1beta3/dataflowpb/templates.pb.go | 4 + .../apiv1alpha2/dataformpb/dataform.pb.go | 3 + dataform/apiv1beta1/dataformpb/dataform.pb.go | 7 + .../datalabelingpb/annotation.pb.go | 4 + .../data_labeling_service.pb.go | 35 +- .../apiv1beta1/datalabelingpb/dataset.pb.go | 6 + .../datalabelingpb/evaluation.pb.go | 2 + .../datalabelingpb/evaluation_job.pb.go | 67 +- .../datalabelingpb/operations.pb.go | 1 + dataplex/apiv1/dataplexpb/analyze.pb.go | 4 + dataplex/apiv1/dataplexpb/data_profile.pb.go | 1 + dataplex/apiv1/dataplexpb/data_quality.pb.go | 3 +- dataplex/apiv1/dataplexpb/data_taxonomy.pb.go | 1 + dataplex/apiv1/dataplexpb/datascans.pb.go | 5 + dataplex/apiv1/dataplexpb/logs.pb.go | 4 + dataplex/apiv1/dataplexpb/metadata.pb.go | 32 +- dataplex/apiv1/dataplexpb/processing.pb.go | 3 + dataplex/apiv1/dataplexpb/resources.pb.go | 8 +- dataplex/apiv1/dataplexpb/tasks.pb.go | 7 + .../dataprocpb/autoscaling_policies.pb.go | 63 +- dataproc/apiv1/dataprocpb/batches.pb.go | 2 + dataproc/apiv1/dataprocpb/clusters.pb.go | 132 +- dataproc/apiv1/dataprocpb/jobs.pb.go | 33 +- dataproc/apiv1/dataprocpb/shared.pb.go | 2 + .../apiv1/dataprocpb/workflow_templates.pb.go | 129 +- dataqna/apiv1alpha/dataqnapb/question.pb.go | 3 +- datastore/admin/apiv1/adminpb/migration.pb.go | 1 + .../apiv1/datastreampb/datastream.pb.go | 4 + .../datastreampb/datastream_resources.pb.go | 11 + .../apiv1alpha1/datastreampb/datastream.pb.go | 4 + .../datastreampb/datastream_resources.pb.go | 8 + deploy/apiv1/deploypb/cloud_deploy.pb.go | 17 + dialogflow/apiv2/dialogflowpb/agent.pb.go | 65 +- .../apiv2/dialogflowpb/answer_record.pb.go | 21 +- .../apiv2/dialogflowpb/audio_config.pb.go | 36 +- .../apiv2/dialogflowpb/conversation.pb.go | 12 +- .../dialogflowpb/conversation_dataset.pb.go | 9 +- .../dialogflowpb/conversation_event.pb.go | 1 + .../dialogflowpb/conversation_model.pb.go | 27 +- .../dialogflowpb/conversation_profile.pb.go | 13 +- dialogflow/apiv2/dialogflowpb/document.pb.go | 25 +- .../apiv2/dialogflowpb/entity_type.pb.go | 83 +- .../apiv2/dialogflowpb/environment.pb.go | 36 +- .../apiv2/dialogflowpb/fulfillment.pb.go | 1 + dialogflow/apiv2/dialogflowpb/intent.pb.go | 57 +- .../apiv2/dialogflowpb/knowledge_base.pb.go | 18 +- .../apiv2/dialogflowpb/participant.pb.go | 106 +- dialogflow/apiv2/dialogflowpb/session.pb.go | 23 +- dialogflow/apiv2/dialogflowpb/version.pb.go | 24 +- dialogflow/apiv2/dialogflowpb/webhook.pb.go | 12 +- .../apiv2beta1/dialogflowpb/agent.pb.go | 95 +- .../dialogflowpb/answer_record.pb.go | 21 +- .../dialogflowpb/audio_config.pb.go | 36 +- .../apiv2beta1/dialogflowpb/context.pb.go | 102 +- .../dialogflowpb/conversation.pb.go | 12 +- .../dialogflowpb/conversation_event.pb.go | 1 + .../dialogflowpb/conversation_profile.pb.go | 13 +- .../apiv2beta1/dialogflowpb/document.pb.go | 24 +- .../apiv2beta1/dialogflowpb/entity_type.pb.go | 117 +- .../apiv2beta1/dialogflowpb/environment.pb.go | 18 +- .../apiv2beta1/dialogflowpb/fulfillment.pb.go | 1 + .../apiv2beta1/dialogflowpb/intent.pb.go | 74 +- .../dialogflowpb/knowledge_base.pb.go | 18 +- .../apiv2beta1/dialogflowpb/participant.pb.go | 111 +- .../apiv2beta1/dialogflowpb/session.pb.go | 65 +- .../dialogflowpb/session_entity_type.pb.go | 86 +- .../apiv2beta1/dialogflowpb/version.pb.go | 24 +- .../apiv2beta1/dialogflowpb/webhook.pb.go | 28 +- dialogflow/cx/apiv3/cxpb/agent.pb.go | 33 +- dialogflow/cx/apiv3/cxpb/audio_config.pb.go | 40 +- dialogflow/cx/apiv3/cxpb/changelog.pb.go | 36 +- dialogflow/cx/apiv3/cxpb/entity_type.pb.go | 20 +- dialogflow/cx/apiv3/cxpb/environment.pb.go | 24 +- dialogflow/cx/apiv3/cxpb/experiment.pb.go | 3 + dialogflow/cx/apiv3/cxpb/flow.pb.go | 60 +- dialogflow/cx/apiv3/cxpb/fulfillment.pb.go | 1 + dialogflow/cx/apiv3/cxpb/generator.pb.go | 10 +- dialogflow/cx/apiv3/cxpb/intent.pb.go | 17 +- dialogflow/cx/apiv3/cxpb/page.pb.go | 33 +- .../cx/apiv3/cxpb/response_message.pb.go | 4 + .../cx/apiv3/cxpb/security_settings.pb.go | 1 + dialogflow/cx/apiv3/cxpb/session.pb.go | 67 +- dialogflow/cx/apiv3/cxpb/test_case.pb.go | 20 +- .../apiv3/cxpb/transition_route_group.pb.go | 9 +- dialogflow/cx/apiv3/cxpb/version.pb.go | 16 +- dialogflow/cx/apiv3/cxpb/webhook.pb.go | 27 +- dialogflow/cx/apiv3beta1/cxpb/agent.pb.go | 33 +- .../cx/apiv3beta1/cxpb/audio_config.pb.go | 40 +- dialogflow/cx/apiv3beta1/cxpb/changelog.pb.go | 36 +- .../cx/apiv3beta1/cxpb/entity_type.pb.go | 20 +- .../cx/apiv3beta1/cxpb/environment.pb.go | 24 +- .../cx/apiv3beta1/cxpb/experiment.pb.go | 3 + dialogflow/cx/apiv3beta1/cxpb/flow.pb.go | 60 +- .../cx/apiv3beta1/cxpb/fulfillment.pb.go | 1 + dialogflow/cx/apiv3beta1/cxpb/generator.pb.go | 10 +- dialogflow/cx/apiv3beta1/cxpb/intent.pb.go | 17 +- dialogflow/cx/apiv3beta1/cxpb/page.pb.go | 33 +- .../cx/apiv3beta1/cxpb/response_message.pb.go | 4 + .../apiv3beta1/cxpb/security_settings.pb.go | 1 + dialogflow/cx/apiv3beta1/cxpb/session.pb.go | 67 +- dialogflow/cx/apiv3beta1/cxpb/test_case.pb.go | 20 +- .../cxpb/transition_route_group.pb.go | 8 +- dialogflow/cx/apiv3beta1/cxpb/version.pb.go | 16 +- dialogflow/cx/apiv3beta1/cxpb/webhook.pb.go | 27 +- .../apiv1/discoveryenginepb/common.pb.go | 2 + .../discoveryenginepb/conversation.pb.go | 1 + .../conversational_search_service.pb.go | 28 +- .../apiv1/discoveryenginepb/document.pb.go | 2 + .../discoveryenginepb/import_config.pb.go | 44 +- .../apiv1/discoveryenginepb/schema.pb.go | 1 + .../discoveryenginepb/search_service.pb.go | 46 +- .../apiv1/discoveryenginepb/user_event.pb.go | 13 +- .../apiv1alpha/discoveryenginepb/common.pb.go | 2 + .../discoveryenginepb/conversation.pb.go | 1 + .../conversational_search_service.pb.go | 28 +- .../discoveryenginepb/data_store.pb.go | 6 +- .../discoveryenginepb/document.pb.go | 2 + .../apiv1alpha/discoveryenginepb/engine.pb.go | 5 +- .../discoveryenginepb/import_config.pb.go | 48 +- .../discoveryenginepb/purge_config.pb.go | 28 +- .../recommendation_service.pb.go | 85 +- .../apiv1alpha/discoveryenginepb/schema.pb.go | 1 + .../discoveryenginepb/search_service.pb.go | 85 +- .../search_tuning_service.pb.go | 31 +- .../site_search_engine.pb.go | 1 + .../discoveryenginepb/user_event.pb.go | 13 +- .../apiv1beta/discoveryenginepb/common.pb.go | 2 + .../discoveryenginepb/conversation.pb.go | 1 + .../conversational_search_service.pb.go | 28 +- .../discoveryenginepb/document.pb.go | 2 + .../discoveryenginepb/import_config.pb.go | 46 +- .../recommendation_service.pb.go | 73 +- .../apiv1beta/discoveryenginepb/schema.pb.go | 1 + .../discoveryenginepb/search_service.pb.go | 75 +- .../discoveryenginepb/user_event.pb.go | 13 +- dlp/apiv2/dlppb/dlp.pb.go | 307 +- dlp/apiv2/dlppb/storage.pb.go | 52 +- documentai/apiv1/documentaipb/document.pb.go | 3 + .../apiv1/documentaipb/document_io.pb.go | 2 + .../document_processor_service.pb.go | 4 + .../apiv1/documentaipb/document_schema.pb.go | 21 +- .../apiv1beta3/documentaipb/dataset.pb.go | 4 + .../apiv1beta3/documentaipb/document.pb.go | 4 + .../apiv1beta3/documentaipb/document_io.pb.go | 2 + .../document_processor_service.pb.go | 18 +- .../documentaipb/document_schema.pb.go | 21 +- .../documentaipb/document_service.pb.go | 9 +- domains/apiv1beta1/domainspb/domains.pb.go | 5 +- .../apiv1/edgenetworkpb/resources.pb.go | 3 +- eventarc/apiv1/eventarcpb/channel.pb.go | 7 +- eventarc/apiv1/eventarcpb/trigger.pb.go | 2 + .../filestorepb/cloud_filestore_service.pb.go | 2 + firestore/apiv1/admin/adminpb/field.pb.go | 8 +- firestore/apiv1/admin/adminpb/index.pb.go | 1 + firestore/apiv1/firestorepb/common.pb.go | 3 + firestore/apiv1/firestorepb/document.pb.go | 11 +- firestore/apiv1/firestorepb/firestore.pb.go | 1537 ++- firestore/apiv1/firestorepb/query.pb.go | 86 +- .../apiv1/firestorepb/query_profile.pb.go | 339 - firestore/apiv1/firestorepb/write.pb.go | 2 + functions/apiv1/cloud_functions_client.go | 31 +- functions/apiv1/functionspb/functions.pb.go | 1394 +- functions/apiv2/functionspb/functions.pb.go | 22 +- .../apiv2beta/functionspb/functions.pb.go | 22 +- gkebackup/apiv1/gkebackuppb/backup.pb.go | 2 + gkebackup/apiv1/gkebackuppb/backup_plan.pb.go | 1 + gkebackup/apiv1/gkebackuppb/restore.pb.go | 1 + gkehub/apiv1beta1/gkehubpb/membership.pb.go | 48 +- .../gkemulticloudpb/attached_service.pb.go | 20 +- .../apiv1/gkemulticloudpb/aws_service.pb.go | 114 +- .../apiv1/gkemulticloudpb/azure_service.pb.go | 48 +- go.work.sum | 5 + iam/apiv1/iampb/policy.pb.go | 72 +- iam/apiv2/iampb/deny.pb.go | 60 +- iam/apiv2/iampb/policy.pb.go | 6 +- iap/apiv1/iappb/service.pb.go | 30 +- ...adata.google.ai.generativelanguage.v1.json | 2 +- ...a.google.ai.generativelanguage.v1beta.json | 2 +- ....google.ai.generativelanguage.v1beta2.json | 2 +- ...t_metadata.google.cloud.aiplatform.v1.json | 2 +- ...adata.google.cloud.aiplatform.v1beta1.json | 2 +- .../CreateCalculatedMetric/main.go | 53 + .../DeleteCalculatedMetric/main.go | 51 + .../GetCalculatedMetric/main.go | 53 + .../ListCalculatedMetrics/main.go | 60 + .../UpdateCalculatedMetric/main.go | 53 + ...tadata.google.analytics.admin.v1alpha.json | 229 + ...ppet_metadata.google.cloud.billing.v1.json | 2 +- ...adata.google.cloud.billing.budgets.v1.json | 2 +- ....google.cloud.billing.budgets.v1beta1.json | 2 +- ...nippet_metadata.google.cloud.tasks.v2.json | 2 +- ...t_metadata.google.cloud.tasks.v2beta2.json | 2 +- ...t_metadata.google.cloud.tasks.v2beta3.json | 2 +- ...ippet_metadata.google.cloud.config.v1.json | 2 +- .../snippet_metadata.google.container.v1.json | 2 +- ..._metadata.google.cloud.edgenetwork.v1.json | 2 +- ...et_metadata.google.cloud.functions.v1.json | 10 +- .../snippet_metadata.google.pubsub.v1.json | 8 +- ...ippet_metadata.google.cloud.retail.v2.json | 2 +- ..._metadata.google.cloud.retail.v2alpha.json | 2 +- ...t_metadata.google.cloud.retail.v2beta.json | 2 +- ...gle.cloud.securitycentermanagement.v1.json | 2 +- ...adata.google.cloud.securityposture.v1.json | 2 +- ...metadata.google.cloud.vmwareengine.v1.json | 2 +- iot/apiv1/iotpb/device_manager.pb.go | 27 +- iot/apiv1/iotpb/resources.pb.go | 2 + kms/apiv1/kmspb/ekm_service.pb.go | 28 +- kms/apiv1/kmspb/resources.pb.go | 1 + kms/apiv1/kmspb/service.pb.go | 20 +- .../apiv1/languagepb/language_service.pb.go | 2 + .../languagepb/language_service.pb.go | 2 + .../apiv2/languagepb/language_service.pb.go | 1 + .../apiv2beta/lifesciencespb/workflows.pb.go | 22 +- logging/apiv2/loggingpb/log_entry.pb.go | 13 +- logging/apiv2/loggingpb/logging.pb.go | 34 +- logging/apiv2/loggingpb/logging_config.pb.go | 300 +- logging/apiv2/loggingpb/logging_metrics.pb.go | 30 +- .../autogen/longrunningpb/operations.pb.go | 1 + .../managed_identities_service.pb.go | 24 +- .../apiv1/fleetenginepb/fleetengine.pb.go | 2 + .../apiv1/fleetenginepb/vehicle_api.pb.go | 36 +- .../delivery/apiv1/deliverypb/common.pb.go | 2 + .../apiv1/deliverypb/delivery_api.pb.go | 10 +- .../delivery/apiv1/deliverypb/tasks.pb.go | 1 + .../mapsplatformdatasetspb/dataset.pb.go | 1 + maps/places/apiv1/placespb/ev_charging.pb.go | 3 +- .../apiv1/placespb/places_service.pb.go | 6 +- maps/routing/apiv2/routingpb/polyline.pb.go | 1 + maps/routing/apiv2/routingpb/route.pb.go | 8 +- .../apiv2/routingpb/routes_service.pb.go | 52 +- .../routingpb/speed_reading_interval.pb.go | 1 + .../routing/apiv2/routingpb/toll_passes.pb.go | 3 +- maps/routing/apiv2/routingpb/waypoint.pb.go | 1 + .../media_translation.pb.go | 28 +- .../apiv1/memcachepb/cloud_memcache.pb.go | 25 +- .../memcachepb/cloud_memcache.pb.go | 25 +- metastore/apiv1/metastorepb/metastore.pb.go | 7 + .../metastorepb/metastore_federation.pb.go | 5 +- .../apiv1alpha/metastorepb/metastore.pb.go | 7 + .../metastorepb/metastore_federation.pb.go | 5 +- .../apiv1beta/metastorepb/metastore.pb.go | 7 + .../metastorepb/metastore_federation.pb.go | 5 +- .../migrationcenterpb/migrationcenter.pb.go | 10 + monitoring/apiv3/v2/monitoringpb/alert.pb.go | 10 +- .../apiv3/v2/monitoringpb/alert_service.pb.go | 12 +- monitoring/apiv3/v2/monitoringpb/common.pb.go | 1 + monitoring/apiv3/v2/monitoringpb/group.pb.go | 4 +- .../apiv3/v2/monitoringpb/group_service.pb.go | 19 +- monitoring/apiv3/v2/monitoringpb/metric.pb.go | 1 + .../v2/monitoringpb/metric_service.pb.go | 31 +- .../apiv3/v2/monitoringpb/notification.pb.go | 4 +- .../monitoringpb/notification_service.pb.go | 12 +- .../apiv3/v2/monitoringpb/service.pb.go | 11 +- .../v2/monitoringpb/service_service.pb.go | 40 +- monitoring/apiv3/v2/monitoringpb/snooze.pb.go | 4 +- .../v2/monitoringpb/snooze_service.pb.go | 28 +- .../apiv3/v2/monitoringpb/span_context.pb.go | 2 +- monitoring/apiv3/v2/monitoringpb/uptime.pb.go | 25 +- .../v2/monitoringpb/uptime_service.pb.go | 8 +- .../apiv1/dashboardpb/alertchart.pb.go | 2 +- .../apiv1/dashboardpb/dashboard.pb.go | 1 + .../apiv1/dashboardpb/dashboard_filter.pb.go | 1 + .../dashboardpb/dashboards_service.pb.go | 12 +- .../dashboard/apiv1/dashboardpb/metrics.pb.go | 3 + .../apiv1/dashboardpb/scorecard.pb.go | 46 +- .../dashboard/apiv1/dashboardpb/widget.pb.go | 1 + netapp/apiv1/netapppb/volume.pb.go | 1 + .../apiv1/networkconnectivitypb/hub.pb.go | 18 +- .../policy_based_routing.pb.go | 2 + .../connectivity_test.pb.go | 36 +- .../networkmanagementpb/reachability.pb.go | 19 +- .../apiv1/networkmanagementpb/trace.pb.go | 1 + .../authorization_policy.pb.go | 1 + .../networksecuritypb/server_tls_policy.pb.go | 4 - .../apiv1beta1/networksecuritypb/tls.pb.go | 2 + .../apiv1/notebookspb/diagnostic_config.pb.go | 9 +- notebooks/apiv1/notebookspb/environment.pb.go | 2 + notebooks/apiv1/notebookspb/execution.pb.go | 5 +- notebooks/apiv1/notebookspb/instance.pb.go | 9 +- .../apiv1/notebookspb/managed_service.pb.go | 17 +- notebooks/apiv1/notebookspb/runtime.pb.go | 17 +- notebooks/apiv1/notebookspb/service.pb.go | 23 +- .../apiv1beta1/notebookspb/environment.pb.go | 2 + .../apiv1beta1/notebookspb/instance.pb.go | 1 + .../apiv2/notebookspb/diagnostic_config.pb.go | 9 +- notebooks/apiv2/notebookspb/gce_setup.pb.go | 2 + notebooks/apiv2/notebookspb/instance.pb.go | 15 +- .../apiv1/optimizationpb/async_model.pb.go | 2 + .../apiv1/optimizationpb/fleet_routing.pb.go | 668 +- .../apiv1/servicepb/environments.pb.go | 164 +- orgpolicy/apiv1/orgpolicypb/orgpolicy.pb.go | 125 +- orgpolicy/apiv2/orgpolicypb/constraint.pb.go | 3 +- orgpolicy/apiv2/orgpolicypb/orgpolicy.pb.go | 1 + .../apiv1/agentendpointpb/agentendpoint.pb.go | 2 + .../apiv1/agentendpointpb/config_common.pb.go | 1 + .../apiv1/agentendpointpb/inventory.pb.go | 6 +- .../apiv1/agentendpointpb/os_policy.pb.go | 6 + .../apiv1/agentendpointpb/patch_jobs.pb.go | 1 + .../apiv1/agentendpointpb/tasks.pb.go | 1 + .../agentendpointpb/agentendpoint.pb.go | 2 + .../agentendpointpb/guest_policies.pb.go | 21 +- .../agentendpointpb/patch_jobs.pb.go | 1 + .../apiv1beta/agentendpointpb/tasks.pb.go | 1 + osconfig/apiv1/osconfigpb/inventory.pb.go | 7 +- osconfig/apiv1/osconfigpb/os_policy.pb.go | 6 + .../os_policy_assignment_reports.pb.go | 12 +- .../osconfigpb/os_policy_assignments.pb.go | 5 +- .../apiv1/osconfigpb/osconfig_common.pb.go | 1 + .../apiv1/osconfigpb/patch_deployments.pb.go | 3 + osconfig/apiv1/osconfigpb/patch_jobs.pb.go | 1 + .../apiv1alpha/osconfigpb/config_common.pb.go | 1 + .../apiv1alpha/osconfigpb/inventory.pb.go | 7 +- .../apiv1alpha/osconfigpb/os_policy.pb.go | 6 + .../os_policy_assignment_reports.pb.go | 12 +- .../osconfigpb/os_policy_assignments.pb.go | 5 +- .../osconfigpb/osconfig_common.pb.go | 1 + .../apiv1beta/osconfigpb/guest_policies.pb.go | 17 +- .../osconfigpb/osconfig_common.pb.go | 1 + .../osconfigpb/patch_deployments.pb.go | 3 + .../apiv1beta/osconfigpb/patch_jobs.pb.go | 1 + oslogin/apiv1beta/osloginpb/oslogin.pb.go | 1 + .../policysimulatorpb/explanations.pb.go | 8 +- .../apiv1/policysimulatorpb/simulator.pb.go | 14 +- .../policytroubleshooterpb/explanations.pb.go | 8 +- .../iam/apiv3/iampb/troubleshooter.pb.go | 10 +- .../privatecatalogpb/private_catalog.pb.go | 238 +- pubsub/apiv1/publisher_client.go | 8 +- pubsub/apiv1/pubsubpb/pubsub.pb.go | 3586 +++--- pubsub/apiv1/pubsubpb/schema.pb.go | 7 +- pubsub/apiv1/subscriber_client.go | 16 +- pubsublite/apiv1/pubsublitepb/admin.pb.go | 1 + pubsublite/apiv1/pubsublitepb/common.pb.go | 3 + pubsublite/apiv1/pubsublitepb/cursor.pb.go | 2 + pubsublite/apiv1/pubsublitepb/publisher.pb.go | 2 + .../apiv1/pubsublitepb/subscriber.pb.go | 4 + .../recaptchaenterprise.pb.go | 4 + .../recommendationenginepb/catalog.pb.go | 10 +- .../recommendationenginepb/common.pb.go | 6 +- .../recommendationenginepb/import.pb.go | 2 + .../prediction_service.pb.go | 90 +- .../recommendationenginepb/user_event.pb.go | 51 +- .../user_event_service.pb.go | 45 +- .../apiv1/recommenderpb/recommendation.pb.go | 38 +- .../recommenderpb/recommendation.pb.go | 38 +- redis/apiv1/redispb/cloud_redis.pb.go | 85 +- redis/apiv1beta1/redispb/cloud_redis.pb.go | 88 +- .../apiv1/clusterpb/cloud_redis_cluster.pb.go | 24 +- .../resourcemanagerpb/organizations.pb.go | 2 +- .../apiv3/resourcemanagerpb/projects.pb.go | 5 - .../apiv3/resourcemanagerpb/tag_holds.pb.go | 6 +- .../apiv3/resourcemanagerpb/tag_values.pb.go | 10 +- .../resource_settings.pb.go | 11 +- retail/apiv2/retailpb/catalog.pb.go | 29 +- retail/apiv2/retailpb/catalog_service.pb.go | 20 +- retail/apiv2/retailpb/common.pb.go | 51 +- .../apiv2/retailpb/completion_service.pb.go | 18 +- retail/apiv2/retailpb/control.pb.go | 1 + retail/apiv2/retailpb/control_service.pb.go | 2 +- retail/apiv2/retailpb/import_config.pb.go | 35 +- retail/apiv2/retailpb/model.pb.go | 4 +- .../apiv2/retailpb/prediction_service.pb.go | 110 +- retail/apiv2/retailpb/product.pb.go | 30 +- retail/apiv2/retailpb/product_service.pb.go | 21 +- retail/apiv2/retailpb/purge_config.pb.go | 24 +- retail/apiv2/retailpb/search_service.pb.go | 173 +- retail/apiv2/retailpb/serving_config.pb.go | 18 +- retail/apiv2/retailpb/user_event.pb.go | 32 +- .../apiv2/retailpb/user_event_service.pb.go | 1 + retail/apiv2alpha/retailpb/catalog.pb.go | 29 +- .../apiv2alpha/retailpb/catalog_service.pb.go | 20 +- retail/apiv2alpha/retailpb/common.pb.go | 51 +- .../retailpb/completion_service.pb.go | 18 +- retail/apiv2alpha/retailpb/control.pb.go | 1 + .../apiv2alpha/retailpb/control_service.pb.go | 2 +- .../apiv2alpha/retailpb/export_config.pb.go | 20 +- .../apiv2alpha/retailpb/import_config.pb.go | 35 +- retail/apiv2alpha/retailpb/model.pb.go | 84 +- .../retailpb/prediction_service.pb.go | 110 +- retail/apiv2alpha/retailpb/product.pb.go | 30 +- .../apiv2alpha/retailpb/product_service.pb.go | 21 +- retail/apiv2alpha/retailpb/purge_config.pb.go | 60 +- .../apiv2alpha/retailpb/search_service.pb.go | 173 +- .../apiv2alpha/retailpb/serving_config.pb.go | 18 +- retail/apiv2alpha/retailpb/user_event.pb.go | 32 +- .../retailpb/user_event_service.pb.go | 1 + retail/apiv2beta/retailpb/catalog.pb.go | 29 +- .../apiv2beta/retailpb/catalog_service.pb.go | 20 +- retail/apiv2beta/retailpb/common.pb.go | 51 +- .../retailpb/completion_service.pb.go | 18 +- retail/apiv2beta/retailpb/control.pb.go | 1 + .../apiv2beta/retailpb/control_service.pb.go | 2 +- retail/apiv2beta/retailpb/export_config.pb.go | 20 +- retail/apiv2beta/retailpb/import_config.pb.go | 35 +- retail/apiv2beta/retailpb/model.pb.go | 4 +- .../retailpb/prediction_service.pb.go | 110 +- retail/apiv2beta/retailpb/product.pb.go | 30 +- .../apiv2beta/retailpb/product_service.pb.go | 21 +- retail/apiv2beta/retailpb/purge_config.pb.go | 24 +- .../apiv2beta/retailpb/search_service.pb.go | 173 +- .../apiv2beta/retailpb/serving_config.pb.go | 18 +- retail/apiv2beta/retailpb/user_event.pb.go | 32 +- .../retailpb/user_event_service.pb.go | 1 + run/apiv2/runpb/condition.pb.go | 1 + run/apiv2/runpb/k8s.min.pb.go | 14 +- run/apiv2/runpb/task_template.pb.go | 1 + run/apiv2/runpb/vendor_settings.pb.go | 1 + scheduler/apiv1/schedulerpb/job.pb.go | 23 +- scheduler/apiv1/schedulerpb/target.pb.go | 82 +- scheduler/apiv1beta1/schedulerpb/job.pb.go | 23 +- scheduler/apiv1beta1/schedulerpb/target.pb.go | 84 +- .../apiv1/secretmanagerpb/resources.pb.go | 3 + .../apiv1/privatecapb/resources.pb.go | 7 +- .../apiv1/securitycenterpb/access.pb.go | 1 - .../apiv1/securitycenterpb/finding.pb.go | 24 +- .../apiv1/securitycenterpb/indicator.pb.go | 1 + .../notification_config.pb.go | 1 + .../notification_message.pb.go | 1 + .../securitycenterpb/security_marks.pb.go | 8 +- .../securitycenter_service.pb.go | 187 +- .../securitycenterpb/security_marks.pb.go | 8 +- .../securitycenter_service.pb.go | 40 +- .../notification_config.pb.go | 1 + .../notification_message.pb.go | 1 + .../securitycenterpb/security_marks.pb.go | 8 +- .../securitycenter_service.pb.go | 136 +- .../settingspb/component_settings.pb.go | 31 +- .../securitycenter_settings_service.pb.go | 158 +- .../apiv1beta1/settingspb/settings.pb.go | 12 +- .../security_center_management.pb.go | 46 +- .../securityposturepb/org_policy_config.pb.go | 3 +- .../securityposturepb/securityposture.pb.go | 1282 +- .../apiv1/servicecontrolpb/distribution.pb.go | 38 +- .../apiv1/servicecontrolpb/log_entry.pb.go | 1 + .../apiv1/servicecontrolpb/metric_value.pb.go | 1 + .../apiv1/servicecontrolpb/operation.pb.go | 40 +- .../servicecontrolpb/quota_controller.pb.go | 17 +- .../servicecontrolpb/service_controller.pb.go | 22 +- .../apiv1/servicedirectorypb/endpoint.pb.go | 4 +- .../servicedirectorypb/lookup_service.pb.go | 30 +- .../registration_service.pb.go | 80 +- .../apiv1/servicedirectorypb/service.pb.go | 4 +- .../servicedirectorypb/endpoint.pb.go | 4 +- .../servicedirectorypb/lookup_service.pb.go | 32 +- .../registration_service.pb.go | 88 +- .../servicedirectorypb/service.pb.go | 4 +- .../servicehealthpb/event_resources.pb.go | 3 +- .../apiv1/servicemanagementpb/resources.pb.go | 1 + .../servicemanagementpb/servicemanager.pb.go | 12 +- .../css/apiv1/csspb/css_product_common.pb.go | 12 +- .../database/apiv1/databasepb/backup.pb.go | 110 +- .../databasepb/spanner_database_admin.pb.go | 1188 +- .../instancepb/spanner_instance_admin.pb.go | 218 +- spanner/apiv1/spannerpb/keys.pb.go | 2 + spanner/apiv1/spannerpb/mutation.pb.go | 1 + spanner/apiv1/spannerpb/query_plan.pb.go | 8 +- spanner/apiv1/spannerpb/result_set.pb.go | 99 +- spanner/apiv1/spannerpb/spanner.pb.go | 20 +- spanner/apiv1/spannerpb/transaction.pb.go | 3 + spanner/apiv1/spannerpb/type.pb.go | 70 +- .../apiv1/executorpb/cloud_executor.pb.go | 6 + speech/apiv1/speechpb/cloud_speech.pb.go | 105 +- .../apiv1p1beta1/speechpb/cloud_speech.pb.go | 105 +- speech/apiv2/speechpb/cloud_speech.pb.go | 9 + .../internal/apiv2/storagepb/storage.pb.go | 7 + .../storageinsightspb/storageinsights.pb.go | 4 + .../apiv1/storagetransferpb/transfer.pb.go | 11 +- .../storagetransferpb/transfer_types.pb.go | 65 +- talent/apiv4/talentpb/common.pb.go | 1 + talent/apiv4/talentpb/event.pb.go | 1 + talent/apiv4/talentpb/filters.pb.go | 7 +- talent/apiv4/talentpb/histogram.pb.go | 10 +- talent/apiv4/talentpb/job_service.pb.go | 201 +- talent/apiv4beta1/talentpb/common.pb.go | 1 + talent/apiv4beta1/talentpb/event.pb.go | 1 + talent/apiv4beta1/talentpb/filters.pb.go | 7 +- talent/apiv4beta1/talentpb/histogram.pb.go | 10 +- talent/apiv4beta1/talentpb/job_service.pb.go | 201 +- .../telcoautomationpb/telcoautomation.pb.go | 1 + .../apiv1/texttospeechpb/cloud_tts.pb.go | 1 + trace/apiv1/tracepb/trace.pb.go | 38 +- trace/apiv2/tracepb/trace.pb.go | 10 +- translate/apiv3/translatepb/adaptive_mt.pb.go | 1 + .../translatepb/translation_service.pb.go | 85 +- .../apiv1/livestreampb/outputs.pb.go | 4 + .../apiv1/livestreampb/resources.pb.go | 4 + .../stitcher/apiv1/stitcherpb/cdn_keys.pb.go | 1 + .../apiv1/stitcherpb/companions.pb.go | 1 + .../stitcher/apiv1/stitcherpb/sessions.pb.go | 16 +- .../apiv1/transcoderpb/resources.pb.go | 58 +- .../video_intelligence.pb.go | 1 + .../video_intelligence.pb.go | 3 + vision/apiv1/visionpb/image_annotator.pb.go | 50 +- .../visionpb/product_search_service.pb.go | 108 +- vision/apiv1/visionpb/text_annotation.pb.go | 68 +- .../visionpb/text_annotation.pb.go | 72 +- .../apiv1/vmmigrationpb/vmmigration.pb.go | 11 + .../apiv1/vmwareenginepb/vmwareengine.pb.go | 4 +- .../vmwareengine_resources.pb.go | 3 + webrisk/apiv1/webriskpb/webrisk.pb.go | 1 + .../websecurityscannerpb/scan_config.pb.go | 2 + workflows/apiv1/workflowspb/workflows.pb.go | 1 + .../apiv1beta/workflowspb/workflows.pb.go | 1 + .../apiv1/workstationspb/workstations.pb.go | 3 + .../workstationspb/workstations.pb.go | 4 + 799 files changed, 26610 insertions(+), 21179 deletions(-) delete mode 100755 firestore/apiv1/firestorepb/query_profile.pb.go create mode 100644 internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/CreateCalculatedMetric/main.go create mode 100644 internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/DeleteCalculatedMetric/main.go create mode 100644 internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/GetCalculatedMetric/main.go create mode 100644 internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/ListCalculatedMetrics/main.go create mode 100644 internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/UpdateCalculatedMetric/main.go diff --git a/accessapproval/apiv1/accessapprovalpb/accessapproval.pb.go b/accessapproval/apiv1/accessapprovalpb/accessapproval.pb.go index 53d4d128cd2..12a2b44da00 100755 --- a/accessapproval/apiv1/accessapprovalpb/accessapproval.pb.go +++ b/accessapproval/apiv1/accessapprovalpb/accessapproval.pb.go @@ -101,12 +101,12 @@ const ( // Customer made a request or raised an issue that required the principal to // access customer data. `detail` is of the form ("#####" is the issue ID): // - // * "Feedback Report: #####" - // * "Case Number: #####" - // * "Case ID: #####" - // * "E-PIN Reference: #####" - // * "Google-#####" - // * "T-#####" + // - "Feedback Report: #####" + // - "Case Number: #####" + // - "Case ID: #####" + // - "E-PIN Reference: #####" + // - "Google-#####" + // - "T-#####" AccessReason_CUSTOMER_INITIATED_SUPPORT AccessReason_Type = 1 // The principal accessed customer data in order to diagnose or resolve a // suspected issue in services. Often this access is used to confirm that @@ -184,14 +184,14 @@ type AccessLocations struct { // of a country code. // Possible Region Codes: // - // * ASI: Asia - // * EUR: Europe - // * OCE: Oceania - // * AFR: Africa - // * NAM: North America - // * SAM: South America - // * ANT: Antarctica - // * ANY: Any location + // - ASI: Asia + // - EUR: Europe + // - OCE: Oceania + // - AFR: Africa + // - NAM: North America + // - SAM: South America + // - ANT: Antarctica + // - ANY: Any location PrincipalOfficeCountry string `protobuf:"bytes,1,opt,name=principal_office_country,json=principalOfficeCountry,proto3" json:"principal_office_country,omitempty"` // Physical location of the principal at the time of the access. A // two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or @@ -199,14 +199,14 @@ type AccessLocations struct { // a region code instead of a country code. // Possible Region Codes: // - // * ASI: Asia - // * EUR: Europe - // * OCE: Oceania - // * AFR: Africa - // * NAM: North America - // * SAM: South America - // * ANT: Antarctica - // * ANY: Any location + // - ASI: Asia + // - EUR: Europe + // - OCE: Oceania + // - AFR: Africa + // - NAM: North America + // - SAM: South America + // - ANT: Antarctica + // - ANY: Any location PrincipalPhysicalLocationCountry string `protobuf:"bytes,2,opt,name=principal_physical_location_country,json=principalPhysicalLocationCountry,proto3" json:"principal_physical_location_country,omitempty"` } @@ -324,6 +324,7 @@ type SignatureInfo struct { // How this signature may be verified. // // Types that are assignable to VerificationInfo: + // // *SignatureInfo_GooglePublicKeyPem // *SignatureInfo_CustomerKmsKeyVersion VerificationInfo isSignatureInfo_VerificationInfo `protobuf_oneof:"verification_info"` @@ -635,6 +636,7 @@ type ApprovalRequest struct { // The current decision on the approval request. // // Types that are assignable to Decision: + // // *ApprovalRequest_Approve // *ApprovalRequest_Dismiss Decision isApprovalRequest_Decision `protobuf_oneof:"decision"` @@ -769,55 +771,55 @@ type EnrolledService struct { // The product for which Access Approval will be enrolled. Allowed values are // listed below (case-sensitive): // - // * all - // * GA - // * App Engine - // * BigQuery - // * Cloud Bigtable - // * Cloud Key Management Service - // * Compute Engine - // * Cloud Dataflow - // * Cloud Dataproc - // * Cloud DLP - // * Cloud EKM - // * Cloud HSM - // * Cloud Identity and Access Management - // * Cloud Logging - // * Cloud Pub/Sub - // * Cloud Spanner - // * Cloud SQL - // * Cloud Storage - // * Google Kubernetes Engine - // * Organization Policy Serivice - // * Persistent Disk - // * Resource Manager - // * Secret Manager - // * Speaker ID + // - all + // - GA + // - App Engine + // - BigQuery + // - Cloud Bigtable + // - Cloud Key Management Service + // - Compute Engine + // - Cloud Dataflow + // - Cloud Dataproc + // - Cloud DLP + // - Cloud EKM + // - Cloud HSM + // - Cloud Identity and Access Management + // - Cloud Logging + // - Cloud Pub/Sub + // - Cloud Spanner + // - Cloud SQL + // - Cloud Storage + // - Google Kubernetes Engine + // - Organization Policy Serivice + // - Persistent Disk + // - Resource Manager + // - Secret Manager + // - Speaker ID // // Note: These values are supported as input for legacy purposes, but will not // be returned from the API. // - // * all - // * ga-only - // * appengine.googleapis.com - // * bigquery.googleapis.com - // * bigtable.googleapis.com - // * container.googleapis.com - // * cloudkms.googleapis.com - // * cloudresourcemanager.googleapis.com - // * cloudsql.googleapis.com - // * compute.googleapis.com - // * dataflow.googleapis.com - // * dataproc.googleapis.com - // * dlp.googleapis.com - // * iam.googleapis.com - // * logging.googleapis.com - // * orgpolicy.googleapis.com - // * pubsub.googleapis.com - // * spanner.googleapis.com - // * secretmanager.googleapis.com - // * speakerid.googleapis.com - // * storage.googleapis.com + // - all + // - ga-only + // - appengine.googleapis.com + // - bigquery.googleapis.com + // - bigtable.googleapis.com + // - container.googleapis.com + // - cloudkms.googleapis.com + // - cloudresourcemanager.googleapis.com + // - cloudsql.googleapis.com + // - compute.googleapis.com + // - dataflow.googleapis.com + // - dataproc.googleapis.com + // - dlp.googleapis.com + // - iam.googleapis.com + // - logging.googleapis.com + // - orgpolicy.googleapis.com + // - pubsub.googleapis.com + // - spanner.googleapis.com + // - secretmanager.googleapis.com + // - speakerid.googleapis.com + // - storage.googleapis.com // // Calls to UpdateAccessApprovalSettings using 'all' or any of the // XXX.googleapis.com will be translated to the associated product name @@ -887,9 +889,9 @@ type AccessApprovalSettings struct { // The resource name of the settings. Format is one of: // - // * "projects/{project}/accessApprovalSettings" - // * "folders/{folder}/accessApprovalSettings" - // * "organizations/{organization}/accessApprovalSettings" + // - "projects/{project}/accessApprovalSettings" + // - "folders/{folder}/accessApprovalSettings" + // - "organizations/{organization}/accessApprovalSettings" Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A list of email addresses to which notifications relating to approval // requests should be sent. Notifications relating to a resource will be sent @@ -1023,9 +1025,9 @@ type AccessApprovalServiceAccount struct { // The resource name of the Access Approval service account. Format is one of: // - // * "projects/{project}/serviceAccount" - // * "folders/{folder}/serviceAccount" - // * "organizations/{organization}/serviceAccount" + // - "projects/{project}/serviceAccount" + // - "folders/{folder}/serviceAccount" + // - "organizations/{organization}/serviceAccount" Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Email address of the service account. AccountEmail string `protobuf:"bytes,2,opt,name=account_email,json=accountEmail,proto3" json:"account_email,omitempty"` @@ -1089,15 +1091,15 @@ type ListApprovalRequestsMessage struct { // A filter on the type of approval requests to retrieve. Must be one of the // following values: // - // * [not set]: Requests that are pending or have active approvals. - // * ALL: All requests. - // * PENDING: Only pending requests. - // * ACTIVE: Only active (i.e. currently approved) requests. - // * DISMISSED: Only requests that have been dismissed, or requests that + // - [not set]: Requests that are pending or have active approvals. + // - ALL: All requests. + // - PENDING: Only pending requests. + // - ACTIVE: Only active (i.e. currently approved) requests. + // - DISMISSED: Only requests that have been dismissed, or requests that // are not approved and past expiration. - // * EXPIRED: Only requests that have been approved, and the approval has + // - EXPIRED: Only requests that have been approved, and the approval has // expired. - // * HISTORY: Active, dismissed and expired requests. + // - HISTORY: Active, dismissed and expired requests. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Requested page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` diff --git a/accesscontextmanager/apiv1/accesscontextmanagerpb/access_level.pb.go b/accesscontextmanager/apiv1/accesscontextmanagerpb/access_level.pb.go index cfd6a405905..24178c8b46d 100755 --- a/accesscontextmanager/apiv1/accesscontextmanagerpb/access_level.pb.go +++ b/accesscontextmanager/apiv1/accesscontextmanagerpb/access_level.pb.go @@ -109,6 +109,7 @@ type AccessLevel struct { // Required. Describes the necessary conditions for the level to apply. // // Types that are assignable to Level: + // // *AccessLevel_Basic // *AccessLevel_Custom Level isAccessLevel_Level `protobuf_oneof:"level"` diff --git a/accesscontextmanager/apiv1/accesscontextmanagerpb/service_perimeter.pb.go b/accesscontextmanager/apiv1/accesscontextmanagerpb/service_perimeter.pb.go index 7c76f6a39cd..3954dee9375 100755 --- a/accesscontextmanager/apiv1/accesscontextmanagerpb/service_perimeter.pb.go +++ b/accesscontextmanager/apiv1/accesscontextmanagerpb/service_perimeter.pb.go @@ -508,6 +508,7 @@ type ServicePerimeterConfig_MethodSelector struct { // The API method name or Cloud IAM permission name to allow. // // Types that are assignable to Kind: + // // *ServicePerimeterConfig_MethodSelector_Method // *ServicePerimeterConfig_MethodSelector_Permission Kind isServicePerimeterConfig_MethodSelector_Kind `protobuf_oneof:"kind"` @@ -673,6 +674,7 @@ type ServicePerimeterConfig_IngressSource struct { // Cloud resource. // // Types that are assignable to Source: + // // *ServicePerimeterConfig_IngressSource_AccessLevel // *ServicePerimeterConfig_IngressSource_Resource Source isServicePerimeterConfig_IngressSource_Source `protobuf_oneof:"source"` diff --git a/advisorynotifications/apiv1/advisorynotificationspb/service.pb.go b/advisorynotifications/apiv1/advisorynotificationspb/service.pb.go index 55e4b62dbbb..3019bbdce75 100755 --- a/advisorynotifications/apiv1/advisorynotificationspb/service.pb.go +++ b/advisorynotifications/apiv1/advisorynotificationspb/service.pb.go @@ -509,6 +509,7 @@ type Attachment struct { // Data type of the attachment. // // Types that are assignable to Data: + // // *Attachment_Csv Data isAttachment_Data `protobuf_oneof:"data"` // The title of the attachment. diff --git a/ai/generativelanguage/apiv1/doc.go b/ai/generativelanguage/apiv1/doc.go index 1f5eed6d075..ae1398e8bea 100755 --- a/ai/generativelanguage/apiv1/doc.go +++ b/ai/generativelanguage/apiv1/doc.go @@ -17,15 +17,13 @@ // Package generativelanguage is an auto-generated package for the // Generative Language API. // -// The PaLM API allows developers to build generative AI applications using -// the PaLM model. Large Language Models (LLMs) are a powerful, versatile -// type of machine learning model that enables computers to comprehend and -// generate natural language through a series of prompts. The PaLM API is -// based on Google’s next generation LLM, PaLM. It excels at a variety of -// different tasks like code generation, reasoning, and writing. You can use -// the PaLM API to build generative AI applications for use cases like -// content generation, dialogue agents, summarization and classification -// systems, and more. +// The Gemini API allows developers to build generative AI applications using +// Gemini models. Gemini is our most capable model in the world, built from +// the ground up to be multimodal. It can generalize and seamlessly +// understand, operate across, and combine different types of information. +// You can use the Gemini API for use cases like reasoning across text and +// images, content generation, dialogue agents, summarization and +// classification systems, and more. // // NOTE: This package is in beta. It is not stable, and may be subject to changes. // diff --git a/ai/generativelanguage/apiv1/generativelanguagepb/citation.pb.go b/ai/generativelanguage/apiv1/generativelanguagepb/citation.pb.go index ecb7824b2e5..874309f3475 100755 --- a/ai/generativelanguage/apiv1/generativelanguagepb/citation.pb.go +++ b/ai/generativelanguage/apiv1/generativelanguagepb/citation.pb.go @@ -177,38 +177,37 @@ var file_google_ai_generativelanguage_v1_citation_proto_rawDesc = []byte{ 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6e, 0x0a, - 0x10, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x5a, 0x0a, 0x10, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0f, 0x63, 0x69, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0xd4, 0x01, - 0x0a, 0x0e, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x29, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x09, 0x65, - 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x88, 0x01, 0x01, 0x12, 0x22, - 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x88, - 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x69, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x42, 0x91, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0d, 0x43, 0x69, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x59, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x70, 0x62, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, - 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x6f, 0x22, 0x6e, 0x0a, 0x10, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5a, 0x0a, 0x10, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x0f, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x22, 0xd4, 0x01, 0x0a, 0x0e, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, + 0x12, 0x25, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, + 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x07, 0x6c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x65, 0x6e, 0x64, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x69, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x42, 0x91, 0x01, 0x0a, 0x23, 0x63, 0x6f, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x42, 0x0d, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x59, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/ai/generativelanguage/apiv1/generativelanguagepb/content.pb.go b/ai/generativelanguage/apiv1/generativelanguagepb/content.pb.go index 0037d32e5d3..b1da06494b8 100755 --- a/ai/generativelanguage/apiv1/generativelanguagepb/content.pb.go +++ b/ai/generativelanguage/apiv1/generativelanguagepb/content.pb.go @@ -115,6 +115,7 @@ type Part struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Data: + // // *Part_Text // *Part_InlineData Data isPart_Data `protobuf_oneof:"data"` diff --git a/ai/generativelanguage/apiv1/generativelanguagepb/generative_service.pb.go b/ai/generativelanguage/apiv1/generativelanguagepb/generative_service.pb.go index b469b5c483d..7ef733d7738 100755 --- a/ai/generativelanguage/apiv1/generativelanguagepb/generative_service.pb.go +++ b/ai/generativelanguage/apiv1/generativelanguagepb/generative_service.pb.go @@ -638,6 +638,9 @@ type EmbedContentRequest struct { TaskType *TaskType `protobuf:"varint,3,opt,name=task_type,json=taskType,proto3,enum=google.ai.generativelanguage.v1.TaskType,oneof" json:"task_type,omitempty"` // Optional. An optional title for the text. Only applicable when TaskType is // `RETRIEVAL_DOCUMENT`. + // + // Note: Specifying a `title` for `RETRIEVAL_DOCUMENT` provides better quality + // embeddings for retrieval. Title *string `protobuf:"bytes,4,opt,name=title,proto3,oneof" json:"title,omitempty"` } diff --git a/ai/generativelanguage/apiv1beta/doc.go b/ai/generativelanguage/apiv1beta/doc.go index a5eea17ce48..a127cc89a16 100755 --- a/ai/generativelanguage/apiv1beta/doc.go +++ b/ai/generativelanguage/apiv1beta/doc.go @@ -17,15 +17,13 @@ // Package generativelanguage is an auto-generated package for the // Generative Language API. // -// The PaLM API allows developers to build generative AI applications using -// the PaLM model. Large Language Models (LLMs) are a powerful, versatile -// type of machine learning model that enables computers to comprehend and -// generate natural language through a series of prompts. The PaLM API is -// based on Google’s next generation LLM, PaLM. It excels at a variety of -// different tasks like code generation, reasoning, and writing. You can use -// the PaLM API to build generative AI applications for use cases like -// content generation, dialogue agents, summarization and classification -// systems, and more. +// The Gemini API allows developers to build generative AI applications using +// Gemini models. Gemini is our most capable model in the world, built from +// the ground up to be multimodal. It can generalize and seamlessly +// understand, operate across, and combine different types of information. +// You can use the Gemini API for use cases like reasoning across text and +// images, content generation, dialogue agents, summarization and +// classification systems, and more. // // NOTE: This package is in beta. It is not stable, and may be subject to changes. // diff --git a/ai/generativelanguage/apiv1beta/generativelanguagepb/citation.pb.go b/ai/generativelanguage/apiv1beta/generativelanguagepb/citation.pb.go index 57159af78f2..73170980ce0 100755 --- a/ai/generativelanguage/apiv1beta/generativelanguagepb/citation.pb.go +++ b/ai/generativelanguage/apiv1beta/generativelanguagepb/citation.pb.go @@ -177,40 +177,38 @@ var file_google_ai_generativelanguage_v1beta_citation_proto_rawDesc = []byte{ 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x10, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5e, 0x0a, 0x10, 0x63, 0x69, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, - 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0f, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0xd4, 0x01, 0x0a, 0x0e, 0x43, 0x69, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x0b, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, - 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x48, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x6c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x48, 0x03, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x06, 0x0a, 0x04, - 0x5f, 0x75, 0x72, 0x69, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x42, 0x99, 0x01, 0x0a, 0x27, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0d, 0x43, 0x69, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x10, 0x43, 0x69, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5e, + 0x0a, 0x10, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, + 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0f, 0x63, + 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0xd4, + 0x01, 0x0a, 0x0e, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x09, + 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x88, 0x01, 0x01, 0x12, + 0x22, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, + 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x69, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x42, 0x99, 0x01, 0x0a, 0x27, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x42, 0x0d, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x5d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x3b, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/ai/generativelanguage/apiv1beta/generativelanguagepb/content.pb.go b/ai/generativelanguage/apiv1beta/generativelanguagepb/content.pb.go index 96098c999ca..6d04bfe596f 100755 --- a/ai/generativelanguage/apiv1beta/generativelanguagepb/content.pb.go +++ b/ai/generativelanguage/apiv1beta/generativelanguagepb/content.pb.go @@ -186,6 +186,7 @@ type Part struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Data: + // // *Part_Text // *Part_InlineData // *Part_FunctionCall @@ -634,12 +635,13 @@ type Schema struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Optional. Data type. + // Required. Data type. Type Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.ai.generativelanguage.v1beta.Type" json:"type,omitempty"` - // Optional. The format of the data. This is used obnly for primative + // Optional. The format of the data. This is used only for primitive // datatypes. Supported formats: - // for NUMBER type: float, double - // for INTEGER type: int32, int64 + // + // for NUMBER type: float, double + // for INTEGER type: int32, int64 Format string `protobuf:"bytes,2,opt,name=format,proto3" json:"format,omitempty"` // Optional. A brief description of the parameter. This could contain examples // of use. Parameter description may be formatted as Markdown. @@ -932,7 +934,7 @@ var file_google_ai_generativelanguage_v1beta_content_proto_rawDesc = []byte{ 0x42, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, + 0x65, 0x74, 0x61, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, diff --git a/ai/generativelanguage/apiv1beta/generativelanguagepb/generative_service.pb.go b/ai/generativelanguage/apiv1beta/generativelanguagepb/generative_service.pb.go index ddb1574eb7b..1037ffb96f5 100755 --- a/ai/generativelanguage/apiv1beta/generativelanguagepb/generative_service.pb.go +++ b/ai/generativelanguage/apiv1beta/generativelanguagepb/generative_service.pb.go @@ -282,6 +282,60 @@ func (GenerateAnswerRequest_AnswerStyle) EnumDescriptor() ([]byte, []int) { return file_google_ai_generativelanguage_v1beta_generative_service_proto_rawDescGZIP(), []int{7, 0} } +// Specifies what was the reason why input was blocked. +type GenerateAnswerResponse_InputFeedback_BlockReason int32 + +const ( + // Default value. This value is unused. + GenerateAnswerResponse_InputFeedback_BLOCK_REASON_UNSPECIFIED GenerateAnswerResponse_InputFeedback_BlockReason = 0 + // Input was blocked due to safety reasons. You can inspect + // `safety_ratings` to understand which safety category blocked it. + GenerateAnswerResponse_InputFeedback_SAFETY GenerateAnswerResponse_InputFeedback_BlockReason = 1 + // Input was blocked due to other reasons. + GenerateAnswerResponse_InputFeedback_OTHER GenerateAnswerResponse_InputFeedback_BlockReason = 2 +) + +// Enum value maps for GenerateAnswerResponse_InputFeedback_BlockReason. +var ( + GenerateAnswerResponse_InputFeedback_BlockReason_name = map[int32]string{ + 0: "BLOCK_REASON_UNSPECIFIED", + 1: "SAFETY", + 2: "OTHER", + } + GenerateAnswerResponse_InputFeedback_BlockReason_value = map[string]int32{ + "BLOCK_REASON_UNSPECIFIED": 0, + "SAFETY": 1, + "OTHER": 2, + } +) + +func (x GenerateAnswerResponse_InputFeedback_BlockReason) Enum() *GenerateAnswerResponse_InputFeedback_BlockReason { + p := new(GenerateAnswerResponse_InputFeedback_BlockReason) + *p = x + return p +} + +func (x GenerateAnswerResponse_InputFeedback_BlockReason) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GenerateAnswerResponse_InputFeedback_BlockReason) Descriptor() protoreflect.EnumDescriptor { + return file_google_ai_generativelanguage_v1beta_generative_service_proto_enumTypes[4].Descriptor() +} + +func (GenerateAnswerResponse_InputFeedback_BlockReason) Type() protoreflect.EnumType { + return &file_google_ai_generativelanguage_v1beta_generative_service_proto_enumTypes[4] +} + +func (x GenerateAnswerResponse_InputFeedback_BlockReason) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GenerateAnswerResponse_InputFeedback_BlockReason.Descriptor instead. +func (GenerateAnswerResponse_InputFeedback_BlockReason) EnumDescriptor() ([]byte, []int) { + return file_google_ai_generativelanguage_v1beta_generative_service_proto_rawDescGZIP(), []int{8, 0, 0} +} + // Request to generate a completion from the model. type GenerateContentRequest struct { state protoimpl.MessageState @@ -798,6 +852,7 @@ type AttributionSourceId struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Source: + // // *AttributionSourceId_GroundingPassage // *AttributionSourceId_SemanticRetrieverChunk_ Source isAttributionSourceId_Source `protobuf_oneof:"source"` @@ -941,6 +996,7 @@ type GenerateAnswerRequest struct { // The sources in which to ground the answer. // // Types that are assignable to GroundingSource: + // // *GenerateAnswerRequest_InlinePassages // *GenerateAnswerRequest_SemanticRetriever GroundingSource isGenerateAnswerRequest_GroundingSource `protobuf_oneof:"grounding_source"` @@ -953,6 +1009,8 @@ type GenerateAnswerRequest struct { // single-turn queries, this is a single question to answer. For multi-turn // queries, this is a repeated field that contains conversation history and // the last `Content` in the list containing the question. + // + // Note: GenerateAnswer currently only supports queries in English. Contents []*Content `protobuf:"bytes,2,rep,name=contents,proto3" json:"contents,omitempty"` // Required. Style in which answers should be returned. AnswerStyle GenerateAnswerRequest_AnswerStyle `protobuf:"varint,5,opt,name=answer_style,json=answerStyle,proto3,enum=google.ai.generativelanguage.v1beta.GenerateAnswerRequest_AnswerStyle" json:"answer_style,omitempty"` @@ -1112,6 +1170,17 @@ type GenerateAnswerResponse struct { // knowledge. The threshold and nature of such fallbacks will depend on // individual clients’ use cases. 0.5 is a good starting threshold. AnswerableProbability *float32 `protobuf:"fixed32,2,opt,name=answerable_probability,json=answerableProbability,proto3,oneof" json:"answerable_probability,omitempty"` + // Output only. Feedback related to the input data used to answer the + // question, as opposed to model-generated response to the question. + // + // "Input data" can be one or more of the following: + // + // - Question specified by the last entry in `GenerateAnswerRequest.content` + // - Conversation history specified by the other entries in + // `GenerateAnswerRequest.content` + // - Grounding sources (`GenerateAnswerRequest.semantic_retriever` or + // `GenerateAnswerRequest.inline_passages`) + InputFeedback *GenerateAnswerResponse_InputFeedback `protobuf:"bytes,3,opt,name=input_feedback,json=inputFeedback,proto3,oneof" json:"input_feedback,omitempty"` } func (x *GenerateAnswerResponse) Reset() { @@ -1160,6 +1229,13 @@ func (x *GenerateAnswerResponse) GetAnswerableProbability() float32 { return 0 } +func (x *GenerateAnswerResponse) GetInputFeedback() *GenerateAnswerResponse_InputFeedback { + if x != nil { + return x.InputFeedback + } + return nil +} + // Request containing the `Content` for the model to embed. type EmbedContentRequest struct { state protoimpl.MessageState @@ -1181,6 +1257,9 @@ type EmbedContentRequest struct { TaskType *TaskType `protobuf:"varint,3,opt,name=task_type,json=taskType,proto3,enum=google.ai.generativelanguage.v1beta.TaskType,oneof" json:"task_type,omitempty"` // Optional. An optional title for the text. Only applicable when TaskType is // `RETRIEVAL_DOCUMENT`. + // + // Note: Specifying a `title` for `RETRIEVAL_DOCUMENT` provides better quality + // embeddings for retrieval. Title *string `protobuf:"bytes,4,opt,name=title,proto3,oneof" json:"title,omitempty"` } @@ -1758,6 +1837,67 @@ func (x *AttributionSourceId_SemanticRetrieverChunk) GetChunk() string { return "" } +// Feedback related to the input data used to answer the question, as opposed +// to model-generated response to the question. +type GenerateAnswerResponse_InputFeedback struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. If set, the input was blocked and no candidates are returned. + // Rephrase your input. + BlockReason *GenerateAnswerResponse_InputFeedback_BlockReason `protobuf:"varint,1,opt,name=block_reason,json=blockReason,proto3,enum=google.ai.generativelanguage.v1beta.GenerateAnswerResponse_InputFeedback_BlockReason,oneof" json:"block_reason,omitempty"` + // Ratings for safety of the input. + // There is at most one rating per category. + SafetyRatings []*SafetyRating `protobuf:"bytes,2,rep,name=safety_ratings,json=safetyRatings,proto3" json:"safety_ratings,omitempty"` +} + +func (x *GenerateAnswerResponse_InputFeedback) Reset() { + *x = GenerateAnswerResponse_InputFeedback{} + if protoimpl.UnsafeEnabled { + mi := &file_google_ai_generativelanguage_v1beta_generative_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateAnswerResponse_InputFeedback) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateAnswerResponse_InputFeedback) ProtoMessage() {} + +func (x *GenerateAnswerResponse_InputFeedback) ProtoReflect() protoreflect.Message { + mi := &file_google_ai_generativelanguage_v1beta_generative_service_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateAnswerResponse_InputFeedback.ProtoReflect.Descriptor instead. +func (*GenerateAnswerResponse_InputFeedback) Descriptor() ([]byte, []int) { + return file_google_ai_generativelanguage_v1beta_generative_service_proto_rawDescGZIP(), []int{8, 0} +} + +func (x *GenerateAnswerResponse_InputFeedback) GetBlockReason() GenerateAnswerResponse_InputFeedback_BlockReason { + if x != nil && x.BlockReason != nil { + return *x.BlockReason + } + return GenerateAnswerResponse_InputFeedback_BLOCK_REASON_UNSPECIFIED +} + +func (x *GenerateAnswerResponse_InputFeedback) GetSafetyRatings() []*SafetyRating { + if x != nil { + return x.SafetyRatings + } + return nil +} + var File_google_ai_generativelanguage_v1beta_generative_service_proto protoreflect.FileDescriptor var file_google_ai_generativelanguage_v1beta_generative_service_proto_rawDesc = []byte{ @@ -2030,7 +2170,7 @@ var file_google_ai_generativelanguage_v1beta_generative_service_proto_rawDesc = 0x58, 0x54, 0x52, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x45, 0x52, 0x42, 0x4f, 0x53, 0x45, 0x10, 0x03, 0x42, 0x12, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xbc, 0x01, 0x0a, + 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x91, 0x05, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, @@ -2041,177 +2181,206 @@ var file_google_ai_generativelanguage_v1beta_generative_service_proto_rawDesc = 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x15, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, - 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xb7, 0x02, 0x0a, 0x13, - 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x4b, 0x0a, 0x07, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, + 0x12, 0x7a, 0x0a, 0x0e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, + 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, + 0x61, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0d, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x1a, 0xc3, 0x02, 0x0a, + 0x0d, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x82, + 0x01, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, + 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x58, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, - 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x48, 0x01, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x2a, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x22, 0x70, 0x0a, 0x14, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x09, 0x65, 0x6d, 0x62, - 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, - 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, - 0x69, 0x6e, 0x67, 0x22, 0xbd, 0x01, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, - 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x45, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x59, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, + 0x61, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d, + 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x42, 0x0a, + 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, + 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, + 0x46, 0x45, 0x54, 0x59, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, + 0x02, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x11, 0x0a, + 0x0f, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, + 0x22, 0xb7, 0x02, 0x0a, 0x13, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, + 0x27, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, + 0x4b, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x09, + 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x2a, 0x0a, 0x10, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x16, + 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x70, 0x0a, 0x14, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, + 0x0a, 0x09, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, + 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x65, + 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x22, 0xbd, 0x01, 0x0a, 0x19, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x59, 0x0a, + 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x78, 0x0a, 0x1a, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0a, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, + 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x22, 0x78, 0x0a, 0x1a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, - 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x5a, 0x0a, 0x0a, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, + 0x67, 0x73, 0x22, 0xaa, 0x01, 0x0a, 0x12, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x05, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, + 0x0a, 0x27, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x12, 0x4d, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, + 0x38, 0x0a, 0x13, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x2a, 0x8f, 0x01, 0x0a, 0x08, 0x54, 0x61, + 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x54, 0x52, 0x49, 0x45, 0x56, 0x41, 0x4c, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x54, 0x52, 0x49, 0x45, + 0x56, 0x41, 0x4c, 0x5f, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x17, + 0x0a, 0x13, 0x53, 0x45, 0x4d, 0x41, 0x4e, 0x54, 0x49, 0x43, 0x5f, 0x53, 0x49, 0x4d, 0x49, 0x4c, + 0x41, 0x52, 0x49, 0x54, 0x59, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4c, 0x41, 0x53, 0x53, + 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x43, + 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x32, 0xcd, 0x0a, 0x0a, 0x11, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0xd2, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x0a, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xaa, 0x01, - 0x0a, 0x12, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, - 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x4d, 0x0a, 0x08, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x38, 0x0a, 0x13, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x2a, 0x8f, 0x01, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, - 0x52, 0x45, 0x54, 0x52, 0x49, 0x45, 0x56, 0x41, 0x4c, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, - 0x01, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x54, 0x52, 0x49, 0x45, 0x56, 0x41, 0x4c, 0x5f, 0x44, - 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x45, 0x4d, - 0x41, 0x4e, 0x54, 0x49, 0x43, 0x5f, 0x53, 0x49, 0x4d, 0x49, 0x4c, 0x41, 0x52, 0x49, 0x54, 0x59, - 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x49, 0x46, 0x49, 0x43, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, - 0x52, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x32, 0xcd, 0x0a, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xd2, 0x01, 0x0a, - 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0xda, 0x41, 0x0e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2d, 0x3a, 0x01, 0x2a, 0x22, 0x28, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, - 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x12, 0xeb, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, - 0x73, 0x77, 0x65, 0x72, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, - 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, - 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0xda, - 0x41, 0x2b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x2c, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x2c, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, - 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, - 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, - 0xe0, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x44, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x3a, 0x01, 0x2a, 0x22, 0x28, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0xeb, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x3a, 0x01, 0x2a, - 0x22, 0x2e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x30, 0x01, 0x12, 0xc5, 0x01, 0x0a, 0x0c, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, - 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0xda, 0x41, 0x0d, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, - 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x6d, - 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0xde, 0x01, 0x0a, 0x12, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, - 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, - 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x47, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x01, 0x2a, 0x22, 0x2b, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, - 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xc2, 0x01, 0x0a, 0x0b, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x60, 0xda, 0x41, 0x2b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2c, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2c, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, + 0x73, 0x77, 0x65, 0x72, 0x12, 0xe0, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, - 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, - 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x1a, 0x24, 0xca, 0x41, 0x21, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0xa2, 0x01, 0x0a, 0x27, 0x63, 0x6f, 0x6d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x42, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, - 0x6f, 0x2f, 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0xda, 0x41, 0x0e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x33, 0x3a, 0x01, 0x2a, 0x22, 0x2e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0xc5, 0x01, 0x0a, 0x0c, 0x45, 0x6d, 0x62, 0x65, + 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, + 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0xda, + 0x41, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0xde, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x2c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, + 0x3a, 0x01, 0x2a, 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0xc2, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x40, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, + 0x24, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, 0x24, 0xca, 0x41, 0x21, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0xa2, 0x01, 0x0a, 0x27, + 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x5d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x3b, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2226,89 +2395,94 @@ func file_google_ai_generativelanguage_v1beta_generative_service_proto_rawDescGZ return file_google_ai_generativelanguage_v1beta_generative_service_proto_rawDescData } -var file_google_ai_generativelanguage_v1beta_generative_service_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_google_ai_generativelanguage_v1beta_generative_service_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_google_ai_generativelanguage_v1beta_generative_service_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_google_ai_generativelanguage_v1beta_generative_service_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_google_ai_generativelanguage_v1beta_generative_service_proto_goTypes = []interface{}{ (TaskType)(0), // 0: google.ai.generativelanguage.v1beta.TaskType (GenerateContentResponse_PromptFeedback_BlockReason)(0), // 1: google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback.BlockReason (Candidate_FinishReason)(0), // 2: google.ai.generativelanguage.v1beta.Candidate.FinishReason (GenerateAnswerRequest_AnswerStyle)(0), // 3: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.AnswerStyle - (*GenerateContentRequest)(nil), // 4: google.ai.generativelanguage.v1beta.GenerateContentRequest - (*GenerationConfig)(nil), // 5: google.ai.generativelanguage.v1beta.GenerationConfig - (*SemanticRetrieverConfig)(nil), // 6: google.ai.generativelanguage.v1beta.SemanticRetrieverConfig - (*GenerateContentResponse)(nil), // 7: google.ai.generativelanguage.v1beta.GenerateContentResponse - (*Candidate)(nil), // 8: google.ai.generativelanguage.v1beta.Candidate - (*AttributionSourceId)(nil), // 9: google.ai.generativelanguage.v1beta.AttributionSourceId - (*GroundingAttribution)(nil), // 10: google.ai.generativelanguage.v1beta.GroundingAttribution - (*GenerateAnswerRequest)(nil), // 11: google.ai.generativelanguage.v1beta.GenerateAnswerRequest - (*GenerateAnswerResponse)(nil), // 12: google.ai.generativelanguage.v1beta.GenerateAnswerResponse - (*EmbedContentRequest)(nil), // 13: google.ai.generativelanguage.v1beta.EmbedContentRequest - (*ContentEmbedding)(nil), // 14: google.ai.generativelanguage.v1beta.ContentEmbedding - (*EmbedContentResponse)(nil), // 15: google.ai.generativelanguage.v1beta.EmbedContentResponse - (*BatchEmbedContentsRequest)(nil), // 16: google.ai.generativelanguage.v1beta.BatchEmbedContentsRequest - (*BatchEmbedContentsResponse)(nil), // 17: google.ai.generativelanguage.v1beta.BatchEmbedContentsResponse - (*CountTokensRequest)(nil), // 18: google.ai.generativelanguage.v1beta.CountTokensRequest - (*CountTokensResponse)(nil), // 19: google.ai.generativelanguage.v1beta.CountTokensResponse - (*GenerateContentResponse_PromptFeedback)(nil), // 20: google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback - (*AttributionSourceId_GroundingPassageId)(nil), // 21: google.ai.generativelanguage.v1beta.AttributionSourceId.GroundingPassageId - (*AttributionSourceId_SemanticRetrieverChunk)(nil), // 22: google.ai.generativelanguage.v1beta.AttributionSourceId.SemanticRetrieverChunk - (*Content)(nil), // 23: google.ai.generativelanguage.v1beta.Content - (*Tool)(nil), // 24: google.ai.generativelanguage.v1beta.Tool - (*SafetySetting)(nil), // 25: google.ai.generativelanguage.v1beta.SafetySetting - (*MetadataFilter)(nil), // 26: google.ai.generativelanguage.v1beta.MetadataFilter - (*SafetyRating)(nil), // 27: google.ai.generativelanguage.v1beta.SafetyRating - (*CitationMetadata)(nil), // 28: google.ai.generativelanguage.v1beta.CitationMetadata - (*GroundingPassages)(nil), // 29: google.ai.generativelanguage.v1beta.GroundingPassages + (GenerateAnswerResponse_InputFeedback_BlockReason)(0), // 4: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.InputFeedback.BlockReason + (*GenerateContentRequest)(nil), // 5: google.ai.generativelanguage.v1beta.GenerateContentRequest + (*GenerationConfig)(nil), // 6: google.ai.generativelanguage.v1beta.GenerationConfig + (*SemanticRetrieverConfig)(nil), // 7: google.ai.generativelanguage.v1beta.SemanticRetrieverConfig + (*GenerateContentResponse)(nil), // 8: google.ai.generativelanguage.v1beta.GenerateContentResponse + (*Candidate)(nil), // 9: google.ai.generativelanguage.v1beta.Candidate + (*AttributionSourceId)(nil), // 10: google.ai.generativelanguage.v1beta.AttributionSourceId + (*GroundingAttribution)(nil), // 11: google.ai.generativelanguage.v1beta.GroundingAttribution + (*GenerateAnswerRequest)(nil), // 12: google.ai.generativelanguage.v1beta.GenerateAnswerRequest + (*GenerateAnswerResponse)(nil), // 13: google.ai.generativelanguage.v1beta.GenerateAnswerResponse + (*EmbedContentRequest)(nil), // 14: google.ai.generativelanguage.v1beta.EmbedContentRequest + (*ContentEmbedding)(nil), // 15: google.ai.generativelanguage.v1beta.ContentEmbedding + (*EmbedContentResponse)(nil), // 16: google.ai.generativelanguage.v1beta.EmbedContentResponse + (*BatchEmbedContentsRequest)(nil), // 17: google.ai.generativelanguage.v1beta.BatchEmbedContentsRequest + (*BatchEmbedContentsResponse)(nil), // 18: google.ai.generativelanguage.v1beta.BatchEmbedContentsResponse + (*CountTokensRequest)(nil), // 19: google.ai.generativelanguage.v1beta.CountTokensRequest + (*CountTokensResponse)(nil), // 20: google.ai.generativelanguage.v1beta.CountTokensResponse + (*GenerateContentResponse_PromptFeedback)(nil), // 21: google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback + (*AttributionSourceId_GroundingPassageId)(nil), // 22: google.ai.generativelanguage.v1beta.AttributionSourceId.GroundingPassageId + (*AttributionSourceId_SemanticRetrieverChunk)(nil), // 23: google.ai.generativelanguage.v1beta.AttributionSourceId.SemanticRetrieverChunk + (*GenerateAnswerResponse_InputFeedback)(nil), // 24: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.InputFeedback + (*Content)(nil), // 25: google.ai.generativelanguage.v1beta.Content + (*Tool)(nil), // 26: google.ai.generativelanguage.v1beta.Tool + (*SafetySetting)(nil), // 27: google.ai.generativelanguage.v1beta.SafetySetting + (*MetadataFilter)(nil), // 28: google.ai.generativelanguage.v1beta.MetadataFilter + (*SafetyRating)(nil), // 29: google.ai.generativelanguage.v1beta.SafetyRating + (*CitationMetadata)(nil), // 30: google.ai.generativelanguage.v1beta.CitationMetadata + (*GroundingPassages)(nil), // 31: google.ai.generativelanguage.v1beta.GroundingPassages } var file_google_ai_generativelanguage_v1beta_generative_service_proto_depIdxs = []int32{ - 23, // 0: google.ai.generativelanguage.v1beta.GenerateContentRequest.contents:type_name -> google.ai.generativelanguage.v1beta.Content - 24, // 1: google.ai.generativelanguage.v1beta.GenerateContentRequest.tools:type_name -> google.ai.generativelanguage.v1beta.Tool - 25, // 2: google.ai.generativelanguage.v1beta.GenerateContentRequest.safety_settings:type_name -> google.ai.generativelanguage.v1beta.SafetySetting - 5, // 3: google.ai.generativelanguage.v1beta.GenerateContentRequest.generation_config:type_name -> google.ai.generativelanguage.v1beta.GenerationConfig - 23, // 4: google.ai.generativelanguage.v1beta.SemanticRetrieverConfig.query:type_name -> google.ai.generativelanguage.v1beta.Content - 26, // 5: google.ai.generativelanguage.v1beta.SemanticRetrieverConfig.metadata_filters:type_name -> google.ai.generativelanguage.v1beta.MetadataFilter - 8, // 6: google.ai.generativelanguage.v1beta.GenerateContentResponse.candidates:type_name -> google.ai.generativelanguage.v1beta.Candidate - 20, // 7: google.ai.generativelanguage.v1beta.GenerateContentResponse.prompt_feedback:type_name -> google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback - 23, // 8: google.ai.generativelanguage.v1beta.Candidate.content:type_name -> google.ai.generativelanguage.v1beta.Content + 25, // 0: google.ai.generativelanguage.v1beta.GenerateContentRequest.contents:type_name -> google.ai.generativelanguage.v1beta.Content + 26, // 1: google.ai.generativelanguage.v1beta.GenerateContentRequest.tools:type_name -> google.ai.generativelanguage.v1beta.Tool + 27, // 2: google.ai.generativelanguage.v1beta.GenerateContentRequest.safety_settings:type_name -> google.ai.generativelanguage.v1beta.SafetySetting + 6, // 3: google.ai.generativelanguage.v1beta.GenerateContentRequest.generation_config:type_name -> google.ai.generativelanguage.v1beta.GenerationConfig + 25, // 4: google.ai.generativelanguage.v1beta.SemanticRetrieverConfig.query:type_name -> google.ai.generativelanguage.v1beta.Content + 28, // 5: google.ai.generativelanguage.v1beta.SemanticRetrieverConfig.metadata_filters:type_name -> google.ai.generativelanguage.v1beta.MetadataFilter + 9, // 6: google.ai.generativelanguage.v1beta.GenerateContentResponse.candidates:type_name -> google.ai.generativelanguage.v1beta.Candidate + 21, // 7: google.ai.generativelanguage.v1beta.GenerateContentResponse.prompt_feedback:type_name -> google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback + 25, // 8: google.ai.generativelanguage.v1beta.Candidate.content:type_name -> google.ai.generativelanguage.v1beta.Content 2, // 9: google.ai.generativelanguage.v1beta.Candidate.finish_reason:type_name -> google.ai.generativelanguage.v1beta.Candidate.FinishReason - 27, // 10: google.ai.generativelanguage.v1beta.Candidate.safety_ratings:type_name -> google.ai.generativelanguage.v1beta.SafetyRating - 28, // 11: google.ai.generativelanguage.v1beta.Candidate.citation_metadata:type_name -> google.ai.generativelanguage.v1beta.CitationMetadata - 10, // 12: google.ai.generativelanguage.v1beta.Candidate.grounding_attributions:type_name -> google.ai.generativelanguage.v1beta.GroundingAttribution - 21, // 13: google.ai.generativelanguage.v1beta.AttributionSourceId.grounding_passage:type_name -> google.ai.generativelanguage.v1beta.AttributionSourceId.GroundingPassageId - 22, // 14: google.ai.generativelanguage.v1beta.AttributionSourceId.semantic_retriever_chunk:type_name -> google.ai.generativelanguage.v1beta.AttributionSourceId.SemanticRetrieverChunk - 9, // 15: google.ai.generativelanguage.v1beta.GroundingAttribution.source_id:type_name -> google.ai.generativelanguage.v1beta.AttributionSourceId - 23, // 16: google.ai.generativelanguage.v1beta.GroundingAttribution.content:type_name -> google.ai.generativelanguage.v1beta.Content - 29, // 17: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.inline_passages:type_name -> google.ai.generativelanguage.v1beta.GroundingPassages - 6, // 18: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.semantic_retriever:type_name -> google.ai.generativelanguage.v1beta.SemanticRetrieverConfig - 23, // 19: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.contents:type_name -> google.ai.generativelanguage.v1beta.Content + 29, // 10: google.ai.generativelanguage.v1beta.Candidate.safety_ratings:type_name -> google.ai.generativelanguage.v1beta.SafetyRating + 30, // 11: google.ai.generativelanguage.v1beta.Candidate.citation_metadata:type_name -> google.ai.generativelanguage.v1beta.CitationMetadata + 11, // 12: google.ai.generativelanguage.v1beta.Candidate.grounding_attributions:type_name -> google.ai.generativelanguage.v1beta.GroundingAttribution + 22, // 13: google.ai.generativelanguage.v1beta.AttributionSourceId.grounding_passage:type_name -> google.ai.generativelanguage.v1beta.AttributionSourceId.GroundingPassageId + 23, // 14: google.ai.generativelanguage.v1beta.AttributionSourceId.semantic_retriever_chunk:type_name -> google.ai.generativelanguage.v1beta.AttributionSourceId.SemanticRetrieverChunk + 10, // 15: google.ai.generativelanguage.v1beta.GroundingAttribution.source_id:type_name -> google.ai.generativelanguage.v1beta.AttributionSourceId + 25, // 16: google.ai.generativelanguage.v1beta.GroundingAttribution.content:type_name -> google.ai.generativelanguage.v1beta.Content + 31, // 17: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.inline_passages:type_name -> google.ai.generativelanguage.v1beta.GroundingPassages + 7, // 18: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.semantic_retriever:type_name -> google.ai.generativelanguage.v1beta.SemanticRetrieverConfig + 25, // 19: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.contents:type_name -> google.ai.generativelanguage.v1beta.Content 3, // 20: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.answer_style:type_name -> google.ai.generativelanguage.v1beta.GenerateAnswerRequest.AnswerStyle - 25, // 21: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.safety_settings:type_name -> google.ai.generativelanguage.v1beta.SafetySetting - 8, // 22: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.answer:type_name -> google.ai.generativelanguage.v1beta.Candidate - 23, // 23: google.ai.generativelanguage.v1beta.EmbedContentRequest.content:type_name -> google.ai.generativelanguage.v1beta.Content - 0, // 24: google.ai.generativelanguage.v1beta.EmbedContentRequest.task_type:type_name -> google.ai.generativelanguage.v1beta.TaskType - 14, // 25: google.ai.generativelanguage.v1beta.EmbedContentResponse.embedding:type_name -> google.ai.generativelanguage.v1beta.ContentEmbedding - 13, // 26: google.ai.generativelanguage.v1beta.BatchEmbedContentsRequest.requests:type_name -> google.ai.generativelanguage.v1beta.EmbedContentRequest - 14, // 27: google.ai.generativelanguage.v1beta.BatchEmbedContentsResponse.embeddings:type_name -> google.ai.generativelanguage.v1beta.ContentEmbedding - 23, // 28: google.ai.generativelanguage.v1beta.CountTokensRequest.contents:type_name -> google.ai.generativelanguage.v1beta.Content - 1, // 29: google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback.block_reason:type_name -> google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback.BlockReason - 27, // 30: google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback.safety_ratings:type_name -> google.ai.generativelanguage.v1beta.SafetyRating - 4, // 31: google.ai.generativelanguage.v1beta.GenerativeService.GenerateContent:input_type -> google.ai.generativelanguage.v1beta.GenerateContentRequest - 11, // 32: google.ai.generativelanguage.v1beta.GenerativeService.GenerateAnswer:input_type -> google.ai.generativelanguage.v1beta.GenerateAnswerRequest - 4, // 33: google.ai.generativelanguage.v1beta.GenerativeService.StreamGenerateContent:input_type -> google.ai.generativelanguage.v1beta.GenerateContentRequest - 13, // 34: google.ai.generativelanguage.v1beta.GenerativeService.EmbedContent:input_type -> google.ai.generativelanguage.v1beta.EmbedContentRequest - 16, // 35: google.ai.generativelanguage.v1beta.GenerativeService.BatchEmbedContents:input_type -> google.ai.generativelanguage.v1beta.BatchEmbedContentsRequest - 18, // 36: google.ai.generativelanguage.v1beta.GenerativeService.CountTokens:input_type -> google.ai.generativelanguage.v1beta.CountTokensRequest - 7, // 37: google.ai.generativelanguage.v1beta.GenerativeService.GenerateContent:output_type -> google.ai.generativelanguage.v1beta.GenerateContentResponse - 12, // 38: google.ai.generativelanguage.v1beta.GenerativeService.GenerateAnswer:output_type -> google.ai.generativelanguage.v1beta.GenerateAnswerResponse - 7, // 39: google.ai.generativelanguage.v1beta.GenerativeService.StreamGenerateContent:output_type -> google.ai.generativelanguage.v1beta.GenerateContentResponse - 15, // 40: google.ai.generativelanguage.v1beta.GenerativeService.EmbedContent:output_type -> google.ai.generativelanguage.v1beta.EmbedContentResponse - 17, // 41: google.ai.generativelanguage.v1beta.GenerativeService.BatchEmbedContents:output_type -> google.ai.generativelanguage.v1beta.BatchEmbedContentsResponse - 19, // 42: google.ai.generativelanguage.v1beta.GenerativeService.CountTokens:output_type -> google.ai.generativelanguage.v1beta.CountTokensResponse - 37, // [37:43] is the sub-list for method output_type - 31, // [31:37] is the sub-list for method input_type - 31, // [31:31] is the sub-list for extension type_name - 31, // [31:31] is the sub-list for extension extendee - 0, // [0:31] is the sub-list for field type_name + 27, // 21: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.safety_settings:type_name -> google.ai.generativelanguage.v1beta.SafetySetting + 9, // 22: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.answer:type_name -> google.ai.generativelanguage.v1beta.Candidate + 24, // 23: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.input_feedback:type_name -> google.ai.generativelanguage.v1beta.GenerateAnswerResponse.InputFeedback + 25, // 24: google.ai.generativelanguage.v1beta.EmbedContentRequest.content:type_name -> google.ai.generativelanguage.v1beta.Content + 0, // 25: google.ai.generativelanguage.v1beta.EmbedContentRequest.task_type:type_name -> google.ai.generativelanguage.v1beta.TaskType + 15, // 26: google.ai.generativelanguage.v1beta.EmbedContentResponse.embedding:type_name -> google.ai.generativelanguage.v1beta.ContentEmbedding + 14, // 27: google.ai.generativelanguage.v1beta.BatchEmbedContentsRequest.requests:type_name -> google.ai.generativelanguage.v1beta.EmbedContentRequest + 15, // 28: google.ai.generativelanguage.v1beta.BatchEmbedContentsResponse.embeddings:type_name -> google.ai.generativelanguage.v1beta.ContentEmbedding + 25, // 29: google.ai.generativelanguage.v1beta.CountTokensRequest.contents:type_name -> google.ai.generativelanguage.v1beta.Content + 1, // 30: google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback.block_reason:type_name -> google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback.BlockReason + 29, // 31: google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback.safety_ratings:type_name -> google.ai.generativelanguage.v1beta.SafetyRating + 4, // 32: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.InputFeedback.block_reason:type_name -> google.ai.generativelanguage.v1beta.GenerateAnswerResponse.InputFeedback.BlockReason + 29, // 33: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.InputFeedback.safety_ratings:type_name -> google.ai.generativelanguage.v1beta.SafetyRating + 5, // 34: google.ai.generativelanguage.v1beta.GenerativeService.GenerateContent:input_type -> google.ai.generativelanguage.v1beta.GenerateContentRequest + 12, // 35: google.ai.generativelanguage.v1beta.GenerativeService.GenerateAnswer:input_type -> google.ai.generativelanguage.v1beta.GenerateAnswerRequest + 5, // 36: google.ai.generativelanguage.v1beta.GenerativeService.StreamGenerateContent:input_type -> google.ai.generativelanguage.v1beta.GenerateContentRequest + 14, // 37: google.ai.generativelanguage.v1beta.GenerativeService.EmbedContent:input_type -> google.ai.generativelanguage.v1beta.EmbedContentRequest + 17, // 38: google.ai.generativelanguage.v1beta.GenerativeService.BatchEmbedContents:input_type -> google.ai.generativelanguage.v1beta.BatchEmbedContentsRequest + 19, // 39: google.ai.generativelanguage.v1beta.GenerativeService.CountTokens:input_type -> google.ai.generativelanguage.v1beta.CountTokensRequest + 8, // 40: google.ai.generativelanguage.v1beta.GenerativeService.GenerateContent:output_type -> google.ai.generativelanguage.v1beta.GenerateContentResponse + 13, // 41: google.ai.generativelanguage.v1beta.GenerativeService.GenerateAnswer:output_type -> google.ai.generativelanguage.v1beta.GenerateAnswerResponse + 8, // 42: google.ai.generativelanguage.v1beta.GenerativeService.StreamGenerateContent:output_type -> google.ai.generativelanguage.v1beta.GenerateContentResponse + 16, // 43: google.ai.generativelanguage.v1beta.GenerativeService.EmbedContent:output_type -> google.ai.generativelanguage.v1beta.EmbedContentResponse + 18, // 44: google.ai.generativelanguage.v1beta.GenerativeService.BatchEmbedContents:output_type -> google.ai.generativelanguage.v1beta.BatchEmbedContentsResponse + 20, // 45: google.ai.generativelanguage.v1beta.GenerativeService.CountTokens:output_type -> google.ai.generativelanguage.v1beta.CountTokensResponse + 40, // [40:46] is the sub-list for method output_type + 34, // [34:40] is the sub-list for method input_type + 34, // [34:34] is the sub-list for extension type_name + 34, // [34:34] is the sub-list for extension extendee + 0, // [0:34] is the sub-list for field type_name } func init() { file_google_ai_generativelanguage_v1beta_generative_service_proto_init() } @@ -2549,6 +2723,18 @@ func file_google_ai_generativelanguage_v1beta_generative_service_proto_init() { return nil } } + file_google_ai_generativelanguage_v1beta_generative_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateAnswerResponse_InputFeedback); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_google_ai_generativelanguage_v1beta_generative_service_proto_msgTypes[0].OneofWrappers = []interface{}{} file_google_ai_generativelanguage_v1beta_generative_service_proto_msgTypes[1].OneofWrappers = []interface{}{} @@ -2564,13 +2750,14 @@ func file_google_ai_generativelanguage_v1beta_generative_service_proto_init() { } file_google_ai_generativelanguage_v1beta_generative_service_proto_msgTypes[8].OneofWrappers = []interface{}{} file_google_ai_generativelanguage_v1beta_generative_service_proto_msgTypes[9].OneofWrappers = []interface{}{} + file_google_ai_generativelanguage_v1beta_generative_service_proto_msgTypes[19].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_ai_generativelanguage_v1beta_generative_service_proto_rawDesc, - NumEnums: 4, - NumMessages: 19, + NumEnums: 5, + NumMessages: 20, NumExtensions: 0, NumServices: 1, }, diff --git a/ai/generativelanguage/apiv1beta/generativelanguagepb/model_service.pb.go b/ai/generativelanguage/apiv1beta/generativelanguagepb/model_service.pb.go index 34e631f8cfd..422f0f5a639 100755 --- a/ai/generativelanguage/apiv1beta/generativelanguagepb/model_service.pb.go +++ b/ai/generativelanguage/apiv1beta/generativelanguagepb/model_service.pb.go @@ -308,9 +308,10 @@ type ListTunedModelsRequest struct { // - readers:everyone // // Examples: - // "owner:me" returns all tuned models to which caller has owner role - // "readers:me" returns all tuned models to which caller has reader role - // "readers:everyone" returns all tuned models that are shared with everyone + // + // "owner:me" returns all tuned models to which caller has owner role + // "readers:me" returns all tuned models to which caller has reader role + // "readers:everyone" returns all tuned models that are shared with everyone Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` } @@ -1135,7 +1136,8 @@ type ModelServiceClient interface { // // Status and results can be accessed through the Operations service. // Example: - // GET /v1/tunedModels/az2mb0bpw6i/operations/000-111-222 + // + // GET /v1/tunedModels/az2mb0bpw6i/operations/000-111-222 CreateTunedModel(ctx context.Context, in *CreateTunedModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Updates a tuned model. UpdateTunedModel(ctx context.Context, in *UpdateTunedModelRequest, opts ...grpc.CallOption) (*TunedModel, error) @@ -1230,7 +1232,8 @@ type ModelServiceServer interface { // // Status and results can be accessed through the Operations service. // Example: - // GET /v1/tunedModels/az2mb0bpw6i/operations/000-111-222 + // + // GET /v1/tunedModels/az2mb0bpw6i/operations/000-111-222 CreateTunedModel(context.Context, *CreateTunedModelRequest) (*longrunningpb.Operation, error) // Updates a tuned model. UpdateTunedModel(context.Context, *UpdateTunedModelRequest) (*TunedModel, error) diff --git a/ai/generativelanguage/apiv1beta/generativelanguagepb/permission.pb.go b/ai/generativelanguage/apiv1beta/generativelanguagepb/permission.pb.go index 16931df67fd..a7920da8756 100755 --- a/ai/generativelanguage/apiv1beta/generativelanguagepb/permission.pb.go +++ b/ai/generativelanguage/apiv1beta/generativelanguagepb/permission.pb.go @@ -172,8 +172,10 @@ type Permission struct { // Output only. Identifier. The permission name. A unique name will be // generated on create. Examples: - // tunedModels/{tuned_model}/permissions/{permission} - // corpora/{corpus}/permissions/{permission} + // + // tunedModels/{tuned_model}/permissions/{permission} + // corpora/{corpus}/permissions/{permission} + // // Output only. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. Immutable. The type of the grantee. diff --git a/ai/generativelanguage/apiv1beta/generativelanguagepb/permission_service.pb.go b/ai/generativelanguage/apiv1beta/generativelanguagepb/permission_service.pb.go index 7ce6157ff43..d2d3fe34d3b 100755 --- a/ai/generativelanguage/apiv1beta/generativelanguagepb/permission_service.pb.go +++ b/ai/generativelanguage/apiv1beta/generativelanguagepb/permission_service.pb.go @@ -50,8 +50,9 @@ type CreatePermissionRequest struct { // Required. The parent resource of the `Permission`. // Formats: - // `tunedModels/{tuned_model}` - // `corpora/{corpus}` + // + // `tunedModels/{tuned_model}` + // `corpora/{corpus}` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The permission to create. Permission *Permission `protobuf:"bytes,2,opt,name=permission,proto3" json:"permission,omitempty"` @@ -112,8 +113,9 @@ type GetPermissionRequest struct { // Required. The resource name of the permission. // // Formats: - // `tunedModels/{tuned_model}/permissions/{permission}` - // `corpora/{corpus}/permissions/{permission}` + // + // `tunedModels/{tuned_model}/permissions/{permission}` + // `corpora/{corpus}/permissions/{permission}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -164,8 +166,9 @@ type ListPermissionsRequest struct { // Required. The parent resource of the permissions. // Formats: - // `tunedModels/{tuned_model}` - // `corpora/{corpus}` + // + // `tunedModels/{tuned_model}` + // `corpora/{corpus}` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. The maximum number of `Permission`s to return (per page). // The service may return fewer permissions. @@ -309,7 +312,7 @@ type UpdatePermissionRequest struct { // The permission's `name` field is used to identify the permission to update. Permission *Permission `protobuf:"bytes,1,opt,name=permission,proto3" json:"permission,omitempty"` // Required. The list of fields to update. Accepted ones: - // - role (`Permission.role` field) + // - role (`Permission.role` field) UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -367,8 +370,9 @@ type DeletePermissionRequest struct { // Required. The resource name of the permission. // Formats: - // `tunedModels/{tuned_model}/permissions/{permission}` - // `corpora/{corpus}/permissions/{permission}` + // + // `tunedModels/{tuned_model}/permissions/{permission}` + // `corpora/{corpus}/permissions/{permission}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } diff --git a/ai/generativelanguage/apiv1beta/generativelanguagepb/retriever.pb.go b/ai/generativelanguage/apiv1beta/generativelanguagepb/retriever.pb.go index 2fd25fd2b77..84afb016228 100755 --- a/ai/generativelanguage/apiv1beta/generativelanguagepb/retriever.pb.go +++ b/ai/generativelanguage/apiv1beta/generativelanguagepb/retriever.pb.go @@ -189,7 +189,7 @@ type Corpus struct { // Example: `corpora/my-awesome-corpora-123a456b789c` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. The human-readable display name for the `Corpus`. The display - // name must be no more than 128 characters in length, including spaces. + // name must be no more than 512 characters in length, including spaces. // Example: "Docs on Semantic Retriever" DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` // Output only. The Timestamp of when the `Corpus` was created. @@ -408,6 +408,7 @@ type CustomMetadata struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Value: + // // *CustomMetadata_StringValue // *CustomMetadata_StringListValue // *CustomMetadata_NumericValue @@ -587,6 +588,7 @@ type Condition struct { // set. // // Types that are assignable to Value: + // // *Condition_StringValue // *Condition_NumericValue Value isCondition_Value `protobuf_oneof:"value"` @@ -783,6 +785,7 @@ type ChunkData struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Data: + // // *ChunkData_StringValue Data isChunkData_Data `protobuf_oneof:"data"` } diff --git a/ai/generativelanguage/apiv1beta/generativelanguagepb/retriever_service.pb.go b/ai/generativelanguage/apiv1beta/generativelanguagepb/retriever_service.pb.go index 8f1aaf5f73a..940997c5dad 100755 --- a/ai/generativelanguage/apiv1beta/generativelanguagepb/retriever_service.pb.go +++ b/ai/generativelanguage/apiv1beta/generativelanguagepb/retriever_service.pb.go @@ -410,26 +410,28 @@ type QueryCorpusRequest struct { // (year >= 2020 OR year < 2010) AND (genre = drama OR genre = action) // // `MetadataFilter` object list: - // metadata_filters = [ - // {key = "document.custom_metadata.year" - // conditions = [{int_value = 2020, operation = GREATER_EQUAL}, - // {int_value = 2010, operation = LESS}]}, - // {key = "document.custom_metadata.year" - // conditions = [{int_value = 2020, operation = GREATER_EQUAL}, - // {int_value = 2010, operation = LESS}]}, - // {key = "document.custom_metadata.genre" - // conditions = [{string_value = "drama", operation = EQUAL}, - // {string_value = "action", operation = EQUAL}]}] + // + // metadata_filters = [ + // {key = "document.custom_metadata.year" + // conditions = [{int_value = 2020, operation = GREATER_EQUAL}, + // {int_value = 2010, operation = LESS}]}, + // {key = "document.custom_metadata.year" + // conditions = [{int_value = 2020, operation = GREATER_EQUAL}, + // {int_value = 2010, operation = LESS}]}, + // {key = "document.custom_metadata.genre" + // conditions = [{string_value = "drama", operation = EQUAL}, + // {string_value = "action", operation = EQUAL}]}] // // Example query at chunk level for a numeric range of values: // (year > 2015 AND year <= 2020) // // `MetadataFilter` object list: - // metadata_filters = [ - // {key = "chunk.custom_metadata.year" - // conditions = [{int_value = 2015, operation = GREATER}]}, - // {key = "chunk.custom_metadata.year" - // conditions = [{int_value = 2020, operation = LESS_EQUAL}]}] + // + // metadata_filters = [ + // {key = "chunk.custom_metadata.year" + // conditions = [{int_value = 2015, operation = GREATER}]}, + // {key = "chunk.custom_metadata.year" + // conditions = [{int_value = 2020, operation = LESS_EQUAL}]}] // // Note: "AND"s for the same key are only supported for numeric values. String // values only support "OR"s for the same key. @@ -1007,23 +1009,25 @@ type QueryDocumentRequest struct { // (year >= 2020 OR year < 2010) AND (genre = drama OR genre = action) // // `MetadataFilter` object list: - // metadata_filters = [ - // {key = "chunk.custom_metadata.year" - // conditions = [{int_value = 2020, operation = GREATER_EQUAL}, - // {int_value = 2010, operation = LESS}}, - // {key = "chunk.custom_metadata.genre" - // conditions = [{string_value = "drama", operation = EQUAL}, - // {string_value = "action", operation = EQUAL}}] + // + // metadata_filters = [ + // {key = "chunk.custom_metadata.year" + // conditions = [{int_value = 2020, operation = GREATER_EQUAL}, + // {int_value = 2010, operation = LESS}}, + // {key = "chunk.custom_metadata.genre" + // conditions = [{string_value = "drama", operation = EQUAL}, + // {string_value = "action", operation = EQUAL}}] // // Example query for a numeric range of values: // (year > 2015 AND year <= 2020) // // `MetadataFilter` object list: - // metadata_filters = [ - // {key = "chunk.custom_metadata.year" - // conditions = [{int_value = 2015, operation = GREATER}]}, - // {key = "chunk.custom_metadata.year" - // conditions = [{int_value = 2020, operation = LESS_EQUAL}]}] + // + // metadata_filters = [ + // {key = "chunk.custom_metadata.year" + // conditions = [{int_value = 2015, operation = GREATER}]}, + // {key = "chunk.custom_metadata.year" + // conditions = [{int_value = 2020, operation = LESS_EQUAL}]}] // // Note: "AND"s for the same key are only supported for numeric values. String // values only support "OR"s for the same key. diff --git a/ai/generativelanguage/apiv1beta/generativelanguagepb/text_service.pb.go b/ai/generativelanguage/apiv1beta/generativelanguagepb/text_service.pb.go index ab4b78b3f57..ef7a84cc548 100755 --- a/ai/generativelanguage/apiv1beta/generativelanguagepb/text_service.pb.go +++ b/ai/generativelanguage/apiv1beta/generativelanguagepb/text_service.pb.go @@ -49,8 +49,9 @@ type GenerateTextRequest struct { // Required. The name of the `Model` or `TunedModel` to use for generating the // completion. // Examples: - // models/text-bison-001 - // tunedModels/sentence-translator-u3b7m + // + // models/text-bison-001 + // tunedModels/sentence-translator-u3b7m Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` // Required. The free-form input text given to the model as a prompt. // @@ -532,7 +533,8 @@ type BatchEmbedTextRequest struct { // Required. The name of the `Model` to use for generating the embedding. // Examples: - // models/embedding-gecko-001 + // + // models/embedding-gecko-001 Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` // Optional. The free-form input texts that the model will turn into an // embedding. The current limit is 100 texts, over which an error will be diff --git a/ai/generativelanguage/apiv1beta/generativelanguagepb/tuned_model.pb.go b/ai/generativelanguage/apiv1beta/generativelanguagepb/tuned_model.pb.go index 7f4692df752..10bee391b93 100755 --- a/ai/generativelanguage/apiv1beta/generativelanguagepb/tuned_model.pb.go +++ b/ai/generativelanguage/apiv1beta/generativelanguagepb/tuned_model.pb.go @@ -103,6 +103,7 @@ type TunedModel struct { // The model used as the starting point for tuning. // // Types that are assignable to SourceModel: + // // *TunedModel_TunedModelSource // *TunedModel_BaseModel SourceModel isTunedModel_SourceModel `protobuf_oneof:"source_model"` @@ -111,8 +112,9 @@ type TunedModel struct { // create, the id portion of the name will be set by concatenating the words // of the display_name with hyphens and adding a random portion for // uniqueness. Example: - // display_name = "Sentence Translator" - // name = "tunedModels/sentence-translator-u3b7m" + // + // display_name = "Sentence Translator" + // name = "tunedModels/sentence-translator-u3b7m" Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. The name to display for this model in user interfaces. // The display name must be up to 40 characters including spaces. @@ -526,6 +528,7 @@ type Dataset struct { // Inline data or a reference to the data. // // Types that are assignable to Dataset: + // // *Dataset_Examples Dataset isDataset_Dataset `protobuf_oneof:"dataset"` } @@ -587,7 +590,7 @@ type Dataset_Examples struct { func (*Dataset_Examples) isDataset_Dataset() {} -// A set of tuning examples. Can be training or validatation data. +// A set of tuning examples. Can be training or validation data. type TuningExamples struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -646,6 +649,7 @@ type TuningExample struct { // The input to the model for this example. // // Types that are assignable to ModelInput: + // // *TuningExample_TextInput ModelInput isTuningExample_ModelInput `protobuf_oneof:"model_input"` // Required. The expected model output. diff --git a/aiplatform/apiv1/aiplatformpb/annotation.pb.go b/aiplatform/apiv1/aiplatformpb/annotation.pb.go index 82b9e179068..6a4352e7219 100755 --- a/aiplatform/apiv1/aiplatformpb/annotation.pb.go +++ b/aiplatform/apiv1/aiplatformpb/annotation.pb.go @@ -81,14 +81,14 @@ type Annotation struct { // System reserved label keys are prefixed with "aiplatform.googleapis.com/" // and are immutable. Following system labels exist for each Annotation: // - // * "aiplatform.googleapis.com/annotation_set_name": - // optional, name of the UI's annotation set this Annotation belongs to. - // If not set, the Annotation is not visible in the UI. + // - "aiplatform.googleapis.com/annotation_set_name": + // optional, name of the UI's annotation set this Annotation belongs to. + // If not set, the Annotation is not visible in the UI. // - // * "aiplatform.googleapis.com/payload_schema": - // output only, its value is the - // [payload_schema's][google.cloud.aiplatform.v1.Annotation.payload_schema_uri] - // title. + // - "aiplatform.googleapis.com/payload_schema": + // output only, its value is the + // [payload_schema's][google.cloud.aiplatform.v1.Annotation.payload_schema_uri] + // title. Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } diff --git a/aiplatform/apiv1/aiplatformpb/batch_prediction_job.pb.go b/aiplatform/apiv1/aiplatformpb/batch_prediction_job.pb.go index e02ef94a0d5..62171c2f57d 100755 --- a/aiplatform/apiv1/aiplatformpb/batch_prediction_job.pb.go +++ b/aiplatform/apiv1/aiplatformpb/batch_prediction_job.pb.go @@ -62,15 +62,18 @@ type BatchPredictionJob struct { // // The model resource name may contain version id or version alias to specify // the version. - // Example: `projects/{project}/locations/{location}/models/{model}@2` - // or - // `projects/{project}/locations/{location}/models/{model}@golden` + // + // Example: `projects/{project}/locations/{location}/models/{model}@2` + // or + // `projects/{project}/locations/{location}/models/{model}@golden` + // // if no version is specified, the default version will be deployed. // // The model resource could also be a publisher model. - // Example: `publishers/{publisher}/models/{model}` - // or - // `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}` + // + // Example: `publishers/{publisher}/models/{model}` + // or + // `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}` Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"` // Output only. The version ID of the Model that produces the predictions via // this job. @@ -130,14 +133,14 @@ type BatchPredictionJob struct { // [BatchPredictionJob.output_config][google.cloud.aiplatform.v1.BatchPredictionJob.output_config] // object: // - // * `bigquery`: output includes a column named `explanation`. The value - // is a struct that conforms to the - // [Explanation][google.cloud.aiplatform.v1.Explanation] object. - // * `jsonl`: The JSON objects on each line include an additional entry - // keyed `explanation`. The value of the entry is a JSON object that - // conforms to the [Explanation][google.cloud.aiplatform.v1.Explanation] - // object. - // * `csv`: Generating explanations for CSV format is not supported. + // - `bigquery`: output includes a column named `explanation`. The value + // is a struct that conforms to the + // [Explanation][google.cloud.aiplatform.v1.Explanation] object. + // - `jsonl`: The JSON objects on each line include an additional entry + // keyed `explanation`. The value of the entry is a JSON object that + // conforms to the [Explanation][google.cloud.aiplatform.v1.Explanation] + // object. + // - `csv`: Generating explanations for CSV format is not supported. // // If this field is set to true, either the // [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec] @@ -447,6 +450,7 @@ type BatchPredictionJob_InputConfig struct { // Required. The source of the input. // // Types that are assignable to Source: + // // *BatchPredictionJob_InputConfig_GcsSource // *BatchPredictionJob_InputConfig_BigquerySource Source isBatchPredictionJob_InputConfig_Source `protobuf_oneof:"source"` @@ -554,39 +558,39 @@ type BatchPredictionJob_InstanceConfig struct { // Supported values are: // // * `object`: Each input is converted to JSON object format. - // * For `bigquery`, each row is converted to an object. - // * For `jsonl`, each line of the JSONL input must be an object. - // * Does not apply to `csv`, `file-list`, `tf-record`, or - // `tf-record-gzip`. + // - For `bigquery`, each row is converted to an object. + // - For `jsonl`, each line of the JSONL input must be an object. + // - Does not apply to `csv`, `file-list`, `tf-record`, or + // `tf-record-gzip`. // // * `array`: Each input is converted to JSON array format. - // * For `bigquery`, each row is converted to an array. The order - // of columns is determined by the BigQuery column order, unless - // [included_fields][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.included_fields] - // is populated. - // [included_fields][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.included_fields] - // must be populated for specifying field orders. - // * For `jsonl`, if each line of the JSONL input is an object, - // [included_fields][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.included_fields] - // must be populated for specifying field orders. - // * Does not apply to `csv`, `file-list`, `tf-record`, or - // `tf-record-gzip`. + // - For `bigquery`, each row is converted to an array. The order + // of columns is determined by the BigQuery column order, unless + // [included_fields][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.included_fields] + // is populated. + // [included_fields][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.included_fields] + // must be populated for specifying field orders. + // - For `jsonl`, if each line of the JSONL input is an object, + // [included_fields][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.included_fields] + // must be populated for specifying field orders. + // - Does not apply to `csv`, `file-list`, `tf-record`, or + // `tf-record-gzip`. // // If not specified, Vertex AI converts the batch prediction input as // follows: // - // * For `bigquery` and `csv`, the behavior is the same as `array`. The - // order of columns is the same as defined in the file or table, unless - // [included_fields][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.included_fields] - // is populated. - // * For `jsonl`, the prediction instance format is determined by - // each line of the input. - // * For `tf-record`/`tf-record-gzip`, each record will be converted to - // an object in the format of `{"b64": }`, where `` is - // the Base64-encoded string of the content of the record. - // * For `file-list`, each file in the list will be converted to an - // object in the format of `{"b64": }`, where `` is - // the Base64-encoded string of the content of the file. + // - For `bigquery` and `csv`, the behavior is the same as `array`. The + // order of columns is the same as defined in the file or table, unless + // [included_fields][google.cloud.aiplatform.v1.BatchPredictionJob.InstanceConfig.included_fields] + // is populated. + // - For `jsonl`, the prediction instance format is determined by + // each line of the input. + // - For `tf-record`/`tf-record-gzip`, each record will be converted to + // an object in the format of `{"b64": }`, where `` is + // the Base64-encoded string of the content of the record. + // - For `file-list`, each file in the list will be converted to an + // object in the format of `{"b64": }`, where `` is + // the Base64-encoded string of the content of the file. InstanceType string `protobuf:"bytes,1,opt,name=instance_type,json=instanceType,proto3" json:"instance_type,omitempty"` // The name of the field that is considered as a key. // @@ -598,10 +602,10 @@ type BatchPredictionJob_InstanceConfig struct { // Instead the output will only include the value of the key field, in a // field named `key` in the output: // - // * For `jsonl` output format, the output will have a `key` field - // instead of the `instance` field. - // * For `csv`/`bigquery` output format, the output will have have a `key` - // column instead of the instance feature columns. + // - For `jsonl` output format, the output will have a `key` field + // instead of the `instance` field. + // - For `csv`/`bigquery` output format, the output will have have a `key` + // column instead of the instance feature columns. // // The input must be JSONL with objects at each line, CSV, BigQuery // or TfRecord. @@ -710,6 +714,7 @@ type BatchPredictionJob_OutputConfig struct { // Required. The destination of the output. // // Types that are assignable to Destination: + // // *BatchPredictionJob_OutputConfig_GcsDestination // *BatchPredictionJob_OutputConfig_BigqueryDestination Destination isBatchPredictionJob_OutputConfig_Destination `protobuf_oneof:"destination"` @@ -850,6 +855,7 @@ type BatchPredictionJob_OutputInfo struct { // The output location into which prediction output is written. // // Types that are assignable to OutputLocation: + // // *BatchPredictionJob_OutputInfo_GcsOutputDirectory // *BatchPredictionJob_OutputInfo_BigqueryOutputDataset OutputLocation isBatchPredictionJob_OutputInfo_OutputLocation `protobuf_oneof:"output_location"` diff --git a/aiplatform/apiv1/aiplatformpb/content.pb.go b/aiplatform/apiv1/aiplatformpb/content.pb.go index 465f2c2580e..6f4888e8ee2 100755 --- a/aiplatform/apiv1/aiplatformpb/content.pb.go +++ b/aiplatform/apiv1/aiplatformpb/content.pb.go @@ -369,6 +369,7 @@ type Part struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Data: + // // *Part_Text // *Part_InlineData // *Part_FileData @@ -376,6 +377,7 @@ type Part struct { // *Part_FunctionResponse Data isPart_Data `protobuf_oneof:"data"` // Types that are assignable to Metadata: + // // *Part_VideoMetadata Metadata isPart_Metadata `protobuf_oneof:"metadata"` } diff --git a/aiplatform/apiv1/aiplatformpb/custom_job.pb.go b/aiplatform/apiv1/aiplatformpb/custom_job.pb.go index 5246af69366..cd97b822b74 100755 --- a/aiplatform/apiv1/aiplatformpb/custom_job.pb.go +++ b/aiplatform/apiv1/aiplatformpb/custom_job.pb.go @@ -265,17 +265,17 @@ type CustomJobSpec struct { // The following Vertex AI environment variables will be passed to // containers or python modules when this field is set: // - // For CustomJob: + // For CustomJob: // - // * AIP_MODEL_DIR = `/model/` - // * AIP_CHECKPOINT_DIR = `/checkpoints/` - // * AIP_TENSORBOARD_LOG_DIR = `/logs/` + // * AIP_MODEL_DIR = `/model/` + // * AIP_CHECKPOINT_DIR = `/checkpoints/` + // * AIP_TENSORBOARD_LOG_DIR = `/logs/` // - // For CustomJob backing a Trial of HyperparameterTuningJob: + // For CustomJob backing a Trial of HyperparameterTuningJob: // - // * AIP_MODEL_DIR = `//model/` - // * AIP_CHECKPOINT_DIR = `//checkpoints/` - // * AIP_TENSORBOARD_LOG_DIR = `//logs/` + // * AIP_MODEL_DIR = `//model/` + // * AIP_CHECKPOINT_DIR = `//checkpoints/` + // * AIP_TENSORBOARD_LOG_DIR = `//logs/` BaseOutputDirectory *GcsDestination `protobuf:"bytes,6,opt,name=base_output_directory,json=baseOutputDirectory,proto3" json:"base_output_directory,omitempty"` // The ID of the location to store protected artifacts. e.g. us-central1. // Populate only when the location is different than CustomJob location. @@ -324,9 +324,11 @@ type CustomJobSpec struct { // // In order to retrieve a specific version of the model, also provide // the version ID or version alias. - // Example: `projects/{project}/locations/{location}/models/{model}@2` - // or - // `projects/{project}/locations/{location}/models/{model}@golden` + // + // Example: `projects/{project}/locations/{location}/models/{model}@2` + // or + // `projects/{project}/locations/{location}/models/{model}@golden` + // // If no version ID or alias is specified, the "default" version will be // returned. The "default" version alias is created for the first version of // the model, and can be moved to other versions later on. There will be @@ -466,6 +468,7 @@ type WorkerPoolSpec struct { // The custom task to be executed in this worker pool. // // Types that are assignable to Task: + // // *WorkerPoolSpec_ContainerSpec // *WorkerPoolSpec_PythonPackageSpec Task isWorkerPoolSpec_Task `protobuf_oneof:"task"` diff --git a/aiplatform/apiv1/aiplatformpb/data_labeling_job.pb.go b/aiplatform/apiv1/aiplatformpb/data_labeling_job.pb.go index 3deb1248629..dc399032afd 100755 --- a/aiplatform/apiv1/aiplatformpb/data_labeling_job.pb.go +++ b/aiplatform/apiv1/aiplatformpb/data_labeling_job.pb.go @@ -156,9 +156,9 @@ type DataLabelingJob struct { // System reserved label keys are prefixed with "aiplatform.googleapis.com/" // and are immutable. Following system labels exist for each DataLabelingJob: // - // * "aiplatform.googleapis.com/schema": output only, its value is the - // [inputs_schema][google.cloud.aiplatform.v1.DataLabelingJob.inputs_schema_uri]'s - // title. + // - "aiplatform.googleapis.com/schema": output only, its value is the + // [inputs_schema][google.cloud.aiplatform.v1.DataLabelingJob.inputs_schema_uri]'s + // title. Labels map[string]string `protobuf:"bytes,11,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The SpecialistPools' resource names associated with this job. SpecialistPools []string `protobuf:"bytes,16,rep,name=specialist_pools,json=specialistPools,proto3" json:"specialist_pools,omitempty"` @@ -345,6 +345,7 @@ type ActiveLearningConfig struct { // machine. // // Types that are assignable to HumanLabelingBudget: + // // *ActiveLearningConfig_MaxDataItemCount // *ActiveLearningConfig_MaxDataItemPercentage HumanLabelingBudget isActiveLearningConfig_HumanLabelingBudget `protobuf_oneof:"human_labeling_budget"` @@ -453,12 +454,14 @@ type SampleConfig struct { // is used by default. // // Types that are assignable to InitialBatchSampleSize: + // // *SampleConfig_InitialBatchSamplePercentage InitialBatchSampleSize isSampleConfig_InitialBatchSampleSize `protobuf_oneof:"initial_batch_sample_size"` // Decides sample size for the following batches. // following_batch_sample_percentage is used by default. // // Types that are assignable to FollowingBatchSampleSize: + // // *SampleConfig_FollowingBatchSamplePercentage FollowingBatchSampleSize isSampleConfig_FollowingBatchSampleSize `protobuf_oneof:"following_batch_sample_size"` // Field to choose sampling strategy. Sampling strategy will decide which data diff --git a/aiplatform/apiv1/aiplatformpb/dataset.pb.go b/aiplatform/apiv1/aiplatformpb/dataset.pb.go index 50ae5933ef5..5f570d2d3fe 100755 --- a/aiplatform/apiv1/aiplatformpb/dataset.pb.go +++ b/aiplatform/apiv1/aiplatformpb/dataset.pb.go @@ -133,10 +133,10 @@ type Dataset struct { // System reserved label keys are prefixed with "aiplatform.googleapis.com/" // and are immutable. Following system labels exist for each Dataset: // - // * "aiplatform.googleapis.com/dataset_metadata_schema": output only, its - // value is the - // [metadata_schema's][google.cloud.aiplatform.v1.Dataset.metadata_schema_uri] - // title. + // - "aiplatform.googleapis.com/dataset_metadata_schema": output only, its + // value is the + // [metadata_schema's][google.cloud.aiplatform.v1.Dataset.metadata_schema_uri] + // title. Labels map[string]string `protobuf:"bytes,7,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // All SavedQueries belong to the Dataset will be returned in List/Get // Dataset response. The annotation_specs field @@ -289,6 +289,7 @@ type ImportDataConfig struct { // The source of the input. // // Types that are assignable to Source: + // // *ImportDataConfig_GcsSource Source isImportDataConfig_Source `protobuf_oneof:"source"` // Labels that will be applied to newly imported DataItems. If an identical @@ -411,12 +412,14 @@ type ExportDataConfig struct { // The destination of the output. // // Types that are assignable to Destination: + // // *ExportDataConfig_GcsDestination Destination isExportDataConfig_Destination `protobuf_oneof:"destination"` // The instructions how the export data should be split between the // training, validation and test sets. // // Types that are assignable to Split: + // // *ExportDataConfig_FractionSplit // *ExportDataConfig_FilterSplit Split isExportDataConfig_Split `protobuf_oneof:"split"` diff --git a/aiplatform/apiv1/aiplatformpb/dataset_service.pb.go b/aiplatform/apiv1/aiplatformpb/dataset_service.pb.go index da54cea599d..f82e4d1b402 100755 --- a/aiplatform/apiv1/aiplatformpb/dataset_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/dataset_service.pb.go @@ -225,9 +225,9 @@ type UpdateDatasetRequest struct { // For the `FieldMask` definition, see // [google.protobuf.FieldMask][google.protobuf.FieldMask]. Updatable fields: // - // * `display_name` - // * `description` - // * `labels` + // - `display_name` + // - `description` + // - `labels` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -290,17 +290,17 @@ type ListDatasetsRequest struct { // An expression for filtering the results of the request. For field names // both snake_case and camelCase are supported. // - // * `display_name`: supports = and != - // * `metadata_schema_uri`: supports = and != - // * `labels` supports general map functions that is: - // * `labels.key=value` - key:value equality - // * `labels.key:* or labels:key - key existence - // * A key including a space must be quoted. `labels."a key"`. + // - `display_name`: supports = and != + // - `metadata_schema_uri`: supports = and != + // - `labels` supports general map functions that is: + // - `labels.key=value` - key:value equality + // - `labels.key:* or labels:key - key existence + // - A key including a space must be quoted. `labels."a key"`. // // Some examples: // - // * `displayName="myDisplayName"` - // * `labels.myKey="myValue"` + // - `displayName="myDisplayName"` + // - `labels.myKey="myValue"` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -312,9 +312,9 @@ type ListDatasetsRequest struct { // Use "desc" after a field name for descending. // Supported fields: // - // * `display_name` - // * `create_time` - // * `update_time` + // - `display_name` + // - `create_time` + // - `update_time` OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } @@ -1490,6 +1490,7 @@ type SearchDataItemsRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Order: + // // *SearchDataItemsRequest_OrderByDataItem // *SearchDataItemsRequest_OrderByAnnotation_ Order isSearchDataItemsRequest_Order `protobuf_oneof:"order"` @@ -1512,9 +1513,9 @@ type SearchDataItemsRequest struct { DataLabelingJob string `protobuf:"bytes,3,opt,name=data_labeling_job,json=dataLabelingJob,proto3" json:"data_labeling_job,omitempty"` // An expression for filtering the DataItem that will be returned. // - // * `data_item_id` - for = or !=. - // * `labeled` - for = or !=. - // * `has_annotation(ANNOTATION_SPEC_ID)` - true only for DataItem that + // - `data_item_id` - for = or !=. + // - `labeled` - for = or !=. + // - `has_annotation(ANNOTATION_SPEC_ID)` - true only for DataItem that // have at least one annotation with annotation_spec_id = // `ANNOTATION_SPEC_ID` in the context of SavedQuery or DataLabelingJob. // @@ -1525,13 +1526,14 @@ type SearchDataItemsRequest struct { DataItemFilter string `protobuf:"bytes,4,opt,name=data_item_filter,json=dataItemFilter,proto3" json:"data_item_filter,omitempty"` // An expression for filtering the Annotations that will be returned per // DataItem. - // * `annotation_spec_id` - for = or !=. + // - `annotation_spec_id` - for = or !=. // // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/dataset_service.proto. AnnotationsFilter string `protobuf:"bytes,5,opt,name=annotations_filter,json=annotationsFilter,proto3" json:"annotations_filter,omitempty"` // An expression that specifies what Annotations will be returned per // DataItem. Annotations satisfied either of the conditions will be returned. - // * `annotation_spec_id` - for = or !=. + // - `annotation_spec_id` - for = or !=. + // // Must specify `saved_query_id=` - saved query id that annotations should // belong to. AnnotationFilters []string `protobuf:"bytes,11,rep,name=annotation_filters,json=annotationFilters,proto3" json:"annotation_filters,omitempty"` diff --git a/aiplatform/apiv1/aiplatformpb/endpoint.pb.go b/aiplatform/apiv1/aiplatformpb/endpoint.pb.go index 3be3731e436..64cc25f5342 100755 --- a/aiplatform/apiv1/aiplatformpb/endpoint.pb.go +++ b/aiplatform/apiv1/aiplatformpb/endpoint.pb.go @@ -268,6 +268,7 @@ type DeployedModel struct { // Required except for Large Model Deploy use cases. // // Types that are assignable to PredictionResources: + // // *DeployedModel_DedicatedResources // *DeployedModel_AutomaticResources // *DeployedModel_SharedResources @@ -283,9 +284,11 @@ type DeployedModel struct { // // The resource name may contain version id or version alias to specify the // version. - // Example: `projects/{project}/locations/{location}/models/{model}@2` - // or - // `projects/{project}/locations/{location}/models/{model}@golden` + // + // Example: `projects/{project}/locations/{location}/models/{model}@2` + // or + // `projects/{project}/locations/{location}/models/{model}@golden` + // // if no version is specified, the default version will be deployed. Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"` // Output only. The version ID of the model that is deployed. diff --git a/aiplatform/apiv1/aiplatformpb/endpoint_service.pb.go b/aiplatform/apiv1/aiplatformpb/endpoint_service.pb.go index 04e864f0041..b9fccd69f29 100755 --- a/aiplatform/apiv1/aiplatformpb/endpoint_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/endpoint_service.pb.go @@ -240,20 +240,20 @@ type ListEndpointsRequest struct { // Optional. An expression for filtering the results of the request. For field // names both snake_case and camelCase are supported. // - // * `endpoint` supports = and !=. `endpoint` represents the Endpoint ID, + // - `endpoint` supports = and !=. `endpoint` represents the Endpoint ID, // i.e. the last segment of the Endpoint's [resource // name][google.cloud.aiplatform.v1.Endpoint.name]. - // * `display_name` supports = and, != - // * `labels` supports general map functions that is: - // * `labels.key=value` - key:value equality - // * `labels.key:* or labels:key - key existence - // * A key including a space must be quoted. `labels."a key"`. + // - `display_name` supports = and, != + // - `labels` supports general map functions that is: + // - `labels.key=value` - key:value equality + // - `labels.key:* or labels:key - key existence + // - A key including a space must be quoted. `labels."a key"`. // // Some examples: // - // * `endpoint=1` - // * `displayName="myDisplayName"` - // * `labels.myKey="myValue"` + // - `endpoint=1` + // - `displayName="myDisplayName"` + // - `labels.myKey="myValue"` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Optional. The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -270,9 +270,9 @@ type ListEndpointsRequest struct { // Use "desc" after a field name for descending. // Supported fields: // - // * `display_name` - // * `create_time` - // * `update_time` + // - `display_name` + // - `create_time` + // - `update_time` // // Example: `display_name, create_time desc`. OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` diff --git a/aiplatform/apiv1/aiplatformpb/evaluated_annotation.pb.go b/aiplatform/apiv1/aiplatformpb/evaluated_annotation.pb.go index 4bfc213a146..83f0d2f2b5c 100755 --- a/aiplatform/apiv1/aiplatformpb/evaluated_annotation.pb.go +++ b/aiplatform/apiv1/aiplatformpb/evaluated_annotation.pb.go @@ -316,8 +316,8 @@ type EvaluatedAnnotationExplanation struct { // // For AutoML Image Classification models, possible values are: // - // * `image-integrated-gradients` - // * `image-xrai` + // - `image-integrated-gradients` + // - `image-xrai` ExplanationType string `protobuf:"bytes,1,opt,name=explanation_type,json=explanationType,proto3" json:"explanation_type,omitempty"` // Explanation attribution response details. Explanation *Explanation `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` diff --git a/aiplatform/apiv1/aiplatformpb/explanation.pb.go b/aiplatform/apiv1/aiplatformpb/explanation.pb.go index 9e2c9fd46ea..be13f7faba6 100755 --- a/aiplatform/apiv1/aiplatformpb/explanation.pb.go +++ b/aiplatform/apiv1/aiplatformpb/explanation.pb.go @@ -437,13 +437,13 @@ type Attribution struct { // // The format of the value is determined by the feature's input format: // - // * If the feature is a scalar value, the attribution value is a + // - If the feature is a scalar value, the attribution value is a // [floating number][google.protobuf.Value.number_value]. // - // * If the feature is an array of scalar values, the attribution value is + // - If the feature is an array of scalar values, the attribution value is // an [array][google.protobuf.Value.list_value]. // - // * If the feature is a struct, the attribution value is a + // - If the feature is a struct, the attribution value is a // [struct][google.protobuf.Value.struct_value]. The keys in the // attribution value struct are the same as the keys in the feature // struct. The formats of the values in the attribution struct are @@ -707,6 +707,7 @@ type ExplanationParameters struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Method: + // // *ExplanationParameters_SampledShapleyAttribution // *ExplanationParameters_IntegratedGradientsAttribution // *ExplanationParameters_XraiAttribution @@ -1098,6 +1099,7 @@ type SmoothGradConfig struct { // prior to computing gradients. // // Types that are assignable to GradientNoiseSigma: + // // *SmoothGradConfig_NoiseSigma // *SmoothGradConfig_FeatureNoiseSigma GradientNoiseSigma isSmoothGradConfig_GradientNoiseSigma `protobuf_oneof:"GradientNoiseSigma"` @@ -1321,9 +1323,11 @@ type Examples struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Source: + // // *Examples_ExampleGcsSource_ Source isExamples_Source `protobuf_oneof:"source"` // Types that are assignable to Config: + // // *Examples_NearestNeighborSearchConfig // *Examples_Presets Config isExamples_Config `protobuf_oneof:"config"` diff --git a/aiplatform/apiv1/aiplatformpb/explanation_metadata.pb.go b/aiplatform/apiv1/aiplatformpb/explanation_metadata.pb.go index a0b45c7aea6..41396de80df 100755 --- a/aiplatform/apiv1/aiplatformpb/explanation_metadata.pb.go +++ b/aiplatform/apiv1/aiplatformpb/explanation_metadata.pb.go @@ -90,10 +90,12 @@ const ( // ``` // input = ["This", "is", "a", "test", "."] // encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], - // [0.2, 0.1, 0.4, 0.3, 0.5], - // [0.5, 0.1, 0.3, 0.5, 0.4], - // [0.5, 0.3, 0.1, 0.2, 0.4], - // [0.4, 0.3, 0.2, 0.5, 0.1]] + // + // [0.2, 0.1, 0.4, 0.3, 0.5], + // [0.5, 0.1, 0.3, 0.5, 0.4], + // [0.5, 0.3, 0.1, 0.2, 0.4], + // [0.4, 0.3, 0.2, 0.5, 0.1]] + // // ``` ExplanationMetadata_InputMetadata_CONCAT_EMBEDDING ExplanationMetadata_InputMetadata_Encoding = 6 ) @@ -719,6 +721,7 @@ type ExplanationMetadata_OutputMetadata struct { // will not be populated. // // Types that are assignable to DisplayNameMapping: + // // *ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping // *ExplanationMetadata_OutputMetadata_DisplayNameMappingKey DisplayNameMapping isExplanationMetadata_OutputMetadata_DisplayNameMapping `protobuf_oneof:"display_name_mapping"` diff --git a/aiplatform/apiv1/aiplatformpb/feature_group.pb.go b/aiplatform/apiv1/aiplatformpb/feature_group.pb.go index 05f7d7f22cf..64531478af2 100755 --- a/aiplatform/apiv1/aiplatformpb/feature_group.pb.go +++ b/aiplatform/apiv1/aiplatformpb/feature_group.pb.go @@ -44,6 +44,7 @@ type FeatureGroup struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Source: + // // *FeatureGroup_BigQuery_ Source isFeatureGroup_Source `protobuf_oneof:"source"` // Identifier. Name of the FeatureGroup. Format: diff --git a/aiplatform/apiv1/aiplatformpb/feature_monitoring_stats.pb.go b/aiplatform/apiv1/aiplatformpb/feature_monitoring_stats.pb.go index d7f2a85f542..60405b29e7d 100755 --- a/aiplatform/apiv1/aiplatformpb/feature_monitoring_stats.pb.go +++ b/aiplatform/apiv1/aiplatformpb/feature_monitoring_stats.pb.go @@ -73,10 +73,10 @@ type FeatureStatsAnomaly struct { // (https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/anomalies.proto). AnomalyUri string `protobuf:"bytes,4,opt,name=anomaly_uri,json=anomalyUri,proto3" json:"anomaly_uri,omitempty"` // Deviation from the current stats to baseline stats. - // 1. For categorical feature, the distribution distance is calculated by - // L-inifinity norm. - // 2. For numerical feature, the distribution distance is calculated by - // Jensen–Shannon divergence. + // 1. For categorical feature, the distribution distance is calculated by + // L-inifinity norm. + // 2. For numerical feature, the distribution distance is calculated by + // Jensen–Shannon divergence. DistributionDeviation float64 `protobuf:"fixed64,5,opt,name=distribution_deviation,json=distributionDeviation,proto3" json:"distribution_deviation,omitempty"` // This is the threshold used when detecting anomalies. // The threshold can be changed by user, so this one might be different from diff --git a/aiplatform/apiv1/aiplatformpb/feature_online_store.pb.go b/aiplatform/apiv1/aiplatformpb/feature_online_store.pb.go index c178c935656..e0c2260f796 100755 --- a/aiplatform/apiv1/aiplatformpb/feature_online_store.pb.go +++ b/aiplatform/apiv1/aiplatformpb/feature_online_store.pb.go @@ -104,6 +104,7 @@ type FeatureOnlineStore struct { unknownFields protoimpl.UnknownFields // Types that are assignable to StorageType: + // // *FeatureOnlineStore_Bigtable_ StorageType isFeatureOnlineStore_StorageType `protobuf_oneof:"storage_type"` // Identifier. Name of the FeatureOnlineStore. Format: diff --git a/aiplatform/apiv1/aiplatformpb/feature_online_store_admin_service.pb.go b/aiplatform/apiv1/aiplatformpb/feature_online_store_admin_service.pb.go index 8e73947a749..fa0dcbef9d7 100755 --- a/aiplatform/apiv1/aiplatformpb/feature_online_store_admin_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/feature_online_store_admin_service.pb.go @@ -185,18 +185,22 @@ type ListFeatureOnlineStoresRequest struct { // // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. // Values must be - // in RFC 3339 format. + // + // in RFC 3339 format. + // // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. // Values must be - // in RFC 3339 format. + // + // in RFC 3339 format. + // // * `labels`: Supports key-value equality and key presence. // // Examples: // - // * `create_time > "2020-01-01" OR update_time > "2020-01-01"` - // FeatureOnlineStores created or updated after 2020-01-01. - // * `labels.env = "prod"` - // FeatureOnlineStores with label "env" set to "prod". + // - `create_time > "2020-01-01" OR update_time > "2020-01-01"` + // FeatureOnlineStores created or updated after 2020-01-01. + // - `labels.env = "prod"` + // FeatureOnlineStores with label "env" set to "prod". Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of FeatureOnlineStores to return. The service may return // fewer than this value. If unspecified, at most 100 FeatureOnlineStores will @@ -215,8 +219,8 @@ type ListFeatureOnlineStoresRequest struct { // Use "desc" after a field name for descending. // Supported Fields: // - // * `create_time` - // * `update_time` + // - `create_time` + // - `update_time` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } @@ -370,9 +374,9 @@ type UpdateFeatureOnlineStoreRequest struct { // // Updatable fields: // - // * `big_query_source` - // * `labels` - // * `sync_config` + // - `big_query_source` + // - `labels` + // - `sync_config` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -647,13 +651,13 @@ type ListFeatureViewsRequest struct { // // Examples: // - // * `create_time > \"2020-01-31T15:30:00.000000Z\" OR - // update_time > \"2020-01-31T15:30:00.000000Z\"` --> FeatureViews - // created or updated after 2020-01-31T15:30:00.000000Z. - // * `labels.active = yes AND labels.env = prod` --> FeatureViews having both + // - `create_time > \"2020-01-31T15:30:00.000000Z\" OR + // update_time > \"2020-01-31T15:30:00.000000Z\"` --> FeatureViews + // created or updated after 2020-01-31T15:30:00.000000Z. + // - `labels.active = yes AND labels.env = prod` --> FeatureViews having both // (active: yes) and (env: prod) labels. - // * `labels.env: *` --> Any FeatureView which has a label with 'env' as the - // key. + // - `labels.env: *` --> Any FeatureView which has a label with 'env' as the + // key. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of FeatureViews to return. The service may return fewer // than this value. If unspecified, at most 1000 FeatureViews will be @@ -673,9 +677,9 @@ type ListFeatureViewsRequest struct { // // Supported fields: // - // * `feature_view_id` - // * `create_time` - // * `update_time` + // - `feature_view_id` + // - `create_time` + // - `update_time` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } @@ -829,7 +833,7 @@ type UpdateFeatureViewRequest struct { // // Updatable fields: // - // * `labels` + // - `labels` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -1299,8 +1303,8 @@ type ListFeatureViewSyncsRequest struct { // // Examples: // - // * `create_time > \"2020-01-31T15:30:00.000000Z\"` --> FeatureViewSyncs - // created after 2020-01-31T15:30:00.000000Z. + // - `create_time > \"2020-01-31T15:30:00.000000Z\"` --> FeatureViewSyncs + // created after 2020-01-31T15:30:00.000000Z. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of FeatureViewSyncs to return. The service may return // fewer than this value. If unspecified, at most 1000 FeatureViewSyncs will @@ -1320,7 +1324,7 @@ type ListFeatureViewSyncsRequest struct { // // Supported fields: // - // * `create_time` + // - `create_time` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } diff --git a/aiplatform/apiv1/aiplatformpb/feature_online_store_service.pb.go b/aiplatform/apiv1/aiplatformpb/feature_online_store_service.pb.go index 6aa772879d8..c3ef7f6fb7c 100755 --- a/aiplatform/apiv1/aiplatformpb/feature_online_store_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/feature_online_store_service.pb.go @@ -101,6 +101,7 @@ type FeatureViewDataKey struct { unknownFields protoimpl.UnknownFields // Types that are assignable to KeyOneof: + // // *FeatureViewDataKey_Key KeyOneof isFeatureViewDataKey_KeyOneof `protobuf_oneof:"key_oneof"` } @@ -242,6 +243,7 @@ type FetchFeatureValuesResponse struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Format: + // // *FetchFeatureValuesResponse_KeyValues // *FetchFeatureValuesResponse_ProtoStruct Format isFetchFeatureValuesResponse_Format `protobuf_oneof:"format"` @@ -375,6 +377,7 @@ type FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair st unknownFields protoimpl.UnknownFields // Types that are assignable to Data: + // // *FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair_Value Data isFetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair_Data `protobuf_oneof:"data"` // Feature short name. diff --git a/aiplatform/apiv1/aiplatformpb/feature_registry_service.pb.go b/aiplatform/apiv1/aiplatformpb/feature_registry_service.pb.go index f6f0d60d248..a0429486746 100755 --- a/aiplatform/apiv1/aiplatformpb/feature_registry_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/feature_registry_service.pb.go @@ -185,18 +185,22 @@ type ListFeatureGroupsRequest struct { // // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. // Values must be - // in RFC 3339 format. + // + // in RFC 3339 format. + // // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. // Values must be - // in RFC 3339 format. + // + // in RFC 3339 format. + // // * `labels`: Supports key-value equality and key presence. // // Examples: // - // * `create_time > "2020-01-01" OR update_time > "2020-01-01"` - // FeatureGroups created or updated after 2020-01-01. - // * `labels.env = "prod"` - // FeatureGroups with label "env" set to "prod". + // - `create_time > "2020-01-01" OR update_time > "2020-01-01"` + // FeatureGroups created or updated after 2020-01-01. + // - `labels.env = "prod"` + // FeatureGroups with label "env" set to "prod". Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of FeatureGroups to return. The service may return // fewer than this value. If unspecified, at most 100 FeatureGroups will @@ -215,8 +219,8 @@ type ListFeatureGroupsRequest struct { // Use "desc" after a field name for descending. // Supported Fields: // - // * `create_time` - // * `update_time` + // - `create_time` + // - `update_time` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } @@ -370,7 +374,7 @@ type UpdateFeatureGroupRequest struct { // // Updatable fields: // - // * `labels` + // - `labels` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } diff --git a/aiplatform/apiv1/aiplatformpb/feature_selector.pb.go b/aiplatform/apiv1/aiplatformpb/feature_selector.pb.go index f3ee4fecf86..d9e520337ef 100755 --- a/aiplatform/apiv1/aiplatformpb/feature_selector.pb.go +++ b/aiplatform/apiv1/aiplatformpb/feature_selector.pb.go @@ -44,10 +44,10 @@ type IdMatcher struct { // Required. The following are accepted as `ids`: // - // * A single-element list containing only `*`, which selects all Features - // in the target EntityType, or - // * A list containing only Feature IDs, which selects only Features with - // those IDs in the target EntityType. + // - A single-element list containing only `*`, which selects all Features + // in the target EntityType, or + // - A list containing only Feature IDs, which selects only Features with + // those IDs in the target EntityType. Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` } diff --git a/aiplatform/apiv1/aiplatformpb/feature_view.pb.go b/aiplatform/apiv1/aiplatformpb/feature_view.pb.go index bf927e4c753..62945d17b9c 100755 --- a/aiplatform/apiv1/aiplatformpb/feature_view.pb.go +++ b/aiplatform/apiv1/aiplatformpb/feature_view.pb.go @@ -45,6 +45,7 @@ type FeatureView struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Source: + // // *FeatureView_BigQuerySource_ // *FeatureView_FeatureRegistrySource_ Source isFeatureView_Source `protobuf_oneof:"source"` diff --git a/aiplatform/apiv1/aiplatformpb/featurestore_monitoring.pb.go b/aiplatform/apiv1/aiplatformpb/featurestore_monitoring.pb.go index 794c5732216..59ad0370005 100755 --- a/aiplatform/apiv1/aiplatformpb/featurestore_monitoring.pb.go +++ b/aiplatform/apiv1/aiplatformpb/featurestore_monitoring.pb.go @@ -260,14 +260,18 @@ type FeaturestoreMonitoringConfig_SnapshotAnalysis struct { // The monitoring schedule for snapshot analysis. // For EntityType-level config: - // unset / disabled = true indicates disabled by - // default for Features under it; otherwise by default enable snapshot - // analysis monitoring with monitoring_interval for Features under it. + // + // unset / disabled = true indicates disabled by + // default for Features under it; otherwise by default enable snapshot + // analysis monitoring with monitoring_interval for Features under it. + // // Feature-level config: - // disabled = true indicates disabled regardless of the EntityType-level - // config; unset monitoring_interval indicates going with EntityType-level - // config; otherwise run snapshot analysis monitoring with - // monitoring_interval regardless of the EntityType-level config. + // + // disabled = true indicates disabled regardless of the EntityType-level + // config; unset monitoring_interval indicates going with EntityType-level + // config; otherwise run snapshot analysis monitoring with + // monitoring_interval regardless of the EntityType-level config. + // // Explicitly Disable the snapshot analysis based monitoring. Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"` // Configuration of the snapshot analysis based monitoring pipeline @@ -403,6 +407,7 @@ type FeaturestoreMonitoringConfig_ThresholdConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Threshold: + // // *FeaturestoreMonitoringConfig_ThresholdConfig_Value Threshold isFeaturestoreMonitoringConfig_ThresholdConfig_Threshold `protobuf_oneof:"threshold"` } diff --git a/aiplatform/apiv1/aiplatformpb/featurestore_online_service.pb.go b/aiplatform/apiv1/aiplatformpb/featurestore_online_service.pb.go index 12b60843e99..155b545ef5c 100755 --- a/aiplatform/apiv1/aiplatformpb/featurestore_online_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/featurestore_online_service.pb.go @@ -428,6 +428,7 @@ type FeatureValue struct { // Value for the feature. // // Types that are assignable to Value: + // // *FeatureValue_BoolValue // *FeatureValue_DoubleValue // *FeatureValue_Int64Value @@ -851,6 +852,7 @@ type ReadFeatureValuesResponse_EntityView_Data struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Data: + // // *ReadFeatureValuesResponse_EntityView_Data_Value // *ReadFeatureValuesResponse_EntityView_Data_Values Data isReadFeatureValuesResponse_EntityView_Data_Data `protobuf_oneof:"data"` diff --git a/aiplatform/apiv1/aiplatformpb/featurestore_service.pb.go b/aiplatform/apiv1/aiplatformpb/featurestore_service.pb.go index b16645f7f55..c1b9bedc91b 100755 --- a/aiplatform/apiv1/aiplatformpb/featurestore_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/featurestore_service.pb.go @@ -187,20 +187,24 @@ type ListFeaturestoresRequest struct { // // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. // Values must be - // in RFC 3339 format. + // + // in RFC 3339 format. + // // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. // Values must be - // in RFC 3339 format. + // + // in RFC 3339 format. + // // * `online_serving_config.fixed_node_count`: Supports `=`, `!=`, `<`, `>`, // `<=`, and `>=` comparisons. // * `labels`: Supports key-value equality and key presence. // // Examples: // - // * `create_time > "2020-01-01" OR update_time > "2020-01-01"` - // Featurestores created or updated after 2020-01-01. - // * `labels.env = "prod"` - // Featurestores with label "env" set to "prod". + // - `create_time > "2020-01-01" OR update_time > "2020-01-01"` + // Featurestores created or updated after 2020-01-01. + // - `labels.env = "prod"` + // Featurestores with label "env" set to "prod". Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of Featurestores to return. The service may return fewer // than this value. If unspecified, at most 100 Featurestores will be @@ -219,9 +223,9 @@ type ListFeaturestoresRequest struct { // Use "desc" after a field name for descending. // Supported Fields: // - // * `create_time` - // * `update_time` - // * `online_serving_config.fixed_node_count` + // - `create_time` + // - `update_time` + // - `online_serving_config.fixed_node_count` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` // Mask specifying which fields to read. ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` @@ -384,10 +388,10 @@ type UpdateFeaturestoreRequest struct { // // Updatable fields: // - // * `labels` - // * `online_serving_config.fixed_node_count` - // * `online_serving_config.scaling` - // * `online_storage_ttl_days` + // - `labels` + // - `online_serving_config.fixed_node_count` + // - `online_serving_config.scaling` + // - `online_storage_ttl_days` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -511,6 +515,7 @@ type ImportFeatureValuesRequest struct { // the format. // // Types that are assignable to Source: + // // *ImportFeatureValuesRequest_AvroSource // *ImportFeatureValuesRequest_BigquerySource // *ImportFeatureValuesRequest_CsvSource @@ -519,6 +524,7 @@ type ImportFeatureValuesRequest struct { // Timestamps must be millisecond-aligned. // // Types that are assignable to FeatureTimeSource: + // // *ImportFeatureValuesRequest_FeatureTimeField // *ImportFeatureValuesRequest_FeatureTime FeatureTimeSource isImportFeatureValuesRequest_FeatureTimeSource `protobuf_oneof:"feature_time_source"` @@ -804,6 +810,7 @@ type BatchReadFeatureValuesRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to ReadOption: + // // *BatchReadFeatureValuesRequest_CsvReadInstances // *BatchReadFeatureValuesRequest_BigqueryReadInstances ReadOption isBatchReadFeatureValuesRequest_ReadOption `protobuf_oneof:"read_option"` @@ -941,7 +948,8 @@ type BatchReadFeatureValuesRequest_CsvReadInstances struct { // // `csv_read_instances` are read instances stored in a plain-text CSV file. // The header should be: - // [ENTITY_TYPE_ID1], [ENTITY_TYPE_ID2], ..., timestamp + // + // [ENTITY_TYPE_ID1], [ENTITY_TYPE_ID2], ..., timestamp // // The columns can be in any order. // @@ -970,6 +978,7 @@ type ExportFeatureValuesRequest struct { // Required. The mode in which Feature values are exported. // // Types that are assignable to Mode: + // // *ExportFeatureValuesRequest_SnapshotExport_ // *ExportFeatureValuesRequest_FullExport_ Mode isExportFeatureValuesRequest_Mode `protobuf_oneof:"mode"` @@ -1151,6 +1160,7 @@ type FeatureValueDestination struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Destination: + // // *FeatureValueDestination_BigqueryDestination // *FeatureValueDestination_TfrecordDestination // *FeatureValueDestination_CsvDestination @@ -1236,12 +1246,12 @@ type FeatureValueDestination_TfrecordDestination struct { // Below are the mapping from Feature value type // in Featurestore to Feature value type in TFRecord: // - // Value type in Featurestore | Value type in TFRecord - // DOUBLE, DOUBLE_ARRAY | FLOAT_LIST - // INT64, INT64_ARRAY | INT64_LIST - // STRING, STRING_ARRAY, BYTES | BYTES_LIST - // true -> byte_string("true"), false -> byte_string("false") - // BOOL, BOOL_ARRAY (true, false) | BYTES_LIST + // Value type in Featurestore | Value type in TFRecord + // DOUBLE, DOUBLE_ARRAY | FLOAT_LIST + // INT64, INT64_ARRAY | INT64_LIST + // STRING, STRING_ARRAY, BYTES | BYTES_LIST + // true -> byte_string("true"), false -> byte_string("false") + // BOOL, BOOL_ARRAY (true, false) | BYTES_LIST TfrecordDestination *TFRecordDestination `protobuf:"bytes,2,opt,name=tfrecord_destination,json=tfrecordDestination,proto3,oneof"` } @@ -1487,13 +1497,13 @@ type ListEntityTypesRequest struct { // // Examples: // - // * `create_time > \"2020-01-31T15:30:00.000000Z\" OR - // update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created - // or updated after 2020-01-31T15:30:00.000000Z. - // * `labels.active = yes AND labels.env = prod` --> EntityTypes having both + // - `create_time > \"2020-01-31T15:30:00.000000Z\" OR + // update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created + // or updated after 2020-01-31T15:30:00.000000Z. + // - `labels.active = yes AND labels.env = prod` --> EntityTypes having both // (active: yes) and (env: prod) labels. - // * `labels.env: *` --> Any EntityType which has a label with 'env' as the - // key. + // - `labels.env: *` --> Any EntityType which has a label with 'env' as the + // key. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of EntityTypes to return. The service may return fewer // than this value. If unspecified, at most 1000 EntityTypes will be returned. @@ -1513,9 +1523,9 @@ type ListEntityTypesRequest struct { // // Supported fields: // - // * `entity_type_id` - // * `create_time` - // * `update_time` + // - `entity_type_id` + // - `create_time` + // - `update_time` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` // Mask specifying which fields to read. ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` @@ -1678,16 +1688,16 @@ type UpdateEntityTypeRequest struct { // // Updatable fields: // - // * `description` - // * `labels` - // * `monitoring_config.snapshot_analysis.disabled` - // * `monitoring_config.snapshot_analysis.monitoring_interval_days` - // * `monitoring_config.snapshot_analysis.staleness_days` - // * `monitoring_config.import_features_analysis.state` - // * `monitoring_config.import_features_analysis.anomaly_detection_baseline` - // * `monitoring_config.numerical_threshold_config.value` - // * `monitoring_config.categorical_threshold_config.value` - // * `offline_storage_ttl_days` + // - `description` + // - `labels` + // - `monitoring_config.snapshot_analysis.disabled` + // - `monitoring_config.snapshot_analysis.monitoring_interval_days` + // - `monitoring_config.snapshot_analysis.staleness_days` + // - `monitoring_config.import_features_analysis.state` + // - `monitoring_config.import_features_analysis.anomaly_detection_baseline` + // - `monitoring_config.numerical_threshold_config.value` + // - `monitoring_config.categorical_threshold_config.value` + // - `offline_storage_ttl_days` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -2076,14 +2086,14 @@ type ListFeaturesRequest struct { // // Examples: // - // * `value_type = DOUBLE` --> Features whose type is DOUBLE. - // * `create_time > \"2020-01-31T15:30:00.000000Z\" OR - // update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created - // or updated after 2020-01-31T15:30:00.000000Z. - // * `labels.active = yes AND labels.env = prod` --> Features having both + // - `value_type = DOUBLE` --> Features whose type is DOUBLE. + // - `create_time > \"2020-01-31T15:30:00.000000Z\" OR + // update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created + // or updated after 2020-01-31T15:30:00.000000Z. + // - `labels.active = yes AND labels.env = prod` --> Features having both // (active: yes) and (env: prod) labels. - // * `labels.env: *` --> Any Feature which has a label with 'env' as the - // key. + // - `labels.env: *` --> Any Feature which has a label with 'env' as the + // key. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of Features to return. The service may return fewer // than this value. If unspecified, at most 1000 Features will be returned. @@ -2106,10 +2116,10 @@ type ListFeaturesRequest struct { // Use "desc" after a field name for descending. // Supported fields: // - // * `feature_id` - // * `value_type` (Not supported for FeatureRegistry Feature) - // * `create_time` - // * `update_time` + // - `feature_id` + // - `value_type` (Not supported for FeatureRegistry Feature) + // - `create_time` + // - `update_time` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` // Mask specifying which fields to read. ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` @@ -2288,13 +2298,13 @@ type SearchFeaturesRequest struct { // and the FIELD are converted to a sequence of words (i.e. tokens) for // comparison. This is done by: // - // * Removing leading/trailing whitespace and tokenizing the search value. - // Characters that are not one of alphanumeric `[a-zA-Z0-9]`, underscore - // `_`, or asterisk `*` are treated as delimiters for tokens. `*` is treated - // as a wildcard that matches characters within a token. - // * Ignoring case. - // * Prepending an asterisk to the first and appending an asterisk to the - // last token in QUERY. + // - Removing leading/trailing whitespace and tokenizing the search value. + // Characters that are not one of alphanumeric `[a-zA-Z0-9]`, underscore + // `_`, or asterisk `*` are treated as delimiters for tokens. `*` is treated + // as a wildcard that matches characters within a token. + // - Ignoring case. + // - Prepending an asterisk to the first and appending an asterisk to the + // last token in QUERY. // // A QUERY must be either a singular token or a phrase. A phrase is one or // multiple words enclosed in double quotation marks ("). With phrases, the @@ -2317,7 +2327,6 @@ type SearchFeaturesRequest struct { // containing the substring `foo` and description containing the substring // `bar`. // - // // Besides field queries, the following exact-match filters are // supported. The exact-match filters do not support wildcards. Unlike // field-restricted queries, exact-match filters are case-sensitive. @@ -2334,11 +2343,11 @@ type SearchFeaturesRequest struct { // // * `description = "foo bar"` --> Any Feature with description exactly equal // to `foo bar` - // * `value_type = DOUBLE` --> Features whose type is DOUBLE. - // * `labels.active = yes AND labels.env = prod` --> Features having both + // - `value_type = DOUBLE` --> Features whose type is DOUBLE. + // - `labels.active = yes AND labels.env = prod` --> Features having both // (active: yes) and (env: prod) labels. - // * `labels.env: *` --> Any Feature which has a label with `env` as the - // key. + // - `labels.env: *` --> Any Feature which has a label with `env` as the + // key. Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` // The maximum number of Features to return. The service may return fewer // than this value. If unspecified, at most 100 Features will be returned. @@ -2426,11 +2435,11 @@ type SearchFeaturesResponse struct { // // Fields returned: // - // * `name` - // * `description` - // * `labels` - // * `create_time` - // * `update_time` + // - `name` + // - `description` + // - `labels` + // - `create_time` + // - `update_time` Features []*Feature `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"` // A token, which can be sent as // [SearchFeaturesRequest.page_token][google.cloud.aiplatform.v1.SearchFeaturesRequest.page_token] @@ -2510,9 +2519,9 @@ type UpdateFeatureRequest struct { // // Updatable fields: // - // * `description` - // * `labels` - // * `disable_monitoring` (Not supported for FeatureRegistry Feature) + // - `description` + // - `labels` + // - `disable_monitoring` (Not supported for FeatureRegistry Feature) UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -3128,6 +3137,7 @@ type DeleteFeatureValuesRequest struct { // Defines options to select feature values to be deleted. // // Types that are assignable to DeleteOption: + // // *DeleteFeatureValuesRequest_SelectEntity_ // *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_ DeleteOption isDeleteFeatureValuesRequest_DeleteOption `protobuf_oneof:"DeleteOption"` @@ -3228,6 +3238,7 @@ type DeleteFeatureValuesResponse struct { // request // // Types that are assignable to Response: + // // *DeleteFeatureValuesResponse_SelectEntity_ // *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_ Response isDeleteFeatureValuesResponse_Response `protobuf_oneof:"response"` @@ -3315,6 +3326,7 @@ type EntityIdSelector struct { // the format. // // Types that are assignable to EntityIdsSource: + // // *EntityIdSelector_CsvSource EntityIdsSource isEntityIdSelector_EntityIdsSource `protobuf_oneof:"EntityIdsSource"` // Source column that holds entity IDs. If not provided, entity IDs are @@ -5923,13 +5935,13 @@ type FeaturestoreServiceClient interface { // // There are also scenarios where the caller can cause inconsistency. // - // - Source data for import contains multiple distinct Feature values for - // the same entity ID and timestamp. - // - Source is modified during an import. This includes adding, updating, or - // removing source data and/or metadata. Examples of updating metadata - // include but are not limited to changing storage location, storage class, - // or retention policy. - // - Online serving cluster is under-provisioned. + // - Source data for import contains multiple distinct Feature values for + // the same entity ID and timestamp. + // - Source is modified during an import. This includes adding, updating, or + // removing source data and/or metadata. Examples of updating metadata + // include but are not limited to changing storage location, storage class, + // or retention policy. + // - Online serving cluster is under-provisioned. ImportFeatureValues(ctx context.Context, in *ImportFeatureValuesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Batch reads Feature values from a Featurestore. // @@ -6201,13 +6213,13 @@ type FeaturestoreServiceServer interface { // // There are also scenarios where the caller can cause inconsistency. // - // - Source data for import contains multiple distinct Feature values for - // the same entity ID and timestamp. - // - Source is modified during an import. This includes adding, updating, or - // removing source data and/or metadata. Examples of updating metadata - // include but are not limited to changing storage location, storage class, - // or retention policy. - // - Online serving cluster is under-provisioned. + // - Source data for import contains multiple distinct Feature values for + // the same entity ID and timestamp. + // - Source is modified during an import. This includes adding, updating, or + // removing source data and/or metadata. Examples of updating metadata + // include but are not limited to changing storage location, storage class, + // or retention policy. + // - Online serving cluster is under-provisioned. ImportFeatureValues(context.Context, *ImportFeatureValuesRequest) (*longrunningpb.Operation, error) // Batch reads Feature values from a Featurestore. // diff --git a/aiplatform/apiv1/aiplatformpb/index.pb.go b/aiplatform/apiv1/aiplatformpb/index.pb.go index 5f450620b36..57e11a32dbb 100755 --- a/aiplatform/apiv1/aiplatformpb/index.pb.go +++ b/aiplatform/apiv1/aiplatformpb/index.pb.go @@ -579,6 +579,7 @@ type IndexDatapoint_NumericRestriction struct { // namespace name. This is verified at runtime. // // Types that are assignable to Value: + // // *IndexDatapoint_NumericRestriction_ValueInt // *IndexDatapoint_NumericRestriction_ValueFloat // *IndexDatapoint_NumericRestriction_ValueDouble diff --git a/aiplatform/apiv1/aiplatformpb/index_endpoint_service.pb.go b/aiplatform/apiv1/aiplatformpb/index_endpoint_service.pb.go index 95b5ae345b9..e04df05414d 100755 --- a/aiplatform/apiv1/aiplatformpb/index_endpoint_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/index_endpoint_service.pb.go @@ -218,21 +218,21 @@ type ListIndexEndpointsRequest struct { // Optional. An expression for filtering the results of the request. For field // names both snake_case and camelCase are supported. // - // * `index_endpoint` supports = and !=. `index_endpoint` represents the - // IndexEndpoint ID, ie. the last segment of the IndexEndpoint's - // [resourcename][google.cloud.aiplatform.v1.IndexEndpoint.name]. - // * `display_name` supports =, != and regex() - // (uses [re2](https://github.com/google/re2/wiki/Syntax) syntax) - // * `labels` supports general map functions that is: - // `labels.key=value` - key:value equality - // `labels.key:* or labels:key - key existence - // A key including a space must be quoted. `labels."a key"`. + // - `index_endpoint` supports = and !=. `index_endpoint` represents the + // IndexEndpoint ID, ie. the last segment of the IndexEndpoint's + // [resourcename][google.cloud.aiplatform.v1.IndexEndpoint.name]. + // - `display_name` supports =, != and regex() + // (uses [re2](https://github.com/google/re2/wiki/Syntax) syntax) + // - `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* or labels:key - key existence + // A key including a space must be quoted. `labels."a key"`. // // Some examples: - // * `index_endpoint="1"` - // * `display_name="myDisplayName"` - // * `regex(display_name, "^A") -> The display name starts with an A. - // * `labels.myKey="myValue"` + // - `index_endpoint="1"` + // - `display_name="myDisplayName"` + // - `regex(display_name, "^A") -> The display name starts with an A. + // - `labels.myKey="myValue"` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Optional. The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` diff --git a/aiplatform/apiv1/aiplatformpb/io.pb.go b/aiplatform/apiv1/aiplatformpb/io.pb.go index 4d107cce57e..8d008c166c0 100755 --- a/aiplatform/apiv1/aiplatformpb/io.pb.go +++ b/aiplatform/apiv1/aiplatformpb/io.pb.go @@ -456,11 +456,11 @@ type ContainerRegistryDestination struct { // Only Google Container Registry and Artifact Registry are supported now. // Accepted forms: // - // * Google Container Registry path. For example: - // `gcr.io/projectId/imageName:tag`. + // - Google Container Registry path. For example: + // `gcr.io/projectId/imageName:tag`. // - // * Artifact Registry path. For example: - // `us-central1-docker.pkg.dev/projectId/repoName/imageName:tag`. + // - Artifact Registry path. For example: + // `us-central1-docker.pkg.dev/projectId/repoName/imageName:tag`. // // If a tag is not specified, "latest" will be used as the default tag. OutputUri string `protobuf:"bytes,1,opt,name=output_uri,json=outputUri,proto3" json:"output_uri,omitempty"` diff --git a/aiplatform/apiv1/aiplatformpb/job_service.pb.go b/aiplatform/apiv1/aiplatformpb/job_service.pb.go index 48d411dc875..96f4b09d74d 100755 --- a/aiplatform/apiv1/aiplatformpb/job_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/job_service.pb.go @@ -170,22 +170,22 @@ type ListCustomJobsRequest struct { // // Supported fields: // - // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. - // * `state` supports `=`, `!=` comparisons. - // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. // `create_time` must be in RFC 3339 format. - // * `labels` supports general map functions that is: + // - `labels` supports general map functions that is: // `labels.key=value` - key:value equality // `labels.key:* - key existence // // Some examples of using the filter are: // - // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` - // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` - // * `NOT display_name="my_job"` - // * `create_time>"2021-05-18T00:00:00Z"` - // * `labels.keyA=valueA` - // * `labels.keyB:*` + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -559,22 +559,22 @@ type ListDataLabelingJobsRequest struct { // // Supported fields: // - // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. - // * `state` supports `=`, `!=` comparisons. - // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. // `create_time` must be in RFC 3339 format. - // * `labels` supports general map functions that is: + // - `labels` supports general map functions that is: // `labels.key=value` - key:value equality // `labels.key:* - key existence // // Some examples of using the filter are: // - // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` - // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` - // * `NOT display_name="my_job"` - // * `create_time>"2021-05-18T00:00:00Z"` - // * `labels.keyA=valueA` - // * `labels.keyB:*` + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -957,22 +957,22 @@ type ListHyperparameterTuningJobsRequest struct { // // Supported fields: // - // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. - // * `state` supports `=`, `!=` comparisons. - // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. // `create_time` must be in RFC 3339 format. - // * `labels` supports general map functions that is: + // - `labels` supports general map functions that is: // `labels.key=value` - key:value equality // `labels.key:* - key existence // // Some examples of using the filter are: // - // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` - // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` - // * `NOT display_name="my_job"` - // * `create_time>"2021-05-18T00:00:00Z"` - // * `labels.keyA=valueA` - // * `labels.keyB:*` + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -1348,22 +1348,22 @@ type ListNasJobsRequest struct { // // Supported fields: // - // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. - // * `state` supports `=`, `!=` comparisons. - // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. // `create_time` must be in RFC 3339 format. - // * `labels` supports general map functions that is: + // - `labels` supports general map functions that is: // `labels.key=value` - key:value equality // `labels.key:* - key existence // // Some examples of using the filter are: // - // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` - // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` - // * `NOT display_name="my_job"` - // * `create_time>"2021-05-18T00:00:00Z"` - // * `labels.keyA=valueA` - // * `labels.keyB:*` + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -1928,23 +1928,23 @@ type ListBatchPredictionJobsRequest struct { // // Supported fields: // - // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. - // * `model_display_name` supports `=`, `!=` comparisons. - // * `state` supports `=`, `!=` comparisons. - // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `model_display_name` supports `=`, `!=` comparisons. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. // `create_time` must be in RFC 3339 format. - // * `labels` supports general map functions that is: + // - `labels` supports general map functions that is: // `labels.key=value` - key:value equality // `labels.key:* - key existence // // Some examples of using the filter are: // - // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` - // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` - // * `NOT display_name="my_job"` - // * `create_time>"2021-05-18T00:00:00Z"` - // * `labels.keyA=valueA` - // * `labels.keyB:*` + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -2505,22 +2505,22 @@ type ListModelDeploymentMonitoringJobsRequest struct { // // Supported fields: // - // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. - // * `state` supports `=`, `!=` comparisons. - // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. // `create_time` must be in RFC 3339 format. - // * `labels` supports general map functions that is: + // - `labels` supports general map functions that is: // `labels.key=value` - key:value equality // `labels.key:* - key existence // // Some examples of using the filter are: // - // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` - // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` - // * `NOT display_name="my_job"` - // * `create_time>"2021-05-18T00:00:00Z"` - // * `labels.keyA=valueA` - // * `labels.keyB:*` + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -2680,19 +2680,21 @@ type UpdateModelDeploymentMonitoringJobRequest struct { // // Updatable fields: // - // * `display_name` - // * `model_deployment_monitoring_schedule_config` - // * `model_monitoring_alert_config` - // * `logging_sampling_strategy` - // * `labels` - // * `log_ttl` - // * `enable_monitoring_pipeline_logs` + // - `display_name` + // - `model_deployment_monitoring_schedule_config` + // - `model_monitoring_alert_config` + // - `logging_sampling_strategy` + // - `labels` + // - `log_ttl` + // - `enable_monitoring_pipeline_logs` + // // . and - // * `model_deployment_monitoring_objective_configs` + // - `model_deployment_monitoring_objective_configs` + // // . or - // * `model_deployment_monitoring_objective_configs.objective_config.training_dataset` - // * `model_deployment_monitoring_objective_configs.objective_config.training_prediction_skew_detection_config` - // * `model_deployment_monitoring_objective_configs.objective_config.prediction_drift_detection_config` + // - `model_deployment_monitoring_objective_configs.objective_config.training_dataset` + // - `model_deployment_monitoring_objective_configs.objective_config.training_prediction_skew_detection_config` + // - `model_deployment_monitoring_objective_configs.objective_config.prediction_drift_detection_config` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } diff --git a/aiplatform/apiv1/aiplatformpb/metadata_service.pb.go b/aiplatform/apiv1/aiplatformpb/metadata_service.pb.go index 97dfd83620e..8adb62239d4 100755 --- a/aiplatform/apiv1/aiplatformpb/metadata_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/metadata_service.pb.go @@ -632,21 +632,21 @@ type ListArtifactsRequest struct { // The syntax to define filter query is based on https://google.aip.dev/160. // The supported set of filters include the following: // - // * **Attribute filtering**: + // - **Attribute filtering**: // For example: `display_name = "test"`. // Supported fields include: `name`, `display_name`, `uri`, `state`, // `schema_title`, `create_time`, and `update_time`. // Time fields, such as `create_time` and `update_time`, require values // specified in RFC-3339 format. // For example: `create_time = "2020-11-19T11:30:00-04:00"` - // * **Metadata field**: + // - **Metadata field**: // To filter on metadata fields use traversal operation as follows: // `metadata..`. // For example: `metadata.field_1.number_value = 10.0` // In case the field name contains special characters (such as colon), one // can embed it inside double quote. // For example: `metadata."field:1".number_value = 10.0` - // * **Context based filtering**: + // - **Context based filtering**: // To filter Artifacts based on the contexts to which they belong, use the // function operator with the full resource name // `in_context()`. @@ -1273,30 +1273,32 @@ type ListContextsRequest struct { // The syntax to define filter query is based on https://google.aip.dev/160. // Following are the supported set of filters: // - // * **Attribute filtering**: - // For example: `display_name = "test"`. - // Supported fields include: `name`, `display_name`, `schema_title`, - // `create_time`, and `update_time`. - // Time fields, such as `create_time` and `update_time`, require values - // specified in RFC-3339 format. - // For example: `create_time = "2020-11-19T11:30:00-04:00"`. - // * **Metadata field**: - // To filter on metadata fields use traversal operation as follows: - // `metadata..`. - // For example: `metadata.field_1.number_value = 10.0`. - // In case the field name contains special characters (such as colon), one - // can embed it inside double quote. - // For example: `metadata."field:1".number_value = 10.0` - // * **Parent Child filtering**: - // To filter Contexts based on parent-child relationship use the HAS - // operator as follows: + // - **Attribute filtering**: + // For example: `display_name = "test"`. + // Supported fields include: `name`, `display_name`, `schema_title`, + // `create_time`, and `update_time`. + // Time fields, such as `create_time` and `update_time`, require values + // specified in RFC-3339 format. + // For example: `create_time = "2020-11-19T11:30:00-04:00"`. + // + // - **Metadata field**: + // To filter on metadata fields use traversal operation as follows: + // `metadata..`. + // For example: `metadata.field_1.number_value = 10.0`. + // In case the field name contains special characters (such as colon), one + // can embed it inside double quote. + // For example: `metadata."field:1".number_value = 10.0` // - // ``` - // parent_contexts: - // "projects//locations//metadataStores//contexts/" - // child_contexts: - // "projects//locations//metadataStores//contexts/" - // ``` + // - **Parent Child filtering**: + // To filter Contexts based on parent-child relationship use the HAS + // operator as follows: + // + // ``` + // parent_contexts: + // "projects//locations//metadataStores//contexts/" + // child_contexts: + // "projects//locations//metadataStores//contexts/" + // ``` // // Each of the above supported filters can be combined together using // logical operators (`AND` & `OR`). Maximum nested expression depth allowed @@ -2307,26 +2309,26 @@ type ListExecutionsRequest struct { // The syntax to define filter query is based on https://google.aip.dev/160. // Following are the supported set of filters: // - // * **Attribute filtering**: - // For example: `display_name = "test"`. - // Supported fields include: `name`, `display_name`, `state`, - // `schema_title`, `create_time`, and `update_time`. - // Time fields, such as `create_time` and `update_time`, require values - // specified in RFC-3339 format. - // For example: `create_time = "2020-11-19T11:30:00-04:00"`. - // * **Metadata field**: - // To filter on metadata fields use traversal operation as follows: - // `metadata..` - // For example: `metadata.field_1.number_value = 10.0` - // In case the field name contains special characters (such as colon), one - // can embed it inside double quote. - // For example: `metadata."field:1".number_value = 10.0` - // * **Context based filtering**: - // To filter Executions based on the contexts to which they belong use - // the function operator with the full resource name: - // `in_context()`. - // For example: - // `in_context("projects//locations//metadataStores//contexts/")` + // - **Attribute filtering**: + // For example: `display_name = "test"`. + // Supported fields include: `name`, `display_name`, `state`, + // `schema_title`, `create_time`, and `update_time`. + // Time fields, such as `create_time` and `update_time`, require values + // specified in RFC-3339 format. + // For example: `create_time = "2020-11-19T11:30:00-04:00"`. + // - **Metadata field**: + // To filter on metadata fields use traversal operation as follows: + // `metadata..` + // For example: `metadata.field_1.number_value = 10.0` + // In case the field name contains special characters (such as colon), one + // can embed it inside double quote. + // For example: `metadata."field:1".number_value = 10.0` + // - **Context based filtering**: + // To filter Executions based on the contexts to which they belong use + // the function operator with the full resource name: + // `in_context()`. + // For example: + // `in_context("projects//locations//metadataStores//contexts/")` // // Each of the above supported filters can be combined together using // logical operators (`AND` & `OR`). Maximum nested expression depth allowed @@ -3252,20 +3254,20 @@ type QueryArtifactLineageSubgraphRequest struct { // The syntax to define filter query is based on https://google.aip.dev/160. // The supported set of filters include the following: // - // * **Attribute filtering**: - // For example: `display_name = "test"` - // Supported fields include: `name`, `display_name`, `uri`, `state`, - // `schema_title`, `create_time`, and `update_time`. - // Time fields, such as `create_time` and `update_time`, require values - // specified in RFC-3339 format. - // For example: `create_time = "2020-11-19T11:30:00-04:00"` - // * **Metadata field**: - // To filter on metadata fields use traversal operation as follows: - // `metadata..`. - // For example: `metadata.field_1.number_value = 10.0` - // In case the field name contains special characters (such as colon), one - // can embed it inside double quote. - // For example: `metadata."field:1".number_value = 10.0` + // - **Attribute filtering**: + // For example: `display_name = "test"` + // Supported fields include: `name`, `display_name`, `uri`, `state`, + // `schema_title`, `create_time`, and `update_time`. + // Time fields, such as `create_time` and `update_time`, require values + // specified in RFC-3339 format. + // For example: `create_time = "2020-11-19T11:30:00-04:00"` + // - **Metadata field**: + // To filter on metadata fields use traversal operation as follows: + // `metadata..`. + // For example: `metadata.field_1.number_value = 10.0` + // In case the field name contains special characters (such as colon), one + // can embed it inside double quote. + // For example: `metadata."field:1".number_value = 10.0` // // Each of the above supported filter types can be combined together using // logical operators (`AND` & `OR`). Maximum nested expression depth allowed diff --git a/aiplatform/apiv1/aiplatformpb/migratable_resource.pb.go b/aiplatform/apiv1/aiplatformpb/migratable_resource.pb.go index eef52eaae51..7a062ffaeb8 100755 --- a/aiplatform/apiv1/aiplatformpb/migratable_resource.pb.go +++ b/aiplatform/apiv1/aiplatformpb/migratable_resource.pb.go @@ -45,6 +45,7 @@ type MigratableResource struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Resource: + // // *MigratableResource_MlEngineModelVersion_ // *MigratableResource_AutomlModel_ // *MigratableResource_AutomlDataset_ diff --git a/aiplatform/apiv1/aiplatformpb/migration_service.pb.go b/aiplatform/apiv1/aiplatformpb/migration_service.pb.go index 17762940ba1..d572df2e97c 100755 --- a/aiplatform/apiv1/aiplatformpb/migration_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/migration_service.pb.go @@ -61,16 +61,16 @@ type SearchMigratableResourcesRequest struct { PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` // A filter for your search. You can use the following types of filters: // - // * Resource type filters. The following strings filter for a specific type + // - Resource type filters. The following strings filter for a specific type // of [MigratableResource][google.cloud.aiplatform.v1.MigratableResource]: - // * `ml_engine_model_version:*` - // * `automl_model:*` - // * `automl_dataset:*` - // * `data_labeling_dataset:*` - // * "Migrated or not" filters. The following strings filter for resources + // - `ml_engine_model_version:*` + // - `automl_model:*` + // - `automl_dataset:*` + // - `data_labeling_dataset:*` + // - "Migrated or not" filters. The following strings filter for resources // that either have or have not already been migrated: - // * `last_migrate_time:*` filters for migrated resources. - // * `NOT last_migrate_time:*` filters for not yet migrated resources. + // - `last_migrate_time:*` filters for migrated resources. + // - `NOT last_migrate_time:*` filters for not yet migrated resources. Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } @@ -266,6 +266,7 @@ type MigrateResourceRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Request: + // // *MigrateResourceRequest_MigrateMlEngineModelVersionConfig_ // *MigrateResourceRequest_MigrateAutomlModelConfig_ // *MigrateResourceRequest_MigrateAutomlDatasetConfig_ @@ -435,6 +436,7 @@ type MigrateResourceResponse struct { // After migration, the resource name in Vertex AI. // // Types that are assignable to MigratedResource: + // // *MigrateResourceResponse_Dataset // *MigrateResourceResponse_Model MigratedResource isMigrateResourceResponse_MigratedResource `protobuf_oneof:"migrated_resource"` @@ -919,6 +921,7 @@ type BatchMigrateResourcesOperationMetadata_PartialResult struct { // migrated resource name will be filled. // // Types that are assignable to Result: + // // *BatchMigrateResourcesOperationMetadata_PartialResult_Error // *BatchMigrateResourcesOperationMetadata_PartialResult_Model // *BatchMigrateResourcesOperationMetadata_PartialResult_Dataset diff --git a/aiplatform/apiv1/aiplatformpb/model.pb.go b/aiplatform/apiv1/aiplatformpb/model.pb.go index 9d81b99f675..0f1251152bc 100755 --- a/aiplatform/apiv1/aiplatformpb/model.pb.go +++ b/aiplatform/apiv1/aiplatformpb/model.pb.go @@ -362,7 +362,6 @@ type Model struct { // [InputConfig][google.cloud.aiplatform.v1.BatchPredictionJob.InputConfig] // object. // - // // If this Model doesn't support any of these formats it means it cannot be // used with a // [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob]. @@ -400,7 +399,6 @@ type Model struct { // [BigQueryDestination][google.cloud.aiplatform.v1.BatchPredictionJob.OutputConfig.bigquery_destination] // . // - // // If this Model doesn't support any of these formats it means it cannot be // used with a // [BatchPredictionJob][google.cloud.aiplatform.v1.BatchPredictionJob]. @@ -991,14 +989,16 @@ type ModelContainerSpec struct { // // ```json // [ - // { - // "name": "VAR_1", - // "value": "foo" - // }, - // { - // "name": "VAR_2", - // "value": "$(VAR_1) bar" - // } + // + // { + // "name": "VAR_1", + // "value": "foo" + // }, + // { + // "name": "VAR_2", + // "value": "$(VAR_1) bar" + // } + // // ] // ``` // @@ -1020,9 +1020,11 @@ type ModelContainerSpec struct { // // ```json // [ - // { - // "containerPort": 8080 - // } + // + // { + // "containerPort": 8080 + // } + // // ] // ``` // @@ -1049,18 +1051,19 @@ type ModelContainerSpec struct { // /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict // The placeholders in this value are replaced as follows: // - // * ENDPOINT: The last segment (following `endpoints/`)of the - // Endpoint.name][] field of the Endpoint where this Model has been - // deployed. (Vertex AI makes this value available to your container code - // as the [`AIP_ENDPOINT_ID` environment - // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + // - ENDPOINT: The last segment (following `endpoints/`)of the + // Endpoint.name][] field of the Endpoint where this Model has been + // deployed. (Vertex AI makes this value available to your container code + // as the [`AIP_ENDPOINT_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) // // * DEPLOYED_MODEL: // [DeployedModel.id][google.cloud.aiplatform.v1.DeployedModel.id] of the // `DeployedModel`. - // (Vertex AI makes this value available to your container code - // as the [`AIP_DEPLOYED_MODEL_ID` environment - // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + // + // (Vertex AI makes this value available to your container code + // as the [`AIP_DEPLOYED_MODEL_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) PredictRoute string `protobuf:"bytes,6,opt,name=predict_route,json=predictRoute,proto3" json:"predict_route,omitempty"` // Immutable. HTTP path on the container to send health checks to. Vertex AI // intermittently sends GET requests to this path on the container's IP @@ -1079,18 +1082,19 @@ type ModelContainerSpec struct { // /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict // The placeholders in this value are replaced as follows: // - // * ENDPOINT: The last segment (following `endpoints/`)of the - // Endpoint.name][] field of the Endpoint where this Model has been - // deployed. (Vertex AI makes this value available to your container code - // as the [`AIP_ENDPOINT_ID` environment - // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + // - ENDPOINT: The last segment (following `endpoints/`)of the + // Endpoint.name][] field of the Endpoint where this Model has been + // deployed. (Vertex AI makes this value available to your container code + // as the [`AIP_ENDPOINT_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) // // * DEPLOYED_MODEL: // [DeployedModel.id][google.cloud.aiplatform.v1.DeployedModel.id] of the // `DeployedModel`. - // (Vertex AI makes this value available to your container code as the - // [`AIP_DEPLOYED_MODEL_ID` environment - // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + // + // (Vertex AI makes this value available to your container code as the + // [`AIP_DEPLOYED_MODEL_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) HealthRoute string `protobuf:"bytes,7,opt,name=health_route,json=healthRoute,proto3" json:"health_route,omitempty"` // Immutable. List of ports to expose from the container. Vertex AI sends gRPC // prediction requests that it receives to the first port on this list. Vertex @@ -1348,6 +1352,7 @@ type Probe struct { unknownFields protoimpl.UnknownFields // Types that are assignable to ProbeType: + // // *Probe_Exec ProbeType isProbe_ProbeType `protobuf_oneof:"probe_type"` // How often (in seconds) to perform the probe. Default to 10 seconds. diff --git a/aiplatform/apiv1/aiplatformpb/model_evaluation.pb.go b/aiplatform/apiv1/aiplatformpb/model_evaluation.pb.go index 7478bd302af..8f5fdb9350e 100755 --- a/aiplatform/apiv1/aiplatformpb/model_evaluation.pb.go +++ b/aiplatform/apiv1/aiplatformpb/model_evaluation.pb.go @@ -89,7 +89,6 @@ type ModelEvaluation struct { // Aggregated explanation metrics for the Model's prediction output over the // data this ModelEvaluation uses. This field is populated only if the Model // is evaluated with explanations, and only for AutoML tabular Models. - // ModelExplanation *ModelExplanation `protobuf:"bytes,8,opt,name=model_explanation,json=modelExplanation,proto3" json:"model_explanation,omitempty"` // Describes the values of // [ExplanationSpec][google.cloud.aiplatform.v1.ExplanationSpec] that are used @@ -220,8 +219,8 @@ type ModelEvaluation_ModelEvaluationExplanationSpec struct { // // For AutoML Image Classification models, possible values are: // - // * `image-integrated-gradients` - // * `image-xrai` + // - `image-integrated-gradients` + // - `image-xrai` ExplanationType string `protobuf:"bytes,1,opt,name=explanation_type,json=explanationType,proto3" json:"explanation_type,omitempty"` // Explanation spec details. ExplanationSpec *ExplanationSpec `protobuf:"bytes,2,opt,name=explanation_spec,json=explanationSpec,proto3" json:"explanation_spec,omitempty"` diff --git a/aiplatform/apiv1/aiplatformpb/model_evaluation_slice.pb.go b/aiplatform/apiv1/aiplatformpb/model_evaluation_slice.pb.go index 7c64d5611e1..6932cb728f6 100755 --- a/aiplatform/apiv1/aiplatformpb/model_evaluation_slice.pb.go +++ b/aiplatform/apiv1/aiplatformpb/model_evaluation_slice.pb.go @@ -151,12 +151,12 @@ type ModelEvaluationSlice_Slice struct { // Output only. The dimension of the slice. // Well-known dimensions are: - // * `annotationSpec`: This slice is on the test data that has either + // - `annotationSpec`: This slice is on the test data that has either // ground truth or prediction with // [AnnotationSpec.display_name][google.cloud.aiplatform.v1.AnnotationSpec.display_name] // equals to // [value][google.cloud.aiplatform.v1.ModelEvaluationSlice.Slice.value]. - // * `slice`: This slice is a user customized slice defined by its + // - `slice`: This slice is a user customized slice defined by its // SliceSpec. Dimension string `protobuf:"bytes,1,opt,name=dimension,proto3" json:"dimension,omitempty"` // Output only. The value of the dimension in this slice. @@ -331,6 +331,7 @@ type ModelEvaluationSlice_Slice_SliceSpec_SliceConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Kind: + // // *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Value // *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Range // *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_AllValues @@ -496,6 +497,7 @@ type ModelEvaluationSlice_Slice_SliceSpec_Value struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Kind: + // // *ModelEvaluationSlice_Slice_SliceSpec_Value_StringValue // *ModelEvaluationSlice_Slice_SliceSpec_Value_FloatValue Kind isModelEvaluationSlice_Slice_SliceSpec_Value_Kind `protobuf_oneof:"kind"` diff --git a/aiplatform/apiv1/aiplatformpb/model_monitoring.pb.go b/aiplatform/apiv1/aiplatformpb/model_monitoring.pb.go index 6f777f87675..7f6767b9607 100755 --- a/aiplatform/apiv1/aiplatformpb/model_monitoring.pb.go +++ b/aiplatform/apiv1/aiplatformpb/model_monitoring.pb.go @@ -173,6 +173,7 @@ type ModelMonitoringAlertConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Alert: + // // *ModelMonitoringAlertConfig_EmailAlertConfig_ Alert isModelMonitoringAlertConfig_Alert `protobuf_oneof:"alert"` // Dump the anomalies to Cloud Logging. The anomalies will be put to json @@ -265,6 +266,7 @@ type ThresholdConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Threshold: + // // *ThresholdConfig_Value Threshold isThresholdConfig_Threshold `protobuf_oneof:"threshold"` } @@ -322,10 +324,11 @@ type isThresholdConfig_Threshold interface { type ThresholdConfig_Value struct { // Specify a threshold value that can trigger the alert. // If this threshold config is for feature distribution distance: - // 1. For categorical feature, the distribution distance is calculated by - // L-inifinity norm. - // 2. For numerical feature, the distribution distance is calculated by - // Jensen–Shannon divergence. + // 1. For categorical feature, the distribution distance is calculated by + // L-inifinity norm. + // 2. For numerical feature, the distribution distance is calculated by + // Jensen–Shannon divergence. + // // Each feature must have a non-zero threshold if they need to be monitored. // Otherwise no alert will be triggered for that feature. Value float64 `protobuf:"fixed64,1,opt,name=value,proto3,oneof"` @@ -390,6 +393,7 @@ type ModelMonitoringObjectiveConfig_TrainingDataset struct { unknownFields protoimpl.UnknownFields // Types that are assignable to DataSource: + // // *ModelMonitoringObjectiveConfig_TrainingDataset_Dataset // *ModelMonitoringObjectiveConfig_TrainingDataset_GcsSource // *ModelMonitoringObjectiveConfig_TrainingDataset_BigquerySource @@ -748,6 +752,7 @@ type ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline struct // used to generate the baseline of feature attribution scores. // // Types that are assignable to Destination: + // // *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Gcs // *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Bigquery Destination isModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Destination `protobuf_oneof:"destination"` diff --git a/aiplatform/apiv1/aiplatformpb/model_service.pb.go b/aiplatform/apiv1/aiplatformpb/model_service.pb.go index 57298933672..1f4f37427de 100755 --- a/aiplatform/apiv1/aiplatformpb/model_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/model_service.pb.go @@ -265,9 +265,11 @@ type GetModelRequest struct { // // In order to retrieve a specific version of the model, also provide // the version ID or version alias. - // Example: `projects/{project}/locations/{location}/models/{model}@2` - // or - // `projects/{project}/locations/{location}/models/{model}@golden` + // + // Example: `projects/{project}/locations/{location}/models/{model}@2` + // or + // `projects/{project}/locations/{location}/models/{model}@golden` + // // If no version ID or alias is specified, the "default" version will be // returned. The "default" version alias is created for the first version of // the model, and can be moved to other versions later on. There will be @@ -327,20 +329,20 @@ type ListModelsRequest struct { // An expression for filtering the results of the request. For field names // both snake_case and camelCase are supported. // - // * `model` supports = and !=. `model` represents the Model ID, + // - `model` supports = and !=. `model` represents the Model ID, // i.e. the last segment of the Model's [resource // name][google.cloud.aiplatform.v1.Model.name]. - // * `display_name` supports = and != - // * `labels` supports general map functions that is: - // * `labels.key=value` - key:value equality - // * `labels.key:* or labels:key - key existence - // * A key including a space must be quoted. `labels."a key"`. + // - `display_name` supports = and != + // - `labels` supports general map functions that is: + // - `labels.key=value` - key:value equality + // - `labels.key:* or labels:key - key existence + // - A key including a space must be quoted. `labels."a key"`. // // Some examples: // - // * `model=1234` - // * `displayName="myDisplayName"` - // * `labels.myKey="myValue"` + // - `model=1234` + // - `displayName="myDisplayName"` + // - `labels.myKey="myValue"` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -357,9 +359,9 @@ type ListModelsRequest struct { // Use "desc" after a field name for descending. // Supported fields: // - // * `display_name` - // * `create_time` - // * `update_time` + // - `display_name` + // - `create_time` + // - `update_time` // // Example: `display_name, create_time desc`. OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` @@ -522,14 +524,14 @@ type ListModelVersionsRequest struct { // An expression for filtering the results of the request. For field names // both snake_case and camelCase are supported. // - // * `labels` supports general map functions that is: - // * `labels.key=value` - key:value equality - // * `labels.key:* or labels:key - key existence - // * A key including a space must be quoted. `labels."a key"`. + // - `labels` supports general map functions that is: + // - `labels.key=value` - key:value equality + // - `labels.key:* or labels:key - key existence + // - A key including a space must be quoted. `labels."a key"`. // // Some examples: // - // * `labels.myKey="myValue"` + // - `labels.myKey="myValue"` Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` // Mask specifying which fields to read. ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` @@ -537,8 +539,8 @@ type ListModelVersionsRequest struct { // Use "desc" after a field name for descending. // Supported fields: // - // * `create_time` - // * `update_time` + // - `create_time` + // - `update_time` // // Example: `update_time asc, create_time desc`. OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` @@ -1261,6 +1263,7 @@ type CopyModelRequest struct { // If both fields are unset, a new Model will be created with a generated ID. // // Types that are assignable to DestinationModel: + // // *CopyModelRequest_ModelId // *CopyModelRequest_ParentModel DestinationModel isCopyModelRequest_DestinationModel `protobuf_oneof:"destination_model"` @@ -2040,7 +2043,7 @@ type ListModelEvaluationSlicesRequest struct { Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The standard list filter. // - // * `slice.dimension` - for =. + // - `slice.dimension` - for =. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` diff --git a/aiplatform/apiv1/aiplatformpb/nas_job.pb.go b/aiplatform/apiv1/aiplatformpb/nas_job.pb.go index 13a8c7fdbd6..15dad8d1da0 100755 --- a/aiplatform/apiv1/aiplatformpb/nas_job.pb.go +++ b/aiplatform/apiv1/aiplatformpb/nas_job.pb.go @@ -478,6 +478,7 @@ type NasJobSpec struct { // The Neural Architecture Search (NAS) algorithm specification. // // Types that are assignable to NasAlgorithmSpec: + // // *NasJobSpec_MultiTrialAlgorithmSpec_ NasAlgorithmSpec isNasJobSpec_NasAlgorithmSpec `protobuf_oneof:"nas_algorithm_spec"` // The ID of the existing NasJob in the same Project and Location @@ -569,6 +570,7 @@ type NasJobOutput struct { // The output of this Neural Architecture Search (NAS) job. // // Types that are assignable to Output: + // // *NasJobOutput_MultiTrialJobOutput_ Output isNasJobOutput_Output `protobuf_oneof:"output"` } diff --git a/aiplatform/apiv1/aiplatformpb/openapi.pb.go b/aiplatform/apiv1/aiplatformpb/openapi.pb.go index 45f5002b3eb..729a974f82e 100755 --- a/aiplatform/apiv1/aiplatformpb/openapi.pb.go +++ b/aiplatform/apiv1/aiplatformpb/openapi.pb.go @@ -120,8 +120,9 @@ type Schema struct { Type Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.aiplatform.v1.Type" json:"type,omitempty"` // Optional. The format of the data. // Supported formats: - // for NUMBER type: float, double - // for INTEGER type: int32, int64 + // + // for NUMBER type: float, double + // for INTEGER type: int32, int64 Format string `protobuf:"bytes,7,opt,name=format,proto3" json:"format,omitempty"` // Optional. The description of the data. Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` diff --git a/aiplatform/apiv1/aiplatformpb/pipeline_job.pb.go b/aiplatform/apiv1/aiplatformpb/pipeline_job.pb.go index 187992a10e8..e1d695553a1 100755 --- a/aiplatform/apiv1/aiplatformpb/pipeline_job.pb.go +++ b/aiplatform/apiv1/aiplatformpb/pipeline_job.pb.go @@ -674,6 +674,7 @@ type PipelineTaskExecutorDetail struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Details: + // // *PipelineTaskExecutorDetail_ContainerDetail_ // *PipelineTaskExecutorDetail_CustomJobDetail_ Details isPipelineTaskExecutorDetail_Details `protobuf_oneof:"details"` @@ -870,6 +871,7 @@ type PipelineJob_RuntimeConfig_InputArtifact struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Kind: + // // *PipelineJob_RuntimeConfig_InputArtifact_ArtifactId Kind isPipelineJob_RuntimeConfig_InputArtifact_Kind `protobuf_oneof:"kind"` } diff --git a/aiplatform/apiv1/aiplatformpb/pipeline_service.pb.go b/aiplatform/apiv1/aiplatformpb/pipeline_service.pb.go index e01f0b646b3..f9f8a47be9c 100755 --- a/aiplatform/apiv1/aiplatformpb/pipeline_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/pipeline_service.pb.go @@ -169,22 +169,22 @@ type ListTrainingPipelinesRequest struct { // // Supported fields: // - // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. - // * `state` supports `=`, `!=` comparisons. - // * `training_task_definition` `=`, `!=` comparisons, and `:` wildcard. - // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `training_task_definition` `=`, `!=` comparisons, and `:` wildcard. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. // `create_time` must be in RFC 3339 format. - // * `labels` supports general map functions that is: + // - `labels` supports general map functions that is: // `labels.key=value` - key:value equality // `labels.key:* - key existence // // Some examples of using the filter are: // - // * `state="PIPELINE_STATE_SUCCEEDED" AND display_name:"my_pipeline_*"` - // * `state!="PIPELINE_STATE_FAILED" OR display_name="my_pipeline"` - // * `NOT display_name="my_pipeline"` - // * `create_time>"2021-05-18T00:00:00Z"` - // * `training_task_definition:"*automl_text_classification*"` + // - `state="PIPELINE_STATE_SUCCEEDED" AND display_name:"my_pipeline_*"` + // - `state!="PIPELINE_STATE_FAILED" OR display_name="my_pipeline"` + // - `NOT display_name="my_pipeline"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `training_task_definition:"*automl_text_classification*"` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -571,22 +571,22 @@ type ListPipelineJobsRequest struct { // Lists the PipelineJobs that match the filter expression. The following // fields are supported: // - // * `pipeline_name`: Supports `=` and `!=` comparisons. - // * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. - // * `pipeline_job_user_id`: Supports `=`, `!=` comparisons, and `:` wildcard. - // for example, can check if pipeline's display_name contains *step* by - // doing display_name:\"*step*\" - // * `state`: Supports `=` and `!=` comparisons. - // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. - // Values must be in RFC 3339 format. - // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. - // Values must be in RFC 3339 format. - // * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. - // Values must be in RFC 3339 format. - // * `labels`: Supports key-value equality and key presence. - // * `template_uri`: Supports `=`, `!=` comparisons, and `:` wildcard. - // * `template_metadata.version`: Supports `=`, `!=` comparisons, and `:` - // wildcard. + // - `pipeline_name`: Supports `=` and `!=` comparisons. + // - `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. + // - `pipeline_job_user_id`: Supports `=`, `!=` comparisons, and `:` wildcard. + // for example, can check if pipeline's display_name contains *step* by + // doing display_name:\"*step*\" + // - `state`: Supports `=` and `!=` comparisons. + // - `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // - `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // - `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // - `labels`: Supports key-value equality and key presence. + // - `template_uri`: Supports `=`, `!=` comparisons, and `:` wildcard. + // - `template_metadata.version`: Supports `=`, `!=` comparisons, and `:` + // wildcard. // // Filter expressions can be combined together using logical operators // (`AND` & `OR`). @@ -597,11 +597,11 @@ type ListPipelineJobsRequest struct { // // Examples: // - // * `create_time>"2021-05-18T00:00:00Z" OR - // update_time>"2020-05-18T00:00:00Z"` PipelineJobs created or updated - // after 2020-05-18 00:00:00 UTC. - // * `labels.env = "prod"` - // PipelineJobs with label "env" set to "prod". + // - `create_time>"2021-05-18T00:00:00Z" OR + // update_time>"2020-05-18T00:00:00Z"` PipelineJobs created or updated + // after 2020-05-18 00:00:00 UTC. + // - `labels.env = "prod"` + // PipelineJobs with label "env" set to "prod". Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -621,10 +621,10 @@ type ListPipelineJobsRequest struct { // time in ascending order. if order_by is not specified, it will order by // default order is create time in descending order. Supported fields: // - // * `create_time` - // * `update_time` - // * `end_time` - // * `start_time` + // - `create_time` + // - `update_time` + // - `end_time` + // - `start_time` OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` // Mask specifying which fields to read. ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,7,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` diff --git a/aiplatform/apiv1/aiplatformpb/prediction_service.pb.go b/aiplatform/apiv1/aiplatformpb/prediction_service.pb.go index 141d1417aab..b14a972173d 100755 --- a/aiplatform/apiv1/aiplatformpb/prediction_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/prediction_service.pb.go @@ -912,10 +912,10 @@ type ExplainRequest struct { // [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec] // of the DeployedModel. Can be used for explaining prediction results with // different configurations, such as: - // - Explaining top-5 predictions results as opposed to top-1; - // - Increasing path count or step count of the attribution methods to reduce - // approximate errors; - // - Using different baselines for explaining the prediction results. + // - Explaining top-5 predictions results as opposed to top-1; + // - Increasing path count or step count of the attribution methods to reduce + // approximate errors; + // - Using different baselines for explaining the prediction results. ExplanationSpecOverride *ExplanationSpecOverride `protobuf:"bytes,5,opt,name=explanation_spec_override,json=explanationSpecOverride,proto3" json:"explanation_spec_override,omitempty"` // If specified, this ExplainRequest will be served by the chosen // DeployedModel, overriding diff --git a/aiplatform/apiv1/aiplatformpb/publisher_model.pb.go b/aiplatform/apiv1/aiplatformpb/publisher_model.pb.go index 34b37e3bf03..a11e2d10d38 100755 --- a/aiplatform/apiv1/aiplatformpb/publisher_model.pb.go +++ b/aiplatform/apiv1/aiplatformpb/publisher_model.pb.go @@ -353,6 +353,7 @@ type PublisherModel_ResourceReference struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Reference: + // // *PublisherModel_ResourceReference_Uri // *PublisherModel_ResourceReference_ResourceName // *PublisherModel_ResourceReference_UseCase @@ -777,6 +778,7 @@ type PublisherModel_CallToAction_Deploy struct { // DeployedModel uses. // // Types that are assignable to PredictionResources: + // // *PublisherModel_CallToAction_Deploy_DedicatedResources // *PublisherModel_CallToAction_Deploy_AutomaticResources // *PublisherModel_CallToAction_Deploy_SharedResources diff --git a/aiplatform/apiv1/aiplatformpb/schedule.pb.go b/aiplatform/apiv1/aiplatformpb/schedule.pb.go index 2c222ccf6bc..d0334958804 100755 --- a/aiplatform/apiv1/aiplatformpb/schedule.pb.go +++ b/aiplatform/apiv1/aiplatformpb/schedule.pb.go @@ -109,6 +109,7 @@ type Schedule struct { // The time specification to launch scheduled runs. // // Types that are assignable to TimeSpecification: + // // *Schedule_Cron TimeSpecification isSchedule_TimeSpecification `protobuf_oneof:"time_specification"` // Required. @@ -116,6 +117,7 @@ type Schedule struct { // User-specified ID is not supported in the request template. // // Types that are assignable to Request: + // // *Schedule_CreatePipelineJobRequest Request isSchedule_Request `protobuf_oneof:"request"` // Immutable. The resource name of the Schedule. diff --git a/aiplatform/apiv1/aiplatformpb/schedule_service.pb.go b/aiplatform/apiv1/aiplatformpb/schedule_service.pb.go index dc865d8bafc..2a9422f73a3 100755 --- a/aiplatform/apiv1/aiplatformpb/schedule_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/schedule_service.pb.go @@ -168,20 +168,19 @@ type ListSchedulesRequest struct { // Lists the Schedules that match the filter expression. The following // fields are supported: // - // * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. - // * `state`: Supports `=` and `!=` comparisons. - // * `request`: Supports existence of the check. - // (e.g. `create_pipeline_job_request:*` --> Schedule has - // create_pipeline_job_request). - // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. - // Values must be in RFC 3339 format. - // * `start_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. - // Values must be in RFC 3339 format. - // * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, `>=` comparisons and `:*` - // existence check. Values must be in RFC 3339 format. - // * `next_run_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` - // comparisons. Values must be in RFC 3339 format. - // + // - `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. + // - `state`: Supports `=` and `!=` comparisons. + // - `request`: Supports existence of the check. + // (e.g. `create_pipeline_job_request:*` --> Schedule has + // create_pipeline_job_request). + // - `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // - `start_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // - `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, `>=` comparisons and `:*` + // existence check. Values must be in RFC 3339 format. + // - `next_run_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` + // comparisons. Values must be in RFC 3339 format. // // Filter expressions can be combined together using logical operators // (`NOT`, `AND` & `OR`). @@ -219,10 +218,10 @@ type ListSchedulesRequest struct { // // Supported fields: // - // * `create_time` - // * `start_time` - // * `end_time` - // * `next_run_time` + // - `create_time` + // - `start_time` + // - `end_time` + // - `next_run_time` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } @@ -534,9 +533,9 @@ type UpdateScheduleRequest struct { // Required. The Schedule which replaces the resource on the server. // The following restrictions will be applied: // - // * The scheduled request type cannot be changed. - // * The non-empty fields cannot be unset. - // * The output_only fields will be ignored if specified. + // - The scheduled request type cannot be changed. + // - The non-empty fields cannot be unset. + // - The output_only fields will be ignored if specified. Schedule *Schedule `protobuf:"bytes,1,opt,name=schedule,proto3" json:"schedule,omitempty"` // Required. The update mask applies to the resource. See // [google.protobuf.FieldMask][google.protobuf.FieldMask]. diff --git a/aiplatform/apiv1/aiplatformpb/study.pb.go b/aiplatform/apiv1/aiplatformpb/study.pb.go index e9bebaa552e..6f70f13e401 100755 --- a/aiplatform/apiv1/aiplatformpb/study.pb.go +++ b/aiplatform/apiv1/aiplatformpb/study.pb.go @@ -750,7 +750,8 @@ type TrialContext struct { // contexts, and if there are no matches, we generate suggestions in the // subspace defined by the parameters specified here. // NOTE: a Context without any Parameters matches the entire feasible search - // space. + // + // space. Parameters []*Trial_Parameter `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty"` } @@ -807,6 +808,7 @@ type StudyTimeConstraint struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Constraint: + // // *StudyTimeConstraint_MaxDuration // *StudyTimeConstraint_EndTime Constraint isStudyTimeConstraint_Constraint `protobuf_oneof:"constraint"` @@ -890,6 +892,7 @@ type StudySpec struct { unknownFields protoimpl.UnknownFields // Types that are assignable to AutomatedStoppingSpec: + // // *StudySpec_DecayCurveStoppingSpec // *StudySpec_MedianAutomatedStoppingSpec_ // *StudySpec_ConvexAutomatedStoppingSpec_ @@ -1250,6 +1253,7 @@ type StudySpec_ParameterSpec struct { unknownFields protoimpl.UnknownFields // Types that are assignable to ParameterValueSpec: + // // *StudySpec_ParameterSpec_DoubleValueSpec_ // *StudySpec_ParameterSpec_IntegerValueSpec_ // *StudySpec_ParameterSpec_CategoricalValueSpec_ @@ -2117,6 +2121,7 @@ type StudySpec_ParameterSpec_ConditionalParameterSpec struct { // space. // // Types that are assignable to ParentValueCondition: + // // *StudySpec_ParameterSpec_ConditionalParameterSpec_ParentDiscreteValues // *StudySpec_ParameterSpec_ConditionalParameterSpec_ParentIntValues // *StudySpec_ParameterSpec_ConditionalParameterSpec_ParentCategoricalValues diff --git a/aiplatform/apiv1/aiplatformpb/tensorboard_data.pb.go b/aiplatform/apiv1/aiplatformpb/tensorboard_data.pb.go index bbe0c60a73b..e80fbe0cc90 100755 --- a/aiplatform/apiv1/aiplatformpb/tensorboard_data.pb.go +++ b/aiplatform/apiv1/aiplatformpb/tensorboard_data.pb.go @@ -115,6 +115,7 @@ type TimeSeriesDataPoint struct { // Value of this time series data point. // // Types that are assignable to Value: + // // *TimeSeriesDataPoint_Scalar // *TimeSeriesDataPoint_Tensor // *TimeSeriesDataPoint_Blobs diff --git a/aiplatform/apiv1/aiplatformpb/tensorboard_experiment.pb.go b/aiplatform/apiv1/aiplatformpb/tensorboard_experiment.pb.go index 7f274e7f260..e5d4130f37c 100755 --- a/aiplatform/apiv1/aiplatformpb/tensorboard_experiment.pb.go +++ b/aiplatform/apiv1/aiplatformpb/tensorboard_experiment.pb.go @@ -69,10 +69,10 @@ type TensorboardExperiment struct { // System reserved label keys are prefixed with `aiplatform.googleapis.com/` // and are immutable. The following system labels exist for each Dataset: // - // * `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its - // value is the - // [metadata_schema's][google.cloud.aiplatform.v1.Dataset.metadata_schema_uri] - // title. + // - `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its + // value is the + // [metadata_schema's][google.cloud.aiplatform.v1.Dataset.metadata_schema_uri] + // title. Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Used to perform consistent read-modify-write updates. If not set, a blind // "overwrite" update happens. diff --git a/aiplatform/apiv1/aiplatformpb/tool.pb.go b/aiplatform/apiv1/aiplatformpb/tool.pb.go index f8dfadfd8d9..c9537e4412b 100755 --- a/aiplatform/apiv1/aiplatformpb/tool.pb.go +++ b/aiplatform/apiv1/aiplatformpb/tool.pb.go @@ -121,12 +121,14 @@ type FunctionDeclaration struct { // Schema defining the type used for the parameter. For function with no // parameters, this can be left unset. Example with 1 required and 1 optional // parameter: type: OBJECT properties: - // param1: - // type: STRING - // param2: - // type: INTEGER + // + // param1: + // type: STRING + // param2: + // type: INTEGER + // // required: - // - param1 + // - param1 Parameters *Schema `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"` } diff --git a/aiplatform/apiv1/aiplatformpb/training_pipeline.pb.go b/aiplatform/apiv1/aiplatformpb/training_pipeline.pb.go index e457e2692ba..b14bdd413f7 100755 --- a/aiplatform/apiv1/aiplatformpb/training_pipeline.pb.go +++ b/aiplatform/apiv1/aiplatformpb/training_pipeline.pb.go @@ -310,6 +310,7 @@ type InputDataConfig struct { // is used by default. // // Types that are assignable to Split: + // // *InputDataConfig_FractionSplit // *InputDataConfig_FilterSplit // *InputDataConfig_PredefinedSplit @@ -321,8 +322,8 @@ type InputDataConfig struct { // The destination of the training data to be written to. // // Supported destination file formats: - // * For non-tabular data: "jsonl". - // * For tabular data: "csv" and "bigquery". + // - For non-tabular data: "jsonl". + // - For tabular data: "csv" and "bigquery". // // The following Vertex AI environment variables are passed to containers // or python modules of the training task when this field is set: @@ -333,6 +334,7 @@ type InputDataConfig struct { // * AIP_TEST_DATA_URI : Sharded exported test data uris. // // Types that are assignable to Destination: + // // *InputDataConfig_GcsDestination // *InputDataConfig_BigqueryDestination Destination isInputDataConfig_Destination `protobuf_oneof:"destination"` diff --git a/aiplatform/apiv1/aiplatformpb/user_action_reference.pb.go b/aiplatform/apiv1/aiplatformpb/user_action_reference.pb.go index 940f803a30e..fbf72abd65c 100755 --- a/aiplatform/apiv1/aiplatformpb/user_action_reference.pb.go +++ b/aiplatform/apiv1/aiplatformpb/user_action_reference.pb.go @@ -43,6 +43,7 @@ type UserActionReference struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Reference: + // // *UserActionReference_Operation // *UserActionReference_DataLabelingJob Reference isUserActionReference_Reference `protobuf_oneof:"reference"` diff --git a/aiplatform/apiv1/aiplatformpb/value.pb.go b/aiplatform/apiv1/aiplatformpb/value.pb.go index 4545f27d6f1..5d1f47bf74a 100755 --- a/aiplatform/apiv1/aiplatformpb/value.pb.go +++ b/aiplatform/apiv1/aiplatformpb/value.pb.go @@ -42,6 +42,7 @@ type Value struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Value: + // // *Value_IntValue // *Value_DoubleValue // *Value_StringValue diff --git a/aiplatform/apiv1/aiplatformpb/vizier_service.pb.go b/aiplatform/apiv1/aiplatformpb/vizier_service.pb.go index f670b63c54e..aa787ced248 100755 --- a/aiplatform/apiv1/aiplatformpb/vizier_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/vizier_service.pb.go @@ -419,38 +419,49 @@ type SuggestTrialsRequest struct { // is a slice (a subspace) of the search space. // // Typical uses for contexts: - // 1) You are using Vizier to tune a server for best performance, but there's - // a strong weekly cycle. The context specifies the day-of-week. - // This allows Tuesday to generalize from Wednesday without assuming that - // everything is identical. - // 2) Imagine you're optimizing some medical treatment for people. - // As they walk in the door, you know certain facts about them - // (e.g. sex, weight, height, blood-pressure). Put that information in the - // context, and Vizier will adapt its suggestions to the patient. - // 3) You want to do a fair A/B test efficiently. Specify the "A" and "B" - // conditions as contexts, and Vizier will generalize between "A" and "B" - // conditions. If they are similar, this will allow Vizier to converge - // to the optimum faster than if "A" and "B" were separate Studies. - // NOTE: You can also enter contexts as REQUESTED Trials, e.g. via the - // CreateTrial() RPC; that's the asynchronous option where you don't need a - // close association between contexts and suggestions. + // 1. You are using Vizier to tune a server for best performance, but there's + // a strong weekly cycle. The context specifies the day-of-week. + // This allows Tuesday to generalize from Wednesday without assuming that + // everything is identical. + // 2. Imagine you're optimizing some medical treatment for people. + // As they walk in the door, you know certain facts about them + // (e.g. sex, weight, height, blood-pressure). Put that information in the + // context, and Vizier will adapt its suggestions to the patient. + // 3. You want to do a fair A/B test efficiently. Specify the "A" and "B" + // conditions as contexts, and Vizier will generalize between "A" and "B" + // conditions. If they are similar, this will allow Vizier to converge + // to the optimum faster than if "A" and "B" were separate Studies. + // NOTE: You can also enter contexts as REQUESTED Trials, e.g. via the + // CreateTrial() RPC; that's the asynchronous option where you don't need a + // close association between contexts and suggestions. // // NOTE: All the Parameters you set in a context MUST be defined in the - // Study. + // + // Study. + // // NOTE: You must supply 0 or $suggestion_count contexts. - // If you don't supply any contexts, Vizier will make suggestions - // from the full search space specified in the StudySpec; if you supply - // a full set of context, each suggestion will match the corresponding - // context. + // + // If you don't supply any contexts, Vizier will make suggestions + // from the full search space specified in the StudySpec; if you supply + // a full set of context, each suggestion will match the corresponding + // context. + // // NOTE: A Context with no features set matches anything, and allows - // suggestions from the full search space. + // + // suggestions from the full search space. + // // NOTE: Contexts MUST lie within the search space specified in the - // StudySpec. It's an error if they don't. + // + // StudySpec. It's an error if they don't. + // // NOTE: Contexts preferentially match ACTIVE then REQUESTED trials before - // new suggestions are generated. + // + // new suggestions are generated. + // // NOTE: Generation of suggestions involves a match between a Context and - // (optionally) a REQUESTED trial; if that match is not fully specified, a - // suggestion will be geneated in the merged subspace. + // + // (optionally) a REQUESTED trial; if that match is not fully specified, a + // suggestion will be geneated in the merged subspace. Contexts []*TrialContext `protobuf:"bytes,4,rep,name=contexts,proto3" json:"contexts,omitempty"` } diff --git a/aiplatform/apiv1beta1/aiplatformpb/annotation.pb.go b/aiplatform/apiv1beta1/aiplatformpb/annotation.pb.go index 6d31135498b..405de18f20c 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/annotation.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/annotation.pb.go @@ -81,14 +81,14 @@ type Annotation struct { // System reserved label keys are prefixed with "aiplatform.googleapis.com/" // and are immutable. Following system labels exist for each Annotation: // - // * "aiplatform.googleapis.com/annotation_set_name": - // optional, name of the UI's annotation set this Annotation belongs to. - // If not set, the Annotation is not visible in the UI. + // - "aiplatform.googleapis.com/annotation_set_name": + // optional, name of the UI's annotation set this Annotation belongs to. + // If not set, the Annotation is not visible in the UI. // - // * "aiplatform.googleapis.com/payload_schema": - // output only, its value is the - // [payload_schema's][google.cloud.aiplatform.v1beta1.Annotation.payload_schema_uri] - // title. + // - "aiplatform.googleapis.com/payload_schema": + // output only, its value is the + // [payload_schema's][google.cloud.aiplatform.v1beta1.Annotation.payload_schema_uri] + // title. Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } diff --git a/aiplatform/apiv1beta1/aiplatformpb/batch_prediction_job.pb.go b/aiplatform/apiv1beta1/aiplatformpb/batch_prediction_job.pb.go index f66e7677ef6..9eadd325f0a 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/batch_prediction_job.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/batch_prediction_job.pb.go @@ -62,15 +62,18 @@ type BatchPredictionJob struct { // // The model resource name may contain version id or version alias to specify // the version. - // Example: `projects/{project}/locations/{location}/models/{model}@2` - // or - // `projects/{project}/locations/{location}/models/{model}@golden` + // + // Example: `projects/{project}/locations/{location}/models/{model}@2` + // or + // `projects/{project}/locations/{location}/models/{model}@golden` + // // if no version is specified, the default version will be deployed. // // The model resource could also be a publisher model. - // Example: `publishers/{publisher}/models/{model}` - // or - // `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}` + // + // Example: `publishers/{publisher}/models/{model}` + // or + // `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}` Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"` // Output only. The version ID of the Model that produces the predictions via // this job. @@ -130,14 +133,14 @@ type BatchPredictionJob struct { // [BatchPredictionJob.output_config][google.cloud.aiplatform.v1beta1.BatchPredictionJob.output_config] // object: // - // * `bigquery`: output includes a column named `explanation`. The value - // is a struct that conforms to the - // [Explanation][google.cloud.aiplatform.v1beta1.Explanation] object. - // * `jsonl`: The JSON objects on each line include an additional entry - // keyed `explanation`. The value of the entry is a JSON object that - // conforms to the - // [Explanation][google.cloud.aiplatform.v1beta1.Explanation] object. - // * `csv`: Generating explanations for CSV format is not supported. + // - `bigquery`: output includes a column named `explanation`. The value + // is a struct that conforms to the + // [Explanation][google.cloud.aiplatform.v1beta1.Explanation] object. + // - `jsonl`: The JSON objects on each line include an additional entry + // keyed `explanation`. The value of the entry is a JSON object that + // conforms to the + // [Explanation][google.cloud.aiplatform.v1beta1.Explanation] object. + // - `csv`: Generating explanations for CSV format is not supported. // // If this field is set to true, either the // [Model.explanation_spec][google.cloud.aiplatform.v1beta1.Model.explanation_spec] @@ -477,6 +480,7 @@ type BatchPredictionJob_InputConfig struct { // Required. The source of the input. // // Types that are assignable to Source: + // // *BatchPredictionJob_InputConfig_GcsSource // *BatchPredictionJob_InputConfig_BigquerySource Source isBatchPredictionJob_InputConfig_Source `protobuf_oneof:"source"` @@ -584,39 +588,39 @@ type BatchPredictionJob_InstanceConfig struct { // Supported values are: // // * `object`: Each input is converted to JSON object format. - // * For `bigquery`, each row is converted to an object. - // * For `jsonl`, each line of the JSONL input must be an object. - // * Does not apply to `csv`, `file-list`, `tf-record`, or - // `tf-record-gzip`. + // - For `bigquery`, each row is converted to an object. + // - For `jsonl`, each line of the JSONL input must be an object. + // - Does not apply to `csv`, `file-list`, `tf-record`, or + // `tf-record-gzip`. // // * `array`: Each input is converted to JSON array format. - // * For `bigquery`, each row is converted to an array. The order - // of columns is determined by the BigQuery column order, unless - // [included_fields][google.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.included_fields] - // is populated. - // [included_fields][google.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.included_fields] - // must be populated for specifying field orders. - // * For `jsonl`, if each line of the JSONL input is an object, - // [included_fields][google.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.included_fields] - // must be populated for specifying field orders. - // * Does not apply to `csv`, `file-list`, `tf-record`, or - // `tf-record-gzip`. + // - For `bigquery`, each row is converted to an array. The order + // of columns is determined by the BigQuery column order, unless + // [included_fields][google.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.included_fields] + // is populated. + // [included_fields][google.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.included_fields] + // must be populated for specifying field orders. + // - For `jsonl`, if each line of the JSONL input is an object, + // [included_fields][google.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.included_fields] + // must be populated for specifying field orders. + // - Does not apply to `csv`, `file-list`, `tf-record`, or + // `tf-record-gzip`. // // If not specified, Vertex AI converts the batch prediction input as // follows: // - // * For `bigquery` and `csv`, the behavior is the same as `array`. The - // order of columns is the same as defined in the file or table, unless - // [included_fields][google.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.included_fields] - // is populated. - // * For `jsonl`, the prediction instance format is determined by - // each line of the input. - // * For `tf-record`/`tf-record-gzip`, each record will be converted to - // an object in the format of `{"b64": }`, where `` is - // the Base64-encoded string of the content of the record. - // * For `file-list`, each file in the list will be converted to an - // object in the format of `{"b64": }`, where `` is - // the Base64-encoded string of the content of the file. + // - For `bigquery` and `csv`, the behavior is the same as `array`. The + // order of columns is the same as defined in the file or table, unless + // [included_fields][google.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.included_fields] + // is populated. + // - For `jsonl`, the prediction instance format is determined by + // each line of the input. + // - For `tf-record`/`tf-record-gzip`, each record will be converted to + // an object in the format of `{"b64": }`, where `` is + // the Base64-encoded string of the content of the record. + // - For `file-list`, each file in the list will be converted to an + // object in the format of `{"b64": }`, where `` is + // the Base64-encoded string of the content of the file. InstanceType string `protobuf:"bytes,1,opt,name=instance_type,json=instanceType,proto3" json:"instance_type,omitempty"` // The name of the field that is considered as a key. // @@ -628,10 +632,10 @@ type BatchPredictionJob_InstanceConfig struct { // Instead the output will only include the value of the key field, in a // field named `key` in the output: // - // * For `jsonl` output format, the output will have a `key` field - // instead of the `instance` field. - // * For `csv`/`bigquery` output format, the output will have have a `key` - // column instead of the instance feature columns. + // - For `jsonl` output format, the output will have a `key` field + // instead of the `instance` field. + // - For `csv`/`bigquery` output format, the output will have have a `key` + // column instead of the instance feature columns. // // The input must be JSONL with objects at each line, CSV, BigQuery // or TfRecord. @@ -741,6 +745,7 @@ type BatchPredictionJob_OutputConfig struct { // Required. The destination of the output. // // Types that are assignable to Destination: + // // *BatchPredictionJob_OutputConfig_GcsDestination // *BatchPredictionJob_OutputConfig_BigqueryDestination Destination isBatchPredictionJob_OutputConfig_Destination `protobuf_oneof:"destination"` @@ -882,6 +887,7 @@ type BatchPredictionJob_OutputInfo struct { // The output location into which prediction output is written. // // Types that are assignable to OutputLocation: + // // *BatchPredictionJob_OutputInfo_GcsOutputDirectory // *BatchPredictionJob_OutputInfo_BigqueryOutputDataset OutputLocation isBatchPredictionJob_OutputInfo_OutputLocation `protobuf_oneof:"output_location"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/content.pb.go b/aiplatform/apiv1beta1/aiplatformpb/content.pb.go index 46c5373d33d..7b883f68ea0 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/content.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/content.pb.go @@ -369,6 +369,7 @@ type Part struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Data: + // // *Part_Text // *Part_InlineData // *Part_FileData @@ -376,6 +377,7 @@ type Part struct { // *Part_FunctionResponse Data isPart_Data `protobuf_oneof:"data"` // Types that are assignable to Metadata: + // // *Part_VideoMetadata Metadata isPart_Metadata `protobuf_oneof:"metadata"` } diff --git a/aiplatform/apiv1beta1/aiplatformpb/custom_job.pb.go b/aiplatform/apiv1beta1/aiplatformpb/custom_job.pb.go index f9aa1cf7e94..d79795abbc3 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/custom_job.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/custom_job.pb.go @@ -273,17 +273,17 @@ type CustomJobSpec struct { // The following Vertex AI environment variables will be passed to // containers or python modules when this field is set: // - // For CustomJob: + // For CustomJob: // - // * AIP_MODEL_DIR = `/model/` - // * AIP_CHECKPOINT_DIR = `/checkpoints/` - // * AIP_TENSORBOARD_LOG_DIR = `/logs/` + // * AIP_MODEL_DIR = `/model/` + // * AIP_CHECKPOINT_DIR = `/checkpoints/` + // * AIP_TENSORBOARD_LOG_DIR = `/logs/` // - // For CustomJob backing a Trial of HyperparameterTuningJob: + // For CustomJob backing a Trial of HyperparameterTuningJob: // - // * AIP_MODEL_DIR = `//model/` - // * AIP_CHECKPOINT_DIR = `//checkpoints/` - // * AIP_TENSORBOARD_LOG_DIR = `//logs/` + // * AIP_MODEL_DIR = `//model/` + // * AIP_CHECKPOINT_DIR = `//checkpoints/` + // * AIP_TENSORBOARD_LOG_DIR = `//logs/` BaseOutputDirectory *GcsDestination `protobuf:"bytes,6,opt,name=base_output_directory,json=baseOutputDirectory,proto3" json:"base_output_directory,omitempty"` // The ID of the location to store protected artifacts. e.g. us-central1. // Populate only when the location is different than CustomJob location. @@ -332,9 +332,11 @@ type CustomJobSpec struct { // // In order to retrieve a specific version of the model, also provide // the version ID or version alias. - // Example: `projects/{project}/locations/{location}/models/{model}@2` - // or - // `projects/{project}/locations/{location}/models/{model}@golden` + // + // Example: `projects/{project}/locations/{location}/models/{model}@2` + // or + // `projects/{project}/locations/{location}/models/{model}@golden` + // // If no version ID or alias is specified, the "default" version will be // returned. The "default" version alias is created for the first version of // the model, and can be moved to other versions later on. There will be @@ -481,6 +483,7 @@ type WorkerPoolSpec struct { // The custom task to be executed in this worker pool. // // Types that are assignable to Task: + // // *WorkerPoolSpec_ContainerSpec // *WorkerPoolSpec_PythonPackageSpec Task isWorkerPoolSpec_Task `protobuf_oneof:"task"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/data_labeling_job.pb.go b/aiplatform/apiv1beta1/aiplatformpb/data_labeling_job.pb.go index 49492e75050..9d9527fdf16 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/data_labeling_job.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/data_labeling_job.pb.go @@ -156,9 +156,9 @@ type DataLabelingJob struct { // System reserved label keys are prefixed with "aiplatform.googleapis.com/" // and are immutable. Following system labels exist for each DataLabelingJob: // - // * "aiplatform.googleapis.com/schema": output only, its value is the - // [inputs_schema][google.cloud.aiplatform.v1beta1.DataLabelingJob.inputs_schema_uri]'s - // title. + // - "aiplatform.googleapis.com/schema": output only, its value is the + // [inputs_schema][google.cloud.aiplatform.v1beta1.DataLabelingJob.inputs_schema_uri]'s + // title. Labels map[string]string `protobuf:"bytes,11,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The SpecialistPools' resource names associated with this job. SpecialistPools []string `protobuf:"bytes,16,rep,name=specialist_pools,json=specialistPools,proto3" json:"specialist_pools,omitempty"` @@ -345,6 +345,7 @@ type ActiveLearningConfig struct { // machine. // // Types that are assignable to HumanLabelingBudget: + // // *ActiveLearningConfig_MaxDataItemCount // *ActiveLearningConfig_MaxDataItemPercentage HumanLabelingBudget isActiveLearningConfig_HumanLabelingBudget `protobuf_oneof:"human_labeling_budget"` @@ -453,12 +454,14 @@ type SampleConfig struct { // is used by default. // // Types that are assignable to InitialBatchSampleSize: + // // *SampleConfig_InitialBatchSamplePercentage InitialBatchSampleSize isSampleConfig_InitialBatchSampleSize `protobuf_oneof:"initial_batch_sample_size"` // Decides sample size for the following batches. // following_batch_sample_percentage is used by default. // // Types that are assignable to FollowingBatchSampleSize: + // // *SampleConfig_FollowingBatchSamplePercentage FollowingBatchSampleSize isSampleConfig_FollowingBatchSampleSize `protobuf_oneof:"following_batch_sample_size"` // Field to choose sampling strategy. Sampling strategy will decide which data diff --git a/aiplatform/apiv1beta1/aiplatformpb/dataset.pb.go b/aiplatform/apiv1beta1/aiplatformpb/dataset.pb.go index 6d3249c8859..4f4c7abf71d 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/dataset.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/dataset.pb.go @@ -81,10 +81,10 @@ type Dataset struct { // System reserved label keys are prefixed with "aiplatform.googleapis.com/" // and are immutable. Following system labels exist for each Dataset: // - // * "aiplatform.googleapis.com/dataset_metadata_schema": output only, its - // value is the - // [metadata_schema's][google.cloud.aiplatform.v1beta1.Dataset.metadata_schema_uri] - // title. + // - "aiplatform.googleapis.com/dataset_metadata_schema": output only, its + // value is the + // [metadata_schema's][google.cloud.aiplatform.v1beta1.Dataset.metadata_schema_uri] + // title. Labels map[string]string `protobuf:"bytes,7,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // All SavedQueries belong to the Dataset will be returned in List/Get // Dataset response. The annotation_specs field @@ -237,6 +237,7 @@ type ImportDataConfig struct { // The source of the input. // // Types that are assignable to Source: + // // *ImportDataConfig_GcsSource Source isImportDataConfig_Source `protobuf_oneof:"source"` // Labels that will be applied to newly imported DataItems. If an identical @@ -360,12 +361,14 @@ type ExportDataConfig struct { // The destination of the output. // // Types that are assignable to Destination: + // // *ExportDataConfig_GcsDestination Destination isExportDataConfig_Destination `protobuf_oneof:"destination"` // The instructions how the export data should be split between the // training, validation and test sets. // // Types that are assignable to Split: + // // *ExportDataConfig_FractionSplit Split isExportDataConfig_Split `protobuf_oneof:"split"` // An expression for filtering what part of the Dataset is to be exported. diff --git a/aiplatform/apiv1beta1/aiplatformpb/dataset_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/dataset_service.pb.go index ea5b806f190..9cf16ae1c97 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/dataset_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/dataset_service.pb.go @@ -225,9 +225,9 @@ type UpdateDatasetRequest struct { // For the `FieldMask` definition, see // [google.protobuf.FieldMask][google.protobuf.FieldMask]. Updatable fields: // - // * `display_name` - // * `description` - // * `labels` + // - `display_name` + // - `description` + // - `labels` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -290,17 +290,17 @@ type ListDatasetsRequest struct { // An expression for filtering the results of the request. For field names // both snake_case and camelCase are supported. // - // * `display_name`: supports = and != - // * `metadata_schema_uri`: supports = and != - // * `labels` supports general map functions that is: - // * `labels.key=value` - key:value equality - // * `labels.key:* or labels:key - key existence - // * A key including a space must be quoted. `labels."a key"`. + // - `display_name`: supports = and != + // - `metadata_schema_uri`: supports = and != + // - `labels` supports general map functions that is: + // - `labels.key=value` - key:value equality + // - `labels.key:* or labels:key - key existence + // - A key including a space must be quoted. `labels."a key"`. // // Some examples: // - // * `displayName="myDisplayName"` - // * `labels.myKey="myValue"` + // - `displayName="myDisplayName"` + // - `labels.myKey="myValue"` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -312,9 +312,9 @@ type ListDatasetsRequest struct { // Use "desc" after a field name for descending. // Supported fields: // - // * `display_name` - // * `create_time` - // * `update_time` + // - `display_name` + // - `create_time` + // - `update_time` OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } @@ -1479,6 +1479,7 @@ type SearchDataItemsRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Order: + // // *SearchDataItemsRequest_OrderByDataItem // *SearchDataItemsRequest_OrderByAnnotation_ Order isSearchDataItemsRequest_Order `protobuf_oneof:"order"` @@ -1501,9 +1502,9 @@ type SearchDataItemsRequest struct { DataLabelingJob string `protobuf:"bytes,3,opt,name=data_labeling_job,json=dataLabelingJob,proto3" json:"data_labeling_job,omitempty"` // An expression for filtering the DataItem that will be returned. // - // * `data_item_id` - for = or !=. - // * `labeled` - for = or !=. - // * `has_annotation(ANNOTATION_SPEC_ID)` - true only for DataItem that + // - `data_item_id` - for = or !=. + // - `labeled` - for = or !=. + // - `has_annotation(ANNOTATION_SPEC_ID)` - true only for DataItem that // have at least one annotation with annotation_spec_id = // `ANNOTATION_SPEC_ID` in the context of SavedQuery or DataLabelingJob. // @@ -1514,13 +1515,14 @@ type SearchDataItemsRequest struct { DataItemFilter string `protobuf:"bytes,4,opt,name=data_item_filter,json=dataItemFilter,proto3" json:"data_item_filter,omitempty"` // An expression for filtering the Annotations that will be returned per // DataItem. - // * `annotation_spec_id` - for = or !=. + // - `annotation_spec_id` - for = or !=. // // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/dataset_service.proto. AnnotationsFilter string `protobuf:"bytes,5,opt,name=annotations_filter,json=annotationsFilter,proto3" json:"annotations_filter,omitempty"` // An expression that specifies what Annotations will be returned per // DataItem. Annotations satisfied either of the conditions will be returned. - // * `annotation_spec_id` - for = or !=. + // - `annotation_spec_id` - for = or !=. + // // Must specify `saved_query_id=` - saved query id that annotations should // belong to. AnnotationFilters []string `protobuf:"bytes,11,rep,name=annotation_filters,json=annotationFilters,proto3" json:"annotation_filters,omitempty"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/endpoint.pb.go b/aiplatform/apiv1beta1/aiplatformpb/endpoint.pb.go index 236f628f3bd..ef0fdb5c2b9 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/endpoint.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/endpoint.pb.go @@ -268,6 +268,7 @@ type DeployedModel struct { // Required except for Large Model Deploy use cases. // // Types that are assignable to PredictionResources: + // // *DeployedModel_DedicatedResources // *DeployedModel_AutomaticResources // *DeployedModel_SharedResources @@ -283,9 +284,11 @@ type DeployedModel struct { // // The resource name may contain version id or version alias to specify the // version. - // Example: `projects/{project}/locations/{location}/models/{model}@2` - // or - // `projects/{project}/locations/{location}/models/{model}@golden` + // + // Example: `projects/{project}/locations/{location}/models/{model}@2` + // or + // `projects/{project}/locations/{location}/models/{model}@golden` + // // if no version is specified, the default version will be deployed. Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"` // Output only. The version ID of the model that is deployed. diff --git a/aiplatform/apiv1beta1/aiplatformpb/endpoint_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/endpoint_service.pb.go index 264cdaea6a5..5377254b35b 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/endpoint_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/endpoint_service.pb.go @@ -240,19 +240,19 @@ type ListEndpointsRequest struct { // Optional. An expression for filtering the results of the request. For field // names both snake_case and camelCase are supported. // - // * `endpoint` supports = and !=. `endpoint` represents the Endpoint ID, + // - `endpoint` supports = and !=. `endpoint` represents the Endpoint ID, // i.e. the last segment of the Endpoint's [resource // name][google.cloud.aiplatform.v1beta1.Endpoint.name]. - // * `display_name` supports = and, != - // * `labels` supports general map functions that is: - // * `labels.key=value` - key:value equality - // * `labels.key:* or labels:key - key existence - // * A key including a space must be quoted. `labels."a key"`. + // - `display_name` supports = and, != + // - `labels` supports general map functions that is: + // - `labels.key=value` - key:value equality + // - `labels.key:* or labels:key - key existence + // - A key including a space must be quoted. `labels."a key"`. // // Some examples: - // * `endpoint=1` - // * `displayName="myDisplayName"` - // * `labels.myKey="myValue"` + // - `endpoint=1` + // - `displayName="myDisplayName"` + // - `labels.myKey="myValue"` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Optional. The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/evaluated_annotation.pb.go b/aiplatform/apiv1beta1/aiplatformpb/evaluated_annotation.pb.go index 2fec76c4b15..b90fcbee11d 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/evaluated_annotation.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/evaluated_annotation.pb.go @@ -316,8 +316,8 @@ type EvaluatedAnnotationExplanation struct { // // For AutoML Image Classification models, possible values are: // - // * `image-integrated-gradients` - // * `image-xrai` + // - `image-integrated-gradients` + // - `image-xrai` ExplanationType string `protobuf:"bytes,1,opt,name=explanation_type,json=explanationType,proto3" json:"explanation_type,omitempty"` // Explanation attribution response details. Explanation *Explanation `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/explanation.pb.go b/aiplatform/apiv1beta1/aiplatformpb/explanation.pb.go index 5411ecc2dc0..0284b4cec69 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/explanation.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/explanation.pb.go @@ -437,13 +437,13 @@ type Attribution struct { // // The format of the value is determined by the feature's input format: // - // * If the feature is a scalar value, the attribution value is a + // - If the feature is a scalar value, the attribution value is a // [floating number][google.protobuf.Value.number_value]. // - // * If the feature is an array of scalar values, the attribution value is + // - If the feature is an array of scalar values, the attribution value is // an [array][google.protobuf.Value.list_value]. // - // * If the feature is a struct, the attribution value is a + // - If the feature is a struct, the attribution value is a // [struct][google.protobuf.Value.struct_value]. The keys in the // attribution value struct are the same as the keys in the feature // struct. The formats of the values in the attribution struct are @@ -708,6 +708,7 @@ type ExplanationParameters struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Method: + // // *ExplanationParameters_SampledShapleyAttribution // *ExplanationParameters_IntegratedGradientsAttribution // *ExplanationParameters_XraiAttribution @@ -1099,6 +1100,7 @@ type SmoothGradConfig struct { // prior to computing gradients. // // Types that are assignable to GradientNoiseSigma: + // // *SmoothGradConfig_NoiseSigma // *SmoothGradConfig_FeatureNoiseSigma GradientNoiseSigma isSmoothGradConfig_GradientNoiseSigma `protobuf_oneof:"GradientNoiseSigma"` @@ -1322,9 +1324,11 @@ type Examples struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Source: + // // *Examples_ExampleGcsSource_ Source isExamples_Source `protobuf_oneof:"source"` // Types that are assignable to Config: + // // *Examples_NearestNeighborSearchConfig // *Examples_Presets Config isExamples_Config `protobuf_oneof:"config"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/explanation_metadata.pb.go b/aiplatform/apiv1beta1/aiplatformpb/explanation_metadata.pb.go index d9baa9f08ae..fc05e8818ff 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/explanation_metadata.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/explanation_metadata.pb.go @@ -90,10 +90,12 @@ const ( // ``` // input = ["This", "is", "a", "test", "."] // encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], - // [0.2, 0.1, 0.4, 0.3, 0.5], - // [0.5, 0.1, 0.3, 0.5, 0.4], - // [0.5, 0.3, 0.1, 0.2, 0.4], - // [0.4, 0.3, 0.2, 0.5, 0.1]] + // + // [0.2, 0.1, 0.4, 0.3, 0.5], + // [0.5, 0.1, 0.3, 0.5, 0.4], + // [0.5, 0.3, 0.1, 0.2, 0.4], + // [0.4, 0.3, 0.2, 0.5, 0.1]] + // // ``` ExplanationMetadata_InputMetadata_CONCAT_EMBEDDING ExplanationMetadata_InputMetadata_Encoding = 6 ) @@ -720,6 +722,7 @@ type ExplanationMetadata_OutputMetadata struct { // will not be populated. // // Types that are assignable to DisplayNameMapping: + // // *ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping // *ExplanationMetadata_OutputMetadata_DisplayNameMappingKey DisplayNameMapping isExplanationMetadata_OutputMetadata_DisplayNameMapping `protobuf_oneof:"display_name_mapping"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/feature_group.pb.go b/aiplatform/apiv1beta1/aiplatformpb/feature_group.pb.go index 53cbed356c5..34485271d00 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/feature_group.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/feature_group.pb.go @@ -44,6 +44,7 @@ type FeatureGroup struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Source: + // // *FeatureGroup_BigQuery_ Source isFeatureGroup_Source `protobuf_oneof:"source"` // Identifier. Name of the FeatureGroup. Format: diff --git a/aiplatform/apiv1beta1/aiplatformpb/feature_monitoring_stats.pb.go b/aiplatform/apiv1beta1/aiplatformpb/feature_monitoring_stats.pb.go index 5f3a5bcb9d5..c2273faf038 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/feature_monitoring_stats.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/feature_monitoring_stats.pb.go @@ -73,10 +73,10 @@ type FeatureStatsAnomaly struct { // (https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/anomalies.proto). AnomalyUri string `protobuf:"bytes,4,opt,name=anomaly_uri,json=anomalyUri,proto3" json:"anomaly_uri,omitempty"` // Deviation from the current stats to baseline stats. - // 1. For categorical feature, the distribution distance is calculated by - // L-inifinity norm. - // 2. For numerical feature, the distribution distance is calculated by - // Jensen–Shannon divergence. + // 1. For categorical feature, the distribution distance is calculated by + // L-inifinity norm. + // 2. For numerical feature, the distribution distance is calculated by + // Jensen–Shannon divergence. DistributionDeviation float64 `protobuf:"fixed64,5,opt,name=distribution_deviation,json=distributionDeviation,proto3" json:"distribution_deviation,omitempty"` // This is the threshold used when detecting anomalies. // The threshold can be changed by user, so this one might be different from diff --git a/aiplatform/apiv1beta1/aiplatformpb/feature_online_store.pb.go b/aiplatform/apiv1beta1/aiplatformpb/feature_online_store.pb.go index 84c3e7e96f9..87c1bcd5d4c 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/feature_online_store.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/feature_online_store.pb.go @@ -104,6 +104,7 @@ type FeatureOnlineStore struct { unknownFields protoimpl.UnknownFields // Types that are assignable to StorageType: + // // *FeatureOnlineStore_Bigtable_ // *FeatureOnlineStore_Optimized_ StorageType isFeatureOnlineStore_StorageType `protobuf_oneof:"storage_type"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/feature_online_store_admin_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/feature_online_store_admin_service.pb.go index f2a57c86596..add7a7d4d23 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/feature_online_store_admin_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/feature_online_store_admin_service.pb.go @@ -185,18 +185,22 @@ type ListFeatureOnlineStoresRequest struct { // // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. // Values must be - // in RFC 3339 format. + // + // in RFC 3339 format. + // // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. // Values must be - // in RFC 3339 format. + // + // in RFC 3339 format. + // // * `labels`: Supports key-value equality and key presence. // // Examples: // - // * `create_time > "2020-01-01" OR update_time > "2020-01-01"` - // FeatureOnlineStores created or updated after 2020-01-01. - // * `labels.env = "prod"` - // FeatureOnlineStores with label "env" set to "prod". + // - `create_time > "2020-01-01" OR update_time > "2020-01-01"` + // FeatureOnlineStores created or updated after 2020-01-01. + // - `labels.env = "prod"` + // FeatureOnlineStores with label "env" set to "prod". Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of FeatureOnlineStores to return. The service may return // fewer than this value. If unspecified, at most 100 FeatureOnlineStores will @@ -215,8 +219,8 @@ type ListFeatureOnlineStoresRequest struct { // Use "desc" after a field name for descending. // Supported Fields: // - // * `create_time` - // * `update_time` + // - `create_time` + // - `update_time` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } @@ -370,9 +374,9 @@ type UpdateFeatureOnlineStoreRequest struct { // // Updatable fields: // - // * `big_query_source` - // * `labels` - // * `sync_config` + // - `big_query_source` + // - `labels` + // - `sync_config` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -647,13 +651,13 @@ type ListFeatureViewsRequest struct { // // Examples: // - // * `create_time > \"2020-01-31T15:30:00.000000Z\" OR - // update_time > \"2020-01-31T15:30:00.000000Z\"` --> FeatureViews - // created or updated after 2020-01-31T15:30:00.000000Z. - // * `labels.active = yes AND labels.env = prod` --> FeatureViews having both + // - `create_time > \"2020-01-31T15:30:00.000000Z\" OR + // update_time > \"2020-01-31T15:30:00.000000Z\"` --> FeatureViews + // created or updated after 2020-01-31T15:30:00.000000Z. + // - `labels.active = yes AND labels.env = prod` --> FeatureViews having both // (active: yes) and (env: prod) labels. - // * `labels.env: *` --> Any FeatureView which has a label with 'env' as the - // key. + // - `labels.env: *` --> Any FeatureView which has a label with 'env' as the + // key. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of FeatureViews to return. The service may return fewer // than this value. If unspecified, at most 1000 FeatureViews will be @@ -673,9 +677,9 @@ type ListFeatureViewsRequest struct { // // Supported fields: // - // * `feature_view_id` - // * `create_time` - // * `update_time` + // - `feature_view_id` + // - `create_time` + // - `update_time` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } @@ -829,7 +833,7 @@ type UpdateFeatureViewRequest struct { // // Updatable fields: // - // * `labels` + // - `labels` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -1299,8 +1303,8 @@ type ListFeatureViewSyncsRequest struct { // // Examples: // - // * `create_time > \"2020-01-31T15:30:00.000000Z\"` --> FeatureViewSyncs - // created after 2020-01-31T15:30:00.000000Z. + // - `create_time > \"2020-01-31T15:30:00.000000Z\"` --> FeatureViewSyncs + // created after 2020-01-31T15:30:00.000000Z. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of FeatureViewSyncs to return. The service may return // fewer than this value. If unspecified, at most 1000 FeatureViewSyncs will @@ -1320,7 +1324,7 @@ type ListFeatureViewSyncsRequest struct { // // Supported fields: // - // * `create_time` + // - `create_time` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } diff --git a/aiplatform/apiv1beta1/aiplatformpb/feature_online_store_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/feature_online_store_service.pb.go index bbd7e7d1891..a226a1dbe54 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/feature_online_store_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/feature_online_store_service.pb.go @@ -156,6 +156,7 @@ type FeatureViewDataKey struct { unknownFields protoimpl.UnknownFields // Types that are assignable to KeyOneof: + // // *FeatureViewDataKey_Key KeyOneof isFeatureViewDataKey_KeyOneof `protobuf_oneof:"key_oneof"` } @@ -230,6 +231,7 @@ type FetchFeatureValuesRequest struct { // [FetchFeatureValuesRequest.data_key][google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.data_key]. // // Types that are assignable to EntityId: + // // *FetchFeatureValuesRequest_Id EntityId isFetchFeatureValuesRequest_EntityId `protobuf_oneof:"entity_id"` // Required. FeatureView resource format @@ -347,6 +349,7 @@ type FetchFeatureValuesResponse struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Format: + // // *FetchFeatureValuesResponse_KeyValues // *FetchFeatureValuesResponse_ProtoStruct Format isFetchFeatureValuesResponse_Format `protobuf_oneof:"format"` @@ -430,6 +433,7 @@ type NearestNeighborQuery struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Instance: + // // *NearestNeighborQuery_EntityId // *NearestNeighborQuery_Embedding_ Instance isNearestNeighborQuery_Instance `protobuf_oneof:"instance"` @@ -776,6 +780,7 @@ type FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair st unknownFields protoimpl.UnknownFields // Types that are assignable to Data: + // // *FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair_Value Data isFetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair_Data `protobuf_oneof:"data"` // Feature short name. diff --git a/aiplatform/apiv1beta1/aiplatformpb/feature_registry_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/feature_registry_service.pb.go index 87233656198..894b728547a 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/feature_registry_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/feature_registry_service.pb.go @@ -185,18 +185,22 @@ type ListFeatureGroupsRequest struct { // // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. // Values must be - // in RFC 3339 format. + // + // in RFC 3339 format. + // // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. // Values must be - // in RFC 3339 format. + // + // in RFC 3339 format. + // // * `labels`: Supports key-value equality and key presence. // // Examples: // - // * `create_time > "2020-01-01" OR update_time > "2020-01-01"` - // FeatureGroups created or updated after 2020-01-01. - // * `labels.env = "prod"` - // FeatureGroups with label "env" set to "prod". + // - `create_time > "2020-01-01" OR update_time > "2020-01-01"` + // FeatureGroups created or updated after 2020-01-01. + // - `labels.env = "prod"` + // FeatureGroups with label "env" set to "prod". Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of FeatureGroups to return. The service may return // fewer than this value. If unspecified, at most 100 FeatureGroups will @@ -215,8 +219,8 @@ type ListFeatureGroupsRequest struct { // Use "desc" after a field name for descending. // Supported Fields: // - // * `create_time` - // * `update_time` + // - `create_time` + // - `update_time` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } @@ -370,7 +374,7 @@ type UpdateFeatureGroupRequest struct { // // Updatable fields: // - // * `labels` + // - `labels` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } diff --git a/aiplatform/apiv1beta1/aiplatformpb/feature_selector.pb.go b/aiplatform/apiv1beta1/aiplatformpb/feature_selector.pb.go index 296c1c2dc29..59b6a8eb700 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/feature_selector.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/feature_selector.pb.go @@ -44,10 +44,10 @@ type IdMatcher struct { // Required. The following are accepted as `ids`: // - // * A single-element list containing only `*`, which selects all Features - // in the target EntityType, or - // * A list containing only Feature IDs, which selects only Features with - // those IDs in the target EntityType. + // - A single-element list containing only `*`, which selects all Features + // in the target EntityType, or + // - A list containing only Feature IDs, which selects only Features with + // those IDs in the target EntityType. Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` } diff --git a/aiplatform/apiv1beta1/aiplatformpb/feature_view.pb.go b/aiplatform/apiv1beta1/aiplatformpb/feature_view.pb.go index 0a69d1f5e7f..162efc201a2 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/feature_view.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/feature_view.pb.go @@ -107,6 +107,7 @@ type FeatureView struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Source: + // // *FeatureView_BigQuerySource_ // *FeatureView_FeatureRegistrySource_ Source isFeatureView_Source `protobuf_oneof:"source"` @@ -388,6 +389,7 @@ type FeatureView_VectorSearchConfig struct { // search. // // Types that are assignable to AlgorithmConfig: + // // *FeatureView_VectorSearchConfig_TreeAhConfig // *FeatureView_VectorSearchConfig_BruteForceConfig_ AlgorithmConfig isFeatureView_VectorSearchConfig_AlgorithmConfig `protobuf_oneof:"algorithm_config"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/featurestore_monitoring.pb.go b/aiplatform/apiv1beta1/aiplatformpb/featurestore_monitoring.pb.go index e9a376ed70e..34ac30268d4 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/featurestore_monitoring.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/featurestore_monitoring.pb.go @@ -261,14 +261,18 @@ type FeaturestoreMonitoringConfig_SnapshotAnalysis struct { // The monitoring schedule for snapshot analysis. // For EntityType-level config: - // unset / disabled = true indicates disabled by - // default for Features under it; otherwise by default enable snapshot - // analysis monitoring with monitoring_interval for Features under it. + // + // unset / disabled = true indicates disabled by + // default for Features under it; otherwise by default enable snapshot + // analysis monitoring with monitoring_interval for Features under it. + // // Feature-level config: - // disabled = true indicates disabled regardless of the EntityType-level - // config; unset monitoring_interval indicates going with EntityType-level - // config; otherwise run snapshot analysis monitoring with - // monitoring_interval regardless of the EntityType-level config. + // + // disabled = true indicates disabled regardless of the EntityType-level + // config; unset monitoring_interval indicates going with EntityType-level + // config; otherwise run snapshot analysis monitoring with + // monitoring_interval regardless of the EntityType-level config. + // // Explicitly Disable the snapshot analysis based monitoring. Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"` // Configuration of the snapshot analysis based monitoring pipeline running @@ -423,6 +427,7 @@ type FeaturestoreMonitoringConfig_ThresholdConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Threshold: + // // *FeaturestoreMonitoringConfig_ThresholdConfig_Value Threshold isFeaturestoreMonitoringConfig_ThresholdConfig_Threshold `protobuf_oneof:"threshold"` } diff --git a/aiplatform/apiv1beta1/aiplatformpb/featurestore_online_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/featurestore_online_service.pb.go index 73db6f6dc17..d350d7780a0 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/featurestore_online_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/featurestore_online_service.pb.go @@ -428,6 +428,7 @@ type FeatureValue struct { // Value for the feature. // // Types that are assignable to Value: + // // *FeatureValue_BoolValue // *FeatureValue_DoubleValue // *FeatureValue_Int64Value @@ -851,6 +852,7 @@ type ReadFeatureValuesResponse_EntityView_Data struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Data: + // // *ReadFeatureValuesResponse_EntityView_Data_Value // *ReadFeatureValuesResponse_EntityView_Data_Values Data isReadFeatureValuesResponse_EntityView_Data_Data `protobuf_oneof:"data"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/featurestore_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/featurestore_service.pb.go index 7bce09328d2..fc5ac83727f 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/featurestore_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/featurestore_service.pb.go @@ -187,20 +187,24 @@ type ListFeaturestoresRequest struct { // // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. // Values must be - // in RFC 3339 format. + // + // in RFC 3339 format. + // // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. // Values must be - // in RFC 3339 format. + // + // in RFC 3339 format. + // // * `online_serving_config.fixed_node_count`: Supports `=`, `!=`, `<`, `>`, // `<=`, and `>=` comparisons. // * `labels`: Supports key-value equality and key presence. // // Examples: // - // * `create_time > "2020-01-01" OR update_time > "2020-01-01"` - // Featurestores created or updated after 2020-01-01. - // * `labels.env = "prod"` - // Featurestores with label "env" set to "prod". + // - `create_time > "2020-01-01" OR update_time > "2020-01-01"` + // Featurestores created or updated after 2020-01-01. + // - `labels.env = "prod"` + // Featurestores with label "env" set to "prod". Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of Featurestores to return. The service may return fewer // than this value. If unspecified, at most 100 Featurestores will be @@ -219,9 +223,9 @@ type ListFeaturestoresRequest struct { // Use "desc" after a field name for descending. // Supported Fields: // - // * `create_time` - // * `update_time` - // * `online_serving_config.fixed_node_count` + // - `create_time` + // - `update_time` + // - `online_serving_config.fixed_node_count` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` // Mask specifying which fields to read. ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` @@ -384,10 +388,10 @@ type UpdateFeaturestoreRequest struct { // // Updatable fields: // - // * `labels` - // * `online_serving_config.fixed_node_count` - // * `online_serving_config.scaling` - // * `online_storage_ttl_days` + // - `labels` + // - `online_serving_config.fixed_node_count` + // - `online_serving_config.scaling` + // - `online_storage_ttl_days` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -511,6 +515,7 @@ type ImportFeatureValuesRequest struct { // the format. // // Types that are assignable to Source: + // // *ImportFeatureValuesRequest_AvroSource // *ImportFeatureValuesRequest_BigquerySource // *ImportFeatureValuesRequest_CsvSource @@ -519,6 +524,7 @@ type ImportFeatureValuesRequest struct { // Timestamps must be millisecond-aligned. // // Types that are assignable to FeatureTimeSource: + // // *ImportFeatureValuesRequest_FeatureTimeField // *ImportFeatureValuesRequest_FeatureTime FeatureTimeSource isImportFeatureValuesRequest_FeatureTimeSource `protobuf_oneof:"feature_time_source"` @@ -804,6 +810,7 @@ type BatchReadFeatureValuesRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to ReadOption: + // // *BatchReadFeatureValuesRequest_CsvReadInstances // *BatchReadFeatureValuesRequest_BigqueryReadInstances ReadOption isBatchReadFeatureValuesRequest_ReadOption `protobuf_oneof:"read_option"` @@ -941,7 +948,8 @@ type BatchReadFeatureValuesRequest_CsvReadInstances struct { // // `csv_read_instances` are read instances stored in a plain-text CSV file. // The header should be: - // [ENTITY_TYPE_ID1], [ENTITY_TYPE_ID2], ..., timestamp + // + // [ENTITY_TYPE_ID1], [ENTITY_TYPE_ID2], ..., timestamp // // The columns can be in any order. // @@ -970,6 +978,7 @@ type ExportFeatureValuesRequest struct { // Required. The mode in which Feature values are exported. // // Types that are assignable to Mode: + // // *ExportFeatureValuesRequest_SnapshotExport_ // *ExportFeatureValuesRequest_FullExport_ Mode isExportFeatureValuesRequest_Mode `protobuf_oneof:"mode"` @@ -1151,6 +1160,7 @@ type FeatureValueDestination struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Destination: + // // *FeatureValueDestination_BigqueryDestination // *FeatureValueDestination_TfrecordDestination // *FeatureValueDestination_CsvDestination @@ -1236,12 +1246,12 @@ type FeatureValueDestination_TfrecordDestination struct { // Below are the mapping from Feature value type // in Featurestore to Feature value type in TFRecord: // - // Value type in Featurestore | Value type in TFRecord - // DOUBLE, DOUBLE_ARRAY | FLOAT_LIST - // INT64, INT64_ARRAY | INT64_LIST - // STRING, STRING_ARRAY, BYTES | BYTES_LIST - // true -> byte_string("true"), false -> byte_string("false") - // BOOL, BOOL_ARRAY (true, false) | BYTES_LIST + // Value type in Featurestore | Value type in TFRecord + // DOUBLE, DOUBLE_ARRAY | FLOAT_LIST + // INT64, INT64_ARRAY | INT64_LIST + // STRING, STRING_ARRAY, BYTES | BYTES_LIST + // true -> byte_string("true"), false -> byte_string("false") + // BOOL, BOOL_ARRAY (true, false) | BYTES_LIST TfrecordDestination *TFRecordDestination `protobuf:"bytes,2,opt,name=tfrecord_destination,json=tfrecordDestination,proto3,oneof"` } @@ -1487,13 +1497,13 @@ type ListEntityTypesRequest struct { // // Examples: // - // * `create_time > \"2020-01-31T15:30:00.000000Z\" OR - // update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created - // or updated after 2020-01-31T15:30:00.000000Z. - // * `labels.active = yes AND labels.env = prod` --> EntityTypes having both + // - `create_time > \"2020-01-31T15:30:00.000000Z\" OR + // update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created + // or updated after 2020-01-31T15:30:00.000000Z. + // - `labels.active = yes AND labels.env = prod` --> EntityTypes having both // (active: yes) and (env: prod) labels. - // * `labels.env: *` --> Any EntityType which has a label with 'env' as the - // key. + // - `labels.env: *` --> Any EntityType which has a label with 'env' as the + // key. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of EntityTypes to return. The service may return fewer // than this value. If unspecified, at most 1000 EntityTypes will be returned. @@ -1513,9 +1523,9 @@ type ListEntityTypesRequest struct { // // Supported fields: // - // * `entity_type_id` - // * `create_time` - // * `update_time` + // - `entity_type_id` + // - `create_time` + // - `update_time` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` // Mask specifying which fields to read. ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` @@ -1678,16 +1688,16 @@ type UpdateEntityTypeRequest struct { // // Updatable fields: // - // * `description` - // * `labels` - // * `monitoring_config.snapshot_analysis.disabled` - // * `monitoring_config.snapshot_analysis.monitoring_interval_days` - // * `monitoring_config.snapshot_analysis.staleness_days` - // * `monitoring_config.import_features_analysis.state` - // * `monitoring_config.import_features_analysis.anomaly_detection_baseline` - // * `monitoring_config.numerical_threshold_config.value` - // * `monitoring_config.categorical_threshold_config.value` - // * `offline_storage_ttl_days` + // - `description` + // - `labels` + // - `monitoring_config.snapshot_analysis.disabled` + // - `monitoring_config.snapshot_analysis.monitoring_interval_days` + // - `monitoring_config.snapshot_analysis.staleness_days` + // - `monitoring_config.import_features_analysis.state` + // - `monitoring_config.import_features_analysis.anomaly_detection_baseline` + // - `monitoring_config.numerical_threshold_config.value` + // - `monitoring_config.categorical_threshold_config.value` + // - `offline_storage_ttl_days` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -2076,14 +2086,14 @@ type ListFeaturesRequest struct { // // Examples: // - // * `value_type = DOUBLE` --> Features whose type is DOUBLE. - // * `create_time > \"2020-01-31T15:30:00.000000Z\" OR - // update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created - // or updated after 2020-01-31T15:30:00.000000Z. - // * `labels.active = yes AND labels.env = prod` --> Features having both + // - `value_type = DOUBLE` --> Features whose type is DOUBLE. + // - `create_time > \"2020-01-31T15:30:00.000000Z\" OR + // update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created + // or updated after 2020-01-31T15:30:00.000000Z. + // - `labels.active = yes AND labels.env = prod` --> Features having both // (active: yes) and (env: prod) labels. - // * `labels.env: *` --> Any Feature which has a label with 'env' as the - // key. + // - `labels.env: *` --> Any Feature which has a label with 'env' as the + // key. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of Features to return. The service may return fewer // than this value. If unspecified, at most 1000 Features will be returned. @@ -2106,10 +2116,10 @@ type ListFeaturesRequest struct { // Use "desc" after a field name for descending. // Supported fields: // - // * `feature_id` - // * `value_type` (Not supported for FeatureRegistry Feature) - // * `create_time` - // * `update_time` + // - `feature_id` + // - `value_type` (Not supported for FeatureRegistry Feature) + // - `create_time` + // - `update_time` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` // Mask specifying which fields to read. ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` @@ -2288,13 +2298,13 @@ type SearchFeaturesRequest struct { // and the FIELD are converted to a sequence of words (i.e. tokens) for // comparison. This is done by: // - // * Removing leading/trailing whitespace and tokenizing the search value. - // Characters that are not one of alphanumeric `[a-zA-Z0-9]`, underscore - // `_`, or asterisk `*` are treated as delimiters for tokens. `*` is treated - // as a wildcard that matches characters within a token. - // * Ignoring case. - // * Prepending an asterisk to the first and appending an asterisk to the - // last token in QUERY. + // - Removing leading/trailing whitespace and tokenizing the search value. + // Characters that are not one of alphanumeric `[a-zA-Z0-9]`, underscore + // `_`, or asterisk `*` are treated as delimiters for tokens. `*` is treated + // as a wildcard that matches characters within a token. + // - Ignoring case. + // - Prepending an asterisk to the first and appending an asterisk to the + // last token in QUERY. // // A QUERY must be either a singular token or a phrase. A phrase is one or // multiple words enclosed in double quotation marks ("). With phrases, the @@ -2317,7 +2327,6 @@ type SearchFeaturesRequest struct { // containing the substring `foo` and description containing the substring // `bar`. // - // // Besides field queries, the following exact-match filters are // supported. The exact-match filters do not support wildcards. Unlike // field-restricted queries, exact-match filters are case-sensitive. @@ -2334,11 +2343,11 @@ type SearchFeaturesRequest struct { // // * `description = "foo bar"` --> Any Feature with description exactly equal // to `foo bar` - // * `value_type = DOUBLE` --> Features whose type is DOUBLE. - // * `labels.active = yes AND labels.env = prod` --> Features having both + // - `value_type = DOUBLE` --> Features whose type is DOUBLE. + // - `labels.active = yes AND labels.env = prod` --> Features having both // (active: yes) and (env: prod) labels. - // * `labels.env: *` --> Any Feature which has a label with `env` as the - // key. + // - `labels.env: *` --> Any Feature which has a label with `env` as the + // key. Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` // The maximum number of Features to return. The service may return fewer // than this value. If unspecified, at most 100 Features will be returned. @@ -2426,11 +2435,11 @@ type SearchFeaturesResponse struct { // // Fields returned: // - // * `name` - // * `description` - // * `labels` - // * `create_time` - // * `update_time` + // - `name` + // - `description` + // - `labels` + // - `create_time` + // - `update_time` Features []*Feature `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"` // A token, which can be sent as // [SearchFeaturesRequest.page_token][google.cloud.aiplatform.v1beta1.SearchFeaturesRequest.page_token] @@ -2510,9 +2519,9 @@ type UpdateFeatureRequest struct { // // Updatable fields: // - // * `description` - // * `labels` - // * `disable_monitoring` (Not supported for FeatureRegistry Feature) + // - `description` + // - `labels` + // - `disable_monitoring` (Not supported for FeatureRegistry Feature) UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -3128,6 +3137,7 @@ type DeleteFeatureValuesRequest struct { // Defines options to select feature values to be deleted. // // Types that are assignable to DeleteOption: + // // *DeleteFeatureValuesRequest_SelectEntity_ // *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_ DeleteOption isDeleteFeatureValuesRequest_DeleteOption `protobuf_oneof:"DeleteOption"` @@ -3228,6 +3238,7 @@ type DeleteFeatureValuesResponse struct { // request // // Types that are assignable to Response: + // // *DeleteFeatureValuesResponse_SelectEntity_ // *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_ Response isDeleteFeatureValuesResponse_Response `protobuf_oneof:"response"` @@ -3315,6 +3326,7 @@ type EntityIdSelector struct { // the format. // // Types that are assignable to EntityIdsSource: + // // *EntityIdSelector_CsvSource EntityIdsSource isEntityIdSelector_EntityIdsSource `protobuf_oneof:"EntityIdsSource"` // Source column that holds entity IDs. If not provided, entity IDs are @@ -5958,13 +5970,13 @@ type FeaturestoreServiceClient interface { // // There are also scenarios where the caller can cause inconsistency. // - // - Source data for import contains multiple distinct Feature values for - // the same entity ID and timestamp. - // - Source is modified during an import. This includes adding, updating, or - // removing source data and/or metadata. Examples of updating metadata - // include but are not limited to changing storage location, storage class, - // or retention policy. - // - Online serving cluster is under-provisioned. + // - Source data for import contains multiple distinct Feature values for + // the same entity ID and timestamp. + // - Source is modified during an import. This includes adding, updating, or + // removing source data and/or metadata. Examples of updating metadata + // include but are not limited to changing storage location, storage class, + // or retention policy. + // - Online serving cluster is under-provisioned. ImportFeatureValues(ctx context.Context, in *ImportFeatureValuesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Batch reads Feature values from a Featurestore. // @@ -6236,13 +6248,13 @@ type FeaturestoreServiceServer interface { // // There are also scenarios where the caller can cause inconsistency. // - // - Source data for import contains multiple distinct Feature values for - // the same entity ID and timestamp. - // - Source is modified during an import. This includes adding, updating, or - // removing source data and/or metadata. Examples of updating metadata - // include but are not limited to changing storage location, storage class, - // or retention policy. - // - Online serving cluster is under-provisioned. + // - Source data for import contains multiple distinct Feature values for + // the same entity ID and timestamp. + // - Source is modified during an import. This includes adding, updating, or + // removing source data and/or metadata. Examples of updating metadata + // include but are not limited to changing storage location, storage class, + // or retention policy. + // - Online serving cluster is under-provisioned. ImportFeatureValues(context.Context, *ImportFeatureValuesRequest) (*longrunningpb.Operation, error) // Batch reads Feature values from a Featurestore. // diff --git a/aiplatform/apiv1beta1/aiplatformpb/index.pb.go b/aiplatform/apiv1beta1/aiplatformpb/index.pb.go index e72995f0cda..1335cd3e355 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/index.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/index.pb.go @@ -579,6 +579,7 @@ type IndexDatapoint_NumericRestriction struct { // namespace name. This is verified at runtime. // // Types that are assignable to Value: + // // *IndexDatapoint_NumericRestriction_ValueInt // *IndexDatapoint_NumericRestriction_ValueFloat // *IndexDatapoint_NumericRestriction_ValueDouble diff --git a/aiplatform/apiv1beta1/aiplatformpb/index_endpoint_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/index_endpoint_service.pb.go index 7178971912c..e98b1843d13 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/index_endpoint_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/index_endpoint_service.pb.go @@ -218,21 +218,21 @@ type ListIndexEndpointsRequest struct { // Optional. An expression for filtering the results of the request. For field // names both snake_case and camelCase are supported. // - // * `index_endpoint` supports = and !=. `index_endpoint` represents the - // IndexEndpoint ID, ie. the last segment of the IndexEndpoint's - // [resourcename][google.cloud.aiplatform.v1beta1.IndexEndpoint.name]. - // * `display_name` supports =, != and regex() - // (uses [re2](https://github.com/google/re2/wiki/Syntax) syntax) - // * `labels` supports general map functions that is: - // `labels.key=value` - key:value equality - // `labels.key:* or labels:key - key existence - // A key including a space must be quoted. `labels."a key"`. + // - `index_endpoint` supports = and !=. `index_endpoint` represents the + // IndexEndpoint ID, ie. the last segment of the IndexEndpoint's + // [resourcename][google.cloud.aiplatform.v1beta1.IndexEndpoint.name]. + // - `display_name` supports =, != and regex() + // (uses [re2](https://github.com/google/re2/wiki/Syntax) syntax) + // - `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* or labels:key - key existence + // A key including a space must be quoted. `labels."a key"`. // // Some examples: - // * `index_endpoint="1"` - // * `display_name="myDisplayName"` - // * `regex(display_name, "^A") -> The display name starts with an A. - // * `labels.myKey="myValue"` + // - `index_endpoint="1"` + // - `display_name="myDisplayName"` + // - `regex(display_name, "^A") -> The display name starts with an A. + // - `labels.myKey="myValue"` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Optional. The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/io.pb.go b/aiplatform/apiv1beta1/aiplatformpb/io.pb.go index e664d99ce13..4270ae93ae9 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/io.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/io.pb.go @@ -456,11 +456,11 @@ type ContainerRegistryDestination struct { // Only Google Container Registry and Artifact Registry are supported now. // Accepted forms: // - // * Google Container Registry path. For example: - // `gcr.io/projectId/imageName:tag`. + // - Google Container Registry path. For example: + // `gcr.io/projectId/imageName:tag`. // - // * Artifact Registry path. For example: - // `us-central1-docker.pkg.dev/projectId/repoName/imageName:tag`. + // - Artifact Registry path. For example: + // `us-central1-docker.pkg.dev/projectId/repoName/imageName:tag`. // // If a tag is not specified, "latest" will be used as the default tag. OutputUri string `protobuf:"bytes,1,opt,name=output_uri,json=outputUri,proto3" json:"output_uri,omitempty"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/job_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/job_service.pb.go index d46f62f64a4..ad1de03c668 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/job_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/job_service.pb.go @@ -170,22 +170,22 @@ type ListCustomJobsRequest struct { // // Supported fields: // - // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. - // * `state` supports `=`, `!=` comparisons. - // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. // `create_time` must be in RFC 3339 format. - // * `labels` supports general map functions that is: + // - `labels` supports general map functions that is: // `labels.key=value` - key:value equality // `labels.key:* - key existence // // Some examples of using the filter are: // - // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` - // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` - // * `NOT display_name="my_job"` - // * `create_time>"2021-05-18T00:00:00Z"` - // * `labels.keyA=valueA` - // * `labels.keyB:*` + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -559,22 +559,22 @@ type ListDataLabelingJobsRequest struct { // // Supported fields: // - // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. - // * `state` supports `=`, `!=` comparisons. - // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. // `create_time` must be in RFC 3339 format. - // * `labels` supports general map functions that is: + // - `labels` supports general map functions that is: // `labels.key=value` - key:value equality // `labels.key:* - key existence // // Some examples of using the filter are: // - // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` - // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` - // * `NOT display_name="my_job"` - // * `create_time>"2021-05-18T00:00:00Z"` - // * `labels.keyA=valueA` - // * `labels.keyB:*` + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -957,22 +957,22 @@ type ListHyperparameterTuningJobsRequest struct { // // Supported fields: // - // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. - // * `state` supports `=`, `!=` comparisons. - // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. // `create_time` must be in RFC 3339 format. - // * `labels` supports general map functions that is: + // - `labels` supports general map functions that is: // `labels.key=value` - key:value equality // `labels.key:* - key existence // // Some examples of using the filter are: // - // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` - // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` - // * `NOT display_name="my_job"` - // * `create_time>"2021-05-18T00:00:00Z"` - // * `labels.keyA=valueA` - // * `labels.keyB:*` + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -1348,22 +1348,22 @@ type ListNasJobsRequest struct { // // Supported fields: // - // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. - // * `state` supports `=`, `!=` comparisons. - // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. // `create_time` must be in RFC 3339 format. - // * `labels` supports general map functions that is: + // - `labels` supports general map functions that is: // `labels.key=value` - key:value equality // `labels.key:* - key existence // // Some examples of using the filter are: // - // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` - // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` - // * `NOT display_name="my_job"` - // * `create_time>"2021-05-18T00:00:00Z"` - // * `labels.keyA=valueA` - // * `labels.keyB:*` + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -1928,23 +1928,23 @@ type ListBatchPredictionJobsRequest struct { // // Supported fields: // - // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. - // * `model_display_name` supports `=`, `!=` comparisons. - // * `state` supports `=`, `!=` comparisons. - // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `model_display_name` supports `=`, `!=` comparisons. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. // `create_time` must be in RFC 3339 format. - // * `labels` supports general map functions that is: + // - `labels` supports general map functions that is: // `labels.key=value` - key:value equality // `labels.key:* - key existence // // Some examples of using the filter are: // - // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` - // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` - // * `NOT display_name="my_job"` - // * `create_time>"2021-05-18T00:00:00Z"` - // * `labels.keyA=valueA` - // * `labels.keyB:*` + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -2505,22 +2505,22 @@ type ListModelDeploymentMonitoringJobsRequest struct { // // Supported fields: // - // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. - // * `state` supports `=`, `!=` comparisons. - // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. // `create_time` must be in RFC 3339 format. - // * `labels` supports general map functions that is: + // - `labels` supports general map functions that is: // `labels.key=value` - key:value equality // `labels.key:* - key existence // // Some examples of using the filter are: // - // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` - // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` - // * `NOT display_name="my_job"` - // * `create_time>"2021-05-18T00:00:00Z"` - // * `labels.keyA=valueA` - // * `labels.keyB:*` + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -2680,19 +2680,21 @@ type UpdateModelDeploymentMonitoringJobRequest struct { // // Updatable fields: // - // * `display_name` - // * `model_deployment_monitoring_schedule_config` - // * `model_monitoring_alert_config` - // * `logging_sampling_strategy` - // * `labels` - // * `log_ttl` - // * `enable_monitoring_pipeline_logs` + // - `display_name` + // - `model_deployment_monitoring_schedule_config` + // - `model_monitoring_alert_config` + // - `logging_sampling_strategy` + // - `labels` + // - `log_ttl` + // - `enable_monitoring_pipeline_logs` + // // . and - // * `model_deployment_monitoring_objective_configs` + // - `model_deployment_monitoring_objective_configs` + // // . or - // * `model_deployment_monitoring_objective_configs.objective_config.training_dataset` - // * `model_deployment_monitoring_objective_configs.objective_config.training_prediction_skew_detection_config` - // * `model_deployment_monitoring_objective_configs.objective_config.prediction_drift_detection_config` + // - `model_deployment_monitoring_objective_configs.objective_config.training_dataset` + // - `model_deployment_monitoring_objective_configs.objective_config.training_prediction_skew_detection_config` + // - `model_deployment_monitoring_objective_configs.objective_config.prediction_drift_detection_config` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } diff --git a/aiplatform/apiv1beta1/aiplatformpb/metadata_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/metadata_service.pb.go index 8ffee9f07f5..22208bce31e 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/metadata_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/metadata_service.pb.go @@ -632,21 +632,21 @@ type ListArtifactsRequest struct { // The syntax to define filter query is based on https://google.aip.dev/160. // The supported set of filters include the following: // - // * **Attribute filtering**: + // - **Attribute filtering**: // For example: `display_name = "test"`. // Supported fields include: `name`, `display_name`, `uri`, `state`, // `schema_title`, `create_time`, and `update_time`. // Time fields, such as `create_time` and `update_time`, require values // specified in RFC-3339 format. // For example: `create_time = "2020-11-19T11:30:00-04:00"` - // * **Metadata field**: + // - **Metadata field**: // To filter on metadata fields use traversal operation as follows: // `metadata..`. // For example: `metadata.field_1.number_value = 10.0` // In case the field name contains special characters (such as colon), one // can embed it inside double quote. // For example: `metadata."field:1".number_value = 10.0` - // * **Context based filtering**: + // - **Context based filtering**: // To filter Artifacts based on the contexts to which they belong, use the // function operator with the full resource name // `in_context()`. @@ -1274,30 +1274,32 @@ type ListContextsRequest struct { // The syntax to define filter query is based on https://google.aip.dev/160. // Following are the supported set of filters: // - // * **Attribute filtering**: - // For example: `display_name = "test"`. - // Supported fields include: `name`, `display_name`, `schema_title`, - // `create_time`, and `update_time`. - // Time fields, such as `create_time` and `update_time`, require values - // specified in RFC-3339 format. - // For example: `create_time = "2020-11-19T11:30:00-04:00"`. - // * **Metadata field**: - // To filter on metadata fields use traversal operation as follows: - // `metadata..`. - // For example: `metadata.field_1.number_value = 10.0`. - // In case the field name contains special characters (such as colon), one - // can embed it inside double quote. - // For example: `metadata."field:1".number_value = 10.0` - // * **Parent Child filtering**: - // To filter Contexts based on parent-child relationship use the HAS - // operator as follows: + // - **Attribute filtering**: + // For example: `display_name = "test"`. + // Supported fields include: `name`, `display_name`, `schema_title`, + // `create_time`, and `update_time`. + // Time fields, such as `create_time` and `update_time`, require values + // specified in RFC-3339 format. + // For example: `create_time = "2020-11-19T11:30:00-04:00"`. + // + // - **Metadata field**: + // To filter on metadata fields use traversal operation as follows: + // `metadata..`. + // For example: `metadata.field_1.number_value = 10.0`. + // In case the field name contains special characters (such as colon), one + // can embed it inside double quote. + // For example: `metadata."field:1".number_value = 10.0` // - // ``` - // parent_contexts: - // "projects//locations//metadataStores//contexts/" - // child_contexts: - // "projects//locations//metadataStores//contexts/" - // ``` + // - **Parent Child filtering**: + // To filter Contexts based on parent-child relationship use the HAS + // operator as follows: + // + // ``` + // parent_contexts: + // "projects//locations//metadataStores//contexts/" + // child_contexts: + // "projects//locations//metadataStores//contexts/" + // ``` // // Each of the above supported filters can be combined together using // logical operators (`AND` & `OR`). Maximum nested expression depth allowed @@ -2309,26 +2311,26 @@ type ListExecutionsRequest struct { // The syntax to define filter query is based on https://google.aip.dev/160. // Following are the supported set of filters: // - // * **Attribute filtering**: - // For example: `display_name = "test"`. - // Supported fields include: `name`, `display_name`, `state`, - // `schema_title`, `create_time`, and `update_time`. - // Time fields, such as `create_time` and `update_time`, require values - // specified in RFC-3339 format. - // For example: `create_time = "2020-11-19T11:30:00-04:00"`. - // * **Metadata field**: - // To filter on metadata fields use traversal operation as follows: - // `metadata..` - // For example: `metadata.field_1.number_value = 10.0` - // In case the field name contains special characters (such as colon), one - // can embed it inside double quote. - // For example: `metadata."field:1".number_value = 10.0` - // * **Context based filtering**: - // To filter Executions based on the contexts to which they belong use - // the function operator with the full resource name: - // `in_context()`. - // For example: - // `in_context("projects//locations//metadataStores//contexts/")` + // - **Attribute filtering**: + // For example: `display_name = "test"`. + // Supported fields include: `name`, `display_name`, `state`, + // `schema_title`, `create_time`, and `update_time`. + // Time fields, such as `create_time` and `update_time`, require values + // specified in RFC-3339 format. + // For example: `create_time = "2020-11-19T11:30:00-04:00"`. + // - **Metadata field**: + // To filter on metadata fields use traversal operation as follows: + // `metadata..` + // For example: `metadata.field_1.number_value = 10.0` + // In case the field name contains special characters (such as colon), one + // can embed it inside double quote. + // For example: `metadata."field:1".number_value = 10.0` + // - **Context based filtering**: + // To filter Executions based on the contexts to which they belong use + // the function operator with the full resource name: + // `in_context()`. + // For example: + // `in_context("projects//locations//metadataStores//contexts/")` // // Each of the above supported filters can be combined together using // logical operators (`AND` & `OR`). Maximum nested expression depth allowed @@ -3255,20 +3257,20 @@ type QueryArtifactLineageSubgraphRequest struct { // The syntax to define filter query is based on https://google.aip.dev/160. // The supported set of filters include the following: // - // * **Attribute filtering**: - // For example: `display_name = "test"` - // Supported fields include: `name`, `display_name`, `uri`, `state`, - // `schema_title`, `create_time`, and `update_time`. - // Time fields, such as `create_time` and `update_time`, require values - // specified in RFC-3339 format. - // For example: `create_time = "2020-11-19T11:30:00-04:00"` - // * **Metadata field**: - // To filter on metadata fields use traversal operation as follows: - // `metadata..`. - // For example: `metadata.field_1.number_value = 10.0` - // In case the field name contains special characters (such as colon), one - // can embed it inside double quote. - // For example: `metadata."field:1".number_value = 10.0` + // - **Attribute filtering**: + // For example: `display_name = "test"` + // Supported fields include: `name`, `display_name`, `uri`, `state`, + // `schema_title`, `create_time`, and `update_time`. + // Time fields, such as `create_time` and `update_time`, require values + // specified in RFC-3339 format. + // For example: `create_time = "2020-11-19T11:30:00-04:00"` + // - **Metadata field**: + // To filter on metadata fields use traversal operation as follows: + // `metadata..`. + // For example: `metadata.field_1.number_value = 10.0` + // In case the field name contains special characters (such as colon), one + // can embed it inside double quote. + // For example: `metadata."field:1".number_value = 10.0` // // Each of the above supported filter types can be combined together using // logical operators (`AND` & `OR`). Maximum nested expression depth allowed diff --git a/aiplatform/apiv1beta1/aiplatformpb/migratable_resource.pb.go b/aiplatform/apiv1beta1/aiplatformpb/migratable_resource.pb.go index 1392ba0305a..b2b5e31029d 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/migratable_resource.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/migratable_resource.pb.go @@ -45,6 +45,7 @@ type MigratableResource struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Resource: + // // *MigratableResource_MlEngineModelVersion_ // *MigratableResource_AutomlModel_ // *MigratableResource_AutomlDataset_ diff --git a/aiplatform/apiv1beta1/aiplatformpb/migration_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/migration_service.pb.go index 2168be26157..01faeecfb15 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/migration_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/migration_service.pb.go @@ -61,17 +61,17 @@ type SearchMigratableResourcesRequest struct { PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` // A filter for your search. You can use the following types of filters: // - // * Resource type filters. The following strings filter for a specific type + // - Resource type filters. The following strings filter for a specific type // of // [MigratableResource][google.cloud.aiplatform.v1beta1.MigratableResource]: - // * `ml_engine_model_version:*` - // * `automl_model:*` - // * `automl_dataset:*` - // * `data_labeling_dataset:*` - // * "Migrated or not" filters. The following strings filter for resources + // - `ml_engine_model_version:*` + // - `automl_model:*` + // - `automl_dataset:*` + // - `data_labeling_dataset:*` + // - "Migrated or not" filters. The following strings filter for resources // that either have or have not already been migrated: - // * `last_migrate_time:*` filters for migrated resources. - // * `NOT last_migrate_time:*` filters for not yet migrated resources. + // - `last_migrate_time:*` filters for migrated resources. + // - `NOT last_migrate_time:*` filters for not yet migrated resources. Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } @@ -267,6 +267,7 @@ type MigrateResourceRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Request: + // // *MigrateResourceRequest_MigrateMlEngineModelVersionConfig_ // *MigrateResourceRequest_MigrateAutomlModelConfig_ // *MigrateResourceRequest_MigrateAutomlDatasetConfig_ @@ -436,6 +437,7 @@ type MigrateResourceResponse struct { // After migration, the resource name in Vertex AI. // // Types that are assignable to MigratedResource: + // // *MigrateResourceResponse_Dataset // *MigrateResourceResponse_Model MigratedResource isMigrateResourceResponse_MigratedResource `protobuf_oneof:"migrated_resource"` @@ -920,6 +922,7 @@ type BatchMigrateResourcesOperationMetadata_PartialResult struct { // migrated resource name will be filled. // // Types that are assignable to Result: + // // *BatchMigrateResourcesOperationMetadata_PartialResult_Error // *BatchMigrateResourcesOperationMetadata_PartialResult_Model // *BatchMigrateResourcesOperationMetadata_PartialResult_Dataset diff --git a/aiplatform/apiv1beta1/aiplatformpb/model.pb.go b/aiplatform/apiv1beta1/aiplatformpb/model.pb.go index 9f196949f7e..002106ed204 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/model.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/model.pb.go @@ -359,7 +359,6 @@ type Model struct { // [InputConfig][google.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig] // object. // - // // If this Model doesn't support any of these formats it means it cannot be // used with a // [BatchPredictionJob][google.cloud.aiplatform.v1beta1.BatchPredictionJob]. @@ -397,7 +396,6 @@ type Model struct { // [BigQueryDestination][google.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig.bigquery_destination] // . // - // // If this Model doesn't support any of these formats it means it cannot be // used with a // [BatchPredictionJob][google.cloud.aiplatform.v1beta1.BatchPredictionJob]. @@ -979,14 +977,16 @@ type ModelContainerSpec struct { // // ```json // [ - // { - // "name": "VAR_1", - // "value": "foo" - // }, - // { - // "name": "VAR_2", - // "value": "$(VAR_1) bar" - // } + // + // { + // "name": "VAR_1", + // "value": "foo" + // }, + // { + // "name": "VAR_2", + // "value": "$(VAR_1) bar" + // } + // // ] // ``` // @@ -1008,9 +1008,11 @@ type ModelContainerSpec struct { // // ```json // [ - // { - // "containerPort": 8080 - // } + // + // { + // "containerPort": 8080 + // } + // // ] // ``` // @@ -1037,18 +1039,19 @@ type ModelContainerSpec struct { // /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict // The placeholders in this value are replaced as follows: // - // * ENDPOINT: The last segment (following `endpoints/`)of the - // Endpoint.name][] field of the Endpoint where this Model has been - // deployed. (Vertex AI makes this value available to your container code - // as the [`AIP_ENDPOINT_ID` environment - // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + // - ENDPOINT: The last segment (following `endpoints/`)of the + // Endpoint.name][] field of the Endpoint where this Model has been + // deployed. (Vertex AI makes this value available to your container code + // as the [`AIP_ENDPOINT_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) // // * DEPLOYED_MODEL: // [DeployedModel.id][google.cloud.aiplatform.v1beta1.DeployedModel.id] of the // `DeployedModel`. - // (Vertex AI makes this value available to your container code - // as the [`AIP_DEPLOYED_MODEL_ID` environment - // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + // + // (Vertex AI makes this value available to your container code + // as the [`AIP_DEPLOYED_MODEL_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) PredictRoute string `protobuf:"bytes,6,opt,name=predict_route,json=predictRoute,proto3" json:"predict_route,omitempty"` // Immutable. HTTP path on the container to send health checks to. Vertex AI // intermittently sends GET requests to this path on the container's IP @@ -1067,18 +1070,19 @@ type ModelContainerSpec struct { // /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict // The placeholders in this value are replaced as follows: // - // * ENDPOINT: The last segment (following `endpoints/`)of the - // Endpoint.name][] field of the Endpoint where this Model has been - // deployed. (Vertex AI makes this value available to your container code - // as the [`AIP_ENDPOINT_ID` environment - // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + // - ENDPOINT: The last segment (following `endpoints/`)of the + // Endpoint.name][] field of the Endpoint where this Model has been + // deployed. (Vertex AI makes this value available to your container code + // as the [`AIP_ENDPOINT_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) // // * DEPLOYED_MODEL: // [DeployedModel.id][google.cloud.aiplatform.v1beta1.DeployedModel.id] of the // `DeployedModel`. - // (Vertex AI makes this value available to your container code as the - // [`AIP_DEPLOYED_MODEL_ID` environment - // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + // + // (Vertex AI makes this value available to your container code as the + // [`AIP_DEPLOYED_MODEL_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) HealthRoute string `protobuf:"bytes,7,opt,name=health_route,json=healthRoute,proto3" json:"health_route,omitempty"` // Immutable. List of ports to expose from the container. Vertex AI sends gRPC // prediction requests that it receives to the first port on this list. Vertex @@ -1336,6 +1340,7 @@ type Probe struct { unknownFields protoimpl.UnknownFields // Types that are assignable to ProbeType: + // // *Probe_Exec ProbeType isProbe_ProbeType `protobuf_oneof:"probe_type"` // How often (in seconds) to perform the probe. Default to 10 seconds. diff --git a/aiplatform/apiv1beta1/aiplatformpb/model_evaluation.pb.go b/aiplatform/apiv1beta1/aiplatformpb/model_evaluation.pb.go index 523eb2f06f2..fa88d7b7e62 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/model_evaluation.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/model_evaluation.pb.go @@ -68,7 +68,6 @@ type ModelEvaluation struct { // Aggregated explanation metrics for the Model's prediction output over the // data this ModelEvaluation uses. This field is populated only if the Model // is evaluated with explanations, and only for AutoML tabular Models. - // ModelExplanation *ModelExplanation `protobuf:"bytes,8,opt,name=model_explanation,json=modelExplanation,proto3" json:"model_explanation,omitempty"` // Describes the values of // [ExplanationSpec][google.cloud.aiplatform.v1beta1.ExplanationSpec] that are @@ -194,8 +193,8 @@ type ModelEvaluation_ModelEvaluationExplanationSpec struct { // // For AutoML Image Classification models, possible values are: // - // * `image-integrated-gradients` - // * `image-xrai` + // - `image-integrated-gradients` + // - `image-xrai` ExplanationType string `protobuf:"bytes,1,opt,name=explanation_type,json=explanationType,proto3" json:"explanation_type,omitempty"` // Explanation spec details. ExplanationSpec *ExplanationSpec `protobuf:"bytes,2,opt,name=explanation_spec,json=explanationSpec,proto3" json:"explanation_spec,omitempty"` @@ -263,7 +262,7 @@ type ModelEvaluation_BiasConfig struct { // // Example 1: // - // bias_slices = [{'education': 'low'}] + // bias_slices = [{'education': 'low'}] // // A single slice provided. In this case, slice_a is the collection of data // with 'education' equals 'low', and slice_b is the collection of data with @@ -271,8 +270,8 @@ type ModelEvaluation_BiasConfig struct { // // Example 2: // - // bias_slices = [{'education': 'low'}, - // {'education': 'high'}] + // bias_slices = [{'education': 'low'}, + // {'education': 'high'}] // // Two slices provided. In this case, slice_a is the collection of data // with 'education' equals 'low', and slice_b is the collection of data with diff --git a/aiplatform/apiv1beta1/aiplatformpb/model_evaluation_slice.pb.go b/aiplatform/apiv1beta1/aiplatformpb/model_evaluation_slice.pb.go index 0f40ddd5fe4..61e9a2c4401 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/model_evaluation_slice.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/model_evaluation_slice.pb.go @@ -152,12 +152,12 @@ type ModelEvaluationSlice_Slice struct { // Output only. The dimension of the slice. // Well-known dimensions are: - // * `annotationSpec`: This slice is on the test data that has either + // - `annotationSpec`: This slice is on the test data that has either // ground truth or prediction with // [AnnotationSpec.display_name][google.cloud.aiplatform.v1beta1.AnnotationSpec.display_name] // equals to // [value][google.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.value]. - // * `slice`: This slice is a user customized slice defined by its + // - `slice`: This slice is a user customized slice defined by its // SliceSpec. Dimension string `protobuf:"bytes,1,opt,name=dimension,proto3" json:"dimension,omitempty"` // Output only. The value of the dimension in this slice. @@ -332,6 +332,7 @@ type ModelEvaluationSlice_Slice_SliceSpec_SliceConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Kind: + // // *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Value // *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Range // *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_AllValues @@ -497,6 +498,7 @@ type ModelEvaluationSlice_Slice_SliceSpec_Value struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Kind: + // // *ModelEvaluationSlice_Slice_SliceSpec_Value_StringValue // *ModelEvaluationSlice_Slice_SliceSpec_Value_FloatValue Kind isModelEvaluationSlice_Slice_SliceSpec_Value_Kind `protobuf_oneof:"kind"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/model_monitoring.pb.go b/aiplatform/apiv1beta1/aiplatformpb/model_monitoring.pb.go index 9444337b86d..e272e78da13 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/model_monitoring.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/model_monitoring.pb.go @@ -258,6 +258,7 @@ type ModelMonitoringAlertConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Alert: + // // *ModelMonitoringAlertConfig_EmailAlertConfig_ Alert isModelMonitoringAlertConfig_Alert `protobuf_oneof:"alert"` // Dump the anomalies to Cloud Logging. The anomalies will be put to json @@ -350,6 +351,7 @@ type ThresholdConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Threshold: + // // *ThresholdConfig_Value Threshold isThresholdConfig_Threshold `protobuf_oneof:"threshold"` } @@ -407,10 +409,11 @@ type isThresholdConfig_Threshold interface { type ThresholdConfig_Value struct { // Specify a threshold value that can trigger the alert. // If this threshold config is for feature distribution distance: - // 1. For categorical feature, the distribution distance is calculated by - // L-inifinity norm. - // 2. For numerical feature, the distribution distance is calculated by - // Jensen–Shannon divergence. + // 1. For categorical feature, the distribution distance is calculated by + // L-inifinity norm. + // 2. For numerical feature, the distribution distance is calculated by + // Jensen–Shannon divergence. + // // Each feature must have a non-zero threshold if they need to be monitored. // Otherwise no alert will be triggered for that feature. Value float64 `protobuf:"fixed64,1,opt,name=value,proto3,oneof"` @@ -475,6 +478,7 @@ type ModelMonitoringObjectiveConfig_TrainingDataset struct { unknownFields protoimpl.UnknownFields // Types that are assignable to DataSource: + // // *ModelMonitoringObjectiveConfig_TrainingDataset_Dataset // *ModelMonitoringObjectiveConfig_TrainingDataset_GcsSource // *ModelMonitoringObjectiveConfig_TrainingDataset_BigquerySource @@ -833,6 +837,7 @@ type ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline struct // used to generate the baseline of feature attribution scores. // // Types that are assignable to Destination: + // // *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Gcs // *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Bigquery Destination isModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Destination `protobuf_oneof:"destination"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/model_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/model_service.pb.go index c7258ba21eb..6198aabf0ce 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/model_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/model_service.pb.go @@ -265,9 +265,11 @@ type GetModelRequest struct { // // In order to retrieve a specific version of the model, also provide // the version ID or version alias. - // Example: `projects/{project}/locations/{location}/models/{model}@2` - // or - // `projects/{project}/locations/{location}/models/{model}@golden` + // + // Example: `projects/{project}/locations/{location}/models/{model}@2` + // or + // `projects/{project}/locations/{location}/models/{model}@golden` + // // If no version ID or alias is specified, the "default" version will be // returned. The "default" version alias is created for the first version of // the model, and can be moved to other versions later on. There will be @@ -327,20 +329,20 @@ type ListModelsRequest struct { // An expression for filtering the results of the request. For field names // both snake_case and camelCase are supported. // - // * `model` supports = and !=. `model` represents the Model ID, + // - `model` supports = and !=. `model` represents the Model ID, // i.e. the last segment of the Model's [resource // name][google.cloud.aiplatform.v1beta1.Model.name]. - // * `display_name` supports = and != - // * `labels` supports general map functions that is: - // * `labels.key=value` - key:value equality - // * `labels.key:* or labels:key - key existence - // * A key including a space must be quoted. `labels."a key"`. + // - `display_name` supports = and != + // - `labels` supports general map functions that is: + // - `labels.key=value` - key:value equality + // - `labels.key:* or labels:key - key existence + // - A key including a space must be quoted. `labels."a key"`. // // Some examples: // - // * `model=1234` - // * `displayName="myDisplayName"` - // * `labels.myKey="myValue"` + // - `model=1234` + // - `displayName="myDisplayName"` + // - `labels.myKey="myValue"` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -505,14 +507,14 @@ type ListModelVersionsRequest struct { // An expression for filtering the results of the request. For field names // both snake_case and camelCase are supported. // - // * `labels` supports general map functions that is: - // * `labels.key=value` - key:value equality - // * `labels.key:* or labels:key - key existence - // * A key including a space must be quoted. `labels."a key"`. + // - `labels` supports general map functions that is: + // - `labels.key=value` - key:value equality + // - `labels.key:* or labels:key - key existence + // - A key including a space must be quoted. `labels."a key"`. // // Some examples: // - // * `labels.myKey="myValue"` + // - `labels.myKey="myValue"` Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` // Mask specifying which fields to read. ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` @@ -520,8 +522,8 @@ type ListModelVersionsRequest struct { // Use "desc" after a field name for descending. // Supported fields: // - // * `create_time` - // * `update_time` + // - `create_time` + // - `update_time` // // Example: `update_time asc, create_time desc`. OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` @@ -1244,6 +1246,7 @@ type CopyModelRequest struct { // If both fields are unset, a new Model will be created with a generated ID. // // Types that are assignable to DestinationModel: + // // *CopyModelRequest_ModelId // *CopyModelRequest_ParentModel DestinationModel isCopyModelRequest_DestinationModel `protobuf_oneof:"destination_model"` @@ -2023,7 +2026,7 @@ type ListModelEvaluationSlicesRequest struct { Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The standard list filter. // - // * `slice.dimension` - for =. + // - `slice.dimension` - for =. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/nas_job.pb.go b/aiplatform/apiv1beta1/aiplatformpb/nas_job.pb.go index 47672cbfa0c..26bad780561 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/nas_job.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/nas_job.pb.go @@ -478,6 +478,7 @@ type NasJobSpec struct { // The Neural Architecture Search (NAS) algorithm specification. // // Types that are assignable to NasAlgorithmSpec: + // // *NasJobSpec_MultiTrialAlgorithmSpec_ NasAlgorithmSpec isNasJobSpec_NasAlgorithmSpec `protobuf_oneof:"nas_algorithm_spec"` // The ID of the existing NasJob in the same Project and Location @@ -569,6 +570,7 @@ type NasJobOutput struct { // The output of this Neural Architecture Search (NAS) job. // // Types that are assignable to Output: + // // *NasJobOutput_MultiTrialJobOutput_ Output isNasJobOutput_Output `protobuf_oneof:"output"` } diff --git a/aiplatform/apiv1beta1/aiplatformpb/openapi.pb.go b/aiplatform/apiv1beta1/aiplatformpb/openapi.pb.go index cdda2e96c43..e1504a238ce 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/openapi.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/openapi.pb.go @@ -120,8 +120,9 @@ type Schema struct { Type Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.aiplatform.v1beta1.Type" json:"type,omitempty"` // Optional. The format of the data. // Supported formats: - // for NUMBER type: float, double - // for INTEGER type: int32, int64 + // + // for NUMBER type: float, double + // for INTEGER type: int32, int64 Format string `protobuf:"bytes,7,opt,name=format,proto3" json:"format,omitempty"` // Optional. The description of the data. Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/persistent_resource.pb.go b/aiplatform/apiv1beta1/aiplatformpb/persistent_resource.pb.go index 5c93042da51..07d33fe70f9 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/persistent_resource.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/persistent_resource.pb.go @@ -487,11 +487,12 @@ type RaySpec struct { // prebuild Ray image if user need to use different images for different // head/worker pools. This map needs to cover all the resource pool ids. // Example: - // { - // "ray_head_node_pool": "head image" - // "ray_worker_node_pool1": "worker image" - // "ray_worker_node_pool2": "another worker image" - // } + // + // { + // "ray_head_node_pool": "head image" + // "ray_worker_node_pool1": "worker image" + // "ray_worker_node_pool2": "another worker image" + // } ResourcePoolImages map[string]string `protobuf:"bytes,6,rep,name=resource_pool_images,json=resourcePoolImages,proto3" json:"resource_pool_images,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Optional. This will be used to indicate which resource pool will serve as // the Ray head node(the first node within that pool). Will use the machine @@ -561,10 +562,11 @@ type ResourceRuntime struct { // Output only. URIs for user to connect to the Cluster. // Example: - // { - // "RAY_HEAD_NODE_INTERNAL_IP": "head-node-IP:10001" - // "RAY_DASHBOARD_URI": "ray-dashboard-address:8888" - // } + // + // { + // "RAY_HEAD_NODE_INTERNAL_IP": "head-node-IP:10001" + // "RAY_DASHBOARD_URI": "ray-dashboard-address:8888" + // } AccessUris map[string]string `protobuf:"bytes,1,rep,name=access_uris,json=accessUris,proto3" json:"access_uris,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -621,10 +623,10 @@ type ServiceAccountSpec struct { // Optional. Default service account that this PersistentResource's workloads // run as. The workloads include: // - // * Any runtime specified via `ResourceRuntimeSpec` on creation time, - // for example, Ray. - // * Jobs submitted to PersistentResource, if no other service account - // specified in the job specs. + // - Any runtime specified via `ResourceRuntimeSpec` on creation time, + // for example, Ray. + // - Jobs submitted to PersistentResource, if no other service account + // specified in the job specs. // // Only works when custom service account is enabled and users have the // `iam.serviceAccounts.actAs` permission on this service account. diff --git a/aiplatform/apiv1beta1/aiplatformpb/pipeline_job.pb.go b/aiplatform/apiv1beta1/aiplatformpb/pipeline_job.pb.go index 537aa0ff9c3..38b41f3bc7f 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/pipeline_job.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/pipeline_job.pb.go @@ -674,6 +674,7 @@ type PipelineTaskExecutorDetail struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Details: + // // *PipelineTaskExecutorDetail_ContainerDetail_ // *PipelineTaskExecutorDetail_CustomJobDetail_ Details isPipelineTaskExecutorDetail_Details `protobuf_oneof:"details"` @@ -870,6 +871,7 @@ type PipelineJob_RuntimeConfig_InputArtifact struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Kind: + // // *PipelineJob_RuntimeConfig_InputArtifact_ArtifactId Kind isPipelineJob_RuntimeConfig_InputArtifact_Kind `protobuf_oneof:"kind"` } diff --git a/aiplatform/apiv1beta1/aiplatformpb/pipeline_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/pipeline_service.pb.go index 60b85e65f53..113dbdbeff7 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/pipeline_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/pipeline_service.pb.go @@ -169,22 +169,22 @@ type ListTrainingPipelinesRequest struct { // // Supported fields: // - // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. - // * `state` supports `=`, `!=` comparisons. - // * `training_task_definition` `=`, `!=` comparisons, and `:` wildcard. - // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `training_task_definition` `=`, `!=` comparisons, and `:` wildcard. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. // `create_time` must be in RFC 3339 format. - // * `labels` supports general map functions that is: + // - `labels` supports general map functions that is: // `labels.key=value` - key:value equality // `labels.key:* - key existence // // Some examples of using the filter are: // - // * `state="PIPELINE_STATE_SUCCEEDED" AND display_name:"my_pipeline_*"` - // * `state!="PIPELINE_STATE_FAILED" OR display_name="my_pipeline"` - // * `NOT display_name="my_pipeline"` - // * `create_time>"2021-05-18T00:00:00Z"` - // * `training_task_definition:"*automl_text_classification*"` + // - `state="PIPELINE_STATE_SUCCEEDED" AND display_name:"my_pipeline_*"` + // - `state!="PIPELINE_STATE_FAILED" OR display_name="my_pipeline"` + // - `NOT display_name="my_pipeline"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `training_task_definition:"*automl_text_classification*"` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -571,22 +571,22 @@ type ListPipelineJobsRequest struct { // Lists the PipelineJobs that match the filter expression. The following // fields are supported: // - // * `pipeline_name`: Supports `=` and `!=` comparisons. - // * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. - // * `pipeline_job_user_id`: Supports `=`, `!=` comparisons, and `:` wildcard. - // for example, can check if pipeline's display_name contains *step* by - // doing display_name:\"*step*\" - // * `state`: Supports `=` and `!=` comparisons. - // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. - // Values must be in RFC 3339 format. - // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. - // Values must be in RFC 3339 format. - // * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. - // Values must be in RFC 3339 format. - // * `labels`: Supports key-value equality and key presence. - // * `template_uri`: Supports `=`, `!=` comparisons, and `:` wildcard. - // * `template_metadata.version`: Supports `=`, `!=` comparisons, and `:` - // wildcard. + // - `pipeline_name`: Supports `=` and `!=` comparisons. + // - `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. + // - `pipeline_job_user_id`: Supports `=`, `!=` comparisons, and `:` wildcard. + // for example, can check if pipeline's display_name contains *step* by + // doing display_name:\"*step*\" + // - `state`: Supports `=` and `!=` comparisons. + // - `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // - `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // - `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // - `labels`: Supports key-value equality and key presence. + // - `template_uri`: Supports `=`, `!=` comparisons, and `:` wildcard. + // - `template_metadata.version`: Supports `=`, `!=` comparisons, and `:` + // wildcard. // // Filter expressions can be combined together using logical operators // (`AND` & `OR`). @@ -597,11 +597,11 @@ type ListPipelineJobsRequest struct { // // Examples: // - // * `create_time>"2021-05-18T00:00:00Z" OR - // update_time>"2020-05-18T00:00:00Z"` PipelineJobs created or updated - // after 2020-05-18 00:00:00 UTC. - // * `labels.env = "prod"` - // PipelineJobs with label "env" set to "prod". + // - `create_time>"2021-05-18T00:00:00Z" OR + // update_time>"2020-05-18T00:00:00Z"` PipelineJobs created or updated + // after 2020-05-18 00:00:00 UTC. + // - `labels.env = "prod"` + // PipelineJobs with label "env" set to "prod". Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The standard list page size. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -621,10 +621,10 @@ type ListPipelineJobsRequest struct { // time in ascending order. if order_by is not specified, it will order by // default order is create time in descending order. Supported fields: // - // * `create_time` - // * `update_time` - // * `end_time` - // * `start_time` + // - `create_time` + // - `update_time` + // - `end_time` + // - `start_time` OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` // Mask specifying which fields to read. ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,7,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/prediction_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/prediction_service.pb.go index b503a15e84c..3a49f5e4d97 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/prediction_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/prediction_service.pb.go @@ -916,10 +916,10 @@ type ExplainRequest struct { // [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] // of the DeployedModel. Can be used for explaining prediction results with // different configurations, such as: - // - Explaining top-5 predictions results as opposed to top-1; - // - Increasing path count or step count of the attribution methods to reduce - // approximate errors; - // - Using different baselines for explaining the prediction results. + // - Explaining top-5 predictions results as opposed to top-1; + // - Increasing path count or step count of the attribution methods to reduce + // approximate errors; + // - Using different baselines for explaining the prediction results. ExplanationSpecOverride *ExplanationSpecOverride `protobuf:"bytes,5,opt,name=explanation_spec_override,json=explanationSpecOverride,proto3" json:"explanation_spec_override,omitempty"` // Optional. This field is the same as the one above, but supports multiple // explanations to occur in parallel. The key can be any string. Each override diff --git a/aiplatform/apiv1beta1/aiplatformpb/publisher_model.pb.go b/aiplatform/apiv1beta1/aiplatformpb/publisher_model.pb.go index e51235bdf00..d04d65d695f 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/publisher_model.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/publisher_model.pb.go @@ -363,6 +363,7 @@ type PublisherModel_ResourceReference struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Reference: + // // *PublisherModel_ResourceReference_Uri // *PublisherModel_ResourceReference_ResourceName // *PublisherModel_ResourceReference_UseCase @@ -846,6 +847,7 @@ type PublisherModel_CallToAction_Deploy struct { // DeployedModel uses. // // Types that are assignable to PredictionResources: + // // *PublisherModel_CallToAction_Deploy_DedicatedResources // *PublisherModel_CallToAction_Deploy_AutomaticResources // *PublisherModel_CallToAction_Deploy_SharedResources diff --git a/aiplatform/apiv1beta1/aiplatformpb/schedule.pb.go b/aiplatform/apiv1beta1/aiplatformpb/schedule.pb.go index 4e6e4ee242d..b485f25ccbb 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/schedule.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/schedule.pb.go @@ -109,6 +109,7 @@ type Schedule struct { // The time specification to launch scheduled runs. // // Types that are assignable to TimeSpecification: + // // *Schedule_Cron TimeSpecification isSchedule_TimeSpecification `protobuf_oneof:"time_specification"` // Required. @@ -116,6 +117,7 @@ type Schedule struct { // User-specified ID is not supported in the request template. // // Types that are assignable to Request: + // // *Schedule_CreatePipelineJobRequest Request isSchedule_Request `protobuf_oneof:"request"` // Immutable. The resource name of the Schedule. diff --git a/aiplatform/apiv1beta1/aiplatformpb/schedule_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/schedule_service.pb.go index 38c46da1359..fbe1468da3c 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/schedule_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/schedule_service.pb.go @@ -168,20 +168,19 @@ type ListSchedulesRequest struct { // Lists the Schedules that match the filter expression. The following // fields are supported: // - // * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. - // * `state`: Supports `=` and `!=` comparisons. - // * `request`: Supports existence of the check. - // (e.g. `create_pipeline_job_request:*` --> Schedule has - // create_pipeline_job_request). - // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. - // Values must be in RFC 3339 format. - // * `start_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. - // Values must be in RFC 3339 format. - // * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, `>=` comparisons and `:*` - // existence check. Values must be in RFC 3339 format. - // * `next_run_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` - // comparisons. Values must be in RFC 3339 format. - // + // - `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. + // - `state`: Supports `=` and `!=` comparisons. + // - `request`: Supports existence of the check. + // (e.g. `create_pipeline_job_request:*` --> Schedule has + // create_pipeline_job_request). + // - `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // - `start_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // - `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, `>=` comparisons and `:*` + // existence check. Values must be in RFC 3339 format. + // - `next_run_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` + // comparisons. Values must be in RFC 3339 format. // // Filter expressions can be combined together using logical operators // (`NOT`, `AND` & `OR`). @@ -219,10 +218,10 @@ type ListSchedulesRequest struct { // // Supported fields: // - // * `create_time` - // * `start_time` - // * `end_time` - // * `next_run_time` + // - `create_time` + // - `start_time` + // - `end_time` + // - `next_run_time` OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } @@ -534,9 +533,9 @@ type UpdateScheduleRequest struct { // Required. The Schedule which replaces the resource on the server. // The following restrictions will be applied: // - // * The scheduled request type cannot be changed. - // * The non-empty fields cannot be unset. - // * The output_only fields will be ignored if specified. + // - The scheduled request type cannot be changed. + // - The non-empty fields cannot be unset. + // - The output_only fields will be ignored if specified. Schedule *Schedule `protobuf:"bytes,1,opt,name=schedule,proto3" json:"schedule,omitempty"` // Required. The update mask applies to the resource. See // [google.protobuf.FieldMask][google.protobuf.FieldMask]. diff --git a/aiplatform/apiv1beta1/aiplatformpb/study.pb.go b/aiplatform/apiv1beta1/aiplatformpb/study.pb.go index a37dfdaf1de..3a5a8de37e1 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/study.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/study.pb.go @@ -750,7 +750,8 @@ type TrialContext struct { // contexts, and if there are no matches, we generate suggestions in the // subspace defined by the parameters specified here. // NOTE: a Context without any Parameters matches the entire feasible search - // space. + // + // space. Parameters []*Trial_Parameter `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty"` } @@ -807,6 +808,7 @@ type StudyTimeConstraint struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Constraint: + // // *StudyTimeConstraint_MaxDuration // *StudyTimeConstraint_EndTime Constraint isStudyTimeConstraint_Constraint `protobuf_oneof:"constraint"` @@ -890,6 +892,7 @@ type StudySpec struct { unknownFields protoimpl.UnknownFields // Types that are assignable to AutomatedStoppingSpec: + // // *StudySpec_DecayCurveStoppingSpec // *StudySpec_MedianAutomatedStoppingSpec_ // *StudySpec_ConvexStopConfig_ @@ -1279,6 +1282,7 @@ type StudySpec_ParameterSpec struct { unknownFields protoimpl.UnknownFields // Types that are assignable to ParameterValueSpec: + // // *StudySpec_ParameterSpec_DoubleValueSpec_ // *StudySpec_ParameterSpec_IntegerValueSpec_ // *StudySpec_ParameterSpec_CategoricalValueSpec_ @@ -2314,6 +2318,7 @@ type StudySpec_ParameterSpec_ConditionalParameterSpec struct { // space. // // Types that are assignable to ParentValueCondition: + // // *StudySpec_ParameterSpec_ConditionalParameterSpec_ParentDiscreteValues // *StudySpec_ParameterSpec_ConditionalParameterSpec_ParentIntValues // *StudySpec_ParameterSpec_ConditionalParameterSpec_ParentCategoricalValues diff --git a/aiplatform/apiv1beta1/aiplatformpb/tensorboard_data.pb.go b/aiplatform/apiv1beta1/aiplatformpb/tensorboard_data.pb.go index 50bc6be5bb6..26b73f09169 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/tensorboard_data.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/tensorboard_data.pb.go @@ -115,6 +115,7 @@ type TimeSeriesDataPoint struct { // Value of this time series data point. // // Types that are assignable to Value: + // // *TimeSeriesDataPoint_Scalar // *TimeSeriesDataPoint_Tensor // *TimeSeriesDataPoint_Blobs diff --git a/aiplatform/apiv1beta1/aiplatformpb/tensorboard_experiment.pb.go b/aiplatform/apiv1beta1/aiplatformpb/tensorboard_experiment.pb.go index 0b12f635bea..547ca01cb9f 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/tensorboard_experiment.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/tensorboard_experiment.pb.go @@ -69,10 +69,10 @@ type TensorboardExperiment struct { // System reserved label keys are prefixed with `aiplatform.googleapis.com/` // and are immutable. The following system labels exist for each Dataset: // - // * `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its - // value is the - // [metadata_schema's][google.cloud.aiplatform.v1beta1.Dataset.metadata_schema_uri] - // title. + // - `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its + // value is the + // [metadata_schema's][google.cloud.aiplatform.v1beta1.Dataset.metadata_schema_uri] + // title. Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Used to perform consistent read-modify-write updates. If not set, a blind // "overwrite" update happens. diff --git a/aiplatform/apiv1beta1/aiplatformpb/tool.pb.go b/aiplatform/apiv1beta1/aiplatformpb/tool.pb.go index f942a06ac34..7d3a117f8a2 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/tool.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/tool.pb.go @@ -121,12 +121,14 @@ type FunctionDeclaration struct { // Schema defining the type used for the parameter. For function with no // parameters, this can be left unset. Example with 1 required and 1 optional // parameter: type: OBJECT properties: - // param1: - // type: STRING - // param2: - // type: INTEGER + // + // param1: + // type: STRING + // param2: + // type: INTEGER + // // required: - // - param1 + // - param1 Parameters *Schema `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"` } diff --git a/aiplatform/apiv1beta1/aiplatformpb/training_pipeline.pb.go b/aiplatform/apiv1beta1/aiplatformpb/training_pipeline.pb.go index 8b69d3d9323..efcc6bfc6b9 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/training_pipeline.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/training_pipeline.pb.go @@ -311,6 +311,7 @@ type InputDataConfig struct { // is used by default. // // Types that are assignable to Split: + // // *InputDataConfig_FractionSplit // *InputDataConfig_FilterSplit // *InputDataConfig_PredefinedSplit @@ -322,8 +323,8 @@ type InputDataConfig struct { // The destination of the training data to be written to. // // Supported destination file formats: - // * For non-tabular data: "jsonl". - // * For tabular data: "csv" and "bigquery". + // - For non-tabular data: "jsonl". + // - For tabular data: "csv" and "bigquery". // // The following Vertex AI environment variables are passed to containers // or python modules of the training task when this field is set: @@ -334,6 +335,7 @@ type InputDataConfig struct { // * AIP_TEST_DATA_URI : Sharded exported test data uris. // // Types that are assignable to Destination: + // // *InputDataConfig_GcsDestination // *InputDataConfig_BigqueryDestination Destination isInputDataConfig_Destination `protobuf_oneof:"destination"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/user_action_reference.pb.go b/aiplatform/apiv1beta1/aiplatformpb/user_action_reference.pb.go index a1ee26a83f2..c07e36297ff 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/user_action_reference.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/user_action_reference.pb.go @@ -43,6 +43,7 @@ type UserActionReference struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Reference: + // // *UserActionReference_Operation // *UserActionReference_DataLabelingJob Reference isUserActionReference_Reference `protobuf_oneof:"reference"` diff --git a/aiplatform/apiv1beta1/aiplatformpb/value.pb.go b/aiplatform/apiv1beta1/aiplatformpb/value.pb.go index db19226d6c8..d668153135c 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/value.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/value.pb.go @@ -42,6 +42,7 @@ type Value struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Value: + // // *Value_IntValue // *Value_DoubleValue // *Value_StringValue diff --git a/aiplatform/apiv1beta1/aiplatformpb/vizier_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/vizier_service.pb.go index c3acbc82699..aa0d626de4d 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/vizier_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/vizier_service.pb.go @@ -419,38 +419,49 @@ type SuggestTrialsRequest struct { // is a slice (a subspace) of the search space. // // Typical uses for contexts: - // 1) You are using Vizier to tune a server for best performance, but there's - // a strong weekly cycle. The context specifies the day-of-week. - // This allows Tuesday to generalize from Wednesday without assuming that - // everything is identical. - // 2) Imagine you're optimizing some medical treatment for people. - // As they walk in the door, you know certain facts about them - // (e.g. sex, weight, height, blood-pressure). Put that information in the - // context, and Vizier will adapt its suggestions to the patient. - // 3) You want to do a fair A/B test efficiently. Specify the "A" and "B" - // conditions as contexts, and Vizier will generalize between "A" and "B" - // conditions. If they are similar, this will allow Vizier to converge - // to the optimum faster than if "A" and "B" were separate Studies. - // NOTE: You can also enter contexts as REQUESTED Trials, e.g. via the - // CreateTrial() RPC; that's the asynchronous option where you don't need a - // close association between contexts and suggestions. + // 1. You are using Vizier to tune a server for best performance, but there's + // a strong weekly cycle. The context specifies the day-of-week. + // This allows Tuesday to generalize from Wednesday without assuming that + // everything is identical. + // 2. Imagine you're optimizing some medical treatment for people. + // As they walk in the door, you know certain facts about them + // (e.g. sex, weight, height, blood-pressure). Put that information in the + // context, and Vizier will adapt its suggestions to the patient. + // 3. You want to do a fair A/B test efficiently. Specify the "A" and "B" + // conditions as contexts, and Vizier will generalize between "A" and "B" + // conditions. If they are similar, this will allow Vizier to converge + // to the optimum faster than if "A" and "B" were separate Studies. + // NOTE: You can also enter contexts as REQUESTED Trials, e.g. via the + // CreateTrial() RPC; that's the asynchronous option where you don't need a + // close association between contexts and suggestions. // // NOTE: All the Parameters you set in a context MUST be defined in the - // Study. + // + // Study. + // // NOTE: You must supply 0 or $suggestion_count contexts. - // If you don't supply any contexts, Vizier will make suggestions - // from the full search space specified in the StudySpec; if you supply - // a full set of context, each suggestion will match the corresponding - // context. + // + // If you don't supply any contexts, Vizier will make suggestions + // from the full search space specified in the StudySpec; if you supply + // a full set of context, each suggestion will match the corresponding + // context. + // // NOTE: A Context with no features set matches anything, and allows - // suggestions from the full search space. + // + // suggestions from the full search space. + // // NOTE: Contexts MUST lie within the search space specified in the - // StudySpec. It's an error if they don't. + // + // StudySpec. It's an error if they don't. + // // NOTE: Contexts preferentially match ACTIVE then REQUESTED trials before - // new suggestions are generated. + // + // new suggestions are generated. + // // NOTE: Generation of suggestions involves a match between a Context and - // (optionally) a REQUESTED trial; if that match is not fully specified, a - // suggestion will be geneated in the merged subspace. + // + // (optionally) a REQUESTED trial; if that match is not fully specified, a + // suggestion will be geneated in the merged subspace. Contexts []*TrialContext `protobuf:"bytes,4,rep,name=contexts,proto3" json:"contexts,omitempty"` } diff --git a/alloydb/apiv1/alloydbpb/resources.pb.go b/alloydb/apiv1/alloydbpb/resources.pb.go index cd35652e85e..f00eb6cb0b6 100755 --- a/alloydb/apiv1/alloydbpb/resources.pb.go +++ b/alloydb/apiv1/alloydbpb/resources.pb.go @@ -676,9 +676,9 @@ const ( Instance_PRIMARY Instance_InstanceType = 1 // READ POOL instances support read operations only. Each read pool instance // consists of one or more homogeneous nodes. - // * Read pool of size 1 can only have zonal availability. - // * Read pools with node count of 2 or more can have regional - // availability (nodes are present in 2 or more zones in a region). + // - Read pool of size 1 can only have zonal availability. + // - Read pools with node count of 2 or more can have regional + // availability (nodes are present in 2 or more zones in a region). Instance_READ_POOL Instance_InstanceType = 2 // SECONDARY instances support read operations only. SECONDARY instance // is a cross-region read replica @@ -1343,6 +1343,7 @@ type AutomatedBackupPolicy struct { // per day and a start time chosen arbitrarily. // // Types that are assignable to Schedule: + // // *AutomatedBackupPolicy_WeeklySchedule_ Schedule isAutomatedBackupPolicy_Schedule `protobuf_oneof:"schedule"` // The retention policy for automated backups. @@ -1354,6 +1355,7 @@ type AutomatedBackupPolicy struct { // If no retention policy is set, a default of 14 days is used. // // Types that are assignable to Retention: + // // *AutomatedBackupPolicy_TimeBasedRetention_ // *AutomatedBackupPolicy_QuantityBasedRetention_ Retention isAutomatedBackupPolicy_Retention `protobuf_oneof:"retention"` @@ -1677,7 +1679,7 @@ type BackupSource struct { // it is retained until the backup is deleted. BackupUid string `protobuf:"bytes,2,opt,name=backup_uid,json=backupUid,proto3" json:"backup_uid,omitempty"` // Required. The name of the backup resource with the format: - // * projects/{project}/locations/{region}/backups/{backup_id} + // - projects/{project}/locations/{region}/backups/{backup_id} BackupName string `protobuf:"bytes,1,opt,name=backup_name,json=backupName,proto3" json:"backup_name,omitempty"` } @@ -1799,15 +1801,17 @@ type Cluster struct { // source this cluster was imported from. // // Types that are assignable to Source: + // // *Cluster_BackupSource // *Cluster_MigrationSource Source isCluster_Source `protobuf_oneof:"source"` // Output only. The name of the cluster resource with the format: - // * projects/{project}/locations/{region}/clusters/{cluster_id} + // - projects/{project}/locations/{region}/clusters/{cluster_id} + // // where the cluster ID segment should satisfy the regex expression // `[a-z0-9-]+`. For more details see https://google.aip.dev/122. // The prefix of the cluster resource name is the name of the parent resource: - // * projects/{project}/locations/{region} + // - projects/{project}/locations/{region} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Cluster. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -2137,14 +2141,15 @@ type Instance struct { unknownFields protoimpl.UnknownFields // Output only. The name of the instance resource with the format: - // * projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} + // - projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} + // // where the cluster and instance ID segments should satisfy the regex // expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of // lowercase letters, numbers, and dashes, starting with a letter, and ending // with a letter or number. For more details see https://google.aip.dev/122. // The prefix of the instance resource name is the name of the parent // resource: - // * projects/{project}/locations/{region}/clusters/{cluster_id} + // - projects/{project}/locations/{region}/clusters/{cluster_id} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Instance. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -2181,11 +2186,10 @@ type Instance struct { // zone with available capacity. GceZone string `protobuf:"bytes,12,opt,name=gce_zone,json=gceZone,proto3" json:"gce_zone,omitempty"` // Database flags. Set at instance level. - // * They are copied from primary instance on read instance creation. - // * Read instances can set new or override existing flags that are relevant - // for reads, e.g. for enabling columnar cache on a read instance. Flags - // set on read instance may or may not be present on primary. - // + // - They are copied from primary instance on read instance creation. + // - Read instances can set new or override existing flags that are relevant + // for reads, e.g. for enabling columnar cache on a read instance. Flags + // set on read instance may or may not be present on primary. // // This is a list of "key": "value" pairs. // "key": The name of the flag. These flags are passed at instance setup time, @@ -2490,14 +2494,15 @@ type Backup struct { unknownFields protoimpl.UnknownFields // Output only. The name of the backup resource with the format: - // * projects/{project}/locations/{region}/backups/{backup_id} + // - projects/{project}/locations/{region}/backups/{backup_id} + // // where the cluster and backup ID segments should satisfy the regex // expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of // lowercase letters, numbers, and dashes, starting with a letter, and ending // with a letter or number. For more details see https://google.aip.dev/122. // The prefix of the backup resource name is the name of the parent // resource: - // * projects/{project}/locations/{region} + // - projects/{project}/locations/{region} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Backup. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -2750,11 +2755,13 @@ type SupportedDatabaseFlag struct { // The restrictions on the flag value per type. // // Types that are assignable to Restrictions: + // // *SupportedDatabaseFlag_StringRestrictions_ // *SupportedDatabaseFlag_IntegerRestrictions_ Restrictions isSupportedDatabaseFlag_Restrictions `protobuf_oneof:"restrictions"` // The name of the flag resource, following Google Cloud conventions, e.g.: - // * projects/{project}/locations/{location}/flags/{flag} + // - projects/{project}/locations/{location}/flags/{flag} + // // This field currently has no semantic meaning. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The name of the database flag, e.g. "max_allowed_packets". diff --git a/alloydb/apiv1/alloydbpb/service.pb.go b/alloydb/apiv1/alloydbpb/service.pb.go index b095b96cdd2..90441ae2229 100755 --- a/alloydb/apiv1/alloydbpb/service.pb.go +++ b/alloydb/apiv1/alloydbpb/service.pb.go @@ -179,7 +179,7 @@ type ListClustersRequest struct { // Required. The name of the parent resource. For the required format, see the // comment on the Cluster.name field. Additionally, you can perform an // aggregated list operation by specifying a value with the following format: - // * projects/{project}/locations/- + // - projects/{project}/locations/- Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. Requested page size. Server may return fewer items than // requested. If unspecified, server will pick an appropriate default. @@ -893,6 +893,7 @@ type RestoreClusterRequest struct { // The source to import from. // // Types that are assignable to Source: + // // *RestoreClusterRequest_BackupSource // *RestoreClusterRequest_ContinuousBackupSource Source isRestoreClusterRequest_Source `protobuf_oneof:"source"` @@ -1040,8 +1041,8 @@ type ListInstancesRequest struct { // comment on the Instance.name field. Additionally, you can perform an // aggregated list operation by specifying a value with one of the following // formats: - // * projects/{project}/locations/-/clusters/- - // * projects/{project}/locations/{region}/clusters/- + // - projects/{project}/locations/-/clusters/- + // - projects/{project}/locations/{region}/clusters/- Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. Requested page size. Server may return fewer items than // requested. If unspecified, server will pick an appropriate default. @@ -1715,11 +1716,11 @@ type BatchCreateInstanceStatus struct { // The current state of an instance involved in the batch create operation. // Once the operation is complete, the final state of the instances in the // LRO can be one of: - // 1. ACTIVE, indicating that instances were created successfully - // 2. FAILED, indicating that a particular instance failed creation - // 3. ROLLED_BACK indicating that although the instance was created - // successfully, it had to be rolled back and deleted due to failure in - // other steps of the workflow. + // 1. ACTIVE, indicating that instances were created successfully + // 2. FAILED, indicating that a particular instance failed creation + // 3. ROLLED_BACK indicating that although the instance was created + // successfully, it had to be rolled back and deleted due to failure in + // other steps of the workflow. State BatchCreateInstanceStatus_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.alloydb.v1.BatchCreateInstanceStatus_State" json:"state,omitempty"` // DEPRECATED - Use the error field instead. // Error, if any error occurred and is available, during instance creation. @@ -2740,7 +2741,7 @@ type ListSupportedDatabaseFlagsRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the parent resource. The required format is: - // * projects/{project}/locations/{location} + // - projects/{project}/locations/{location} // // Regardless of the parent specified here, as long it is contains a valid // project and location, the service will return a static list of supported @@ -2873,7 +2874,7 @@ type GenerateClientCertificateRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the parent resource. The required format is: - // * projects/{project}/locations/{location}/clusters/{cluster} + // - projects/{project}/locations/{location}/clusters/{cluster} Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. An optional request ID to identify requests. Specify a unique // request ID so that if you must retry your request, the server will know to @@ -3109,6 +3110,7 @@ type OperationMetadata struct { // Request specific metadata, if any. // // Types that are assignable to RequestSpecific: + // // *OperationMetadata_BatchCreateInstancesMetadata RequestSpecific isOperationMetadata_RequestSpecific `protobuf_oneof:"request_specific"` // Output only. The time the operation was created. diff --git a/alloydb/apiv1alpha/alloydbpb/resources.pb.go b/alloydb/apiv1alpha/alloydbpb/resources.pb.go index 8dd1aab4088..63f70132a74 100755 --- a/alloydb/apiv1alpha/alloydbpb/resources.pb.go +++ b/alloydb/apiv1alpha/alloydbpb/resources.pb.go @@ -680,9 +680,9 @@ const ( Instance_PRIMARY Instance_InstanceType = 1 // READ POOL instances support read operations only. Each read pool instance // consists of one or more homogeneous nodes. - // * Read pool of size 1 can only have zonal availability. - // * Read pools with node count of 2 or more can have regional - // availability (nodes are present in 2 or more zones in a region). + // - Read pool of size 1 can only have zonal availability. + // - Read pools with node count of 2 or more can have regional + // availability (nodes are present in 2 or more zones in a region). Instance_READ_POOL Instance_InstanceType = 2 // SECONDARY instances support read operations only. SECONDARY instance // is a cross-region read replica @@ -1401,6 +1401,7 @@ type AutomatedBackupPolicy struct { // per day and a start time chosen arbitrarily. // // Types that are assignable to Schedule: + // // *AutomatedBackupPolicy_WeeklySchedule_ Schedule isAutomatedBackupPolicy_Schedule `protobuf_oneof:"schedule"` // The retention policy for automated backups. @@ -1412,6 +1413,7 @@ type AutomatedBackupPolicy struct { // If no retention policy is set, a default of 14 days is used. // // Types that are assignable to Retention: + // // *AutomatedBackupPolicy_TimeBasedRetention_ // *AutomatedBackupPolicy_QuantityBasedRetention_ Retention isAutomatedBackupPolicy_Retention `protobuf_oneof:"retention"` @@ -1735,7 +1737,7 @@ type BackupSource struct { // it is retained until the backup is deleted. BackupUid string `protobuf:"bytes,2,opt,name=backup_uid,json=backupUid,proto3" json:"backup_uid,omitempty"` // Required. The name of the backup resource with the format: - // * projects/{project}/locations/{region}/backups/{backup_id} + // - projects/{project}/locations/{region}/backups/{backup_id} BackupName string `protobuf:"bytes,1,opt,name=backup_name,json=backupName,proto3" json:"backup_name,omitempty"` } @@ -1857,15 +1859,17 @@ type Cluster struct { // source this cluster was imported from. // // Types that are assignable to Source: + // // *Cluster_BackupSource // *Cluster_MigrationSource Source isCluster_Source `protobuf_oneof:"source"` // Output only. The name of the cluster resource with the format: - // * projects/{project}/locations/{region}/clusters/{cluster_id} + // - projects/{project}/locations/{region}/clusters/{cluster_id} + // // where the cluster ID segment should satisfy the regex expression // `[a-z0-9-]+`. For more details see https://google.aip.dev/122. // The prefix of the cluster resource name is the name of the parent resource: - // * projects/{project}/locations/{region} + // - projects/{project}/locations/{region} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Cluster. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -2223,14 +2227,15 @@ type Instance struct { unknownFields protoimpl.UnknownFields // Output only. The name of the instance resource with the format: - // * projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} + // - projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} + // // where the cluster and instance ID segments should satisfy the regex // expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of // lowercase letters, numbers, and dashes, starting with a letter, and ending // with a letter or number. For more details see https://google.aip.dev/122. // The prefix of the instance resource name is the name of the parent // resource: - // * projects/{project}/locations/{region}/clusters/{cluster_id} + // - projects/{project}/locations/{region}/clusters/{cluster_id} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Instance. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -2267,11 +2272,10 @@ type Instance struct { // zone with available capacity. GceZone string `protobuf:"bytes,12,opt,name=gce_zone,json=gceZone,proto3" json:"gce_zone,omitempty"` // Database flags. Set at instance level. - // * They are copied from primary instance on read instance creation. - // * Read instances can set new or override existing flags that are relevant - // for reads, e.g. for enabling columnar cache on a read instance. Flags - // set on read instance may or may not be present on primary. - // + // - They are copied from primary instance on read instance creation. + // - Read instances can set new or override existing flags that are relevant + // for reads, e.g. for enabling columnar cache on a read instance. Flags + // set on read instance may or may not be present on primary. // // This is a list of "key": "value" pairs. // "key": The name of the flag. These flags are passed at instance setup time, @@ -2649,14 +2653,15 @@ type Backup struct { unknownFields protoimpl.UnknownFields // Output only. The name of the backup resource with the format: - // * projects/{project}/locations/{region}/backups/{backup_id} + // - projects/{project}/locations/{region}/backups/{backup_id} + // // where the cluster and backup ID segments should satisfy the regex // expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of // lowercase letters, numbers, and dashes, starting with a letter, and ending // with a letter or number. For more details see https://google.aip.dev/122. // The prefix of the backup resource name is the name of the parent // resource: - // * projects/{project}/locations/{region} + // - projects/{project}/locations/{region} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Backup. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -2927,11 +2932,13 @@ type SupportedDatabaseFlag struct { // The restrictions on the flag value per type. // // Types that are assignable to Restrictions: + // // *SupportedDatabaseFlag_StringRestrictions_ // *SupportedDatabaseFlag_IntegerRestrictions_ Restrictions isSupportedDatabaseFlag_Restrictions `protobuf_oneof:"restrictions"` // The name of the flag resource, following Google Cloud conventions, e.g.: - // * projects/{project}/locations/{location}/flags/{flag} + // - projects/{project}/locations/{location}/flags/{flag} + // // This field currently has no semantic meaning. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The name of the database flag, e.g. "max_allowed_packets". diff --git a/alloydb/apiv1alpha/alloydbpb/service.pb.go b/alloydb/apiv1alpha/alloydbpb/service.pb.go index 82dcbdfc7fc..1c999eb3240 100755 --- a/alloydb/apiv1alpha/alloydbpb/service.pb.go +++ b/alloydb/apiv1alpha/alloydbpb/service.pb.go @@ -179,7 +179,7 @@ type ListClustersRequest struct { // Required. The name of the parent resource. For the required format, see the // comment on the Cluster.name field. Additionally, you can perform an // aggregated list operation by specifying a value with the following format: - // * projects/{project}/locations/- + // - projects/{project}/locations/- Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. Requested page size. Server may return fewer items than // requested. If unspecified, server will pick an appropriate default. @@ -893,6 +893,7 @@ type RestoreClusterRequest struct { // The source to import from. // // Types that are assignable to Source: + // // *RestoreClusterRequest_BackupSource // *RestoreClusterRequest_ContinuousBackupSource Source isRestoreClusterRequest_Source `protobuf_oneof:"source"` @@ -1040,8 +1041,8 @@ type ListInstancesRequest struct { // comment on the Instance.name field. Additionally, you can perform an // aggregated list operation by specifying a value with one of the following // formats: - // * projects/{project}/locations/-/clusters/- - // * projects/{project}/locations/{region}/clusters/- + // - projects/{project}/locations/-/clusters/- + // - projects/{project}/locations/{region}/clusters/- Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. Requested page size. Server may return fewer items than // requested. If unspecified, server will pick an appropriate default. @@ -1715,11 +1716,11 @@ type BatchCreateInstanceStatus struct { // The current state of an instance involved in the batch create operation. // Once the operation is complete, the final state of the instances in the // LRO can be one of: - // 1. ACTIVE, indicating that instances were created successfully - // 2. FAILED, indicating that a particular instance failed creation - // 3. ROLLED_BACK indicating that although the instance was created - // successfully, it had to be rolled back and deleted due to failure in - // other steps of the workflow. + // 1. ACTIVE, indicating that instances were created successfully + // 2. FAILED, indicating that a particular instance failed creation + // 3. ROLLED_BACK indicating that although the instance was created + // successfully, it had to be rolled back and deleted due to failure in + // other steps of the workflow. State BatchCreateInstanceStatus_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.alloydb.v1alpha.BatchCreateInstanceStatus_State" json:"state,omitempty"` // DEPRECATED - Use the error field instead. // Error, if any error occurred and is available, during instance creation. @@ -2740,7 +2741,7 @@ type ListSupportedDatabaseFlagsRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the parent resource. The required format is: - // * projects/{project}/locations/{location} + // - projects/{project}/locations/{location} // // Regardless of the parent specified here, as long it is contains a valid // project and location, the service will return a static list of supported @@ -2873,7 +2874,7 @@ type GenerateClientCertificateRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the parent resource. The required format is: - // * projects/{project}/locations/{location}/clusters/{cluster} + // - projects/{project}/locations/{location}/clusters/{cluster} Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. An optional request ID to identify requests. Specify a unique // request ID so that if you must retry your request, the server will know to @@ -3134,6 +3135,7 @@ type OperationMetadata struct { // Request specific metadata, if any. // // Types that are assignable to RequestSpecific: + // // *OperationMetadata_BatchCreateInstancesMetadata RequestSpecific isOperationMetadata_RequestSpecific `protobuf_oneof:"request_specific"` // Output only. The time the operation was created. diff --git a/alloydb/apiv1beta/alloydbpb/resources.pb.go b/alloydb/apiv1beta/alloydbpb/resources.pb.go index 508eb72b8ca..36271f208f5 100755 --- a/alloydb/apiv1beta/alloydbpb/resources.pb.go +++ b/alloydb/apiv1beta/alloydbpb/resources.pb.go @@ -680,9 +680,9 @@ const ( Instance_PRIMARY Instance_InstanceType = 1 // READ POOL instances support read operations only. Each read pool instance // consists of one or more homogeneous nodes. - // * Read pool of size 1 can only have zonal availability. - // * Read pools with node count of 2 or more can have regional - // availability (nodes are present in 2 or more zones in a region). + // - Read pool of size 1 can only have zonal availability. + // - Read pools with node count of 2 or more can have regional + // availability (nodes are present in 2 or more zones in a region). Instance_READ_POOL Instance_InstanceType = 2 // SECONDARY instances support read operations only. SECONDARY instance // is a cross-region read replica @@ -1401,6 +1401,7 @@ type AutomatedBackupPolicy struct { // per day and a start time chosen arbitrarily. // // Types that are assignable to Schedule: + // // *AutomatedBackupPolicy_WeeklySchedule_ Schedule isAutomatedBackupPolicy_Schedule `protobuf_oneof:"schedule"` // The retention policy for automated backups. @@ -1412,6 +1413,7 @@ type AutomatedBackupPolicy struct { // If no retention policy is set, a default of 14 days is used. // // Types that are assignable to Retention: + // // *AutomatedBackupPolicy_TimeBasedRetention_ // *AutomatedBackupPolicy_QuantityBasedRetention_ Retention isAutomatedBackupPolicy_Retention `protobuf_oneof:"retention"` @@ -1735,7 +1737,7 @@ type BackupSource struct { // it is retained until the backup is deleted. BackupUid string `protobuf:"bytes,2,opt,name=backup_uid,json=backupUid,proto3" json:"backup_uid,omitempty"` // Required. The name of the backup resource with the format: - // * projects/{project}/locations/{region}/backups/{backup_id} + // - projects/{project}/locations/{region}/backups/{backup_id} BackupName string `protobuf:"bytes,1,opt,name=backup_name,json=backupName,proto3" json:"backup_name,omitempty"` } @@ -1857,15 +1859,17 @@ type Cluster struct { // source this cluster was imported from. // // Types that are assignable to Source: + // // *Cluster_BackupSource // *Cluster_MigrationSource Source isCluster_Source `protobuf_oneof:"source"` // Output only. The name of the cluster resource with the format: - // * projects/{project}/locations/{region}/clusters/{cluster_id} + // - projects/{project}/locations/{region}/clusters/{cluster_id} + // // where the cluster ID segment should satisfy the regex expression // `[a-z0-9-]+`. For more details see https://google.aip.dev/122. // The prefix of the cluster resource name is the name of the parent resource: - // * projects/{project}/locations/{region} + // - projects/{project}/locations/{region} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Cluster. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -2195,14 +2199,15 @@ type Instance struct { unknownFields protoimpl.UnknownFields // Output only. The name of the instance resource with the format: - // * projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} + // - projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} + // // where the cluster and instance ID segments should satisfy the regex // expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of // lowercase letters, numbers, and dashes, starting with a letter, and ending // with a letter or number. For more details see https://google.aip.dev/122. // The prefix of the instance resource name is the name of the parent // resource: - // * projects/{project}/locations/{region}/clusters/{cluster_id} + // - projects/{project}/locations/{region}/clusters/{cluster_id} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Instance. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -2239,11 +2244,10 @@ type Instance struct { // zone with available capacity. GceZone string `protobuf:"bytes,12,opt,name=gce_zone,json=gceZone,proto3" json:"gce_zone,omitempty"` // Database flags. Set at instance level. - // * They are copied from primary instance on read instance creation. - // * Read instances can set new or override existing flags that are relevant - // for reads, e.g. for enabling columnar cache on a read instance. Flags - // set on read instance may or may not be present on primary. - // + // - They are copied from primary instance on read instance creation. + // - Read instances can set new or override existing flags that are relevant + // for reads, e.g. for enabling columnar cache on a read instance. Flags + // set on read instance may or may not be present on primary. // // This is a list of "key": "value" pairs. // "key": The name of the flag. These flags are passed at instance setup time, @@ -2572,14 +2576,15 @@ type Backup struct { unknownFields protoimpl.UnknownFields // Output only. The name of the backup resource with the format: - // * projects/{project}/locations/{region}/backups/{backup_id} + // - projects/{project}/locations/{region}/backups/{backup_id} + // // where the cluster and backup ID segments should satisfy the regex // expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of // lowercase letters, numbers, and dashes, starting with a letter, and ending // with a letter or number. For more details see https://google.aip.dev/122. // The prefix of the backup resource name is the name of the parent // resource: - // * projects/{project}/locations/{region} + // - projects/{project}/locations/{region} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Backup. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -2832,11 +2837,13 @@ type SupportedDatabaseFlag struct { // The restrictions on the flag value per type. // // Types that are assignable to Restrictions: + // // *SupportedDatabaseFlag_StringRestrictions_ // *SupportedDatabaseFlag_IntegerRestrictions_ Restrictions isSupportedDatabaseFlag_Restrictions `protobuf_oneof:"restrictions"` // The name of the flag resource, following Google Cloud conventions, e.g.: - // * projects/{project}/locations/{location}/flags/{flag} + // - projects/{project}/locations/{location}/flags/{flag} + // // This field currently has no semantic meaning. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The name of the database flag, e.g. "max_allowed_packets". diff --git a/alloydb/apiv1beta/alloydbpb/service.pb.go b/alloydb/apiv1beta/alloydbpb/service.pb.go index bf431e6ce22..a2b7a29af11 100755 --- a/alloydb/apiv1beta/alloydbpb/service.pb.go +++ b/alloydb/apiv1beta/alloydbpb/service.pb.go @@ -179,7 +179,7 @@ type ListClustersRequest struct { // Required. The name of the parent resource. For the required format, see the // comment on the Cluster.name field. Additionally, you can perform an // aggregated list operation by specifying a value with the following format: - // * projects/{project}/locations/- + // - projects/{project}/locations/- Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. Requested page size. Server may return fewer items than // requested. If unspecified, server will pick an appropriate default. @@ -893,6 +893,7 @@ type RestoreClusterRequest struct { // The source to import from. // // Types that are assignable to Source: + // // *RestoreClusterRequest_BackupSource // *RestoreClusterRequest_ContinuousBackupSource Source isRestoreClusterRequest_Source `protobuf_oneof:"source"` @@ -1040,8 +1041,8 @@ type ListInstancesRequest struct { // comment on the Instance.name field. Additionally, you can perform an // aggregated list operation by specifying a value with one of the following // formats: - // * projects/{project}/locations/-/clusters/- - // * projects/{project}/locations/{region}/clusters/- + // - projects/{project}/locations/-/clusters/- + // - projects/{project}/locations/{region}/clusters/- Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. Requested page size. Server may return fewer items than // requested. If unspecified, server will pick an appropriate default. @@ -1715,11 +1716,11 @@ type BatchCreateInstanceStatus struct { // The current state of an instance involved in the batch create operation. // Once the operation is complete, the final state of the instances in the // LRO can be one of: - // 1. ACTIVE, indicating that instances were created successfully - // 2. FAILED, indicating that a particular instance failed creation - // 3. ROLLED_BACK indicating that although the instance was created - // successfully, it had to be rolled back and deleted due to failure in - // other steps of the workflow. + // 1. ACTIVE, indicating that instances were created successfully + // 2. FAILED, indicating that a particular instance failed creation + // 3. ROLLED_BACK indicating that although the instance was created + // successfully, it had to be rolled back and deleted due to failure in + // other steps of the workflow. State BatchCreateInstanceStatus_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.alloydb.v1beta.BatchCreateInstanceStatus_State" json:"state,omitempty"` // DEPRECATED - Use the error field instead. // Error, if any error occurred and is available, during instance creation. @@ -2740,7 +2741,7 @@ type ListSupportedDatabaseFlagsRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the parent resource. The required format is: - // * projects/{project}/locations/{location} + // - projects/{project}/locations/{location} // // Regardless of the parent specified here, as long it is contains a valid // project and location, the service will return a static list of supported @@ -2873,7 +2874,7 @@ type GenerateClientCertificateRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the parent resource. The required format is: - // * projects/{project}/locations/{location}/clusters/{cluster} + // - projects/{project}/locations/{location}/clusters/{cluster} Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. An optional request ID to identify requests. Specify a unique // request ID so that if you must retry your request, the server will know to @@ -3130,6 +3131,7 @@ type OperationMetadata struct { // Request specific metadata, if any. // // Types that are assignable to RequestSpecific: + // // *OperationMetadata_BatchCreateInstancesMetadata RequestSpecific isOperationMetadata_RequestSpecific `protobuf_oneof:"request_specific"` // Output only. The time the operation was created. diff --git a/analytics/admin/apiv1alpha/adminpb/access_report.pb.go b/analytics/admin/apiv1alpha/adminpb/access_report.pb.go index 9d09afb8dab..d157d332f24 100755 --- a/analytics/admin/apiv1alpha/adminpb/access_report.pb.go +++ b/analytics/admin/apiv1alpha/adminpb/access_report.pb.go @@ -414,6 +414,7 @@ type AccessFilterExpression struct { // Specify one type of filter expression for `FilterExpression`. // // Types that are assignable to OneExpression: + // // *AccessFilterExpression_AndGroup // *AccessFilterExpression_OrGroup // *AccessFilterExpression_NotExpression @@ -579,6 +580,7 @@ type AccessFilter struct { // Specify one type of filter for `Filter`. // // Types that are assignable to OneFilter: + // // *AccessFilter_StringFilter // *AccessFilter_InListFilter // *AccessFilter_NumericFilter @@ -944,6 +946,7 @@ type NumericValue struct { // One of a numeric value // // Types that are assignable to OneValue: + // // *NumericValue_Int64Value // *NumericValue_DoubleValue OneValue isNumericValue_OneValue `protobuf_oneof:"one_value"` @@ -1031,6 +1034,7 @@ type AccessOrderBy struct { // Specify one type of order by for `OrderBy`. // // Types that are assignable to OneOrderBy: + // // *AccessOrderBy_Metric // *AccessOrderBy_Dimension OneOrderBy isAccessOrderBy_OneOrderBy `protobuf_oneof:"one_order_by"` diff --git a/analytics/admin/apiv1alpha/adminpb/analytics_admin.pb.go b/analytics/admin/apiv1alpha/adminpb/analytics_admin.pb.go index 4e6cc692ff5..5cda9e6fdba 100755 --- a/analytics/admin/apiv1alpha/adminpb/analytics_admin.pb.go +++ b/analytics/admin/apiv1alpha/adminpb/analytics_admin.pb.go @@ -2008,10 +2008,12 @@ type SearchChangeHistoryEventsRequest struct { unknownFields protoimpl.UnknownFields // Required. The account resource for which to return change history - // resources. + // resources. Format: accounts/{account} Example: "accounts/100" Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` // Optional. Resource name for a child property. If set, only return changes // made to this property or its child resources. + // Format: properties/{propertyId} + // Example: "properties/100" Property string `protobuf:"bytes,2,opt,name=property,proto3" json:"property,omitempty"` // Optional. If set, only return changes if they are for a resource that // matches at least one of these types. @@ -5217,21 +5219,30 @@ func (x *GetCustomMetricRequest) GetName() string { return "" } -// Request message for GetDataRetentionSettings RPC. -type GetDataRetentionSettingsRequest struct { +// Request message for CreateCalculatedMetric RPC. +type CreateCalculatedMetricRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The name of the settings to lookup. - // Format: - // properties/{property}/dataRetentionSettings - // Example: "properties/1000/dataRetentionSettings" - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` -} - -func (x *GetDataRetentionSettingsRequest) Reset() { - *x = GetDataRetentionSettingsRequest{} + // Required. Format: properties/{property_id} + // Example: properties/1234 + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The ID to use for the calculated metric which will become the + // final component of the calculated metric's resource name. + // + // This value should be 1-80 characters and valid characters are + // /[a-zA-Z0-9_]/, no spaces allowed. calculated_metric_id must be unique + // between all calculated metrics under a property. The calculated_metric_id + // is used when referencing this calculated metric from external APIs, for + // example, "calcMetric:{calculated_metric_id}". + CalculatedMetricId string `protobuf:"bytes,2,opt,name=calculated_metric_id,json=calculatedMetricId,proto3" json:"calculated_metric_id,omitempty"` + // Required. The CalculatedMetric to create. + CalculatedMetric *CalculatedMetric `protobuf:"bytes,3,opt,name=calculated_metric,json=calculatedMetric,proto3" json:"calculated_metric,omitempty"` +} + +func (x *CreateCalculatedMetricRequest) Reset() { + *x = CreateCalculatedMetricRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5239,13 +5250,13 @@ func (x *GetDataRetentionSettingsRequest) Reset() { } } -func (x *GetDataRetentionSettingsRequest) String() string { +func (x *CreateCalculatedMetricRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetDataRetentionSettingsRequest) ProtoMessage() {} +func (*CreateCalculatedMetricRequest) ProtoMessage() {} -func (x *GetDataRetentionSettingsRequest) ProtoReflect() protoreflect.Message { +func (x *CreateCalculatedMetricRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5257,36 +5268,48 @@ func (x *GetDataRetentionSettingsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetDataRetentionSettingsRequest.ProtoReflect.Descriptor instead. -func (*GetDataRetentionSettingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateCalculatedMetricRequest.ProtoReflect.Descriptor instead. +func (*CreateCalculatedMetricRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{84} } -func (x *GetDataRetentionSettingsRequest) GetName() string { +func (x *CreateCalculatedMetricRequest) GetParent() string { if x != nil { - return x.Name + return x.Parent } return "" } -// Request message for UpdateDataRetentionSettings RPC. -type UpdateDataRetentionSettingsRequest struct { +func (x *CreateCalculatedMetricRequest) GetCalculatedMetricId() string { + if x != nil { + return x.CalculatedMetricId + } + return "" +} + +func (x *CreateCalculatedMetricRequest) GetCalculatedMetric() *CalculatedMetric { + if x != nil { + return x.CalculatedMetric + } + return nil +} + +// Request message for UpdateCalculatedMetric RPC. +type UpdateCalculatedMetricRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The settings to update. - // The `name` field is used to identify the settings to be updated. - DataRetentionSettings *DataRetentionSettings `protobuf:"bytes,1,opt,name=data_retention_settings,json=dataRetentionSettings,proto3" json:"data_retention_settings,omitempty"` - // Required. The list of fields to be updated. Field names must be in snake - // case (e.g., "field_to_update"). Omitted fields will not be updated. To - // replace the entire entity, use one path with the string "*" to match all - // fields. + // Required. The CalculatedMetric to update + CalculatedMetric *CalculatedMetric `protobuf:"bytes,1,opt,name=calculated_metric,json=calculatedMetric,proto3" json:"calculated_metric,omitempty"` + // Required. The list of fields to be updated. Omitted fields will not be + // updated. To replace the entire entity, use one path with the string "*" to + // match all fields. UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } -func (x *UpdateDataRetentionSettingsRequest) Reset() { - *x = UpdateDataRetentionSettingsRequest{} +func (x *UpdateCalculatedMetricRequest) Reset() { + *x = UpdateCalculatedMetricRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5294,13 +5317,13 @@ func (x *UpdateDataRetentionSettingsRequest) Reset() { } } -func (x *UpdateDataRetentionSettingsRequest) String() string { +func (x *UpdateCalculatedMetricRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateDataRetentionSettingsRequest) ProtoMessage() {} +func (*UpdateCalculatedMetricRequest) ProtoMessage() {} -func (x *UpdateDataRetentionSettingsRequest) ProtoReflect() protoreflect.Message { +func (x *UpdateCalculatedMetricRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5312,39 +5335,39 @@ func (x *UpdateDataRetentionSettingsRequest) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use UpdateDataRetentionSettingsRequest.ProtoReflect.Descriptor instead. -func (*UpdateDataRetentionSettingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdateCalculatedMetricRequest.ProtoReflect.Descriptor instead. +func (*UpdateCalculatedMetricRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{85} } -func (x *UpdateDataRetentionSettingsRequest) GetDataRetentionSettings() *DataRetentionSettings { +func (x *UpdateCalculatedMetricRequest) GetCalculatedMetric() *CalculatedMetric { if x != nil { - return x.DataRetentionSettings + return x.CalculatedMetric } return nil } -func (x *UpdateDataRetentionSettingsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { +func (x *UpdateCalculatedMetricRequest) GetUpdateMask() *fieldmaskpb.FieldMask { if x != nil { return x.UpdateMask } return nil } -// Request message for CreateDataStream RPC. -type CreateDataStreamRequest struct { +// Request message for DeleteCalculatedMetric RPC. +type DeleteCalculatedMetricRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Example format: properties/1234 - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The DataStream to create. - DataStream *DataStream `protobuf:"bytes,2,opt,name=data_stream,json=dataStream,proto3" json:"data_stream,omitempty"` + // Required. The name of the CalculatedMetric to delete. + // Format: properties/{property_id}/calculatedMetrics/{calculated_metric_id} + // Example: properties/1234/calculatedMetrics/Metric01 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *CreateDataStreamRequest) Reset() { - *x = CreateDataStreamRequest{} +func (x *DeleteCalculatedMetricRequest) Reset() { + *x = DeleteCalculatedMetricRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5352,13 +5375,13 @@ func (x *CreateDataStreamRequest) Reset() { } } -func (x *CreateDataStreamRequest) String() string { +func (x *DeleteCalculatedMetricRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateDataStreamRequest) ProtoMessage() {} +func (*DeleteCalculatedMetricRequest) ProtoMessage() {} -func (x *CreateDataStreamRequest) ProtoReflect() protoreflect.Message { +func (x *DeleteCalculatedMetricRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5370,38 +5393,40 @@ func (x *CreateDataStreamRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateDataStreamRequest.ProtoReflect.Descriptor instead. -func (*CreateDataStreamRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use DeleteCalculatedMetricRequest.ProtoReflect.Descriptor instead. +func (*DeleteCalculatedMetricRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{86} } -func (x *CreateDataStreamRequest) GetParent() string { +func (x *DeleteCalculatedMetricRequest) GetName() string { if x != nil { - return x.Parent + return x.Name } return "" } -func (x *CreateDataStreamRequest) GetDataStream() *DataStream { - if x != nil { - return x.DataStream - } - return nil -} - -// Request message for DeleteDataStream RPC. -type DeleteDataStreamRequest struct { +// Request message for ListCalculatedMetrics RPC. +type ListCalculatedMetricsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The name of the DataStream to delete. - // Example format: properties/1234/dataStreams/5678 - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Example format: properties/1234 + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. A page token, received from a previous `ListCalculatedMetrics` + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListCalculatedMetrics` + // must match the call that provided the page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } -func (x *DeleteDataStreamRequest) Reset() { - *x = DeleteDataStreamRequest{} +func (x *ListCalculatedMetricsRequest) Reset() { + *x = ListCalculatedMetricsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5409,13 +5434,13 @@ func (x *DeleteDataStreamRequest) Reset() { } } -func (x *DeleteDataStreamRequest) String() string { +func (x *ListCalculatedMetricsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteDataStreamRequest) ProtoMessage() {} +func (*ListCalculatedMetricsRequest) ProtoMessage() {} -func (x *DeleteDataStreamRequest) ProtoReflect() protoreflect.Message { +func (x *ListCalculatedMetricsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5427,34 +5452,47 @@ func (x *DeleteDataStreamRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteDataStreamRequest.ProtoReflect.Descriptor instead. -func (*DeleteDataStreamRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListCalculatedMetricsRequest.ProtoReflect.Descriptor instead. +func (*ListCalculatedMetricsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{87} } -func (x *DeleteDataStreamRequest) GetName() string { +func (x *ListCalculatedMetricsRequest) GetParent() string { if x != nil { - return x.Name + return x.Parent } return "" } -// Request message for UpdateDataStream RPC. -type UpdateDataStreamRequest struct { +func (x *ListCalculatedMetricsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListCalculatedMetricsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for ListCalculatedMetrics RPC. +type ListCalculatedMetricsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The DataStream to update - DataStream *DataStream `protobuf:"bytes,1,opt,name=data_stream,json=dataStream,proto3" json:"data_stream,omitempty"` - // Required. The list of fields to be updated. Omitted fields will not be - // updated. To replace the entire entity, use one path with the string "*" to - // match all fields. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // List of CalculatedMetrics. + CalculatedMetrics []*CalculatedMetric `protobuf:"bytes,1,rep,name=calculated_metrics,json=calculatedMetrics,proto3" json:"calculated_metrics,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } -func (x *UpdateDataStreamRequest) Reset() { - *x = UpdateDataStreamRequest{} +func (x *ListCalculatedMetricsResponse) Reset() { + *x = ListCalculatedMetricsResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5462,13 +5500,13 @@ func (x *UpdateDataStreamRequest) Reset() { } } -func (x *UpdateDataStreamRequest) String() string { +func (x *ListCalculatedMetricsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateDataStreamRequest) ProtoMessage() {} +func (*ListCalculatedMetricsResponse) ProtoMessage() {} -func (x *UpdateDataStreamRequest) ProtoReflect() protoreflect.Message { +func (x *ListCalculatedMetricsResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5480,47 +5518,39 @@ func (x *UpdateDataStreamRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateDataStreamRequest.ProtoReflect.Descriptor instead. -func (*UpdateDataStreamRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListCalculatedMetricsResponse.ProtoReflect.Descriptor instead. +func (*ListCalculatedMetricsResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{88} } -func (x *UpdateDataStreamRequest) GetDataStream() *DataStream { +func (x *ListCalculatedMetricsResponse) GetCalculatedMetrics() []*CalculatedMetric { if x != nil { - return x.DataStream + return x.CalculatedMetrics } return nil } -func (x *UpdateDataStreamRequest) GetUpdateMask() *fieldmaskpb.FieldMask { +func (x *ListCalculatedMetricsResponse) GetNextPageToken() string { if x != nil { - return x.UpdateMask + return x.NextPageToken } - return nil + return "" } -// Request message for ListDataStreams RPC. -type ListDataStreamsRequest struct { +// Request message for GetCalculatedMetric RPC. +type GetCalculatedMetricRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Example format: properties/1234 - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // The maximum number of resources to return. - // If unspecified, at most 50 resources will be returned. - // The maximum value is 200 (higher values will be coerced to the maximum). - PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListDataStreams` call. - // Provide this to retrieve the subsequent page. - // - // When paginating, all other parameters provided to `ListDataStreams` must - // match the call that provided the page token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Required. The name of the CalculatedMetric to get. + // Format: properties/{property_id}/calculatedMetrics/{calculated_metric_id} + // Example: properties/1234/calculatedMetrics/Metric01 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *ListDataStreamsRequest) Reset() { - *x = ListDataStreamsRequest{} +func (x *GetCalculatedMetricRequest) Reset() { + *x = GetCalculatedMetricRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5528,13 +5558,13 @@ func (x *ListDataStreamsRequest) Reset() { } } -func (x *ListDataStreamsRequest) String() string { +func (x *GetCalculatedMetricRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListDataStreamsRequest) ProtoMessage() {} +func (*GetCalculatedMetricRequest) ProtoMessage() {} -func (x *ListDataStreamsRequest) ProtoReflect() protoreflect.Message { +func (x *GetCalculatedMetricRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5546,47 +5576,33 @@ func (x *ListDataStreamsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListDataStreamsRequest.ProtoReflect.Descriptor instead. -func (*ListDataStreamsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetCalculatedMetricRequest.ProtoReflect.Descriptor instead. +func (*GetCalculatedMetricRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{89} } -func (x *ListDataStreamsRequest) GetParent() string { - if x != nil { - return x.Parent - } - return "" -} - -func (x *ListDataStreamsRequest) GetPageSize() int32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListDataStreamsRequest) GetPageToken() string { +func (x *GetCalculatedMetricRequest) GetName() string { if x != nil { - return x.PageToken + return x.Name } return "" } -// Response message for ListDataStreams RPC. -type ListDataStreamsResponse struct { +// Request message for GetDataRetentionSettings RPC. +type GetDataRetentionSettingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // List of DataStreams. - DataStreams []*DataStream `protobuf:"bytes,1,rep,name=data_streams,json=dataStreams,proto3" json:"data_streams,omitempty"` - // A token, which can be sent as `page_token` to retrieve the next page. - // If this field is omitted, there are no subsequent pages. - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Required. The name of the settings to lookup. + // Format: + // properties/{property}/dataRetentionSettings + // Example: "properties/1000/dataRetentionSettings" + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *ListDataStreamsResponse) Reset() { - *x = ListDataStreamsResponse{} +func (x *GetDataRetentionSettingsRequest) Reset() { + *x = GetDataRetentionSettingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5594,13 +5610,13 @@ func (x *ListDataStreamsResponse) Reset() { } } -func (x *ListDataStreamsResponse) String() string { +func (x *GetDataRetentionSettingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListDataStreamsResponse) ProtoMessage() {} +func (*GetDataRetentionSettingsRequest) ProtoMessage() {} -func (x *ListDataStreamsResponse) ProtoReflect() protoreflect.Message { +func (x *GetDataRetentionSettingsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5612,38 +5628,36 @@ func (x *ListDataStreamsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListDataStreamsResponse.ProtoReflect.Descriptor instead. -func (*ListDataStreamsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use GetDataRetentionSettingsRequest.ProtoReflect.Descriptor instead. +func (*GetDataRetentionSettingsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{90} } -func (x *ListDataStreamsResponse) GetDataStreams() []*DataStream { - if x != nil { - return x.DataStreams - } - return nil -} - -func (x *ListDataStreamsResponse) GetNextPageToken() string { +func (x *GetDataRetentionSettingsRequest) GetName() string { if x != nil { - return x.NextPageToken + return x.Name } return "" } -// Request message for GetDataStream RPC. -type GetDataStreamRequest struct { +// Request message for UpdateDataRetentionSettings RPC. +type UpdateDataRetentionSettingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The name of the DataStream to get. - // Example format: properties/1234/dataStreams/5678 - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The settings to update. + // The `name` field is used to identify the settings to be updated. + DataRetentionSettings *DataRetentionSettings `protobuf:"bytes,1,opt,name=data_retention_settings,json=dataRetentionSettings,proto3" json:"data_retention_settings,omitempty"` + // Required. The list of fields to be updated. Field names must be in snake + // case (e.g., "field_to_update"). Omitted fields will not be updated. To + // replace the entire entity, use one path with the string "*" to match all + // fields. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } -func (x *GetDataStreamRequest) Reset() { - *x = GetDataStreamRequest{} +func (x *UpdateDataRetentionSettingsRequest) Reset() { + *x = UpdateDataRetentionSettingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5651,13 +5665,13 @@ func (x *GetDataStreamRequest) Reset() { } } -func (x *GetDataStreamRequest) String() string { +func (x *UpdateDataRetentionSettingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetDataStreamRequest) ProtoMessage() {} +func (*UpdateDataRetentionSettingsRequest) ProtoMessage() {} -func (x *GetDataStreamRequest) ProtoReflect() protoreflect.Message { +func (x *UpdateDataRetentionSettingsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5669,31 +5683,39 @@ func (x *GetDataStreamRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetDataStreamRequest.ProtoReflect.Descriptor instead. -func (*GetDataStreamRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdateDataRetentionSettingsRequest.ProtoReflect.Descriptor instead. +func (*UpdateDataRetentionSettingsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{91} } -func (x *GetDataStreamRequest) GetName() string { +func (x *UpdateDataRetentionSettingsRequest) GetDataRetentionSettings() *DataRetentionSettings { if x != nil { - return x.Name + return x.DataRetentionSettings } - return "" + return nil } -// Request message for GetAudience RPC. -type GetAudienceRequest struct { +func (x *UpdateDataRetentionSettingsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for CreateDataStream RPC. +type CreateDataStreamRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The name of the Audience to get. - // Example format: properties/1234/audiences/5678 - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Example format: properties/1234 + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The DataStream to create. + DataStream *DataStream `protobuf:"bytes,2,opt,name=data_stream,json=dataStream,proto3" json:"data_stream,omitempty"` } -func (x *GetAudienceRequest) Reset() { - *x = GetAudienceRequest{} +func (x *CreateDataStreamRequest) Reset() { + *x = CreateDataStreamRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5701,13 +5723,13 @@ func (x *GetAudienceRequest) Reset() { } } -func (x *GetAudienceRequest) String() string { +func (x *CreateDataStreamRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetAudienceRequest) ProtoMessage() {} +func (*CreateDataStreamRequest) ProtoMessage() {} -func (x *GetAudienceRequest) ProtoReflect() protoreflect.Message { +func (x *CreateDataStreamRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5719,40 +5741,38 @@ func (x *GetAudienceRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetAudienceRequest.ProtoReflect.Descriptor instead. -func (*GetAudienceRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateDataStreamRequest.ProtoReflect.Descriptor instead. +func (*CreateDataStreamRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{92} } -func (x *GetAudienceRequest) GetName() string { +func (x *CreateDataStreamRequest) GetParent() string { if x != nil { - return x.Name + return x.Parent } return "" } -// Request message for ListAudiences RPC. -type ListAudiencesRequest struct { +func (x *CreateDataStreamRequest) GetDataStream() *DataStream { + if x != nil { + return x.DataStream + } + return nil +} + +// Request message for DeleteDataStream RPC. +type DeleteDataStreamRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Example format: properties/1234 - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // The maximum number of resources to return. - // If unspecified, at most 50 resources will be returned. - // The maximum value is 200 (higher values will be coerced to the maximum). - PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListAudiences` call. Provide this - // to retrieve the subsequent page. - // - // When paginating, all other parameters provided to `ListAudiences` must - // match the call that provided the page token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Required. The name of the DataStream to delete. + // Example format: properties/1234/dataStreams/5678 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *ListAudiencesRequest) Reset() { - *x = ListAudiencesRequest{} +func (x *DeleteDataStreamRequest) Reset() { + *x = DeleteDataStreamRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5760,13 +5780,13 @@ func (x *ListAudiencesRequest) Reset() { } } -func (x *ListAudiencesRequest) String() string { +func (x *DeleteDataStreamRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListAudiencesRequest) ProtoMessage() {} +func (*DeleteDataStreamRequest) ProtoMessage() {} -func (x *ListAudiencesRequest) ProtoReflect() protoreflect.Message { +func (x *DeleteDataStreamRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5778,47 +5798,34 @@ func (x *ListAudiencesRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListAudiencesRequest.ProtoReflect.Descriptor instead. -func (*ListAudiencesRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use DeleteDataStreamRequest.ProtoReflect.Descriptor instead. +func (*DeleteDataStreamRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{93} } -func (x *ListAudiencesRequest) GetParent() string { - if x != nil { - return x.Parent - } - return "" -} - -func (x *ListAudiencesRequest) GetPageSize() int32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListAudiencesRequest) GetPageToken() string { +func (x *DeleteDataStreamRequest) GetName() string { if x != nil { - return x.PageToken + return x.Name } return "" } -// Response message for ListAudiences RPC. -type ListAudiencesResponse struct { +// Request message for UpdateDataStream RPC. +type UpdateDataStreamRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // List of Audiences. - Audiences []*Audience `protobuf:"bytes,1,rep,name=audiences,proto3" json:"audiences,omitempty"` - // A token, which can be sent as `page_token` to retrieve the next page. - // If this field is omitted, there are no subsequent pages. - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // The DataStream to update + DataStream *DataStream `protobuf:"bytes,1,opt,name=data_stream,json=dataStream,proto3" json:"data_stream,omitempty"` + // Required. The list of fields to be updated. Omitted fields will not be + // updated. To replace the entire entity, use one path with the string "*" to + // match all fields. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } -func (x *ListAudiencesResponse) Reset() { - *x = ListAudiencesResponse{} +func (x *UpdateDataStreamRequest) Reset() { + *x = UpdateDataStreamRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5826,13 +5833,13 @@ func (x *ListAudiencesResponse) Reset() { } } -func (x *ListAudiencesResponse) String() string { +func (x *UpdateDataStreamRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListAudiencesResponse) ProtoMessage() {} +func (*UpdateDataStreamRequest) ProtoMessage() {} -func (x *ListAudiencesResponse) ProtoReflect() protoreflect.Message { +func (x *UpdateDataStreamRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5844,39 +5851,47 @@ func (x *ListAudiencesResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListAudiencesResponse.ProtoReflect.Descriptor instead. -func (*ListAudiencesResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdateDataStreamRequest.ProtoReflect.Descriptor instead. +func (*UpdateDataStreamRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{94} } -func (x *ListAudiencesResponse) GetAudiences() []*Audience { +func (x *UpdateDataStreamRequest) GetDataStream() *DataStream { if x != nil { - return x.Audiences + return x.DataStream } return nil } -func (x *ListAudiencesResponse) GetNextPageToken() string { +func (x *UpdateDataStreamRequest) GetUpdateMask() *fieldmaskpb.FieldMask { if x != nil { - return x.NextPageToken + return x.UpdateMask } - return "" + return nil } -// Request message for CreateAudience RPC. -type CreateAudienceRequest struct { +// Request message for ListDataStreams RPC. +type ListDataStreamsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. Example format: properties/1234 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The audience to create. - Audience *Audience `protobuf:"bytes,2,opt,name=audience,proto3" json:"audience,omitempty"` + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListDataStreams` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListDataStreams` must + // match the call that provided the page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } -func (x *CreateAudienceRequest) Reset() { - *x = CreateAudienceRequest{} +func (x *ListDataStreamsRequest) Reset() { + *x = ListDataStreamsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5884,13 +5899,13 @@ func (x *CreateAudienceRequest) Reset() { } } -func (x *CreateAudienceRequest) String() string { +func (x *ListDataStreamsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateAudienceRequest) ProtoMessage() {} +func (*ListDataStreamsRequest) ProtoMessage() {} -func (x *CreateAudienceRequest) ProtoReflect() protoreflect.Message { +func (x *ListDataStreamsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5902,43 +5917,47 @@ func (x *CreateAudienceRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateAudienceRequest.ProtoReflect.Descriptor instead. -func (*CreateAudienceRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListDataStreamsRequest.ProtoReflect.Descriptor instead. +func (*ListDataStreamsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{95} } -func (x *CreateAudienceRequest) GetParent() string { +func (x *ListDataStreamsRequest) GetParent() string { if x != nil { return x.Parent } return "" } -func (x *CreateAudienceRequest) GetAudience() *Audience { +func (x *ListDataStreamsRequest) GetPageSize() int32 { if x != nil { - return x.Audience + return x.PageSize } - return nil + return 0 } -// Request message for UpdateAudience RPC. -type UpdateAudienceRequest struct { +func (x *ListDataStreamsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for ListDataStreams RPC. +type ListDataStreamsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The audience to update. - // The audience's `name` field is used to identify the audience to be updated. - Audience *Audience `protobuf:"bytes,1,opt,name=audience,proto3" json:"audience,omitempty"` - // Required. The list of fields to be updated. Field names must be in snake - // case (e.g., "field_to_update"). Omitted fields will not be updated. To - // replace the entire entity, use one path with the string "*" to match all - // fields. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // List of DataStreams. + DataStreams []*DataStream `protobuf:"bytes,1,rep,name=data_streams,json=dataStreams,proto3" json:"data_streams,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } -func (x *UpdateAudienceRequest) Reset() { - *x = UpdateAudienceRequest{} +func (x *ListDataStreamsResponse) Reset() { + *x = ListDataStreamsResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5946,13 +5965,13 @@ func (x *UpdateAudienceRequest) Reset() { } } -func (x *UpdateAudienceRequest) String() string { +func (x *ListDataStreamsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateAudienceRequest) ProtoMessage() {} +func (*ListDataStreamsResponse) ProtoMessage() {} -func (x *UpdateAudienceRequest) ProtoReflect() protoreflect.Message { +func (x *ListDataStreamsResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5964,37 +5983,38 @@ func (x *UpdateAudienceRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateAudienceRequest.ProtoReflect.Descriptor instead. -func (*UpdateAudienceRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListDataStreamsResponse.ProtoReflect.Descriptor instead. +func (*ListDataStreamsResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{96} } -func (x *UpdateAudienceRequest) GetAudience() *Audience { +func (x *ListDataStreamsResponse) GetDataStreams() []*DataStream { if x != nil { - return x.Audience + return x.DataStreams } return nil } -func (x *UpdateAudienceRequest) GetUpdateMask() *fieldmaskpb.FieldMask { +func (x *ListDataStreamsResponse) GetNextPageToken() string { if x != nil { - return x.UpdateMask + return x.NextPageToken } - return nil + return "" } -// Request message for ArchiveAudience RPC. -type ArchiveAudienceRequest struct { +// Request message for GetDataStream RPC. +type GetDataStreamRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Example format: properties/1234/audiences/5678 + // Required. The name of the DataStream to get. + // Example format: properties/1234/dataStreams/5678 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *ArchiveAudienceRequest) Reset() { - *x = ArchiveAudienceRequest{} +func (x *GetDataStreamRequest) Reset() { + *x = GetDataStreamRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6002,13 +6022,13 @@ func (x *ArchiveAudienceRequest) Reset() { } } -func (x *ArchiveAudienceRequest) String() string { +func (x *GetDataStreamRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ArchiveAudienceRequest) ProtoMessage() {} +func (*GetDataStreamRequest) ProtoMessage() {} -func (x *ArchiveAudienceRequest) ProtoReflect() protoreflect.Message { +func (x *GetDataStreamRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6020,31 +6040,31 @@ func (x *ArchiveAudienceRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ArchiveAudienceRequest.ProtoReflect.Descriptor instead. -func (*ArchiveAudienceRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetDataStreamRequest.ProtoReflect.Descriptor instead. +func (*GetDataStreamRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{97} } -func (x *ArchiveAudienceRequest) GetName() string { +func (x *GetDataStreamRequest) GetName() string { if x != nil { return x.Name } return "" } -// Request message for GetAttributionSettings RPC. -type GetAttributionSettingsRequest struct { +// Request message for GetAudience RPC. +type GetAudienceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The name of the attribution settings to retrieve. - // Format: properties/{property}/attributionSettings + // Required. The name of the Audience to get. + // Example format: properties/1234/audiences/5678 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *GetAttributionSettingsRequest) Reset() { - *x = GetAttributionSettingsRequest{} +func (x *GetAudienceRequest) Reset() { + *x = GetAudienceRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6052,13 +6072,13 @@ func (x *GetAttributionSettingsRequest) Reset() { } } -func (x *GetAttributionSettingsRequest) String() string { +func (x *GetAudienceRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetAttributionSettingsRequest) ProtoMessage() {} +func (*GetAudienceRequest) ProtoMessage() {} -func (x *GetAttributionSettingsRequest) ProtoReflect() protoreflect.Message { +func (x *GetAudienceRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6070,36 +6090,40 @@ func (x *GetAttributionSettingsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetAttributionSettingsRequest.ProtoReflect.Descriptor instead. -func (*GetAttributionSettingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetAudienceRequest.ProtoReflect.Descriptor instead. +func (*GetAudienceRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{98} } -func (x *GetAttributionSettingsRequest) GetName() string { +func (x *GetAudienceRequest) GetName() string { if x != nil { return x.Name } return "" } -// Request message for UpdateAttributionSettings RPC -type UpdateAttributionSettingsRequest struct { +// Request message for ListAudiences RPC. +type ListAudiencesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The attribution settings to update. - // The `name` field is used to identify the settings to be updated. - AttributionSettings *AttributionSettings `protobuf:"bytes,1,opt,name=attribution_settings,json=attributionSettings,proto3" json:"attribution_settings,omitempty"` - // Required. The list of fields to be updated. Field names must be in snake - // case (e.g., "field_to_update"). Omitted fields will not be updated. To - // replace the entire entity, use one path with the string "*" to match all - // fields. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. Example format: properties/1234 + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListAudiences` call. Provide this + // to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListAudiences` must + // match the call that provided the page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } -func (x *UpdateAttributionSettingsRequest) Reset() { - *x = UpdateAttributionSettingsRequest{} +func (x *ListAudiencesRequest) Reset() { + *x = ListAudiencesRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6107,13 +6131,13 @@ func (x *UpdateAttributionSettingsRequest) Reset() { } } -func (x *UpdateAttributionSettingsRequest) String() string { +func (x *ListAudiencesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateAttributionSettingsRequest) ProtoMessage() {} +func (*ListAudiencesRequest) ProtoMessage() {} -func (x *UpdateAttributionSettingsRequest) ProtoReflect() protoreflect.Message { +func (x *ListAudiencesRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6125,40 +6149,47 @@ func (x *UpdateAttributionSettingsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateAttributionSettingsRequest.ProtoReflect.Descriptor instead. -func (*UpdateAttributionSettingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListAudiencesRequest.ProtoReflect.Descriptor instead. +func (*ListAudiencesRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{99} } -func (x *UpdateAttributionSettingsRequest) GetAttributionSettings() *AttributionSettings { +func (x *ListAudiencesRequest) GetParent() string { if x != nil { - return x.AttributionSettings + return x.Parent } - return nil + return "" } -func (x *UpdateAttributionSettingsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { +func (x *ListAudiencesRequest) GetPageSize() int32 { if x != nil { - return x.UpdateMask + return x.PageSize } - return nil + return 0 } -// Request message for GetAccessBinding RPC. -type GetAccessBindingRequest struct { +func (x *ListAudiencesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for ListAudiences RPC. +type ListAudiencesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The name of the access binding to retrieve. - // Formats: - // - accounts/{account}/accessBindings/{accessBinding} - // - properties/{property}/accessBindings/{accessBinding} - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // List of Audiences. + Audiences []*Audience `protobuf:"bytes,1,rep,name=audiences,proto3" json:"audiences,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } -func (x *GetAccessBindingRequest) Reset() { - *x = GetAccessBindingRequest{} +func (x *ListAudiencesResponse) Reset() { + *x = ListAudiencesResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6166,13 +6197,13 @@ func (x *GetAccessBindingRequest) Reset() { } } -func (x *GetAccessBindingRequest) String() string { +func (x *ListAudiencesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetAccessBindingRequest) ProtoMessage() {} +func (*ListAudiencesResponse) ProtoMessage() {} -func (x *GetAccessBindingRequest) ProtoReflect() protoreflect.Message { +func (x *ListAudiencesResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6184,40 +6215,39 @@ func (x *GetAccessBindingRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetAccessBindingRequest.ProtoReflect.Descriptor instead. -func (*GetAccessBindingRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListAudiencesResponse.ProtoReflect.Descriptor instead. +func (*ListAudiencesResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{100} } -func (x *GetAccessBindingRequest) GetName() string { +func (x *ListAudiencesResponse) GetAudiences() []*Audience { if x != nil { - return x.Name + return x.Audiences + } + return nil +} + +func (x *ListAudiencesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken } return "" } -// Request message for BatchGetAccessBindings RPC. -type BatchGetAccessBindingsRequest struct { +// Request message for CreateAudience RPC. +type CreateAudienceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The account or property that owns the access bindings. The parent - // of all provided values for the 'names' field must match this field. - // Formats: - // - accounts/{account} - // - properties/{property} + // Required. Example format: properties/1234 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The names of the access bindings to retrieve. - // A maximum of 1000 access bindings can be retrieved in a batch. - // Formats: - // - accounts/{account}/accessBindings/{accessBinding} - // - properties/{property}/accessBindings/{accessBinding} - Names []string `protobuf:"bytes,2,rep,name=names,proto3" json:"names,omitempty"` + // Required. The audience to create. + Audience *Audience `protobuf:"bytes,2,opt,name=audience,proto3" json:"audience,omitempty"` } -func (x *BatchGetAccessBindingsRequest) Reset() { - *x = BatchGetAccessBindingsRequest{} +func (x *CreateAudienceRequest) Reset() { + *x = CreateAudienceRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6225,13 +6255,13 @@ func (x *BatchGetAccessBindingsRequest) Reset() { } } -func (x *BatchGetAccessBindingsRequest) String() string { +func (x *CreateAudienceRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BatchGetAccessBindingsRequest) ProtoMessage() {} +func (*CreateAudienceRequest) ProtoMessage() {} -func (x *BatchGetAccessBindingsRequest) ProtoReflect() protoreflect.Message { +func (x *CreateAudienceRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6243,37 +6273,43 @@ func (x *BatchGetAccessBindingsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatchGetAccessBindingsRequest.ProtoReflect.Descriptor instead. -func (*BatchGetAccessBindingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateAudienceRequest.ProtoReflect.Descriptor instead. +func (*CreateAudienceRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{101} } -func (x *BatchGetAccessBindingsRequest) GetParent() string { +func (x *CreateAudienceRequest) GetParent() string { if x != nil { return x.Parent } return "" } -func (x *BatchGetAccessBindingsRequest) GetNames() []string { +func (x *CreateAudienceRequest) GetAudience() *Audience { if x != nil { - return x.Names + return x.Audience } return nil } -// Response message for BatchGetAccessBindings RPC. -type BatchGetAccessBindingsResponse struct { +// Request message for UpdateAudience RPC. +type UpdateAudienceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The requested access bindings. - AccessBindings []*AccessBinding `protobuf:"bytes,1,rep,name=access_bindings,json=accessBindings,proto3" json:"access_bindings,omitempty"` + // Required. The audience to update. + // The audience's `name` field is used to identify the audience to be updated. + Audience *Audience `protobuf:"bytes,1,opt,name=audience,proto3" json:"audience,omitempty"` + // Required. The list of fields to be updated. Field names must be in snake + // case (e.g., "field_to_update"). Omitted fields will not be updated. To + // replace the entire entity, use one path with the string "*" to match all + // fields. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } -func (x *BatchGetAccessBindingsResponse) Reset() { - *x = BatchGetAccessBindingsResponse{} +func (x *UpdateAudienceRequest) Reset() { + *x = UpdateAudienceRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6281,13 +6317,13 @@ func (x *BatchGetAccessBindingsResponse) Reset() { } } -func (x *BatchGetAccessBindingsResponse) String() string { +func (x *UpdateAudienceRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BatchGetAccessBindingsResponse) ProtoMessage() {} +func (*UpdateAudienceRequest) ProtoMessage() {} -func (x *BatchGetAccessBindingsResponse) ProtoReflect() protoreflect.Message { +func (x *UpdateAudienceRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6299,42 +6335,37 @@ func (x *BatchGetAccessBindingsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatchGetAccessBindingsResponse.ProtoReflect.Descriptor instead. -func (*BatchGetAccessBindingsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdateAudienceRequest.ProtoReflect.Descriptor instead. +func (*UpdateAudienceRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{102} } -func (x *BatchGetAccessBindingsResponse) GetAccessBindings() []*AccessBinding { +func (x *UpdateAudienceRequest) GetAudience() *Audience { if x != nil { - return x.AccessBindings + return x.Audience } return nil } -// Request message for ListAccessBindings RPC. -type ListAccessBindingsRequest struct { +func (x *UpdateAudienceRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for ArchiveAudience RPC. +type ArchiveAudienceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Formats: - // - accounts/{account} - // - properties/{property} - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // The maximum number of access bindings to return. - // The service may return fewer than this value. - // If unspecified, at most 200 access bindings will be returned. - // The maximum value is 500; values above 500 will be coerced to 500. - PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListAccessBindings` call. - // Provide this to retrieve the subsequent page. - // When paginating, all other parameters provided to `ListAccessBindings` must - // match the call that provided the page token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Required. Example format: properties/1234/audiences/5678 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *ListAccessBindingsRequest) Reset() { - *x = ListAccessBindingsRequest{} +func (x *ArchiveAudienceRequest) Reset() { + *x = ArchiveAudienceRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6342,13 +6373,13 @@ func (x *ListAccessBindingsRequest) Reset() { } } -func (x *ListAccessBindingsRequest) String() string { +func (x *ArchiveAudienceRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListAccessBindingsRequest) ProtoMessage() {} +func (*ArchiveAudienceRequest) ProtoMessage() {} -func (x *ListAccessBindingsRequest) ProtoReflect() protoreflect.Message { +func (x *ArchiveAudienceRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6360,48 +6391,31 @@ func (x *ListAccessBindingsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListAccessBindingsRequest.ProtoReflect.Descriptor instead. -func (*ListAccessBindingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ArchiveAudienceRequest.ProtoReflect.Descriptor instead. +func (*ArchiveAudienceRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{103} } -func (x *ListAccessBindingsRequest) GetParent() string { - if x != nil { - return x.Parent - } - return "" -} - -func (x *ListAccessBindingsRequest) GetPageSize() int32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListAccessBindingsRequest) GetPageToken() string { +func (x *ArchiveAudienceRequest) GetName() string { if x != nil { - return x.PageToken + return x.Name } return "" } -// Response message for ListAccessBindings RPC. -type ListAccessBindingsResponse struct { +// Request message for GetAttributionSettings RPC. +type GetAttributionSettingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // List of AccessBindings. These will be ordered stably, but in an arbitrary - // order. - AccessBindings []*AccessBinding `protobuf:"bytes,1,rep,name=access_bindings,json=accessBindings,proto3" json:"access_bindings,omitempty"` - // A token, which can be sent as `page_token` to retrieve the next page. - // If this field is omitted, there are no subsequent pages. - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Required. The name of the attribution settings to retrieve. + // Format: properties/{property}/attributionSettings + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *ListAccessBindingsResponse) Reset() { - *x = ListAccessBindingsResponse{} +func (x *GetAttributionSettingsRequest) Reset() { + *x = GetAttributionSettingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6409,13 +6423,13 @@ func (x *ListAccessBindingsResponse) Reset() { } } -func (x *ListAccessBindingsResponse) String() string { +func (x *GetAttributionSettingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListAccessBindingsResponse) ProtoMessage() {} +func (*GetAttributionSettingsRequest) ProtoMessage() {} -func (x *ListAccessBindingsResponse) ProtoReflect() protoreflect.Message { +func (x *GetAttributionSettingsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6427,41 +6441,36 @@ func (x *ListAccessBindingsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListAccessBindingsResponse.ProtoReflect.Descriptor instead. -func (*ListAccessBindingsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use GetAttributionSettingsRequest.ProtoReflect.Descriptor instead. +func (*GetAttributionSettingsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{104} } -func (x *ListAccessBindingsResponse) GetAccessBindings() []*AccessBinding { - if x != nil { - return x.AccessBindings - } - return nil -} - -func (x *ListAccessBindingsResponse) GetNextPageToken() string { +func (x *GetAttributionSettingsRequest) GetName() string { if x != nil { - return x.NextPageToken + return x.Name } return "" } -// Request message for CreateAccessBinding RPC. -type CreateAccessBindingRequest struct { +// Request message for UpdateAttributionSettings RPC +type UpdateAttributionSettingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Formats: - // - accounts/{account} - // - properties/{property} - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The access binding to create. - AccessBinding *AccessBinding `protobuf:"bytes,2,opt,name=access_binding,json=accessBinding,proto3" json:"access_binding,omitempty"` + // Required. The attribution settings to update. + // The `name` field is used to identify the settings to be updated. + AttributionSettings *AttributionSettings `protobuf:"bytes,1,opt,name=attribution_settings,json=attributionSettings,proto3" json:"attribution_settings,omitempty"` + // Required. The list of fields to be updated. Field names must be in snake + // case (e.g., "field_to_update"). Omitted fields will not be updated. To + // replace the entire entity, use one path with the string "*" to match all + // fields. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } -func (x *CreateAccessBindingRequest) Reset() { - *x = CreateAccessBindingRequest{} +func (x *UpdateAttributionSettingsRequest) Reset() { + *x = UpdateAttributionSettingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6469,13 +6478,13 @@ func (x *CreateAccessBindingRequest) Reset() { } } -func (x *CreateAccessBindingRequest) String() string { +func (x *UpdateAttributionSettingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateAccessBindingRequest) ProtoMessage() {} +func (*UpdateAttributionSettingsRequest) ProtoMessage() {} -func (x *CreateAccessBindingRequest) ProtoReflect() protoreflect.Message { +func (x *UpdateAttributionSettingsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6487,44 +6496,40 @@ func (x *CreateAccessBindingRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateAccessBindingRequest.ProtoReflect.Descriptor instead. -func (*CreateAccessBindingRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdateAttributionSettingsRequest.ProtoReflect.Descriptor instead. +func (*UpdateAttributionSettingsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{105} } -func (x *CreateAccessBindingRequest) GetParent() string { +func (x *UpdateAttributionSettingsRequest) GetAttributionSettings() *AttributionSettings { if x != nil { - return x.Parent + return x.AttributionSettings } - return "" + return nil } -func (x *CreateAccessBindingRequest) GetAccessBinding() *AccessBinding { +func (x *UpdateAttributionSettingsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { if x != nil { - return x.AccessBinding + return x.UpdateMask } return nil } -// Request message for BatchCreateAccessBindings RPC. -type BatchCreateAccessBindingsRequest struct { +// Request message for GetAccessBinding RPC. +type GetAccessBindingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The account or property that owns the access bindings. The parent - // field in the CreateAccessBindingRequest messages must either be empty or - // match this field. Formats: - // - accounts/{account} - // - properties/{property} - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The requests specifying the access bindings to create. - // A maximum of 1000 access bindings can be created in a batch. - Requests []*CreateAccessBindingRequest `protobuf:"bytes,3,rep,name=requests,proto3" json:"requests,omitempty"` + // Required. The name of the access binding to retrieve. + // Formats: + // - accounts/{account}/accessBindings/{accessBinding} + // - properties/{property}/accessBindings/{accessBinding} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *BatchCreateAccessBindingsRequest) Reset() { - *x = BatchCreateAccessBindingsRequest{} +func (x *GetAccessBindingRequest) Reset() { + *x = GetAccessBindingRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6532,13 +6537,13 @@ func (x *BatchCreateAccessBindingsRequest) Reset() { } } -func (x *BatchCreateAccessBindingsRequest) String() string { +func (x *GetAccessBindingRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BatchCreateAccessBindingsRequest) ProtoMessage() {} +func (*GetAccessBindingRequest) ProtoMessage() {} -func (x *BatchCreateAccessBindingsRequest) ProtoReflect() protoreflect.Message { +func (x *GetAccessBindingRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6550,37 +6555,40 @@ func (x *BatchCreateAccessBindingsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatchCreateAccessBindingsRequest.ProtoReflect.Descriptor instead. -func (*BatchCreateAccessBindingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetAccessBindingRequest.ProtoReflect.Descriptor instead. +func (*GetAccessBindingRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{106} } -func (x *BatchCreateAccessBindingsRequest) GetParent() string { +func (x *GetAccessBindingRequest) GetName() string { if x != nil { - return x.Parent + return x.Name } return "" } -func (x *BatchCreateAccessBindingsRequest) GetRequests() []*CreateAccessBindingRequest { - if x != nil { - return x.Requests - } - return nil -} - -// Response message for BatchCreateAccessBindings RPC. -type BatchCreateAccessBindingsResponse struct { +// Request message for BatchGetAccessBindings RPC. +type BatchGetAccessBindingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The access bindings created. - AccessBindings []*AccessBinding `protobuf:"bytes,1,rep,name=access_bindings,json=accessBindings,proto3" json:"access_bindings,omitempty"` + // Required. The account or property that owns the access bindings. The parent + // of all provided values for the 'names' field must match this field. + // Formats: + // - accounts/{account} + // - properties/{property} + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The names of the access bindings to retrieve. + // A maximum of 1000 access bindings can be retrieved in a batch. + // Formats: + // - accounts/{account}/accessBindings/{accessBinding} + // - properties/{property}/accessBindings/{accessBinding} + Names []string `protobuf:"bytes,2,rep,name=names,proto3" json:"names,omitempty"` } -func (x *BatchCreateAccessBindingsResponse) Reset() { - *x = BatchCreateAccessBindingsResponse{} +func (x *BatchGetAccessBindingsRequest) Reset() { + *x = BatchGetAccessBindingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6588,13 +6596,13 @@ func (x *BatchCreateAccessBindingsResponse) Reset() { } } -func (x *BatchCreateAccessBindingsResponse) String() string { +func (x *BatchGetAccessBindingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BatchCreateAccessBindingsResponse) ProtoMessage() {} +func (*BatchGetAccessBindingsRequest) ProtoMessage() {} -func (x *BatchCreateAccessBindingsResponse) ProtoReflect() protoreflect.Message { +func (x *BatchGetAccessBindingsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6606,30 +6614,37 @@ func (x *BatchCreateAccessBindingsResponse) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use BatchCreateAccessBindingsResponse.ProtoReflect.Descriptor instead. -func (*BatchCreateAccessBindingsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use BatchGetAccessBindingsRequest.ProtoReflect.Descriptor instead. +func (*BatchGetAccessBindingsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{107} } -func (x *BatchCreateAccessBindingsResponse) GetAccessBindings() []*AccessBinding { +func (x *BatchGetAccessBindingsRequest) GetParent() string { if x != nil { - return x.AccessBindings + return x.Parent + } + return "" +} + +func (x *BatchGetAccessBindingsRequest) GetNames() []string { + if x != nil { + return x.Names } return nil } -// Request message for UpdateAccessBinding RPC. -type UpdateAccessBindingRequest struct { +// Response message for BatchGetAccessBindings RPC. +type BatchGetAccessBindingsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The access binding to update. - AccessBinding *AccessBinding `protobuf:"bytes,1,opt,name=access_binding,json=accessBinding,proto3" json:"access_binding,omitempty"` + // The requested access bindings. + AccessBindings []*AccessBinding `protobuf:"bytes,1,rep,name=access_bindings,json=accessBindings,proto3" json:"access_bindings,omitempty"` } -func (x *UpdateAccessBindingRequest) Reset() { - *x = UpdateAccessBindingRequest{} +func (x *BatchGetAccessBindingsResponse) Reset() { + *x = BatchGetAccessBindingsResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6637,13 +6652,13 @@ func (x *UpdateAccessBindingRequest) Reset() { } } -func (x *UpdateAccessBindingRequest) String() string { +func (x *BatchGetAccessBindingsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateAccessBindingRequest) ProtoMessage() {} +func (*BatchGetAccessBindingsResponse) ProtoMessage() {} -func (x *UpdateAccessBindingRequest) ProtoReflect() protoreflect.Message { +func (x *BatchGetAccessBindingsResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6655,38 +6670,42 @@ func (x *UpdateAccessBindingRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateAccessBindingRequest.ProtoReflect.Descriptor instead. -func (*UpdateAccessBindingRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use BatchGetAccessBindingsResponse.ProtoReflect.Descriptor instead. +func (*BatchGetAccessBindingsResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{108} } -func (x *UpdateAccessBindingRequest) GetAccessBinding() *AccessBinding { +func (x *BatchGetAccessBindingsResponse) GetAccessBindings() []*AccessBinding { if x != nil { - return x.AccessBinding + return x.AccessBindings } return nil } -// Request message for BatchUpdateAccessBindings RPC. -type BatchUpdateAccessBindingsRequest struct { +// Request message for ListAccessBindings RPC. +type ListAccessBindingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The account or property that owns the access bindings. The parent - // of all provided AccessBinding in UpdateAccessBindingRequest messages must - // match this field. - // Formats: + // Required. Formats: // - accounts/{account} // - properties/{property} Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The requests specifying the access bindings to update. - // A maximum of 1000 access bindings can be updated in a batch. - Requests []*UpdateAccessBindingRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` + // The maximum number of access bindings to return. + // The service may return fewer than this value. + // If unspecified, at most 200 access bindings will be returned. + // The maximum value is 500; values above 500 will be coerced to 500. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListAccessBindings` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListAccessBindings` must + // match the call that provided the page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } -func (x *BatchUpdateAccessBindingsRequest) Reset() { - *x = BatchUpdateAccessBindingsRequest{} +func (x *ListAccessBindingsRequest) Reset() { + *x = ListAccessBindingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6694,13 +6713,13 @@ func (x *BatchUpdateAccessBindingsRequest) Reset() { } } -func (x *BatchUpdateAccessBindingsRequest) String() string { +func (x *ListAccessBindingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BatchUpdateAccessBindingsRequest) ProtoMessage() {} +func (*ListAccessBindingsRequest) ProtoMessage() {} -func (x *BatchUpdateAccessBindingsRequest) ProtoReflect() protoreflect.Message { +func (x *ListAccessBindingsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6712,37 +6731,48 @@ func (x *BatchUpdateAccessBindingsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatchUpdateAccessBindingsRequest.ProtoReflect.Descriptor instead. -func (*BatchUpdateAccessBindingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListAccessBindingsRequest.ProtoReflect.Descriptor instead. +func (*ListAccessBindingsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{109} } -func (x *BatchUpdateAccessBindingsRequest) GetParent() string { +func (x *ListAccessBindingsRequest) GetParent() string { if x != nil { return x.Parent } return "" } -func (x *BatchUpdateAccessBindingsRequest) GetRequests() []*UpdateAccessBindingRequest { +func (x *ListAccessBindingsRequest) GetPageSize() int32 { if x != nil { - return x.Requests + return x.PageSize } - return nil + return 0 } -// Response message for BatchUpdateAccessBindings RPC. -type BatchUpdateAccessBindingsResponse struct { +func (x *ListAccessBindingsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for ListAccessBindings RPC. +type ListAccessBindingsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The access bindings updated. + // List of AccessBindings. These will be ordered stably, but in an arbitrary + // order. AccessBindings []*AccessBinding `protobuf:"bytes,1,rep,name=access_bindings,json=accessBindings,proto3" json:"access_bindings,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } -func (x *BatchUpdateAccessBindingsResponse) Reset() { - *x = BatchUpdateAccessBindingsResponse{} +func (x *ListAccessBindingsResponse) Reset() { + *x = ListAccessBindingsResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6750,13 +6780,13 @@ func (x *BatchUpdateAccessBindingsResponse) Reset() { } } -func (x *BatchUpdateAccessBindingsResponse) String() string { +func (x *ListAccessBindingsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BatchUpdateAccessBindingsResponse) ProtoMessage() {} +func (*ListAccessBindingsResponse) ProtoMessage() {} -func (x *BatchUpdateAccessBindingsResponse) ProtoReflect() protoreflect.Message { +func (x *ListAccessBindingsResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6768,32 +6798,41 @@ func (x *BatchUpdateAccessBindingsResponse) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use BatchUpdateAccessBindingsResponse.ProtoReflect.Descriptor instead. -func (*BatchUpdateAccessBindingsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListAccessBindingsResponse.ProtoReflect.Descriptor instead. +func (*ListAccessBindingsResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{110} } -func (x *BatchUpdateAccessBindingsResponse) GetAccessBindings() []*AccessBinding { +func (x *ListAccessBindingsResponse) GetAccessBindings() []*AccessBinding { if x != nil { return x.AccessBindings } return nil } -// Request message for DeleteAccessBinding RPC. -type DeleteAccessBindingRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Required. Formats: - // - accounts/{account}/accessBindings/{accessBinding} - // - properties/{property}/accessBindings/{accessBinding} - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +func (x *ListAccessBindingsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" } -func (x *DeleteAccessBindingRequest) Reset() { - *x = DeleteAccessBindingRequest{} +// Request message for CreateAccessBinding RPC. +type CreateAccessBindingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Formats: + // - accounts/{account} + // - properties/{property} + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The access binding to create. + AccessBinding *AccessBinding `protobuf:"bytes,2,opt,name=access_binding,json=accessBinding,proto3" json:"access_binding,omitempty"` +} + +func (x *CreateAccessBindingRequest) Reset() { + *x = CreateAccessBindingRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6801,13 +6840,13 @@ func (x *DeleteAccessBindingRequest) Reset() { } } -func (x *DeleteAccessBindingRequest) String() string { +func (x *CreateAccessBindingRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteAccessBindingRequest) ProtoMessage() {} +func (*CreateAccessBindingRequest) ProtoMessage() {} -func (x *DeleteAccessBindingRequest) ProtoReflect() protoreflect.Message { +func (x *CreateAccessBindingRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6819,37 +6858,44 @@ func (x *DeleteAccessBindingRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteAccessBindingRequest.ProtoReflect.Descriptor instead. -func (*DeleteAccessBindingRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateAccessBindingRequest.ProtoReflect.Descriptor instead. +func (*CreateAccessBindingRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{111} } -func (x *DeleteAccessBindingRequest) GetName() string { +func (x *CreateAccessBindingRequest) GetParent() string { if x != nil { - return x.Name + return x.Parent } return "" } -// Request message for BatchDeleteAccessBindings RPC. -type BatchDeleteAccessBindingsRequest struct { +func (x *CreateAccessBindingRequest) GetAccessBinding() *AccessBinding { + if x != nil { + return x.AccessBinding + } + return nil +} + +// Request message for BatchCreateAccessBindings RPC. +type BatchCreateAccessBindingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The account or property that owns the access bindings. The parent - // of all provided values for the 'names' field in DeleteAccessBindingRequest - // messages must match this field. Formats: + // field in the CreateAccessBindingRequest messages must either be empty or + // match this field. Formats: // - accounts/{account} // - properties/{property} Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The requests specifying the access bindings to delete. - // A maximum of 1000 access bindings can be deleted in a batch. - Requests []*DeleteAccessBindingRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` + // Required. The requests specifying the access bindings to create. + // A maximum of 1000 access bindings can be created in a batch. + Requests []*CreateAccessBindingRequest `protobuf:"bytes,3,rep,name=requests,proto3" json:"requests,omitempty"` } -func (x *BatchDeleteAccessBindingsRequest) Reset() { - *x = BatchDeleteAccessBindingsRequest{} +func (x *BatchCreateAccessBindingsRequest) Reset() { + *x = BatchCreateAccessBindingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6857,13 +6903,13 @@ func (x *BatchDeleteAccessBindingsRequest) Reset() { } } -func (x *BatchDeleteAccessBindingsRequest) String() string { +func (x *BatchCreateAccessBindingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BatchDeleteAccessBindingsRequest) ProtoMessage() {} +func (*BatchCreateAccessBindingsRequest) ProtoMessage() {} -func (x *BatchDeleteAccessBindingsRequest) ProtoReflect() protoreflect.Message { +func (x *BatchCreateAccessBindingsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6875,39 +6921,37 @@ func (x *BatchDeleteAccessBindingsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatchDeleteAccessBindingsRequest.ProtoReflect.Descriptor instead. -func (*BatchDeleteAccessBindingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use BatchCreateAccessBindingsRequest.ProtoReflect.Descriptor instead. +func (*BatchCreateAccessBindingsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{112} } -func (x *BatchDeleteAccessBindingsRequest) GetParent() string { +func (x *BatchCreateAccessBindingsRequest) GetParent() string { if x != nil { return x.Parent } return "" } -func (x *BatchDeleteAccessBindingsRequest) GetRequests() []*DeleteAccessBindingRequest { +func (x *BatchCreateAccessBindingsRequest) GetRequests() []*CreateAccessBindingRequest { if x != nil { return x.Requests } return nil } -// Request message for CreateExpandedDataSet RPC. -type CreateExpandedDataSetRequest struct { +// Response message for BatchCreateAccessBindings RPC. +type BatchCreateAccessBindingsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Example format: properties/1234 - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The ExpandedDataSet to create. - ExpandedDataSet *ExpandedDataSet `protobuf:"bytes,2,opt,name=expanded_data_set,json=expandedDataSet,proto3" json:"expanded_data_set,omitempty"` + // The access bindings created. + AccessBindings []*AccessBinding `protobuf:"bytes,1,rep,name=access_bindings,json=accessBindings,proto3" json:"access_bindings,omitempty"` } -func (x *CreateExpandedDataSetRequest) Reset() { - *x = CreateExpandedDataSetRequest{} +func (x *BatchCreateAccessBindingsResponse) Reset() { + *x = BatchCreateAccessBindingsResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6915,13 +6959,13 @@ func (x *CreateExpandedDataSetRequest) Reset() { } } -func (x *CreateExpandedDataSetRequest) String() string { +func (x *BatchCreateAccessBindingsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateExpandedDataSetRequest) ProtoMessage() {} +func (*BatchCreateAccessBindingsResponse) ProtoMessage() {} -func (x *CreateExpandedDataSetRequest) ProtoReflect() protoreflect.Message { +func (x *BatchCreateAccessBindingsResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6933,44 +6977,30 @@ func (x *CreateExpandedDataSetRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateExpandedDataSetRequest.ProtoReflect.Descriptor instead. -func (*CreateExpandedDataSetRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use BatchCreateAccessBindingsResponse.ProtoReflect.Descriptor instead. +func (*BatchCreateAccessBindingsResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{113} } -func (x *CreateExpandedDataSetRequest) GetParent() string { - if x != nil { - return x.Parent - } - return "" -} - -func (x *CreateExpandedDataSetRequest) GetExpandedDataSet() *ExpandedDataSet { +func (x *BatchCreateAccessBindingsResponse) GetAccessBindings() []*AccessBinding { if x != nil { - return x.ExpandedDataSet + return x.AccessBindings } return nil } -// Request message for UpdateExpandedDataSet RPC. -type UpdateExpandedDataSetRequest struct { +// Request message for UpdateAccessBinding RPC. +type UpdateAccessBindingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The ExpandedDataSet to update. - // The resource's `name` field is used to identify the ExpandedDataSet to be - // updated. - ExpandedDataSet *ExpandedDataSet `protobuf:"bytes,1,opt,name=expanded_data_set,json=expandedDataSet,proto3" json:"expanded_data_set,omitempty"` - // Required. The list of fields to be updated. Field names must be in snake - // case (e.g., "field_to_update"). Omitted fields will not be updated. To - // replace the entire entity, use one path with the string "*" to match all - // fields. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. The access binding to update. + AccessBinding *AccessBinding `protobuf:"bytes,1,opt,name=access_binding,json=accessBinding,proto3" json:"access_binding,omitempty"` } -func (x *UpdateExpandedDataSetRequest) Reset() { - *x = UpdateExpandedDataSetRequest{} +func (x *UpdateAccessBindingRequest) Reset() { + *x = UpdateAccessBindingRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6978,13 +7008,13 @@ func (x *UpdateExpandedDataSetRequest) Reset() { } } -func (x *UpdateExpandedDataSetRequest) String() string { +func (x *UpdateAccessBindingRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateExpandedDataSetRequest) ProtoMessage() {} +func (*UpdateAccessBindingRequest) ProtoMessage() {} -func (x *UpdateExpandedDataSetRequest) ProtoReflect() protoreflect.Message { +func (x *UpdateAccessBindingRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6996,37 +7026,38 @@ func (x *UpdateExpandedDataSetRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateExpandedDataSetRequest.ProtoReflect.Descriptor instead. -func (*UpdateExpandedDataSetRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdateAccessBindingRequest.ProtoReflect.Descriptor instead. +func (*UpdateAccessBindingRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{114} } -func (x *UpdateExpandedDataSetRequest) GetExpandedDataSet() *ExpandedDataSet { - if x != nil { - return x.ExpandedDataSet - } - return nil -} - -func (x *UpdateExpandedDataSetRequest) GetUpdateMask() *fieldmaskpb.FieldMask { +func (x *UpdateAccessBindingRequest) GetAccessBinding() *AccessBinding { if x != nil { - return x.UpdateMask + return x.AccessBinding } return nil } -// Request message for DeleteExpandedDataSet RPC. -type DeleteExpandedDataSetRequest struct { +// Request message for BatchUpdateAccessBindings RPC. +type BatchUpdateAccessBindingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Example format: properties/1234/expandedDataSets/5678 - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The account or property that owns the access bindings. The parent + // of all provided AccessBinding in UpdateAccessBindingRequest messages must + // match this field. + // Formats: + // - accounts/{account} + // - properties/{property} + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The requests specifying the access bindings to update. + // A maximum of 1000 access bindings can be updated in a batch. + Requests []*UpdateAccessBindingRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` } -func (x *DeleteExpandedDataSetRequest) Reset() { - *x = DeleteExpandedDataSetRequest{} +func (x *BatchUpdateAccessBindingsRequest) Reset() { + *x = BatchUpdateAccessBindingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7034,13 +7065,13 @@ func (x *DeleteExpandedDataSetRequest) Reset() { } } -func (x *DeleteExpandedDataSetRequest) String() string { +func (x *BatchUpdateAccessBindingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteExpandedDataSetRequest) ProtoMessage() {} +func (*BatchUpdateAccessBindingsRequest) ProtoMessage() {} -func (x *DeleteExpandedDataSetRequest) ProtoReflect() protoreflect.Message { +func (x *BatchUpdateAccessBindingsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7052,31 +7083,37 @@ func (x *DeleteExpandedDataSetRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteExpandedDataSetRequest.ProtoReflect.Descriptor instead. -func (*DeleteExpandedDataSetRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use BatchUpdateAccessBindingsRequest.ProtoReflect.Descriptor instead. +func (*BatchUpdateAccessBindingsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{115} } -func (x *DeleteExpandedDataSetRequest) GetName() string { +func (x *BatchUpdateAccessBindingsRequest) GetParent() string { if x != nil { - return x.Name + return x.Parent } return "" } -// Request message for GetExpandedDataSet RPC. -type GetExpandedDataSetRequest struct { +func (x *BatchUpdateAccessBindingsRequest) GetRequests() []*UpdateAccessBindingRequest { + if x != nil { + return x.Requests + } + return nil +} + +// Response message for BatchUpdateAccessBindings RPC. +type BatchUpdateAccessBindingsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The name of the ExpandedDataSet to get. - // Example format: properties/1234/expandedDataSets/5678 - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The access bindings updated. + AccessBindings []*AccessBinding `protobuf:"bytes,1,rep,name=access_bindings,json=accessBindings,proto3" json:"access_bindings,omitempty"` } -func (x *GetExpandedDataSetRequest) Reset() { - *x = GetExpandedDataSetRequest{} +func (x *BatchUpdateAccessBindingsResponse) Reset() { + *x = BatchUpdateAccessBindingsResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7084,13 +7121,13 @@ func (x *GetExpandedDataSetRequest) Reset() { } } -func (x *GetExpandedDataSetRequest) String() string { +func (x *BatchUpdateAccessBindingsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetExpandedDataSetRequest) ProtoMessage() {} +func (*BatchUpdateAccessBindingsResponse) ProtoMessage() {} -func (x *GetExpandedDataSetRequest) ProtoReflect() protoreflect.Message { +func (x *BatchUpdateAccessBindingsResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7102,40 +7139,32 @@ func (x *GetExpandedDataSetRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetExpandedDataSetRequest.ProtoReflect.Descriptor instead. -func (*GetExpandedDataSetRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use BatchUpdateAccessBindingsResponse.ProtoReflect.Descriptor instead. +func (*BatchUpdateAccessBindingsResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{116} } -func (x *GetExpandedDataSetRequest) GetName() string { +func (x *BatchUpdateAccessBindingsResponse) GetAccessBindings() []*AccessBinding { if x != nil { - return x.Name + return x.AccessBindings } - return "" + return nil } -// Request message for ListExpandedDataSets RPC. -type ListExpandedDataSetsRequest struct { +// Request message for DeleteAccessBinding RPC. +type DeleteAccessBindingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Example format: properties/1234 - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // The maximum number of resources to return. - // If unspecified, at most 50 resources will be returned. - // The maximum value is 200 (higher values will be coerced to the maximum). - PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListExpandedDataSets` call. Provide - // this to retrieve the subsequent page. - // - // When paginating, all other parameters provided to `ListExpandedDataSet` - // must match the call that provided the page token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Required. Formats: + // - accounts/{account}/accessBindings/{accessBinding} + // - properties/{property}/accessBindings/{accessBinding} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *ListExpandedDataSetsRequest) Reset() { - *x = ListExpandedDataSetsRequest{} +func (x *DeleteAccessBindingRequest) Reset() { + *x = DeleteAccessBindingRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7143,13 +7172,13 @@ func (x *ListExpandedDataSetsRequest) Reset() { } } -func (x *ListExpandedDataSetsRequest) String() string { +func (x *DeleteAccessBindingRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListExpandedDataSetsRequest) ProtoMessage() {} +func (*DeleteAccessBindingRequest) ProtoMessage() {} -func (x *ListExpandedDataSetsRequest) ProtoReflect() protoreflect.Message { +func (x *DeleteAccessBindingRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7161,48 +7190,37 @@ func (x *ListExpandedDataSetsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListExpandedDataSetsRequest.ProtoReflect.Descriptor instead. -func (*ListExpandedDataSetsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use DeleteAccessBindingRequest.ProtoReflect.Descriptor instead. +func (*DeleteAccessBindingRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{117} } -func (x *ListExpandedDataSetsRequest) GetParent() string { - if x != nil { - return x.Parent - } - return "" -} - -func (x *ListExpandedDataSetsRequest) GetPageSize() int32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListExpandedDataSetsRequest) GetPageToken() string { +func (x *DeleteAccessBindingRequest) GetName() string { if x != nil { - return x.PageToken + return x.Name } return "" } -// Response message for ListExpandedDataSets RPC. -type ListExpandedDataSetsResponse struct { +// Request message for BatchDeleteAccessBindings RPC. +type BatchDeleteAccessBindingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // List of ExpandedDataSet. These will be ordered stably, but in an arbitrary - // order. - ExpandedDataSets []*ExpandedDataSet `protobuf:"bytes,1,rep,name=expanded_data_sets,json=expandedDataSets,proto3" json:"expanded_data_sets,omitempty"` - // A token, which can be sent as `page_token` to retrieve the next page. - // If this field is omitted, there are no subsequent pages. - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Required. The account or property that owns the access bindings. The parent + // of all provided values for the 'names' field in DeleteAccessBindingRequest + // messages must match this field. Formats: + // - accounts/{account} + // - properties/{property} + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The requests specifying the access bindings to delete. + // A maximum of 1000 access bindings can be deleted in a batch. + Requests []*DeleteAccessBindingRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` } -func (x *ListExpandedDataSetsResponse) Reset() { - *x = ListExpandedDataSetsResponse{} +func (x *BatchDeleteAccessBindingsRequest) Reset() { + *x = BatchDeleteAccessBindingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7210,13 +7228,13 @@ func (x *ListExpandedDataSetsResponse) Reset() { } } -func (x *ListExpandedDataSetsResponse) String() string { +func (x *BatchDeleteAccessBindingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListExpandedDataSetsResponse) ProtoMessage() {} +func (*BatchDeleteAccessBindingsRequest) ProtoMessage() {} -func (x *ListExpandedDataSetsResponse) ProtoReflect() protoreflect.Message { +func (x *BatchDeleteAccessBindingsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7228,40 +7246,39 @@ func (x *ListExpandedDataSetsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListExpandedDataSetsResponse.ProtoReflect.Descriptor instead. -func (*ListExpandedDataSetsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use BatchDeleteAccessBindingsRequest.ProtoReflect.Descriptor instead. +func (*BatchDeleteAccessBindingsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{118} } -func (x *ListExpandedDataSetsResponse) GetExpandedDataSets() []*ExpandedDataSet { +func (x *BatchDeleteAccessBindingsRequest) GetParent() string { if x != nil { - return x.ExpandedDataSets + return x.Parent } - return nil + return "" } -func (x *ListExpandedDataSetsResponse) GetNextPageToken() string { +func (x *BatchDeleteAccessBindingsRequest) GetRequests() []*DeleteAccessBindingRequest { if x != nil { - return x.NextPageToken + return x.Requests } - return "" + return nil } -// Request message for CreateChannelGroup RPC. -type CreateChannelGroupRequest struct { +// Request message for CreateExpandedDataSet RPC. +type CreateExpandedDataSetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The property for which to create a ChannelGroup. - // Example format: properties/1234 + // Required. Example format: properties/1234 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The ChannelGroup to create. - ChannelGroup *ChannelGroup `protobuf:"bytes,2,opt,name=channel_group,json=channelGroup,proto3" json:"channel_group,omitempty"` + // Required. The ExpandedDataSet to create. + ExpandedDataSet *ExpandedDataSet `protobuf:"bytes,2,opt,name=expanded_data_set,json=expandedDataSet,proto3" json:"expanded_data_set,omitempty"` } -func (x *CreateChannelGroupRequest) Reset() { - *x = CreateChannelGroupRequest{} +func (x *CreateExpandedDataSetRequest) Reset() { + *x = CreateExpandedDataSetRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7269,13 +7286,13 @@ func (x *CreateChannelGroupRequest) Reset() { } } -func (x *CreateChannelGroupRequest) String() string { +func (x *CreateExpandedDataSetRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateChannelGroupRequest) ProtoMessage() {} +func (*CreateExpandedDataSetRequest) ProtoMessage() {} -func (x *CreateChannelGroupRequest) ProtoReflect() protoreflect.Message { +func (x *CreateExpandedDataSetRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7287,35 +7304,35 @@ func (x *CreateChannelGroupRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateChannelGroupRequest.ProtoReflect.Descriptor instead. -func (*CreateChannelGroupRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateExpandedDataSetRequest.ProtoReflect.Descriptor instead. +func (*CreateExpandedDataSetRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{119} } -func (x *CreateChannelGroupRequest) GetParent() string { +func (x *CreateExpandedDataSetRequest) GetParent() string { if x != nil { return x.Parent } return "" } -func (x *CreateChannelGroupRequest) GetChannelGroup() *ChannelGroup { +func (x *CreateExpandedDataSetRequest) GetExpandedDataSet() *ExpandedDataSet { if x != nil { - return x.ChannelGroup + return x.ExpandedDataSet } return nil } -// Request message for UpdateChannelGroup RPC. -type UpdateChannelGroupRequest struct { +// Request message for UpdateExpandedDataSet RPC. +type UpdateExpandedDataSetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The ChannelGroup to update. - // The resource's `name` field is used to identify the ChannelGroup to be + // Required. The ExpandedDataSet to update. + // The resource's `name` field is used to identify the ExpandedDataSet to be // updated. - ChannelGroup *ChannelGroup `protobuf:"bytes,1,opt,name=channel_group,json=channelGroup,proto3" json:"channel_group,omitempty"` + ExpandedDataSet *ExpandedDataSet `protobuf:"bytes,1,opt,name=expanded_data_set,json=expandedDataSet,proto3" json:"expanded_data_set,omitempty"` // Required. The list of fields to be updated. Field names must be in snake // case (e.g., "field_to_update"). Omitted fields will not be updated. To // replace the entire entity, use one path with the string "*" to match all @@ -7323,8 +7340,8 @@ type UpdateChannelGroupRequest struct { UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } -func (x *UpdateChannelGroupRequest) Reset() { - *x = UpdateChannelGroupRequest{} +func (x *UpdateExpandedDataSetRequest) Reset() { + *x = UpdateExpandedDataSetRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7332,13 +7349,13 @@ func (x *UpdateChannelGroupRequest) Reset() { } } -func (x *UpdateChannelGroupRequest) String() string { +func (x *UpdateExpandedDataSetRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateChannelGroupRequest) ProtoMessage() {} +func (*UpdateExpandedDataSetRequest) ProtoMessage() {} -func (x *UpdateChannelGroupRequest) ProtoReflect() protoreflect.Message { +func (x *UpdateExpandedDataSetRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7350,38 +7367,37 @@ func (x *UpdateChannelGroupRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateChannelGroupRequest.ProtoReflect.Descriptor instead. -func (*UpdateChannelGroupRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdateExpandedDataSetRequest.ProtoReflect.Descriptor instead. +func (*UpdateExpandedDataSetRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{120} } -func (x *UpdateChannelGroupRequest) GetChannelGroup() *ChannelGroup { +func (x *UpdateExpandedDataSetRequest) GetExpandedDataSet() *ExpandedDataSet { if x != nil { - return x.ChannelGroup + return x.ExpandedDataSet } return nil } -func (x *UpdateChannelGroupRequest) GetUpdateMask() *fieldmaskpb.FieldMask { +func (x *UpdateExpandedDataSetRequest) GetUpdateMask() *fieldmaskpb.FieldMask { if x != nil { return x.UpdateMask } return nil } -// Request message for DeleteChannelGroup RPC. -type DeleteChannelGroupRequest struct { +// Request message for DeleteExpandedDataSet RPC. +type DeleteExpandedDataSetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The ChannelGroup to delete. - // Example format: properties/1234/channelGroups/5678 + // Required. Example format: properties/1234/expandedDataSets/5678 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *DeleteChannelGroupRequest) Reset() { - *x = DeleteChannelGroupRequest{} +func (x *DeleteExpandedDataSetRequest) Reset() { + *x = DeleteExpandedDataSetRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7389,13 +7405,13 @@ func (x *DeleteChannelGroupRequest) Reset() { } } -func (x *DeleteChannelGroupRequest) String() string { +func (x *DeleteExpandedDataSetRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteChannelGroupRequest) ProtoMessage() {} +func (*DeleteExpandedDataSetRequest) ProtoMessage() {} -func (x *DeleteChannelGroupRequest) ProtoReflect() protoreflect.Message { +func (x *DeleteExpandedDataSetRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7407,31 +7423,31 @@ func (x *DeleteChannelGroupRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteChannelGroupRequest.ProtoReflect.Descriptor instead. -func (*DeleteChannelGroupRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use DeleteExpandedDataSetRequest.ProtoReflect.Descriptor instead. +func (*DeleteExpandedDataSetRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{121} } -func (x *DeleteChannelGroupRequest) GetName() string { +func (x *DeleteExpandedDataSetRequest) GetName() string { if x != nil { return x.Name } return "" } -// Request message for GetChannelGroup RPC. -type GetChannelGroupRequest struct { +// Request message for GetExpandedDataSet RPC. +type GetExpandedDataSetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The ChannelGroup to get. - // Example format: properties/1234/channelGroups/5678 + // Required. The name of the ExpandedDataSet to get. + // Example format: properties/1234/expandedDataSets/5678 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *GetChannelGroupRequest) Reset() { - *x = GetChannelGroupRequest{} +func (x *GetExpandedDataSetRequest) Reset() { + *x = GetExpandedDataSetRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7439,13 +7455,13 @@ func (x *GetChannelGroupRequest) Reset() { } } -func (x *GetChannelGroupRequest) String() string { +func (x *GetExpandedDataSetRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetChannelGroupRequest) ProtoMessage() {} +func (*GetExpandedDataSetRequest) ProtoMessage() {} -func (x *GetChannelGroupRequest) ProtoReflect() protoreflect.Message { +func (x *GetExpandedDataSetRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7457,41 +7473,40 @@ func (x *GetChannelGroupRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetChannelGroupRequest.ProtoReflect.Descriptor instead. -func (*GetChannelGroupRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetExpandedDataSetRequest.ProtoReflect.Descriptor instead. +func (*GetExpandedDataSetRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{122} } -func (x *GetChannelGroupRequest) GetName() string { +func (x *GetExpandedDataSetRequest) GetName() string { if x != nil { return x.Name } return "" } -// Request message for ListChannelGroups RPC. -type ListChannelGroupsRequest struct { +// Request message for ListExpandedDataSets RPC. +type ListExpandedDataSetsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The property for which to list ChannelGroups. - // Example format: properties/1234 + // Required. Example format: properties/1234 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The maximum number of resources to return. // If unspecified, at most 50 resources will be returned. // The maximum value is 200 (higher values will be coerced to the maximum). PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListChannelGroups` call. Provide + // A page token, received from a previous `ListExpandedDataSets` call. Provide // this to retrieve the subsequent page. // - // When paginating, all other parameters provided to `ListChannelGroups` + // When paginating, all other parameters provided to `ListExpandedDataSet` // must match the call that provided the page token. PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } -func (x *ListChannelGroupsRequest) Reset() { - *x = ListChannelGroupsRequest{} +func (x *ListExpandedDataSetsRequest) Reset() { + *x = ListExpandedDataSetsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7499,13 +7514,13 @@ func (x *ListChannelGroupsRequest) Reset() { } } -func (x *ListChannelGroupsRequest) String() string { +func (x *ListExpandedDataSetsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListChannelGroupsRequest) ProtoMessage() {} +func (*ListExpandedDataSetsRequest) ProtoMessage() {} -func (x *ListChannelGroupsRequest) ProtoReflect() protoreflect.Message { +func (x *ListExpandedDataSetsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7517,48 +7532,48 @@ func (x *ListChannelGroupsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListChannelGroupsRequest.ProtoReflect.Descriptor instead. -func (*ListChannelGroupsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListExpandedDataSetsRequest.ProtoReflect.Descriptor instead. +func (*ListExpandedDataSetsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{123} } -func (x *ListChannelGroupsRequest) GetParent() string { +func (x *ListExpandedDataSetsRequest) GetParent() string { if x != nil { return x.Parent } return "" } -func (x *ListChannelGroupsRequest) GetPageSize() int32 { +func (x *ListExpandedDataSetsRequest) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } -func (x *ListChannelGroupsRequest) GetPageToken() string { +func (x *ListExpandedDataSetsRequest) GetPageToken() string { if x != nil { return x.PageToken } return "" } -// Response message for ListChannelGroups RPC. -type ListChannelGroupsResponse struct { +// Response message for ListExpandedDataSets RPC. +type ListExpandedDataSetsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // List of ChannelGroup. These will be ordered stably, but in an arbitrary + // List of ExpandedDataSet. These will be ordered stably, but in an arbitrary // order. - ChannelGroups []*ChannelGroup `protobuf:"bytes,1,rep,name=channel_groups,json=channelGroups,proto3" json:"channel_groups,omitempty"` + ExpandedDataSets []*ExpandedDataSet `protobuf:"bytes,1,rep,name=expanded_data_sets,json=expandedDataSets,proto3" json:"expanded_data_sets,omitempty"` // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } -func (x *ListChannelGroupsResponse) Reset() { - *x = ListChannelGroupsResponse{} +func (x *ListExpandedDataSetsResponse) Reset() { + *x = ListExpandedDataSetsResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7566,13 +7581,13 @@ func (x *ListChannelGroupsResponse) Reset() { } } -func (x *ListChannelGroupsResponse) String() string { +func (x *ListExpandedDataSetsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListChannelGroupsResponse) ProtoMessage() {} +func (*ListExpandedDataSetsResponse) ProtoMessage() {} -func (x *ListChannelGroupsResponse) ProtoReflect() protoreflect.Message { +func (x *ListExpandedDataSetsResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7584,42 +7599,40 @@ func (x *ListChannelGroupsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListChannelGroupsResponse.ProtoReflect.Descriptor instead. -func (*ListChannelGroupsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListExpandedDataSetsResponse.ProtoReflect.Descriptor instead. +func (*ListExpandedDataSetsResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{124} } -func (x *ListChannelGroupsResponse) GetChannelGroups() []*ChannelGroup { +func (x *ListExpandedDataSetsResponse) GetExpandedDataSets() []*ExpandedDataSet { if x != nil { - return x.ChannelGroups + return x.ExpandedDataSets } return nil } -func (x *ListChannelGroupsResponse) GetNextPageToken() string { +func (x *ListExpandedDataSetsResponse) GetNextPageToken() string { if x != nil { return x.NextPageToken } return "" } -// Request for setting the opt out status for the automated GA4 setup process. -type SetAutomatedGa4ConfigurationOptOutRequest struct { +// Request message for CreateChannelGroup RPC. +type CreateChannelGroupRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The UA property to set the opt out status. Note this request uses - // the internal property ID, not the tracking ID of the form UA-XXXXXX-YY. - // Format: properties/{internalWebPropertyId} - // Example: properties/1234 - Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` - // The status to set. - OptOut bool `protobuf:"varint,2,opt,name=opt_out,json=optOut,proto3" json:"opt_out,omitempty"` + // Required. The property for which to create a ChannelGroup. + // Example format: properties/1234 + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The ChannelGroup to create. + ChannelGroup *ChannelGroup `protobuf:"bytes,2,opt,name=channel_group,json=channelGroup,proto3" json:"channel_group,omitempty"` } -func (x *SetAutomatedGa4ConfigurationOptOutRequest) Reset() { - *x = SetAutomatedGa4ConfigurationOptOutRequest{} +func (x *CreateChannelGroupRequest) Reset() { + *x = CreateChannelGroupRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7627,13 +7640,13 @@ func (x *SetAutomatedGa4ConfigurationOptOutRequest) Reset() { } } -func (x *SetAutomatedGa4ConfigurationOptOutRequest) String() string { +func (x *CreateChannelGroupRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SetAutomatedGa4ConfigurationOptOutRequest) ProtoMessage() {} +func (*CreateChannelGroupRequest) ProtoMessage() {} -func (x *SetAutomatedGa4ConfigurationOptOutRequest) ProtoReflect() protoreflect.Message { +func (x *CreateChannelGroupRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7645,35 +7658,44 @@ func (x *SetAutomatedGa4ConfigurationOptOutRequest) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use SetAutomatedGa4ConfigurationOptOutRequest.ProtoReflect.Descriptor instead. -func (*SetAutomatedGa4ConfigurationOptOutRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateChannelGroupRequest.ProtoReflect.Descriptor instead. +func (*CreateChannelGroupRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{125} } -func (x *SetAutomatedGa4ConfigurationOptOutRequest) GetProperty() string { +func (x *CreateChannelGroupRequest) GetParent() string { if x != nil { - return x.Property + return x.Parent } return "" } -func (x *SetAutomatedGa4ConfigurationOptOutRequest) GetOptOut() bool { +func (x *CreateChannelGroupRequest) GetChannelGroup() *ChannelGroup { if x != nil { - return x.OptOut + return x.ChannelGroup } - return false + return nil } -// Response message for setting the opt out status for the automated GA4 setup -// process. -type SetAutomatedGa4ConfigurationOptOutResponse struct { +// Request message for UpdateChannelGroup RPC. +type UpdateChannelGroupRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // Required. The ChannelGroup to update. + // The resource's `name` field is used to identify the ChannelGroup to be + // updated. + ChannelGroup *ChannelGroup `protobuf:"bytes,1,opt,name=channel_group,json=channelGroup,proto3" json:"channel_group,omitempty"` + // Required. The list of fields to be updated. Field names must be in snake + // case (e.g., "field_to_update"). Omitted fields will not be updated. To + // replace the entire entity, use one path with the string "*" to match all + // fields. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } -func (x *SetAutomatedGa4ConfigurationOptOutResponse) Reset() { - *x = SetAutomatedGa4ConfigurationOptOutResponse{} +func (x *UpdateChannelGroupRequest) Reset() { + *x = UpdateChannelGroupRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7681,13 +7703,13 @@ func (x *SetAutomatedGa4ConfigurationOptOutResponse) Reset() { } } -func (x *SetAutomatedGa4ConfigurationOptOutResponse) String() string { +func (x *UpdateChannelGroupRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SetAutomatedGa4ConfigurationOptOutResponse) ProtoMessage() {} +func (*UpdateChannelGroupRequest) ProtoMessage() {} -func (x *SetAutomatedGa4ConfigurationOptOutResponse) ProtoReflect() protoreflect.Message { +func (x *UpdateChannelGroupRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7699,26 +7721,38 @@ func (x *SetAutomatedGa4ConfigurationOptOutResponse) ProtoReflect() protoreflect return mi.MessageOf(x) } -// Deprecated: Use SetAutomatedGa4ConfigurationOptOutResponse.ProtoReflect.Descriptor instead. -func (*SetAutomatedGa4ConfigurationOptOutResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdateChannelGroupRequest.ProtoReflect.Descriptor instead. +func (*UpdateChannelGroupRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{126} } -// Request for fetching the opt out status for the automated GA4 setup process. -type FetchAutomatedGa4ConfigurationOptOutRequest struct { +func (x *UpdateChannelGroupRequest) GetChannelGroup() *ChannelGroup { + if x != nil { + return x.ChannelGroup + } + return nil +} + +func (x *UpdateChannelGroupRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for DeleteChannelGroup RPC. +type DeleteChannelGroupRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The UA property to get the opt out status. Note this request uses - // the internal property ID, not the tracking ID of the form UA-XXXXXX-YY. - // Format: properties/{internalWebPropertyId} - // Example: properties/1234 - Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` + // Required. The ChannelGroup to delete. + // Example format: properties/1234/channelGroups/5678 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *FetchAutomatedGa4ConfigurationOptOutRequest) Reset() { - *x = FetchAutomatedGa4ConfigurationOptOutRequest{} +func (x *DeleteChannelGroupRequest) Reset() { + *x = DeleteChannelGroupRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7726,13 +7760,13 @@ func (x *FetchAutomatedGa4ConfigurationOptOutRequest) Reset() { } } -func (x *FetchAutomatedGa4ConfigurationOptOutRequest) String() string { +func (x *DeleteChannelGroupRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FetchAutomatedGa4ConfigurationOptOutRequest) ProtoMessage() {} +func (*DeleteChannelGroupRequest) ProtoMessage() {} -func (x *FetchAutomatedGa4ConfigurationOptOutRequest) ProtoReflect() protoreflect.Message { +func (x *DeleteChannelGroupRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7744,31 +7778,31 @@ func (x *FetchAutomatedGa4ConfigurationOptOutRequest) ProtoReflect() protoreflec return mi.MessageOf(x) } -// Deprecated: Use FetchAutomatedGa4ConfigurationOptOutRequest.ProtoReflect.Descriptor instead. -func (*FetchAutomatedGa4ConfigurationOptOutRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use DeleteChannelGroupRequest.ProtoReflect.Descriptor instead. +func (*DeleteChannelGroupRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{127} } -func (x *FetchAutomatedGa4ConfigurationOptOutRequest) GetProperty() string { +func (x *DeleteChannelGroupRequest) GetName() string { if x != nil { - return x.Property + return x.Name } return "" } -// Response message for fetching the opt out status for the automated GA4 setup -// process. -type FetchAutomatedGa4ConfigurationOptOutResponse struct { +// Request message for GetChannelGroup RPC. +type GetChannelGroupRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The opt out status for the UA property. - OptOut bool `protobuf:"varint,1,opt,name=opt_out,json=optOut,proto3" json:"opt_out,omitempty"` + // Required. The ChannelGroup to get. + // Example format: properties/1234/channelGroups/5678 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *FetchAutomatedGa4ConfigurationOptOutResponse) Reset() { - *x = FetchAutomatedGa4ConfigurationOptOutResponse{} +func (x *GetChannelGroupRequest) Reset() { + *x = GetChannelGroupRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7776,13 +7810,13 @@ func (x *FetchAutomatedGa4ConfigurationOptOutResponse) Reset() { } } -func (x *FetchAutomatedGa4ConfigurationOptOutResponse) String() string { +func (x *GetChannelGroupRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FetchAutomatedGa4ConfigurationOptOutResponse) ProtoMessage() {} +func (*GetChannelGroupRequest) ProtoMessage() {} -func (x *FetchAutomatedGa4ConfigurationOptOutResponse) ProtoReflect() protoreflect.Message { +func (x *GetChannelGroupRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7794,32 +7828,41 @@ func (x *FetchAutomatedGa4ConfigurationOptOutResponse) ProtoReflect() protorefle return mi.MessageOf(x) } -// Deprecated: Use FetchAutomatedGa4ConfigurationOptOutResponse.ProtoReflect.Descriptor instead. -func (*FetchAutomatedGa4ConfigurationOptOutResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use GetChannelGroupRequest.ProtoReflect.Descriptor instead. +func (*GetChannelGroupRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{128} } -func (x *FetchAutomatedGa4ConfigurationOptOutResponse) GetOptOut() bool { +func (x *GetChannelGroupRequest) GetName() string { if x != nil { - return x.OptOut + return x.Name } - return false + return "" } -// Request message for GetBigQueryLink RPC. -type GetBigQueryLinkRequest struct { +// Request message for ListChannelGroups RPC. +type ListChannelGroupsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The name of the BigQuery link to lookup. - // Format: properties/{property_id}/bigQueryLinks/{bigquery_link_id} - // Example: properties/123/bigQueryLinks/456 - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The property for which to list ChannelGroups. + // Example format: properties/1234 + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListChannelGroups` call. Provide + // this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListChannelGroups` + // must match the call that provided the page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } -func (x *GetBigQueryLinkRequest) Reset() { - *x = GetBigQueryLinkRequest{} +func (x *ListChannelGroupsRequest) Reset() { + *x = ListChannelGroupsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7827,13 +7870,13 @@ func (x *GetBigQueryLinkRequest) Reset() { } } -func (x *GetBigQueryLinkRequest) String() string { +func (x *ListChannelGroupsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetBigQueryLinkRequest) ProtoMessage() {} +func (*ListChannelGroupsRequest) ProtoMessage() {} -func (x *GetBigQueryLinkRequest) ProtoReflect() protoreflect.Message { +func (x *ListChannelGroupsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7845,42 +7888,48 @@ func (x *GetBigQueryLinkRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetBigQueryLinkRequest.ProtoReflect.Descriptor instead. -func (*GetBigQueryLinkRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListChannelGroupsRequest.ProtoReflect.Descriptor instead. +func (*ListChannelGroupsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{129} } -func (x *GetBigQueryLinkRequest) GetName() string { +func (x *ListChannelGroupsRequest) GetParent() string { if x != nil { - return x.Name + return x.Parent } return "" } -// Request message for ListBigQueryLinks RPC. -type ListBigQueryLinksRequest struct { +func (x *ListChannelGroupsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListChannelGroupsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for ListChannelGroups RPC. +type ListChannelGroupsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The name of the property to list BigQuery links under. - // Format: properties/{property_id} - // Example: properties/1234 - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // The maximum number of resources to return. The service may return - // fewer than this value, even if there are additional pages. - // If unspecified, at most 50 resources will be returned. - // The maximum value is 200; (higher values will be coerced to the maximum) - PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListBigQueryLinks` call. - // Provide this to retrieve the subsequent page. - // When paginating, all other parameters provided to `ListBigQueryLinks` must - // match the call that provided the page token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // List of ChannelGroup. These will be ordered stably, but in an arbitrary + // order. + ChannelGroups []*ChannelGroup `protobuf:"bytes,1,rep,name=channel_groups,json=channelGroups,proto3" json:"channel_groups,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } -func (x *ListBigQueryLinksRequest) Reset() { - *x = ListBigQueryLinksRequest{} +func (x *ListChannelGroupsResponse) Reset() { + *x = ListChannelGroupsResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7888,13 +7937,13 @@ func (x *ListBigQueryLinksRequest) Reset() { } } -func (x *ListBigQueryLinksRequest) String() string { +func (x *ListChannelGroupsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListBigQueryLinksRequest) ProtoMessage() {} +func (*ListChannelGroupsResponse) ProtoMessage() {} -func (x *ListBigQueryLinksRequest) ProtoReflect() protoreflect.Message { +func (x *ListChannelGroupsResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7906,47 +7955,42 @@ func (x *ListBigQueryLinksRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListBigQueryLinksRequest.ProtoReflect.Descriptor instead. -func (*ListBigQueryLinksRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListChannelGroupsResponse.ProtoReflect.Descriptor instead. +func (*ListChannelGroupsResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{130} } -func (x *ListBigQueryLinksRequest) GetParent() string { - if x != nil { - return x.Parent - } - return "" -} - -func (x *ListBigQueryLinksRequest) GetPageSize() int32 { +func (x *ListChannelGroupsResponse) GetChannelGroups() []*ChannelGroup { if x != nil { - return x.PageSize + return x.ChannelGroups } - return 0 + return nil } -func (x *ListBigQueryLinksRequest) GetPageToken() string { +func (x *ListChannelGroupsResponse) GetNextPageToken() string { if x != nil { - return x.PageToken + return x.NextPageToken } return "" } -// Response message for ListBigQueryLinks RPC -type ListBigQueryLinksResponse struct { +// Request for setting the opt out status for the automated GA4 setup process. +type SetAutomatedGa4ConfigurationOptOutRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // List of BigQueryLinks. - BigqueryLinks []*BigQueryLink `protobuf:"bytes,1,rep,name=bigquery_links,json=bigqueryLinks,proto3" json:"bigquery_links,omitempty"` - // A token, which can be sent as `page_token` to retrieve the next page. - // If this field is omitted, there are no subsequent pages. - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Required. The UA property to set the opt out status. Note this request uses + // the internal property ID, not the tracking ID of the form UA-XXXXXX-YY. + // Format: properties/{internalWebPropertyId} + // Example: properties/1234 + Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` + // The status to set. + OptOut bool `protobuf:"varint,2,opt,name=opt_out,json=optOut,proto3" json:"opt_out,omitempty"` } -func (x *ListBigQueryLinksResponse) Reset() { - *x = ListBigQueryLinksResponse{} +func (x *SetAutomatedGa4ConfigurationOptOutRequest) Reset() { + *x = SetAutomatedGa4ConfigurationOptOutRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7954,13 +7998,13 @@ func (x *ListBigQueryLinksResponse) Reset() { } } -func (x *ListBigQueryLinksResponse) String() string { +func (x *SetAutomatedGa4ConfigurationOptOutRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListBigQueryLinksResponse) ProtoMessage() {} +func (*SetAutomatedGa4ConfigurationOptOutRequest) ProtoMessage() {} -func (x *ListBigQueryLinksResponse) ProtoReflect() protoreflect.Message { +func (x *SetAutomatedGa4ConfigurationOptOutRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7972,40 +8016,35 @@ func (x *ListBigQueryLinksResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListBigQueryLinksResponse.ProtoReflect.Descriptor instead. -func (*ListBigQueryLinksResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use SetAutomatedGa4ConfigurationOptOutRequest.ProtoReflect.Descriptor instead. +func (*SetAutomatedGa4ConfigurationOptOutRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{131} } -func (x *ListBigQueryLinksResponse) GetBigqueryLinks() []*BigQueryLink { +func (x *SetAutomatedGa4ConfigurationOptOutRequest) GetProperty() string { if x != nil { - return x.BigqueryLinks + return x.Property } - return nil + return "" } -func (x *ListBigQueryLinksResponse) GetNextPageToken() string { +func (x *SetAutomatedGa4ConfigurationOptOutRequest) GetOptOut() bool { if x != nil { - return x.NextPageToken + return x.OptOut } - return "" + return false } -// Request message for GetEnhancedMeasurementSettings RPC. -type GetEnhancedMeasurementSettingsRequest struct { +// Response message for setting the opt out status for the automated GA4 setup +// process. +type SetAutomatedGa4ConfigurationOptOutResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // Required. The name of the settings to lookup. - // Format: - // properties/{property}/dataStreams/{data_stream}/enhancedMeasurementSettings - // Example: "properties/1000/dataStreams/2000/enhancedMeasurementSettings" - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *GetEnhancedMeasurementSettingsRequest) Reset() { - *x = GetEnhancedMeasurementSettingsRequest{} +func (x *SetAutomatedGa4ConfigurationOptOutResponse) Reset() { + *x = SetAutomatedGa4ConfigurationOptOutResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8013,13 +8052,13 @@ func (x *GetEnhancedMeasurementSettingsRequest) Reset() { } } -func (x *GetEnhancedMeasurementSettingsRequest) String() string { +func (x *SetAutomatedGa4ConfigurationOptOutResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetEnhancedMeasurementSettingsRequest) ProtoMessage() {} +func (*SetAutomatedGa4ConfigurationOptOutResponse) ProtoMessage() {} -func (x *GetEnhancedMeasurementSettingsRequest) ProtoReflect() protoreflect.Message { +func (x *SetAutomatedGa4ConfigurationOptOutResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8031,36 +8070,26 @@ func (x *GetEnhancedMeasurementSettingsRequest) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use GetEnhancedMeasurementSettingsRequest.ProtoReflect.Descriptor instead. -func (*GetEnhancedMeasurementSettingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use SetAutomatedGa4ConfigurationOptOutResponse.ProtoReflect.Descriptor instead. +func (*SetAutomatedGa4ConfigurationOptOutResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{132} } -func (x *GetEnhancedMeasurementSettingsRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -// Request message for UpdateEnhancedMeasurementSettings RPC. -type UpdateEnhancedMeasurementSettingsRequest struct { +// Request for fetching the opt out status for the automated GA4 setup process. +type FetchAutomatedGa4ConfigurationOptOutRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The settings to update. - // The `name` field is used to identify the settings to be updated. - EnhancedMeasurementSettings *EnhancedMeasurementSettings `protobuf:"bytes,1,opt,name=enhanced_measurement_settings,json=enhancedMeasurementSettings,proto3" json:"enhanced_measurement_settings,omitempty"` - // Required. The list of fields to be updated. Field names must be in snake - // case (e.g., "field_to_update"). Omitted fields will not be updated. To - // replace the entire entity, use one path with the string "*" to match all - // fields. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. The UA property to get the opt out status. Note this request uses + // the internal property ID, not the tracking ID of the form UA-XXXXXX-YY. + // Format: properties/{internalWebPropertyId} + // Example: properties/1234 + Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` } -func (x *UpdateEnhancedMeasurementSettingsRequest) Reset() { - *x = UpdateEnhancedMeasurementSettingsRequest{} +func (x *FetchAutomatedGa4ConfigurationOptOutRequest) Reset() { + *x = FetchAutomatedGa4ConfigurationOptOutRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8068,13 +8097,13 @@ func (x *UpdateEnhancedMeasurementSettingsRequest) Reset() { } } -func (x *UpdateEnhancedMeasurementSettingsRequest) String() string { +func (x *FetchAutomatedGa4ConfigurationOptOutRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateEnhancedMeasurementSettingsRequest) ProtoMessage() {} +func (*FetchAutomatedGa4ConfigurationOptOutRequest) ProtoMessage() {} -func (x *UpdateEnhancedMeasurementSettingsRequest) ProtoReflect() protoreflect.Message { +func (x *FetchAutomatedGa4ConfigurationOptOutRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8086,40 +8115,31 @@ func (x *UpdateEnhancedMeasurementSettingsRequest) ProtoReflect() protoreflect.M return mi.MessageOf(x) } -// Deprecated: Use UpdateEnhancedMeasurementSettingsRequest.ProtoReflect.Descriptor instead. -func (*UpdateEnhancedMeasurementSettingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use FetchAutomatedGa4ConfigurationOptOutRequest.ProtoReflect.Descriptor instead. +func (*FetchAutomatedGa4ConfigurationOptOutRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{133} } -func (x *UpdateEnhancedMeasurementSettingsRequest) GetEnhancedMeasurementSettings() *EnhancedMeasurementSettings { - if x != nil { - return x.EnhancedMeasurementSettings - } - return nil -} - -func (x *UpdateEnhancedMeasurementSettingsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { +func (x *FetchAutomatedGa4ConfigurationOptOutRequest) GetProperty() string { if x != nil { - return x.UpdateMask + return x.Property } - return nil + return "" } -// Request message for GetDataRedactionSettings RPC. -type GetDataRedactionSettingsRequest struct { +// Response message for fetching the opt out status for the automated GA4 setup +// process. +type FetchAutomatedGa4ConfigurationOptOutResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The name of the settings to lookup. - // Format: - // properties/{property}/dataStreams/{data_stream}/dataRedactionSettings - // Example: "properties/1000/dataStreams/2000/dataRedactionSettings" - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The opt out status for the UA property. + OptOut bool `protobuf:"varint,1,opt,name=opt_out,json=optOut,proto3" json:"opt_out,omitempty"` } -func (x *GetDataRedactionSettingsRequest) Reset() { - *x = GetDataRedactionSettingsRequest{} +func (x *FetchAutomatedGa4ConfigurationOptOutResponse) Reset() { + *x = FetchAutomatedGa4ConfigurationOptOutResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8127,13 +8147,13 @@ func (x *GetDataRedactionSettingsRequest) Reset() { } } -func (x *GetDataRedactionSettingsRequest) String() string { +func (x *FetchAutomatedGa4ConfigurationOptOutResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetDataRedactionSettingsRequest) ProtoMessage() {} +func (*FetchAutomatedGa4ConfigurationOptOutResponse) ProtoMessage() {} -func (x *GetDataRedactionSettingsRequest) ProtoReflect() protoreflect.Message { +func (x *FetchAutomatedGa4ConfigurationOptOutResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8145,36 +8165,32 @@ func (x *GetDataRedactionSettingsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetDataRedactionSettingsRequest.ProtoReflect.Descriptor instead. -func (*GetDataRedactionSettingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use FetchAutomatedGa4ConfigurationOptOutResponse.ProtoReflect.Descriptor instead. +func (*FetchAutomatedGa4ConfigurationOptOutResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{134} } -func (x *GetDataRedactionSettingsRequest) GetName() string { +func (x *FetchAutomatedGa4ConfigurationOptOutResponse) GetOptOut() bool { if x != nil { - return x.Name + return x.OptOut } - return "" + return false } -// Request message for UpdateDataRedactionSettings RPC. -type UpdateDataRedactionSettingsRequest struct { +// Request message for GetBigQueryLink RPC. +type GetBigQueryLinkRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The settings to update. - // The `name` field is used to identify the settings to be updated. - DataRedactionSettings *DataRedactionSettings `protobuf:"bytes,1,opt,name=data_redaction_settings,json=dataRedactionSettings,proto3" json:"data_redaction_settings,omitempty"` - // Required. The list of fields to be updated. Field names must be in snake - // case (e.g., "field_to_update"). Omitted fields will not be updated. To - // replace the entire entity, use one path with the string "*" to match all - // fields. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. The name of the BigQuery link to lookup. + // Format: properties/{property_id}/bigQueryLinks/{bigquery_link_id} + // Example: properties/123/bigQueryLinks/456 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *UpdateDataRedactionSettingsRequest) Reset() { - *x = UpdateDataRedactionSettingsRequest{} +func (x *GetBigQueryLinkRequest) Reset() { + *x = GetBigQueryLinkRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8182,13 +8198,13 @@ func (x *UpdateDataRedactionSettingsRequest) Reset() { } } -func (x *UpdateDataRedactionSettingsRequest) String() string { +func (x *GetBigQueryLinkRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateDataRedactionSettingsRequest) ProtoMessage() {} +func (*GetBigQueryLinkRequest) ProtoMessage() {} -func (x *UpdateDataRedactionSettingsRequest) ProtoReflect() protoreflect.Message { +func (x *GetBigQueryLinkRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8200,42 +8216,42 @@ func (x *UpdateDataRedactionSettingsRequest) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use UpdateDataRedactionSettingsRequest.ProtoReflect.Descriptor instead. -func (*UpdateDataRedactionSettingsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetBigQueryLinkRequest.ProtoReflect.Descriptor instead. +func (*GetBigQueryLinkRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{135} } -func (x *UpdateDataRedactionSettingsRequest) GetDataRedactionSettings() *DataRedactionSettings { - if x != nil { - return x.DataRedactionSettings - } - return nil -} - -func (x *UpdateDataRedactionSettingsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { +func (x *GetBigQueryLinkRequest) GetName() string { if x != nil { - return x.UpdateMask + return x.Name } - return nil + return "" } -// Request message for CreateConnectedSiteTag RPC. -type CreateConnectedSiteTagRequest struct { +// Request message for ListBigQueryLinks RPC. +type ListBigQueryLinksRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The Universal Analytics property to create connected site tags for. - // This API does not support GA4 properties. - // Format: properties/{universalAnalyticsPropertyId} + // Required. The name of the property to list BigQuery links under. + // Format: properties/{property_id} // Example: properties/1234 - Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` - // Required. The tag to add to the Universal Analytics property - ConnectedSiteTag *ConnectedSiteTag `protobuf:"bytes,2,opt,name=connected_site_tag,json=connectedSiteTag,proto3" json:"connected_site_tag,omitempty"` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of resources to return. The service may return + // fewer than this value, even if there are additional pages. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200; (higher values will be coerced to the maximum) + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListBigQueryLinks` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListBigQueryLinks` must + // match the call that provided the page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } -func (x *CreateConnectedSiteTagRequest) Reset() { - *x = CreateConnectedSiteTagRequest{} +func (x *ListBigQueryLinksRequest) Reset() { + *x = ListBigQueryLinksRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8243,13 +8259,13 @@ func (x *CreateConnectedSiteTagRequest) Reset() { } } -func (x *CreateConnectedSiteTagRequest) String() string { +func (x *ListBigQueryLinksRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateConnectedSiteTagRequest) ProtoMessage() {} +func (*ListBigQueryLinksRequest) ProtoMessage() {} -func (x *CreateConnectedSiteTagRequest) ProtoReflect() protoreflect.Message { +func (x *ListBigQueryLinksRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8261,34 +8277,47 @@ func (x *CreateConnectedSiteTagRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateConnectedSiteTagRequest.ProtoReflect.Descriptor instead. -func (*CreateConnectedSiteTagRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListBigQueryLinksRequest.ProtoReflect.Descriptor instead. +func (*ListBigQueryLinksRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{136} } -func (x *CreateConnectedSiteTagRequest) GetProperty() string { +func (x *ListBigQueryLinksRequest) GetParent() string { if x != nil { - return x.Property + return x.Parent } return "" } -func (x *CreateConnectedSiteTagRequest) GetConnectedSiteTag() *ConnectedSiteTag { +func (x *ListBigQueryLinksRequest) GetPageSize() int32 { if x != nil { - return x.ConnectedSiteTag + return x.PageSize } - return nil + return 0 } -// Response message for CreateConnectedSiteTag RPC. -type CreateConnectedSiteTagResponse struct { +func (x *ListBigQueryLinksRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for ListBigQueryLinks RPC +type ListBigQueryLinksResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // List of BigQueryLinks. + BigqueryLinks []*BigQueryLink `protobuf:"bytes,1,rep,name=bigquery_links,json=bigqueryLinks,proto3" json:"bigquery_links,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } -func (x *CreateConnectedSiteTagResponse) Reset() { - *x = CreateConnectedSiteTagResponse{} +func (x *ListBigQueryLinksResponse) Reset() { + *x = ListBigQueryLinksResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8296,13 +8325,13 @@ func (x *CreateConnectedSiteTagResponse) Reset() { } } -func (x *CreateConnectedSiteTagResponse) String() string { +func (x *ListBigQueryLinksResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateConnectedSiteTagResponse) ProtoMessage() {} +func (*ListBigQueryLinksResponse) ProtoMessage() {} -func (x *CreateConnectedSiteTagResponse) ProtoReflect() protoreflect.Message { +func (x *ListBigQueryLinksResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8314,29 +8343,40 @@ func (x *CreateConnectedSiteTagResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateConnectedSiteTagResponse.ProtoReflect.Descriptor instead. -func (*CreateConnectedSiteTagResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListBigQueryLinksResponse.ProtoReflect.Descriptor instead. +func (*ListBigQueryLinksResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{137} } -// Request message for DeleteConnectedSiteTag RPC. -type DeleteConnectedSiteTagRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ListBigQueryLinksResponse) GetBigqueryLinks() []*BigQueryLink { + if x != nil { + return x.BigqueryLinks + } + return nil +} - // The Universal Analytics property to delete connected site tags for. - // This API does not support GA4 properties. - // Format: properties/{universalAnalyticsPropertyId} - // Example: properties/1234 - Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` - // Tag ID to forward events to. Also known as the Measurement ID, or the - // "G-ID" (For example: G-12345). - TagId string `protobuf:"bytes,2,opt,name=tag_id,json=tagId,proto3" json:"tag_id,omitempty"` +func (x *ListBigQueryLinksResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" } -func (x *DeleteConnectedSiteTagRequest) Reset() { - *x = DeleteConnectedSiteTagRequest{} +// Request message for GetEnhancedMeasurementSettings RPC. +type GetEnhancedMeasurementSettingsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the settings to lookup. + // Format: + // properties/{property}/dataStreams/{data_stream}/enhancedMeasurementSettings + // Example: "properties/1000/dataStreams/2000/enhancedMeasurementSettings" + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetEnhancedMeasurementSettingsRequest) Reset() { + *x = GetEnhancedMeasurementSettingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8344,13 +8384,13 @@ func (x *DeleteConnectedSiteTagRequest) Reset() { } } -func (x *DeleteConnectedSiteTagRequest) String() string { +func (x *GetEnhancedMeasurementSettingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteConnectedSiteTagRequest) ProtoMessage() {} +func (*GetEnhancedMeasurementSettingsRequest) ProtoMessage() {} -func (x *DeleteConnectedSiteTagRequest) ProtoReflect() protoreflect.Message { +func (x *GetEnhancedMeasurementSettingsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8362,40 +8402,36 @@ func (x *DeleteConnectedSiteTagRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteConnectedSiteTagRequest.ProtoReflect.Descriptor instead. -func (*DeleteConnectedSiteTagRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetEnhancedMeasurementSettingsRequest.ProtoReflect.Descriptor instead. +func (*GetEnhancedMeasurementSettingsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{138} } -func (x *DeleteConnectedSiteTagRequest) GetProperty() string { - if x != nil { - return x.Property - } - return "" -} - -func (x *DeleteConnectedSiteTagRequest) GetTagId() string { +func (x *GetEnhancedMeasurementSettingsRequest) GetName() string { if x != nil { - return x.TagId + return x.Name } return "" } -// Request message for ListConnectedSiteTags RPC. -type ListConnectedSiteTagsRequest struct { +// Request message for UpdateEnhancedMeasurementSettings RPC. +type UpdateEnhancedMeasurementSettingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The Universal Analytics property to fetch connected site tags for. - // This does not work on GA4 properties. A maximum of 20 connected site tags - // will be returned. - // Example Format: `properties/1234` - Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` + // Required. The settings to update. + // The `name` field is used to identify the settings to be updated. + EnhancedMeasurementSettings *EnhancedMeasurementSettings `protobuf:"bytes,1,opt,name=enhanced_measurement_settings,json=enhancedMeasurementSettings,proto3" json:"enhanced_measurement_settings,omitempty"` + // Required. The list of fields to be updated. Field names must be in snake + // case (e.g., "field_to_update"). Omitted fields will not be updated. To + // replace the entire entity, use one path with the string "*" to match all + // fields. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } -func (x *ListConnectedSiteTagsRequest) Reset() { - *x = ListConnectedSiteTagsRequest{} +func (x *UpdateEnhancedMeasurementSettingsRequest) Reset() { + *x = UpdateEnhancedMeasurementSettingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8403,13 +8439,13 @@ func (x *ListConnectedSiteTagsRequest) Reset() { } } -func (x *ListConnectedSiteTagsRequest) String() string { +func (x *UpdateEnhancedMeasurementSettingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListConnectedSiteTagsRequest) ProtoMessage() {} +func (*UpdateEnhancedMeasurementSettingsRequest) ProtoMessage() {} -func (x *ListConnectedSiteTagsRequest) ProtoReflect() protoreflect.Message { +func (x *UpdateEnhancedMeasurementSettingsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8421,31 +8457,40 @@ func (x *ListConnectedSiteTagsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListConnectedSiteTagsRequest.ProtoReflect.Descriptor instead. -func (*ListConnectedSiteTagsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdateEnhancedMeasurementSettingsRequest.ProtoReflect.Descriptor instead. +func (*UpdateEnhancedMeasurementSettingsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{139} } -func (x *ListConnectedSiteTagsRequest) GetProperty() string { +func (x *UpdateEnhancedMeasurementSettingsRequest) GetEnhancedMeasurementSettings() *EnhancedMeasurementSettings { if x != nil { - return x.Property + return x.EnhancedMeasurementSettings } - return "" + return nil } -// Response message for ListConnectedSiteTags RPC. -type ListConnectedSiteTagsResponse struct { +func (x *UpdateEnhancedMeasurementSettingsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for GetDataRedactionSettings RPC. +type GetDataRedactionSettingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The site tags for the Universal Analytics property. A maximum of 20 - // connected site tags will be returned. - ConnectedSiteTags []*ConnectedSiteTag `protobuf:"bytes,1,rep,name=connected_site_tags,json=connectedSiteTags,proto3" json:"connected_site_tags,omitempty"` + // Required. The name of the settings to lookup. + // Format: + // properties/{property}/dataStreams/{data_stream}/dataRedactionSettings + // Example: "properties/1000/dataStreams/2000/dataRedactionSettings" + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *ListConnectedSiteTagsResponse) Reset() { - *x = ListConnectedSiteTagsResponse{} +func (x *GetDataRedactionSettingsRequest) Reset() { + *x = GetDataRedactionSettingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8453,13 +8498,13 @@ func (x *ListConnectedSiteTagsResponse) Reset() { } } -func (x *ListConnectedSiteTagsResponse) String() string { +func (x *GetDataRedactionSettingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListConnectedSiteTagsResponse) ProtoMessage() {} +func (*GetDataRedactionSettingsRequest) ProtoMessage() {} -func (x *ListConnectedSiteTagsResponse) ProtoReflect() protoreflect.Message { +func (x *GetDataRedactionSettingsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8471,34 +8516,36 @@ func (x *ListConnectedSiteTagsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListConnectedSiteTagsResponse.ProtoReflect.Descriptor instead. -func (*ListConnectedSiteTagsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use GetDataRedactionSettingsRequest.ProtoReflect.Descriptor instead. +func (*GetDataRedactionSettingsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{140} } -func (x *ListConnectedSiteTagsResponse) GetConnectedSiteTags() []*ConnectedSiteTag { +func (x *GetDataRedactionSettingsRequest) GetName() string { if x != nil { - return x.ConnectedSiteTags + return x.Name } - return nil + return "" } -// Request message to be passed to CreateAdSenseLink method. -type CreateAdSenseLinkRequest struct { +// Request message for UpdateDataRedactionSettings RPC. +type UpdateDataRedactionSettingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The property for which to create an AdSense Link. - // Format: properties/{propertyId} - // Example: properties/1234 - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The AdSense Link to create - AdsenseLink *AdSenseLink `protobuf:"bytes,2,opt,name=adsense_link,json=adsenseLink,proto3" json:"adsense_link,omitempty"` + // Required. The settings to update. + // The `name` field is used to identify the settings to be updated. + DataRedactionSettings *DataRedactionSettings `protobuf:"bytes,1,opt,name=data_redaction_settings,json=dataRedactionSettings,proto3" json:"data_redaction_settings,omitempty"` + // Required. The list of fields to be updated. Field names must be in snake + // case (e.g., "field_to_update"). Omitted fields will not be updated. To + // replace the entire entity, use one path with the string "*" to match all + // fields. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } -func (x *CreateAdSenseLinkRequest) Reset() { - *x = CreateAdSenseLinkRequest{} +func (x *UpdateDataRedactionSettingsRequest) Reset() { + *x = UpdateDataRedactionSettingsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8506,13 +8553,13 @@ func (x *CreateAdSenseLinkRequest) Reset() { } } -func (x *CreateAdSenseLinkRequest) String() string { +func (x *UpdateDataRedactionSettingsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateAdSenseLinkRequest) ProtoMessage() {} +func (*UpdateDataRedactionSettingsRequest) ProtoMessage() {} -func (x *CreateAdSenseLinkRequest) ProtoReflect() protoreflect.Message { +func (x *UpdateDataRedactionSettingsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8524,39 +8571,42 @@ func (x *CreateAdSenseLinkRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateAdSenseLinkRequest.ProtoReflect.Descriptor instead. -func (*CreateAdSenseLinkRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdateDataRedactionSettingsRequest.ProtoReflect.Descriptor instead. +func (*UpdateDataRedactionSettingsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{141} } -func (x *CreateAdSenseLinkRequest) GetParent() string { +func (x *UpdateDataRedactionSettingsRequest) GetDataRedactionSettings() *DataRedactionSettings { if x != nil { - return x.Parent + return x.DataRedactionSettings } - return "" + return nil } -func (x *CreateAdSenseLinkRequest) GetAdsenseLink() *AdSenseLink { +func (x *UpdateDataRedactionSettingsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { if x != nil { - return x.AdsenseLink + return x.UpdateMask } return nil } -// Request message to be passed to GetAdSenseLink method. -type GetAdSenseLinkRequest struct { +// Request message for CreateConnectedSiteTag RPC. +type CreateConnectedSiteTagRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Unique identifier for the AdSense Link requested. - // Format: properties/{propertyId}/adSenseLinks/{linkId} - // Example: properties/1234/adSenseLinks/5678 - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The Universal Analytics property to create connected site tags for. + // This API does not support GA4 properties. + // Format: properties/{universalAnalyticsPropertyId} + // Example: properties/1234 + Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` + // Required. The tag to add to the Universal Analytics property + ConnectedSiteTag *ConnectedSiteTag `protobuf:"bytes,2,opt,name=connected_site_tag,json=connectedSiteTag,proto3" json:"connected_site_tag,omitempty"` } -func (x *GetAdSenseLinkRequest) Reset() { - *x = GetAdSenseLinkRequest{} +func (x *CreateConnectedSiteTagRequest) Reset() { + *x = CreateConnectedSiteTagRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8564,13 +8614,13 @@ func (x *GetAdSenseLinkRequest) Reset() { } } -func (x *GetAdSenseLinkRequest) String() string { +func (x *CreateConnectedSiteTagRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetAdSenseLinkRequest) ProtoMessage() {} +func (*CreateConnectedSiteTagRequest) ProtoMessage() {} -func (x *GetAdSenseLinkRequest) ProtoReflect() protoreflect.Message { +func (x *CreateConnectedSiteTagRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8582,32 +8632,34 @@ func (x *GetAdSenseLinkRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetAdSenseLinkRequest.ProtoReflect.Descriptor instead. -func (*GetAdSenseLinkRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateConnectedSiteTagRequest.ProtoReflect.Descriptor instead. +func (*CreateConnectedSiteTagRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{142} } -func (x *GetAdSenseLinkRequest) GetName() string { +func (x *CreateConnectedSiteTagRequest) GetProperty() string { if x != nil { - return x.Name + return x.Property } return "" } -// Request message to be passed to DeleteAdSenseLink method. -type DeleteAdSenseLinkRequest struct { +func (x *CreateConnectedSiteTagRequest) GetConnectedSiteTag() *ConnectedSiteTag { + if x != nil { + return x.ConnectedSiteTag + } + return nil +} + +// Response message for CreateConnectedSiteTag RPC. +type CreateConnectedSiteTagResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // Required. Unique identifier for the AdSense Link to be deleted. - // Format: properties/{propertyId}/adSenseLinks/{linkId} - // Example: properties/1234/adSenseLinks/5678 - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *DeleteAdSenseLinkRequest) Reset() { - *x = DeleteAdSenseLinkRequest{} +func (x *CreateConnectedSiteTagResponse) Reset() { + *x = CreateConnectedSiteTagResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8615,13 +8667,13 @@ func (x *DeleteAdSenseLinkRequest) Reset() { } } -func (x *DeleteAdSenseLinkRequest) String() string { +func (x *CreateConnectedSiteTagResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteAdSenseLinkRequest) ProtoMessage() {} +func (*CreateConnectedSiteTagResponse) ProtoMessage() {} -func (x *DeleteAdSenseLinkRequest) ProtoReflect() protoreflect.Message { +func (x *CreateConnectedSiteTagResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8633,42 +8685,29 @@ func (x *DeleteAdSenseLinkRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteAdSenseLinkRequest.ProtoReflect.Descriptor instead. -func (*DeleteAdSenseLinkRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateConnectedSiteTagResponse.ProtoReflect.Descriptor instead. +func (*CreateConnectedSiteTagResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{143} } -func (x *DeleteAdSenseLinkRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -// Request message to be passed to ListAdSenseLinks method. -type ListAdSenseLinksRequest struct { +// Request message for DeleteConnectedSiteTag RPC. +type DeleteConnectedSiteTagRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Resource name of the parent property. - // Format: properties/{propertyId} + // The Universal Analytics property to delete connected site tags for. + // This API does not support GA4 properties. + // Format: properties/{universalAnalyticsPropertyId} // Example: properties/1234 - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // The maximum number of resources to return. - // If unspecified, at most 50 resources will be returned. - // The maximum value is 200 (higher values will be coerced to the maximum). - PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token received from a previous `ListAdSenseLinks` call. - // Provide this to retrieve the subsequent page. - // - // When paginating, all other parameters provided to `ListAdSenseLinks` must - // match the call that provided the page token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` -} - -func (x *ListAdSenseLinksRequest) Reset() { - *x = ListAdSenseLinksRequest{} + Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` + // Tag ID to forward events to. Also known as the Measurement ID, or the + // "G-ID" (For example: G-12345). + TagId string `protobuf:"bytes,2,opt,name=tag_id,json=tagId,proto3" json:"tag_id,omitempty"` +} + +func (x *DeleteConnectedSiteTagRequest) Reset() { + *x = DeleteConnectedSiteTagRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8676,13 +8715,13 @@ func (x *ListAdSenseLinksRequest) Reset() { } } -func (x *ListAdSenseLinksRequest) String() string { +func (x *DeleteConnectedSiteTagRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListAdSenseLinksRequest) ProtoMessage() {} +func (*DeleteConnectedSiteTagRequest) ProtoMessage() {} -func (x *ListAdSenseLinksRequest) ProtoReflect() protoreflect.Message { +func (x *DeleteConnectedSiteTagRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8694,47 +8733,40 @@ func (x *ListAdSenseLinksRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListAdSenseLinksRequest.ProtoReflect.Descriptor instead. -func (*ListAdSenseLinksRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use DeleteConnectedSiteTagRequest.ProtoReflect.Descriptor instead. +func (*DeleteConnectedSiteTagRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{144} } -func (x *ListAdSenseLinksRequest) GetParent() string { +func (x *DeleteConnectedSiteTagRequest) GetProperty() string { if x != nil { - return x.Parent + return x.Property } return "" } -func (x *ListAdSenseLinksRequest) GetPageSize() int32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListAdSenseLinksRequest) GetPageToken() string { +func (x *DeleteConnectedSiteTagRequest) GetTagId() string { if x != nil { - return x.PageToken + return x.TagId } return "" } -// Response message for ListAdSenseLinks method. -type ListAdSenseLinksResponse struct { +// Request message for ListConnectedSiteTags RPC. +type ListConnectedSiteTagsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // List of AdSenseLinks. - AdsenseLinks []*AdSenseLink `protobuf:"bytes,1,rep,name=adsense_links,json=adsenseLinks,proto3" json:"adsense_links,omitempty"` - // A token, which can be sent as `page_token` to retrieve the next page. - // If this field is omitted, there are no subsequent pages. - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // The Universal Analytics property to fetch connected site tags for. + // This does not work on GA4 properties. A maximum of 20 connected site tags + // will be returned. + // Example Format: `properties/1234` + Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` } -func (x *ListAdSenseLinksResponse) Reset() { - *x = ListAdSenseLinksResponse{} +func (x *ListConnectedSiteTagsRequest) Reset() { + *x = ListConnectedSiteTagsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8742,13 +8774,13 @@ func (x *ListAdSenseLinksResponse) Reset() { } } -func (x *ListAdSenseLinksResponse) String() string { +func (x *ListConnectedSiteTagsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListAdSenseLinksResponse) ProtoMessage() {} +func (*ListConnectedSiteTagsRequest) ProtoMessage() {} -func (x *ListAdSenseLinksResponse) ProtoReflect() protoreflect.Message { +func (x *ListConnectedSiteTagsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8760,41 +8792,31 @@ func (x *ListAdSenseLinksResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListAdSenseLinksResponse.ProtoReflect.Descriptor instead. -func (*ListAdSenseLinksResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListConnectedSiteTagsRequest.ProtoReflect.Descriptor instead. +func (*ListConnectedSiteTagsRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{145} } -func (x *ListAdSenseLinksResponse) GetAdsenseLinks() []*AdSenseLink { - if x != nil { - return x.AdsenseLinks - } - return nil -} - -func (x *ListAdSenseLinksResponse) GetNextPageToken() string { +func (x *ListConnectedSiteTagsRequest) GetProperty() string { if x != nil { - return x.NextPageToken + return x.Property } return "" } -// Request for looking up GA4 property connected to a UA property. -type FetchConnectedGa4PropertyRequest struct { +// Response message for ListConnectedSiteTags RPC. +type ListConnectedSiteTagsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The UA property for which to look up the connected GA4 property. - // Note this request uses the - // internal property ID, not the tracking ID of the form UA-XXXXXX-YY. - // Format: properties/{internal_web_property_id} - // Example: properties/1234 - Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` + // The site tags for the Universal Analytics property. A maximum of 20 + // connected site tags will be returned. + ConnectedSiteTags []*ConnectedSiteTag `protobuf:"bytes,1,rep,name=connected_site_tags,json=connectedSiteTags,proto3" json:"connected_site_tags,omitempty"` } -func (x *FetchConnectedGa4PropertyRequest) Reset() { - *x = FetchConnectedGa4PropertyRequest{} +func (x *ListConnectedSiteTagsResponse) Reset() { + *x = ListConnectedSiteTagsResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8802,13 +8824,13 @@ func (x *FetchConnectedGa4PropertyRequest) Reset() { } } -func (x *FetchConnectedGa4PropertyRequest) String() string { +func (x *ListConnectedSiteTagsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FetchConnectedGa4PropertyRequest) ProtoMessage() {} +func (*ListConnectedSiteTagsResponse) ProtoMessage() {} -func (x *FetchConnectedGa4PropertyRequest) ProtoReflect() protoreflect.Message { +func (x *ListConnectedSiteTagsResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8820,33 +8842,34 @@ func (x *FetchConnectedGa4PropertyRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FetchConnectedGa4PropertyRequest.ProtoReflect.Descriptor instead. -func (*FetchConnectedGa4PropertyRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListConnectedSiteTagsResponse.ProtoReflect.Descriptor instead. +func (*ListConnectedSiteTagsResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{146} } -func (x *FetchConnectedGa4PropertyRequest) GetProperty() string { +func (x *ListConnectedSiteTagsResponse) GetConnectedSiteTags() []*ConnectedSiteTag { if x != nil { - return x.Property + return x.ConnectedSiteTags } - return "" + return nil } -// Response for looking up GA4 property connected to a UA property. -type FetchConnectedGa4PropertyResponse struct { +// Request message to be passed to CreateAdSenseLink method. +type CreateAdSenseLinkRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The GA4 property connected to the UA property. An empty string is returned - // when there is no connected GA4 property. - // Format: properties/{property_id} + // Required. The property for which to create an AdSense Link. + // Format: properties/{propertyId} // Example: properties/1234 - Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The AdSense Link to create + AdsenseLink *AdSenseLink `protobuf:"bytes,2,opt,name=adsense_link,json=adsenseLink,proto3" json:"adsense_link,omitempty"` } -func (x *FetchConnectedGa4PropertyResponse) Reset() { - *x = FetchConnectedGa4PropertyResponse{} +func (x *CreateAdSenseLinkRequest) Reset() { + *x = CreateAdSenseLinkRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8854,13 +8877,13 @@ func (x *FetchConnectedGa4PropertyResponse) Reset() { } } -func (x *FetchConnectedGa4PropertyResponse) String() string { +func (x *CreateAdSenseLinkRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FetchConnectedGa4PropertyResponse) ProtoMessage() {} +func (*CreateAdSenseLinkRequest) ProtoMessage() {} -func (x *FetchConnectedGa4PropertyResponse) ProtoReflect() protoreflect.Message { +func (x *CreateAdSenseLinkRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8872,32 +8895,39 @@ func (x *FetchConnectedGa4PropertyResponse) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use FetchConnectedGa4PropertyResponse.ProtoReflect.Descriptor instead. -func (*FetchConnectedGa4PropertyResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateAdSenseLinkRequest.ProtoReflect.Descriptor instead. +func (*CreateAdSenseLinkRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{147} } -func (x *FetchConnectedGa4PropertyResponse) GetProperty() string { +func (x *CreateAdSenseLinkRequest) GetParent() string { if x != nil { - return x.Property + return x.Parent } return "" } -// Request message for CreateEventCreateRule RPC. -type CreateEventCreateRuleRequest struct { +func (x *CreateAdSenseLinkRequest) GetAdsenseLink() *AdSenseLink { + if x != nil { + return x.AdsenseLink + } + return nil +} + +// Request message to be passed to GetAdSenseLink method. +type GetAdSenseLinkRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Example format: properties/123/dataStreams/456 - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The EventCreateRule to create. - EventCreateRule *EventCreateRule `protobuf:"bytes,2,opt,name=event_create_rule,json=eventCreateRule,proto3" json:"event_create_rule,omitempty"` + // Required. Unique identifier for the AdSense Link requested. + // Format: properties/{propertyId}/adSenseLinks/{linkId} + // Example: properties/1234/adSenseLinks/5678 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *CreateEventCreateRuleRequest) Reset() { - *x = CreateEventCreateRuleRequest{} +func (x *GetAdSenseLinkRequest) Reset() { + *x = GetAdSenseLinkRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8905,13 +8935,13 @@ func (x *CreateEventCreateRuleRequest) Reset() { } } -func (x *CreateEventCreateRuleRequest) String() string { +func (x *GetAdSenseLinkRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateEventCreateRuleRequest) ProtoMessage() {} +func (*GetAdSenseLinkRequest) ProtoMessage() {} -func (x *CreateEventCreateRuleRequest) ProtoReflect() protoreflect.Message { +func (x *GetAdSenseLinkRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8923,44 +8953,32 @@ func (x *CreateEventCreateRuleRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateEventCreateRuleRequest.ProtoReflect.Descriptor instead. -func (*CreateEventCreateRuleRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetAdSenseLinkRequest.ProtoReflect.Descriptor instead. +func (*GetAdSenseLinkRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{148} } -func (x *CreateEventCreateRuleRequest) GetParent() string { +func (x *GetAdSenseLinkRequest) GetName() string { if x != nil { - return x.Parent + return x.Name } return "" } -func (x *CreateEventCreateRuleRequest) GetEventCreateRule() *EventCreateRule { - if x != nil { - return x.EventCreateRule - } - return nil -} - -// Request message for UpdateEventCreateRule RPC. -type UpdateEventCreateRuleRequest struct { +// Request message to be passed to DeleteAdSenseLink method. +type DeleteAdSenseLinkRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The EventCreateRule to update. - // The resource's `name` field is used to identify the EventCreateRule to be - // updated. - EventCreateRule *EventCreateRule `protobuf:"bytes,1,opt,name=event_create_rule,json=eventCreateRule,proto3" json:"event_create_rule,omitempty"` - // Required. The list of fields to be updated. Field names must be in snake - // case (e.g., "field_to_update"). Omitted fields will not be updated. To - // replace the entire entity, use one path with the string "*" to match all - // fields. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. Unique identifier for the AdSense Link to be deleted. + // Format: properties/{propertyId}/adSenseLinks/{linkId} + // Example: properties/1234/adSenseLinks/5678 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *UpdateEventCreateRuleRequest) Reset() { - *x = UpdateEventCreateRuleRequest{} +func (x *DeleteAdSenseLinkRequest) Reset() { + *x = DeleteAdSenseLinkRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8968,13 +8986,13 @@ func (x *UpdateEventCreateRuleRequest) Reset() { } } -func (x *UpdateEventCreateRuleRequest) String() string { +func (x *DeleteAdSenseLinkRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateEventCreateRuleRequest) ProtoMessage() {} +func (*DeleteAdSenseLinkRequest) ProtoMessage() {} -func (x *UpdateEventCreateRuleRequest) ProtoReflect() protoreflect.Message { +func (x *DeleteAdSenseLinkRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8986,38 +9004,42 @@ func (x *UpdateEventCreateRuleRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateEventCreateRuleRequest.ProtoReflect.Descriptor instead. -func (*UpdateEventCreateRuleRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use DeleteAdSenseLinkRequest.ProtoReflect.Descriptor instead. +func (*DeleteAdSenseLinkRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{149} } -func (x *UpdateEventCreateRuleRequest) GetEventCreateRule() *EventCreateRule { - if x != nil { - return x.EventCreateRule - } - return nil -} - -func (x *UpdateEventCreateRuleRequest) GetUpdateMask() *fieldmaskpb.FieldMask { +func (x *DeleteAdSenseLinkRequest) GetName() string { if x != nil { - return x.UpdateMask + return x.Name } - return nil + return "" } -// Request message for DeleteEventCreateRule RPC. -type DeleteEventCreateRuleRequest struct { +// Request message to be passed to ListAdSenseLinks method. +type ListAdSenseLinksRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Example format: - // properties/123/dataStreams/456/eventCreateRules/789 - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Resource name of the parent property. + // Format: properties/{propertyId} + // Example: properties/1234 + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token received from a previous `ListAdSenseLinks` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListAdSenseLinks` must + // match the call that provided the page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } -func (x *DeleteEventCreateRuleRequest) Reset() { - *x = DeleteEventCreateRuleRequest{} +func (x *ListAdSenseLinksRequest) Reset() { + *x = ListAdSenseLinksRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9025,13 +9047,13 @@ func (x *DeleteEventCreateRuleRequest) Reset() { } } -func (x *DeleteEventCreateRuleRequest) String() string { +func (x *ListAdSenseLinksRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteEventCreateRuleRequest) ProtoMessage() {} +func (*ListAdSenseLinksRequest) ProtoMessage() {} -func (x *DeleteEventCreateRuleRequest) ProtoReflect() protoreflect.Message { +func (x *ListAdSenseLinksRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9043,31 +9065,47 @@ func (x *DeleteEventCreateRuleRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteEventCreateRuleRequest.ProtoReflect.Descriptor instead. -func (*DeleteEventCreateRuleRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListAdSenseLinksRequest.ProtoReflect.Descriptor instead. +func (*ListAdSenseLinksRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{150} } -func (x *DeleteEventCreateRuleRequest) GetName() string { +func (x *ListAdSenseLinksRequest) GetParent() string { if x != nil { - return x.Name + return x.Parent } return "" } -// Request message for GetEventCreateRule RPC. -type GetEventCreateRuleRequest struct { +func (x *ListAdSenseLinksRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListAdSenseLinksRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for ListAdSenseLinks method. +type ListAdSenseLinksResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The name of the EventCreateRule to get. - // Example format: properties/123/dataStreams/456/eventCreateRules/789 - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // List of AdSenseLinks. + AdsenseLinks []*AdSenseLink `protobuf:"bytes,1,rep,name=adsense_links,json=adsenseLinks,proto3" json:"adsense_links,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } -func (x *GetEventCreateRuleRequest) Reset() { - *x = GetEventCreateRuleRequest{} +func (x *ListAdSenseLinksResponse) Reset() { + *x = ListAdSenseLinksResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9075,13 +9113,13 @@ func (x *GetEventCreateRuleRequest) Reset() { } } -func (x *GetEventCreateRuleRequest) String() string { +func (x *ListAdSenseLinksResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetEventCreateRuleRequest) ProtoMessage() {} +func (*ListAdSenseLinksResponse) ProtoMessage() {} -func (x *GetEventCreateRuleRequest) ProtoReflect() protoreflect.Message { +func (x *ListAdSenseLinksResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9093,40 +9131,41 @@ func (x *GetEventCreateRuleRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetEventCreateRuleRequest.ProtoReflect.Descriptor instead. -func (*GetEventCreateRuleRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListAdSenseLinksResponse.ProtoReflect.Descriptor instead. +func (*ListAdSenseLinksResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{151} } -func (x *GetEventCreateRuleRequest) GetName() string { +func (x *ListAdSenseLinksResponse) GetAdsenseLinks() []*AdSenseLink { if x != nil { - return x.Name + return x.AdsenseLinks + } + return nil +} + +func (x *ListAdSenseLinksResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken } return "" } -// Request message for ListEventCreateRules RPC. -type ListEventCreateRulesRequest struct { +// Request for looking up GA4 property connected to a UA property. +type FetchConnectedGa4PropertyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Example format: properties/123/dataStreams/456 - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // The maximum number of resources to return. - // If unspecified, at most 50 resources will be returned. - // The maximum value is 200 (higher values will be coerced to the maximum). - PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListEventCreateRules` call. Provide - // this to retrieve the subsequent page. - // - // When paginating, all other parameters provided to `ListEventCreateRules` - // must match the call that provided the page token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Required. The UA property for which to look up the connected GA4 property. + // Note this request uses the + // internal property ID, not the tracking ID of the form UA-XXXXXX-YY. + // Format: properties/{internal_web_property_id} + // Example: properties/1234 + Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` } -func (x *ListEventCreateRulesRequest) Reset() { - *x = ListEventCreateRulesRequest{} +func (x *FetchConnectedGa4PropertyRequest) Reset() { + *x = FetchConnectedGa4PropertyRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9134,13 +9173,13 @@ func (x *ListEventCreateRulesRequest) Reset() { } } -func (x *ListEventCreateRulesRequest) String() string { +func (x *FetchConnectedGa4PropertyRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListEventCreateRulesRequest) ProtoMessage() {} +func (*FetchConnectedGa4PropertyRequest) ProtoMessage() {} -func (x *ListEventCreateRulesRequest) ProtoReflect() protoreflect.Message { +func (x *FetchConnectedGa4PropertyRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9152,48 +9191,33 @@ func (x *ListEventCreateRulesRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListEventCreateRulesRequest.ProtoReflect.Descriptor instead. -func (*ListEventCreateRulesRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use FetchConnectedGa4PropertyRequest.ProtoReflect.Descriptor instead. +func (*FetchConnectedGa4PropertyRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{152} } -func (x *ListEventCreateRulesRequest) GetParent() string { - if x != nil { - return x.Parent - } - return "" -} - -func (x *ListEventCreateRulesRequest) GetPageSize() int32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListEventCreateRulesRequest) GetPageToken() string { +func (x *FetchConnectedGa4PropertyRequest) GetProperty() string { if x != nil { - return x.PageToken + return x.Property } return "" } -// Response message for ListEventCreateRules RPC. -type ListEventCreateRulesResponse struct { +// Response for looking up GA4 property connected to a UA property. +type FetchConnectedGa4PropertyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // List of EventCreateRules. These will be ordered stably, but in an arbitrary - // order. - EventCreateRules []*EventCreateRule `protobuf:"bytes,1,rep,name=event_create_rules,json=eventCreateRules,proto3" json:"event_create_rules,omitempty"` - // A token, which can be sent as `page_token` to retrieve the next page. - // If this field is omitted, there are no subsequent pages. - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // The GA4 property connected to the UA property. An empty string is returned + // when there is no connected GA4 property. + // Format: properties/{property_id} + // Example: properties/1234 + Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` } -func (x *ListEventCreateRulesResponse) Reset() { - *x = ListEventCreateRulesResponse{} +func (x *FetchConnectedGa4PropertyResponse) Reset() { + *x = FetchConnectedGa4PropertyResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9201,13 +9225,13 @@ func (x *ListEventCreateRulesResponse) Reset() { } } -func (x *ListEventCreateRulesResponse) String() string { +func (x *FetchConnectedGa4PropertyResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListEventCreateRulesResponse) ProtoMessage() {} +func (*FetchConnectedGa4PropertyResponse) ProtoMessage() {} -func (x *ListEventCreateRulesResponse) ProtoReflect() protoreflect.Message { +func (x *FetchConnectedGa4PropertyResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9219,40 +9243,32 @@ func (x *ListEventCreateRulesResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListEventCreateRulesResponse.ProtoReflect.Descriptor instead. -func (*ListEventCreateRulesResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use FetchConnectedGa4PropertyResponse.ProtoReflect.Descriptor instead. +func (*FetchConnectedGa4PropertyResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{153} } -func (x *ListEventCreateRulesResponse) GetEventCreateRules() []*EventCreateRule { - if x != nil { - return x.EventCreateRules - } - return nil -} - -func (x *ListEventCreateRulesResponse) GetNextPageToken() string { +func (x *FetchConnectedGa4PropertyResponse) GetProperty() string { if x != nil { - return x.NextPageToken + return x.Property } return "" } -// Request message for CreateRollupProperty RPC. -type CreateRollupPropertyRequest struct { +// Request message for CreateEventCreateRule RPC. +type CreateEventCreateRuleRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The roll-up property to create. - RollupProperty *Property `protobuf:"bytes,1,opt,name=rollup_property,json=rollupProperty,proto3" json:"rollup_property,omitempty"` - // Optional. The resource names of properties that will be sources to the - // created roll-up property. - SourceProperties []string `protobuf:"bytes,2,rep,name=source_properties,json=sourceProperties,proto3" json:"source_properties,omitempty"` + // Required. Example format: properties/123/dataStreams/456 + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The EventCreateRule to create. + EventCreateRule *EventCreateRule `protobuf:"bytes,2,opt,name=event_create_rule,json=eventCreateRule,proto3" json:"event_create_rule,omitempty"` } -func (x *CreateRollupPropertyRequest) Reset() { - *x = CreateRollupPropertyRequest{} +func (x *CreateEventCreateRuleRequest) Reset() { + *x = CreateEventCreateRuleRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9260,13 +9276,13 @@ func (x *CreateRollupPropertyRequest) Reset() { } } -func (x *CreateRollupPropertyRequest) String() string { +func (x *CreateEventCreateRuleRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateRollupPropertyRequest) ProtoMessage() {} +func (*CreateEventCreateRuleRequest) ProtoMessage() {} -func (x *CreateRollupPropertyRequest) ProtoReflect() protoreflect.Message { +func (x *CreateEventCreateRuleRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9278,39 +9294,44 @@ func (x *CreateRollupPropertyRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateRollupPropertyRequest.ProtoReflect.Descriptor instead. -func (*CreateRollupPropertyRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateEventCreateRuleRequest.ProtoReflect.Descriptor instead. +func (*CreateEventCreateRuleRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{154} } -func (x *CreateRollupPropertyRequest) GetRollupProperty() *Property { +func (x *CreateEventCreateRuleRequest) GetParent() string { if x != nil { - return x.RollupProperty + return x.Parent } - return nil + return "" } -func (x *CreateRollupPropertyRequest) GetSourceProperties() []string { +func (x *CreateEventCreateRuleRequest) GetEventCreateRule() *EventCreateRule { if x != nil { - return x.SourceProperties + return x.EventCreateRule } return nil } -// Response message for CreateRollupProperty RPC. -type CreateRollupPropertyResponse struct { +// Request message for UpdateEventCreateRule RPC. +type UpdateEventCreateRuleRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The created roll-up property. - RollupProperty *Property `protobuf:"bytes,1,opt,name=rollup_property,json=rollupProperty,proto3" json:"rollup_property,omitempty"` - // The created roll-up property source links. - RollupPropertySourceLinks []*RollupPropertySourceLink `protobuf:"bytes,2,rep,name=rollup_property_source_links,json=rollupPropertySourceLinks,proto3" json:"rollup_property_source_links,omitempty"` + // Required. The EventCreateRule to update. + // The resource's `name` field is used to identify the EventCreateRule to be + // updated. + EventCreateRule *EventCreateRule `protobuf:"bytes,1,opt,name=event_create_rule,json=eventCreateRule,proto3" json:"event_create_rule,omitempty"` + // Required. The list of fields to be updated. Field names must be in snake + // case (e.g., "field_to_update"). Omitted fields will not be updated. To + // replace the entire entity, use one path with the string "*" to match all + // fields. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } -func (x *CreateRollupPropertyResponse) Reset() { - *x = CreateRollupPropertyResponse{} +func (x *UpdateEventCreateRuleRequest) Reset() { + *x = UpdateEventCreateRuleRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9318,13 +9339,13 @@ func (x *CreateRollupPropertyResponse) Reset() { } } -func (x *CreateRollupPropertyResponse) String() string { +func (x *UpdateEventCreateRuleRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateRollupPropertyResponse) ProtoMessage() {} +func (*UpdateEventCreateRuleRequest) ProtoMessage() {} -func (x *CreateRollupPropertyResponse) ProtoReflect() protoreflect.Message { +func (x *UpdateEventCreateRuleRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9336,40 +9357,38 @@ func (x *CreateRollupPropertyResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateRollupPropertyResponse.ProtoReflect.Descriptor instead. -func (*CreateRollupPropertyResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdateEventCreateRuleRequest.ProtoReflect.Descriptor instead. +func (*UpdateEventCreateRuleRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{155} } -func (x *CreateRollupPropertyResponse) GetRollupProperty() *Property { +func (x *UpdateEventCreateRuleRequest) GetEventCreateRule() *EventCreateRule { if x != nil { - return x.RollupProperty + return x.EventCreateRule } return nil } -func (x *CreateRollupPropertyResponse) GetRollupPropertySourceLinks() []*RollupPropertySourceLink { +func (x *UpdateEventCreateRuleRequest) GetUpdateMask() *fieldmaskpb.FieldMask { if x != nil { - return x.RollupPropertySourceLinks + return x.UpdateMask } return nil } -// Request message for GetRollupPropertySourceLink RPC. -type GetRollupPropertySourceLinkRequest struct { +// Request message for DeleteEventCreateRule RPC. +type DeleteEventCreateRuleRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The name of the roll-up property source link to lookup. - // Format: - // properties/{property_id}/rollupPropertySourceLinks/{rollup_property_source_link_id} - // Example: properties/123/rollupPropertySourceLinks/456 + // Required. Example format: + // properties/123/dataStreams/456/eventCreateRules/789 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *GetRollupPropertySourceLinkRequest) Reset() { - *x = GetRollupPropertySourceLinkRequest{} +func (x *DeleteEventCreateRuleRequest) Reset() { + *x = DeleteEventCreateRuleRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9377,13 +9396,13 @@ func (x *GetRollupPropertySourceLinkRequest) Reset() { } } -func (x *GetRollupPropertySourceLinkRequest) String() string { +func (x *DeleteEventCreateRuleRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetRollupPropertySourceLinkRequest) ProtoMessage() {} +func (*DeleteEventCreateRuleRequest) ProtoMessage() {} -func (x *GetRollupPropertySourceLinkRequest) ProtoReflect() protoreflect.Message { +func (x *DeleteEventCreateRuleRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9395,42 +9414,31 @@ func (x *GetRollupPropertySourceLinkRequest) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use GetRollupPropertySourceLinkRequest.ProtoReflect.Descriptor instead. -func (*GetRollupPropertySourceLinkRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use DeleteEventCreateRuleRequest.ProtoReflect.Descriptor instead. +func (*DeleteEventCreateRuleRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{156} } -func (x *GetRollupPropertySourceLinkRequest) GetName() string { +func (x *DeleteEventCreateRuleRequest) GetName() string { if x != nil { return x.Name } return "" } -// Request message for ListRollupPropertySourceLinks RPC. -type ListRollupPropertySourceLinksRequest struct { +// Request message for GetEventCreateRule RPC. +type GetEventCreateRuleRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The name of the roll-up property to list roll-up property source - // links under. Format: properties/{property_id} Example: properties/1234 - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Optional. The maximum number of resources to return. The service may return - // fewer than this value, even if there are additional pages. - // If unspecified, at most 50 resources will be returned. - // The maximum value is 200; (higher values will be coerced to the maximum) - PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // Optional. A page token, received from a previous - // `ListRollupPropertySourceLinks` call. Provide this to retrieve the - // subsequent page. When paginating, all other parameters provided to - // `ListRollupPropertySourceLinks` must match the call that provided the page - // token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Required. The name of the EventCreateRule to get. + // Example format: properties/123/dataStreams/456/eventCreateRules/789 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *ListRollupPropertySourceLinksRequest) Reset() { - *x = ListRollupPropertySourceLinksRequest{} +func (x *GetEventCreateRuleRequest) Reset() { + *x = GetEventCreateRuleRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9438,13 +9446,13 @@ func (x *ListRollupPropertySourceLinksRequest) Reset() { } } -func (x *ListRollupPropertySourceLinksRequest) String() string { +func (x *GetEventCreateRuleRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListRollupPropertySourceLinksRequest) ProtoMessage() {} +func (*GetEventCreateRuleRequest) ProtoMessage() {} -func (x *ListRollupPropertySourceLinksRequest) ProtoReflect() protoreflect.Message { +func (x *GetEventCreateRuleRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9456,47 +9464,40 @@ func (x *ListRollupPropertySourceLinksRequest) ProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -// Deprecated: Use ListRollupPropertySourceLinksRequest.ProtoReflect.Descriptor instead. -func (*ListRollupPropertySourceLinksRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetEventCreateRuleRequest.ProtoReflect.Descriptor instead. +func (*GetEventCreateRuleRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{157} } -func (x *ListRollupPropertySourceLinksRequest) GetParent() string { - if x != nil { - return x.Parent - } - return "" -} - -func (x *ListRollupPropertySourceLinksRequest) GetPageSize() int32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListRollupPropertySourceLinksRequest) GetPageToken() string { +func (x *GetEventCreateRuleRequest) GetName() string { if x != nil { - return x.PageToken + return x.Name } return "" } -// Response message for ListRollupPropertySourceLinks RPC. -type ListRollupPropertySourceLinksResponse struct { +// Request message for ListEventCreateRules RPC. +type ListEventCreateRulesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // List of RollupPropertySourceLinks. - RollupPropertySourceLinks []*RollupPropertySourceLink `protobuf:"bytes,1,rep,name=rollup_property_source_links,json=rollupPropertySourceLinks,proto3" json:"rollup_property_source_links,omitempty"` - // A token, which can be sent as `page_token` to retrieve the next page. - // If this field is omitted, there are no subsequent pages. - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Required. Example format: properties/123/dataStreams/456 + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of resources to return. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200 (higher values will be coerced to the maximum). + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListEventCreateRules` call. Provide + // this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListEventCreateRules` + // must match the call that provided the page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } -func (x *ListRollupPropertySourceLinksResponse) Reset() { - *x = ListRollupPropertySourceLinksResponse{} +func (x *ListEventCreateRulesRequest) Reset() { + *x = ListEventCreateRulesRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9504,13 +9505,13 @@ func (x *ListRollupPropertySourceLinksResponse) Reset() { } } -func (x *ListRollupPropertySourceLinksResponse) String() string { +func (x *ListEventCreateRulesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListRollupPropertySourceLinksResponse) ProtoMessage() {} +func (*ListEventCreateRulesRequest) ProtoMessage() {} -func (x *ListRollupPropertySourceLinksResponse) ProtoReflect() protoreflect.Message { +func (x *ListEventCreateRulesRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9522,40 +9523,48 @@ func (x *ListRollupPropertySourceLinksResponse) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use ListRollupPropertySourceLinksResponse.ProtoReflect.Descriptor instead. -func (*ListRollupPropertySourceLinksResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListEventCreateRulesRequest.ProtoReflect.Descriptor instead. +func (*ListEventCreateRulesRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{158} } -func (x *ListRollupPropertySourceLinksResponse) GetRollupPropertySourceLinks() []*RollupPropertySourceLink { +func (x *ListEventCreateRulesRequest) GetParent() string { if x != nil { - return x.RollupPropertySourceLinks + return x.Parent } - return nil + return "" } -func (x *ListRollupPropertySourceLinksResponse) GetNextPageToken() string { +func (x *ListEventCreateRulesRequest) GetPageSize() int32 { if x != nil { - return x.NextPageToken + return x.PageSize + } + return 0 +} + +func (x *ListEventCreateRulesRequest) GetPageToken() string { + if x != nil { + return x.PageToken } return "" } -// Request message for CreateRollupPropertySourceLink RPC. -type CreateRollupPropertySourceLinkRequest struct { +// Response message for ListEventCreateRules RPC. +type ListEventCreateRulesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Format: properties/{property_id} - // Example: properties/1234 - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The roll-up property source link to create. - RollupPropertySourceLink *RollupPropertySourceLink `protobuf:"bytes,2,opt,name=rollup_property_source_link,json=rollupPropertySourceLink,proto3" json:"rollup_property_source_link,omitempty"` + // List of EventCreateRules. These will be ordered stably, but in an arbitrary + // order. + EventCreateRules []*EventCreateRule `protobuf:"bytes,1,rep,name=event_create_rules,json=eventCreateRules,proto3" json:"event_create_rules,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } -func (x *CreateRollupPropertySourceLinkRequest) Reset() { - *x = CreateRollupPropertySourceLinkRequest{} +func (x *ListEventCreateRulesResponse) Reset() { + *x = ListEventCreateRulesResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9563,13 +9572,13 @@ func (x *CreateRollupPropertySourceLinkRequest) Reset() { } } -func (x *CreateRollupPropertySourceLinkRequest) String() string { +func (x *ListEventCreateRulesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateRollupPropertySourceLinkRequest) ProtoMessage() {} +func (*ListEventCreateRulesResponse) ProtoMessage() {} -func (x *CreateRollupPropertySourceLinkRequest) ProtoReflect() protoreflect.Message { +func (x *ListEventCreateRulesResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9581,39 +9590,40 @@ func (x *CreateRollupPropertySourceLinkRequest) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use CreateRollupPropertySourceLinkRequest.ProtoReflect.Descriptor instead. -func (*CreateRollupPropertySourceLinkRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListEventCreateRulesResponse.ProtoReflect.Descriptor instead. +func (*ListEventCreateRulesResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{159} } -func (x *CreateRollupPropertySourceLinkRequest) GetParent() string { +func (x *ListEventCreateRulesResponse) GetEventCreateRules() []*EventCreateRule { if x != nil { - return x.Parent + return x.EventCreateRules } - return "" + return nil } -func (x *CreateRollupPropertySourceLinkRequest) GetRollupPropertySourceLink() *RollupPropertySourceLink { +func (x *ListEventCreateRulesResponse) GetNextPageToken() string { if x != nil { - return x.RollupPropertySourceLink + return x.NextPageToken } - return nil + return "" } -// Request message for DeleteRollupPropertySourceLink RPC. -type DeleteRollupPropertySourceLinkRequest struct { +// Request message for CreateRollupProperty RPC. +type CreateRollupPropertyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Format: - // properties/{property_id}/rollupPropertySourceLinks/{rollup_property_source_link_id} - // Example: properties/1234/rollupPropertySourceLinks/5678 - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The roll-up property to create. + RollupProperty *Property `protobuf:"bytes,1,opt,name=rollup_property,json=rollupProperty,proto3" json:"rollup_property,omitempty"` + // Optional. The resource names of properties that will be sources to the + // created roll-up property. + SourceProperties []string `protobuf:"bytes,2,rep,name=source_properties,json=sourceProperties,proto3" json:"source_properties,omitempty"` } -func (x *DeleteRollupPropertySourceLinkRequest) Reset() { - *x = DeleteRollupPropertySourceLinkRequest{} +func (x *CreateRollupPropertyRequest) Reset() { + *x = CreateRollupPropertyRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9621,13 +9631,13 @@ func (x *DeleteRollupPropertySourceLinkRequest) Reset() { } } -func (x *DeleteRollupPropertySourceLinkRequest) String() string { +func (x *CreateRollupPropertyRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteRollupPropertySourceLinkRequest) ProtoMessage() {} +func (*CreateRollupPropertyRequest) ProtoMessage() {} -func (x *DeleteRollupPropertySourceLinkRequest) ProtoReflect() protoreflect.Message { +func (x *CreateRollupPropertyRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9639,36 +9649,39 @@ func (x *DeleteRollupPropertySourceLinkRequest) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use DeleteRollupPropertySourceLinkRequest.ProtoReflect.Descriptor instead. -func (*DeleteRollupPropertySourceLinkRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateRollupPropertyRequest.ProtoReflect.Descriptor instead. +func (*CreateRollupPropertyRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{160} } -func (x *DeleteRollupPropertySourceLinkRequest) GetName() string { +func (x *CreateRollupPropertyRequest) GetRollupProperty() *Property { if x != nil { - return x.Name + return x.RollupProperty } - return "" + return nil } -// Request message for CreateSubproperty RPC. -type CreateSubpropertyRequest struct { +func (x *CreateRollupPropertyRequest) GetSourceProperties() []string { + if x != nil { + return x.SourceProperties + } + return nil +} + +// Response message for CreateRollupProperty RPC. +type CreateRollupPropertyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The ordinary property for which to create a subproperty. - // Format: properties/property_id - // Example: properties/123 - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The subproperty to create. - Subproperty *Property `protobuf:"bytes,2,opt,name=subproperty,proto3" json:"subproperty,omitempty"` - // Optional. The subproperty event filter to create on an ordinary property. - SubpropertyEventFilter *SubpropertyEventFilter `protobuf:"bytes,3,opt,name=subproperty_event_filter,json=subpropertyEventFilter,proto3" json:"subproperty_event_filter,omitempty"` + // The created roll-up property. + RollupProperty *Property `protobuf:"bytes,1,opt,name=rollup_property,json=rollupProperty,proto3" json:"rollup_property,omitempty"` + // The created roll-up property source links. + RollupPropertySourceLinks []*RollupPropertySourceLink `protobuf:"bytes,2,rep,name=rollup_property_source_links,json=rollupPropertySourceLinks,proto3" json:"rollup_property_source_links,omitempty"` } -func (x *CreateSubpropertyRequest) Reset() { - *x = CreateSubpropertyRequest{} +func (x *CreateRollupPropertyResponse) Reset() { + *x = CreateRollupPropertyResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9676,13 +9689,13 @@ func (x *CreateSubpropertyRequest) Reset() { } } -func (x *CreateSubpropertyRequest) String() string { +func (x *CreateRollupPropertyResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateSubpropertyRequest) ProtoMessage() {} +func (*CreateRollupPropertyResponse) ProtoMessage() {} -func (x *CreateSubpropertyRequest) ProtoReflect() protoreflect.Message { +func (x *CreateRollupPropertyResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9694,46 +9707,40 @@ func (x *CreateSubpropertyRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateSubpropertyRequest.ProtoReflect.Descriptor instead. -func (*CreateSubpropertyRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateRollupPropertyResponse.ProtoReflect.Descriptor instead. +func (*CreateRollupPropertyResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{161} } -func (x *CreateSubpropertyRequest) GetParent() string { - if x != nil { - return x.Parent - } - return "" -} - -func (x *CreateSubpropertyRequest) GetSubproperty() *Property { +func (x *CreateRollupPropertyResponse) GetRollupProperty() *Property { if x != nil { - return x.Subproperty + return x.RollupProperty } return nil } -func (x *CreateSubpropertyRequest) GetSubpropertyEventFilter() *SubpropertyEventFilter { +func (x *CreateRollupPropertyResponse) GetRollupPropertySourceLinks() []*RollupPropertySourceLink { if x != nil { - return x.SubpropertyEventFilter + return x.RollupPropertySourceLinks } return nil } -// Response message for CreateSubproperty RPC. -type CreateSubpropertyResponse struct { +// Request message for GetRollupPropertySourceLink RPC. +type GetRollupPropertySourceLinkRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The created subproperty. - Subproperty *Property `protobuf:"bytes,1,opt,name=subproperty,proto3" json:"subproperty,omitempty"` - // The created subproperty event filter. - SubpropertyEventFilter *SubpropertyEventFilter `protobuf:"bytes,2,opt,name=subproperty_event_filter,json=subpropertyEventFilter,proto3" json:"subproperty_event_filter,omitempty"` + // Required. The name of the roll-up property source link to lookup. + // Format: + // properties/{property_id}/rollupPropertySourceLinks/{rollup_property_source_link_id} + // Example: properties/123/rollupPropertySourceLinks/456 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *CreateSubpropertyResponse) Reset() { - *x = CreateSubpropertyResponse{} +func (x *GetRollupPropertySourceLinkRequest) Reset() { + *x = GetRollupPropertySourceLinkRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9741,13 +9748,13 @@ func (x *CreateSubpropertyResponse) Reset() { } } -func (x *CreateSubpropertyResponse) String() string { +func (x *GetRollupPropertySourceLinkRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateSubpropertyResponse) ProtoMessage() {} +func (*GetRollupPropertySourceLinkRequest) ProtoMessage() {} -func (x *CreateSubpropertyResponse) ProtoReflect() protoreflect.Message { +func (x *GetRollupPropertySourceLinkRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9759,40 +9766,42 @@ func (x *CreateSubpropertyResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateSubpropertyResponse.ProtoReflect.Descriptor instead. -func (*CreateSubpropertyResponse) Descriptor() ([]byte, []int) { - return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{162} -} - -func (x *CreateSubpropertyResponse) GetSubproperty() *Property { - if x != nil { - return x.Subproperty - } - return nil +// Deprecated: Use GetRollupPropertySourceLinkRequest.ProtoReflect.Descriptor instead. +func (*GetRollupPropertySourceLinkRequest) Descriptor() ([]byte, []int) { + return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{162} } -func (x *CreateSubpropertyResponse) GetSubpropertyEventFilter() *SubpropertyEventFilter { +func (x *GetRollupPropertySourceLinkRequest) GetName() string { if x != nil { - return x.SubpropertyEventFilter + return x.Name } - return nil + return "" } -// Request message for CreateSubpropertyEventFilter RPC. -type CreateSubpropertyEventFilterRequest struct { +// Request message for ListRollupPropertySourceLinks RPC. +type ListRollupPropertySourceLinksRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The ordinary property for which to create a subproperty event - // filter. Format: properties/property_id Example: properties/123 + // Required. The name of the roll-up property to list roll-up property source + // links under. Format: properties/{property_id} Example: properties/1234 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The subproperty event filter to create. - SubpropertyEventFilter *SubpropertyEventFilter `protobuf:"bytes,2,opt,name=subproperty_event_filter,json=subpropertyEventFilter,proto3" json:"subproperty_event_filter,omitempty"` + // Optional. The maximum number of resources to return. The service may return + // fewer than this value, even if there are additional pages. + // If unspecified, at most 50 resources will be returned. + // The maximum value is 200; (higher values will be coerced to the maximum) + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. A page token, received from a previous + // `ListRollupPropertySourceLinks` call. Provide this to retrieve the + // subsequent page. When paginating, all other parameters provided to + // `ListRollupPropertySourceLinks` must match the call that provided the page + // token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } -func (x *CreateSubpropertyEventFilterRequest) Reset() { - *x = CreateSubpropertyEventFilterRequest{} +func (x *ListRollupPropertySourceLinksRequest) Reset() { + *x = ListRollupPropertySourceLinksRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9800,13 +9809,13 @@ func (x *CreateSubpropertyEventFilterRequest) Reset() { } } -func (x *CreateSubpropertyEventFilterRequest) String() string { +func (x *ListRollupPropertySourceLinksRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateSubpropertyEventFilterRequest) ProtoMessage() {} +func (*ListRollupPropertySourceLinksRequest) ProtoMessage() {} -func (x *CreateSubpropertyEventFilterRequest) ProtoReflect() protoreflect.Message { +func (x *ListRollupPropertySourceLinksRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9818,40 +9827,47 @@ func (x *CreateSubpropertyEventFilterRequest) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use CreateSubpropertyEventFilterRequest.ProtoReflect.Descriptor instead. -func (*CreateSubpropertyEventFilterRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListRollupPropertySourceLinksRequest.ProtoReflect.Descriptor instead. +func (*ListRollupPropertySourceLinksRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{163} } -func (x *CreateSubpropertyEventFilterRequest) GetParent() string { +func (x *ListRollupPropertySourceLinksRequest) GetParent() string { if x != nil { return x.Parent } return "" } -func (x *CreateSubpropertyEventFilterRequest) GetSubpropertyEventFilter() *SubpropertyEventFilter { +func (x *ListRollupPropertySourceLinksRequest) GetPageSize() int32 { if x != nil { - return x.SubpropertyEventFilter + return x.PageSize } - return nil + return 0 } -// Request message for GetSubpropertyEventFilter RPC. -type GetSubpropertyEventFilterRequest struct { +func (x *ListRollupPropertySourceLinksRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for ListRollupPropertySourceLinks RPC. +type ListRollupPropertySourceLinksResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Resource name of the subproperty event filter to lookup. - // Format: - // properties/property_id/subpropertyEventFilters/subproperty_event_filter - // Example: properties/123/subpropertyEventFilters/456 - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // List of RollupPropertySourceLinks. + RollupPropertySourceLinks []*RollupPropertySourceLink `protobuf:"bytes,1,rep,name=rollup_property_source_links,json=rollupPropertySourceLinks,proto3" json:"rollup_property_source_links,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } -func (x *GetSubpropertyEventFilterRequest) Reset() { - *x = GetSubpropertyEventFilterRequest{} +func (x *ListRollupPropertySourceLinksResponse) Reset() { + *x = ListRollupPropertySourceLinksResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9859,13 +9875,13 @@ func (x *GetSubpropertyEventFilterRequest) Reset() { } } -func (x *GetSubpropertyEventFilterRequest) String() string { +func (x *ListRollupPropertySourceLinksResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetSubpropertyEventFilterRequest) ProtoMessage() {} +func (*ListRollupPropertySourceLinksResponse) ProtoMessage() {} -func (x *GetSubpropertyEventFilterRequest) ProtoReflect() protoreflect.Message { +func (x *ListRollupPropertySourceLinksResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9877,43 +9893,40 @@ func (x *GetSubpropertyEventFilterRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetSubpropertyEventFilterRequest.ProtoReflect.Descriptor instead. -func (*GetSubpropertyEventFilterRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListRollupPropertySourceLinksResponse.ProtoReflect.Descriptor instead. +func (*ListRollupPropertySourceLinksResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{164} } -func (x *GetSubpropertyEventFilterRequest) GetName() string { +func (x *ListRollupPropertySourceLinksResponse) GetRollupPropertySourceLinks() []*RollupPropertySourceLink { if x != nil { - return x.Name + return x.RollupPropertySourceLinks + } + return nil +} + +func (x *ListRollupPropertySourceLinksResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken } return "" } -// Request message for ListSubpropertyEventFilters RPC. -type ListSubpropertyEventFiltersRequest struct { +// Request message for CreateRollupPropertySourceLink RPC. +type CreateRollupPropertySourceLinkRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Resource name of the ordinary property. - // Format: properties/property_id - // Example: properties/123 + // Required. Format: properties/{property_id} + // Example: properties/1234 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Optional. The maximum number of resources to return. The service may return - // fewer than this value, even if there are additional pages. If unspecified, - // at most 50 resources will be returned. The maximum value is 200; (higher - // values will be coerced to the maximum) - PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // Optional. A page token, received from a previous - // `ListSubpropertyEventFilters` call. Provide this to retrieve the subsequent - // page. When paginating, all other parameters provided to - // `ListSubpropertyEventFilters` must match the call that provided the page - // token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Required. The roll-up property source link to create. + RollupPropertySourceLink *RollupPropertySourceLink `protobuf:"bytes,2,opt,name=rollup_property_source_link,json=rollupPropertySourceLink,proto3" json:"rollup_property_source_link,omitempty"` } -func (x *ListSubpropertyEventFiltersRequest) Reset() { - *x = ListSubpropertyEventFiltersRequest{} +func (x *CreateRollupPropertySourceLinkRequest) Reset() { + *x = CreateRollupPropertySourceLinkRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9921,13 +9934,13 @@ func (x *ListSubpropertyEventFiltersRequest) Reset() { } } -func (x *ListSubpropertyEventFiltersRequest) String() string { +func (x *CreateRollupPropertySourceLinkRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListSubpropertyEventFiltersRequest) ProtoMessage() {} +func (*CreateRollupPropertySourceLinkRequest) ProtoMessage() {} -func (x *ListSubpropertyEventFiltersRequest) ProtoReflect() protoreflect.Message { +func (x *CreateRollupPropertySourceLinkRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9939,47 +9952,39 @@ func (x *ListSubpropertyEventFiltersRequest) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use ListSubpropertyEventFiltersRequest.ProtoReflect.Descriptor instead. -func (*ListSubpropertyEventFiltersRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateRollupPropertySourceLinkRequest.ProtoReflect.Descriptor instead. +func (*CreateRollupPropertySourceLinkRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{165} } -func (x *ListSubpropertyEventFiltersRequest) GetParent() string { +func (x *CreateRollupPropertySourceLinkRequest) GetParent() string { if x != nil { return x.Parent } return "" } -func (x *ListSubpropertyEventFiltersRequest) GetPageSize() int32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListSubpropertyEventFiltersRequest) GetPageToken() string { +func (x *CreateRollupPropertySourceLinkRequest) GetRollupPropertySourceLink() *RollupPropertySourceLink { if x != nil { - return x.PageToken + return x.RollupPropertySourceLink } - return "" + return nil } -// Response message for ListSubpropertyEventFilter RPC. -type ListSubpropertyEventFiltersResponse struct { +// Request message for DeleteRollupPropertySourceLink RPC. +type DeleteRollupPropertySourceLinkRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // List of subproperty event filters. - SubpropertyEventFilters []*SubpropertyEventFilter `protobuf:"bytes,1,rep,name=subproperty_event_filters,json=subpropertyEventFilters,proto3" json:"subproperty_event_filters,omitempty"` - // A token, which can be sent as `page_token` to retrieve the next page. If - // this field is omitted, there are no subsequent pages. - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Required. Format: + // properties/{property_id}/rollupPropertySourceLinks/{rollup_property_source_link_id} + // Example: properties/1234/rollupPropertySourceLinks/5678 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *ListSubpropertyEventFiltersResponse) Reset() { - *x = ListSubpropertyEventFiltersResponse{} +func (x *DeleteRollupPropertySourceLinkRequest) Reset() { + *x = DeleteRollupPropertySourceLinkRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9987,13 +9992,13 @@ func (x *ListSubpropertyEventFiltersResponse) Reset() { } } -func (x *ListSubpropertyEventFiltersResponse) String() string { +func (x *DeleteRollupPropertySourceLinkRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListSubpropertyEventFiltersResponse) ProtoMessage() {} +func (*DeleteRollupPropertySourceLinkRequest) ProtoMessage() {} -func (x *ListSubpropertyEventFiltersResponse) ProtoReflect() protoreflect.Message { +func (x *DeleteRollupPropertySourceLinkRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10005,42 +10010,36 @@ func (x *ListSubpropertyEventFiltersResponse) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use ListSubpropertyEventFiltersResponse.ProtoReflect.Descriptor instead. -func (*ListSubpropertyEventFiltersResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use DeleteRollupPropertySourceLinkRequest.ProtoReflect.Descriptor instead. +func (*DeleteRollupPropertySourceLinkRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{166} } -func (x *ListSubpropertyEventFiltersResponse) GetSubpropertyEventFilters() []*SubpropertyEventFilter { - if x != nil { - return x.SubpropertyEventFilters - } - return nil -} - -func (x *ListSubpropertyEventFiltersResponse) GetNextPageToken() string { +func (x *DeleteRollupPropertySourceLinkRequest) GetName() string { if x != nil { - return x.NextPageToken + return x.Name } return "" } -// Request message for UpdateSubpropertyEventFilter RPC. -type UpdateSubpropertyEventFilterRequest struct { +// Request message for CreateSubproperty RPC. +type CreateSubpropertyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The subproperty event filter to update. - SubpropertyEventFilter *SubpropertyEventFilter `protobuf:"bytes,1,opt,name=subproperty_event_filter,json=subpropertyEventFilter,proto3" json:"subproperty_event_filter,omitempty"` - // Required. The list of fields to update. Field names must be in snake case - // (for example, "field_to_update"). Omitted fields will not be updated. To - // replace the entire entity, use one path with the string "*" to match all - // fields. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. The ordinary property for which to create a subproperty. + // Format: properties/property_id + // Example: properties/123 + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The subproperty to create. + Subproperty *Property `protobuf:"bytes,2,opt,name=subproperty,proto3" json:"subproperty,omitempty"` + // Optional. The subproperty event filter to create on an ordinary property. + SubpropertyEventFilter *SubpropertyEventFilter `protobuf:"bytes,3,opt,name=subproperty_event_filter,json=subpropertyEventFilter,proto3" json:"subproperty_event_filter,omitempty"` } -func (x *UpdateSubpropertyEventFilterRequest) Reset() { - *x = UpdateSubpropertyEventFilterRequest{} +func (x *CreateSubpropertyRequest) Reset() { + *x = CreateSubpropertyRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10048,13 +10047,13 @@ func (x *UpdateSubpropertyEventFilterRequest) Reset() { } } -func (x *UpdateSubpropertyEventFilterRequest) String() string { +func (x *CreateSubpropertyRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateSubpropertyEventFilterRequest) ProtoMessage() {} +func (*CreateSubpropertyRequest) ProtoMessage() {} -func (x *UpdateSubpropertyEventFilterRequest) ProtoReflect() protoreflect.Message { +func (x *CreateSubpropertyRequest) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10066,40 +10065,46 @@ func (x *UpdateSubpropertyEventFilterRequest) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use UpdateSubpropertyEventFilterRequest.ProtoReflect.Descriptor instead. -func (*UpdateSubpropertyEventFilterRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateSubpropertyRequest.ProtoReflect.Descriptor instead. +func (*CreateSubpropertyRequest) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{167} } -func (x *UpdateSubpropertyEventFilterRequest) GetSubpropertyEventFilter() *SubpropertyEventFilter { +func (x *CreateSubpropertyRequest) GetParent() string { if x != nil { - return x.SubpropertyEventFilter + return x.Parent + } + return "" +} + +func (x *CreateSubpropertyRequest) GetSubproperty() *Property { + if x != nil { + return x.Subproperty } return nil } -func (x *UpdateSubpropertyEventFilterRequest) GetUpdateMask() *fieldmaskpb.FieldMask { +func (x *CreateSubpropertyRequest) GetSubpropertyEventFilter() *SubpropertyEventFilter { if x != nil { - return x.UpdateMask + return x.SubpropertyEventFilter } return nil } -// Request message for DeleteSubpropertyEventFilter RPC. -type DeleteSubpropertyEventFilterRequest struct { +// Response message for CreateSubproperty RPC. +type CreateSubpropertyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Resource name of the subproperty event filter to delete. - // Format: - // properties/property_id/subpropertyEventFilters/subproperty_event_filter - // Example: properties/123/subpropertyEventFilters/456 - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The created subproperty. + Subproperty *Property `protobuf:"bytes,1,opt,name=subproperty,proto3" json:"subproperty,omitempty"` + // The created subproperty event filter. + SubpropertyEventFilter *SubpropertyEventFilter `protobuf:"bytes,2,opt,name=subproperty_event_filter,json=subpropertyEventFilter,proto3" json:"subproperty_event_filter,omitempty"` } -func (x *DeleteSubpropertyEventFilterRequest) Reset() { - *x = DeleteSubpropertyEventFilterRequest{} +func (x *CreateSubpropertyResponse) Reset() { + *x = CreateSubpropertyResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10107,13 +10112,13 @@ func (x *DeleteSubpropertyEventFilterRequest) Reset() { } } -func (x *DeleteSubpropertyEventFilterRequest) String() string { +func (x *CreateSubpropertyResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteSubpropertyEventFilterRequest) ProtoMessage() {} +func (*CreateSubpropertyResponse) ProtoMessage() {} -func (x *DeleteSubpropertyEventFilterRequest) ProtoReflect() protoreflect.Message { +func (x *CreateSubpropertyResponse) ProtoReflect() protoreflect.Message { mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10125,143 +10130,509 @@ func (x *DeleteSubpropertyEventFilterRequest) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use DeleteSubpropertyEventFilterRequest.ProtoReflect.Descriptor instead. -func (*DeleteSubpropertyEventFilterRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateSubpropertyResponse.ProtoReflect.Descriptor instead. +func (*CreateSubpropertyResponse) Descriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{168} } -func (x *DeleteSubpropertyEventFilterRequest) GetName() string { +func (x *CreateSubpropertyResponse) GetSubproperty() *Property { + if x != nil { + return x.Subproperty + } + return nil +} + +func (x *CreateSubpropertyResponse) GetSubpropertyEventFilter() *SubpropertyEventFilter { + if x != nil { + return x.SubpropertyEventFilter + } + return nil +} + +// Request message for CreateSubpropertyEventFilter RPC. +type CreateSubpropertyEventFilterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The ordinary property for which to create a subproperty event + // filter. Format: properties/property_id Example: properties/123 + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The subproperty event filter to create. + SubpropertyEventFilter *SubpropertyEventFilter `protobuf:"bytes,2,opt,name=subproperty_event_filter,json=subpropertyEventFilter,proto3" json:"subproperty_event_filter,omitempty"` +} + +func (x *CreateSubpropertyEventFilterRequest) Reset() { + *x = CreateSubpropertyEventFilterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[169] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSubpropertyEventFilterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSubpropertyEventFilterRequest) ProtoMessage() {} + +func (x *CreateSubpropertyEventFilterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[169] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateSubpropertyEventFilterRequest.ProtoReflect.Descriptor instead. +func (*CreateSubpropertyEventFilterRequest) Descriptor() ([]byte, []int) { + return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{169} +} + +func (x *CreateSubpropertyEventFilterRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateSubpropertyEventFilterRequest) GetSubpropertyEventFilter() *SubpropertyEventFilter { + if x != nil { + return x.SubpropertyEventFilter + } + return nil +} + +// Request message for GetSubpropertyEventFilter RPC. +type GetSubpropertyEventFilterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name of the subproperty event filter to lookup. + // Format: + // properties/property_id/subpropertyEventFilters/subproperty_event_filter + // Example: properties/123/subpropertyEventFilters/456 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetSubpropertyEventFilterRequest) Reset() { + *x = GetSubpropertyEventFilterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[170] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSubpropertyEventFilterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSubpropertyEventFilterRequest) ProtoMessage() {} + +func (x *GetSubpropertyEventFilterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[170] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSubpropertyEventFilterRequest.ProtoReflect.Descriptor instead. +func (*GetSubpropertyEventFilterRequest) Descriptor() ([]byte, []int) { + return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{170} +} + +func (x *GetSubpropertyEventFilterRequest) GetName() string { if x != nil { return x.Name } return "" } -var File_google_analytics_admin_v1alpha_analytics_admin_proto protoreflect.FileDescriptor +// Request message for ListSubpropertyEventFilters RPC. +type ListSubpropertyEventFiltersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -var file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDesc = []byte{ - 0x0a, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x65, - 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2f, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, - 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x05, 0x0a, 0x16, 0x52, 0x75, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x4f, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x64, 0x69, 0x6d, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, - 0x50, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x65, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x73, 0x12, 0x61, 0x0a, 0x10, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x4a, 0x0a, 0x09, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x52, 0x08, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x78, 0x70, - 0x61, 0x6e, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x22, 0xf7, 0x02, 0x0a, 0x17, 0x52, 0x75, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x62, 0x0a, 0x11, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x52, 0x10, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x12, 0x59, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, - 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, - 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x1b, 0x0a, - 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x05, 0x71, 0x75, - 0x6f, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x22, 0x56, 0x0a, - 0x11, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x74, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + // Required. Resource name of the ordinary property. + // Format: properties/property_id + // Example: properties/123 + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The maximum number of resources to return. The service may return + // fewer than this value, even if there are additional pages. If unspecified, + // at most 50 resources will be returned. The maximum value is 200; (higher + // values will be coerced to the maximum) + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. A page token, received from a previous + // `ListSubpropertyEventFilters` call. Provide this to retrieve the subsequent + // page. When paginating, all other parameters provided to + // `ListSubpropertyEventFilters` must match the call that provided the page + // token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListSubpropertyEventFiltersRequest) Reset() { + *x = ListSubpropertyEventFiltersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[171] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSubpropertyEventFiltersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSubpropertyEventFiltersRequest) ProtoMessage() {} + +func (x *ListSubpropertyEventFiltersRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[171] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListSubpropertyEventFiltersRequest.ProtoReflect.Descriptor instead. +func (*ListSubpropertyEventFiltersRequest) Descriptor() ([]byte, []int) { + return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{171} +} + +func (x *ListSubpropertyEventFiltersRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListSubpropertyEventFiltersRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListSubpropertyEventFiltersRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for ListSubpropertyEventFilter RPC. +type ListSubpropertyEventFiltersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of subproperty event filters. + SubpropertyEventFilters []*SubpropertyEventFilter `protobuf:"bytes,1,rep,name=subproperty_event_filters,json=subpropertyEventFilters,proto3" json:"subproperty_event_filters,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. If + // this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListSubpropertyEventFiltersResponse) Reset() { + *x = ListSubpropertyEventFiltersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[172] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSubpropertyEventFiltersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSubpropertyEventFiltersResponse) ProtoMessage() {} + +func (x *ListSubpropertyEventFiltersResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[172] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListSubpropertyEventFiltersResponse.ProtoReflect.Descriptor instead. +func (*ListSubpropertyEventFiltersResponse) Descriptor() ([]byte, []int) { + return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{172} +} + +func (x *ListSubpropertyEventFiltersResponse) GetSubpropertyEventFilters() []*SubpropertyEventFilter { + if x != nil { + return x.SubpropertyEventFilters + } + return nil +} + +func (x *ListSubpropertyEventFiltersResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for UpdateSubpropertyEventFilter RPC. +type UpdateSubpropertyEventFilterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The subproperty event filter to update. + SubpropertyEventFilter *SubpropertyEventFilter `protobuf:"bytes,1,opt,name=subproperty_event_filter,json=subpropertyEventFilter,proto3" json:"subproperty_event_filter,omitempty"` + // Required. The list of fields to update. Field names must be in snake case + // (for example, "field_to_update"). Omitted fields will not be updated. To + // replace the entire entity, use one path with the string "*" to match all + // fields. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateSubpropertyEventFilterRequest) Reset() { + *x = UpdateSubpropertyEventFilterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[173] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSubpropertyEventFilterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSubpropertyEventFilterRequest) ProtoMessage() {} + +func (x *UpdateSubpropertyEventFilterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[173] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateSubpropertyEventFilterRequest.ProtoReflect.Descriptor instead. +func (*UpdateSubpropertyEventFilterRequest) Descriptor() ([]byte, []int) { + return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{173} +} + +func (x *UpdateSubpropertyEventFilterRequest) GetSubpropertyEventFilter() *SubpropertyEventFilter { + if x != nil { + return x.SubpropertyEventFilter + } + return nil +} + +func (x *UpdateSubpropertyEventFilterRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for DeleteSubpropertyEventFilter RPC. +type DeleteSubpropertyEventFilterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name of the subproperty event filter to delete. + // Format: + // properties/property_id/subpropertyEventFilters/subproperty_event_filter + // Example: properties/123/subpropertyEventFilters/456 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteSubpropertyEventFilterRequest) Reset() { + *x = DeleteSubpropertyEventFilterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[174] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSubpropertyEventFilterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSubpropertyEventFilterRequest) ProtoMessage() {} + +func (x *DeleteSubpropertyEventFilterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[174] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteSubpropertyEventFilterRequest.ProtoReflect.Descriptor instead. +func (*DeleteSubpropertyEventFilterRequest) Descriptor() ([]byte, []int) { + return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP(), []int{174} +} + +func (x *DeleteSubpropertyEventFilterRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +var File_google_analytics_admin_v1alpha_analytics_admin_proto protoreflect.FileDescriptor + +var file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDesc = []byte{ + 0x0a, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x65, + 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2f, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, + 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x05, 0x0a, 0x16, 0x52, 0x75, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x4f, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x64, 0x69, 0x6d, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, + 0x50, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x65, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x12, 0x61, 0x0a, 0x10, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x4a, 0x0a, 0x09, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x52, 0x08, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x78, 0x70, + 0x61, 0x6e, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x22, 0xf7, 0x02, 0x0a, 0x17, 0x52, 0x75, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x62, 0x0a, 0x11, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x52, 0x10, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x59, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, + 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, + 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x05, 0x71, 0x75, + 0x6f, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x22, 0x56, 0x0a, + 0x11, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x74, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, @@ -11118,2736 +11489,2871 @@ var file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDesc = []byte{ 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x72, 0x0a, 0x1f, 0x47, 0x65, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3b, 0xe0, 0x41, 0x02, 0xfa, - 0x41, 0x35, 0x0a, 0x33, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xda, 0x01, - 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, - 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x72, 0x0a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x74, - 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x15, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xb5, 0x01, 0x0a, 0x17, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x12, 0x50, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x22, 0x5f, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, - 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, + 0x72, 0x69, 0x63, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8a, 0x02, 0x0a, 0x1d, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x30, 0x12, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x4b, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x40, 0x0a, 0x0b, + 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x14, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, + 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x49, 0x64, 0x12, 0x62, 0x0a, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0xc5, 0x01, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x62, 0x0a, 0x11, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x9e, - 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, - 0x2a, 0x12, 0x28, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, + 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x6b, + 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x30, 0x0a, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x1c, + 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x30, 0x12, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0xa8, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x68, 0x0a, + 0x1a, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x30, 0x0a, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, - 0x90, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x64, - 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x22, 0x5c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, - 0x0a, 0x28, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2f, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x72, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x35, + 0x0a, 0x33, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x58, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xda, 0x01, 0x0a, 0x22, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x72, 0x0a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x15, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xb5, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x64, 0x69, - 0x65, 0x6e, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x14, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x64, 0x69, 0x65, - 0x6e, 0x63, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, - 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, - 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x50, + 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x22, 0x5f, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x2a, 0x0a, 0x28, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, + 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x0a, + 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x9e, 0x01, 0x0a, + 0x16, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, + 0x28, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x90, 0x01, + 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x64, 0x61, 0x74, + 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0x5c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x58, + 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, + 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x46, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x61, 0x75, + 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0xaa, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x28, 0x12, 0x26, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x49, 0x0a, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xa4, 0x01, 0x0a, + 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, + 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, + 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x73, 0x6b, 0x22, 0x5c, 0x0a, 0x16, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x75, + 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xa4, - 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x08, 0x61, 0x75, 0x64, 0x69, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, - 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, - 0x6e, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, + 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x6e, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x39, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x33, 0x0a, 0x31, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6b, 0x0a, 0x14, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x5c, 0x0a, 0x16, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, - 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x6e, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x39, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x33, 0x0a, 0x31, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6b, 0x0a, 0x14, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x13, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x62, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x1d, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, - 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x12, 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x05, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, - 0x2d, 0x0a, 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x05, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, - 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, - 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, - 0xa4, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, - 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x12, 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, - 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9c, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x62, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x1d, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x2d, 0x12, 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, + 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x0e, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x26, 0x0a, - 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xc4, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x12, 0x2b, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x12, 0x59, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0xcc, 0x01, 0x0a, - 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x12, 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, - 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5b, - 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x7b, 0x0a, 0x21, 0x42, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xa4, 0x01, + 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x2d, 0x12, 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9c, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x0e, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0xc4, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x12, 0x2b, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x59, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0xcc, 0x01, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x56, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x77, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x59, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x22, 0xcc, 0x01, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x12, 0x2b, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, - 0x22, 0x7b, 0x0a, 0x21, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, - 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x0e, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x65, 0x0a, - 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, - 0x2d, 0x0a, 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcc, 0x01, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, - 0x2d, 0x12, 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x06, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x22, 0xcf, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, - 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x12, 0x2d, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x70, 0x61, - 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x12, 0x60, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x12, 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x08, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x65, 0x74, 0x22, 0xc2, 0x01, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x60, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, - 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, - 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, - 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x69, 0x0a, 0x1c, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, - 0x0a, 0x2d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x61, - 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x49, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x0a, 0x2d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa8, 0x01, - 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xe0, - 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x12, 0x2d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa5, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x12, 0x65, 0x78, 0x70, - 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, - 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x10, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0xbf, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, - 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, - 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x12, 0x2a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x0d, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x22, 0xb5, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x56, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x7b, 0x0a, 0x21, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, + 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x63, 0x0a, 0x19, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x60, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, - 0x2a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, - 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, - 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x12, 0x2a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, - 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x77, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x59, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, + 0xcc, 0x01, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x12, 0x2b, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x5b, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x7b, + 0x0a, 0x21, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x22, 0x65, 0x0a, 0x29, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, - 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, - 0x17, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x06, 0x6f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x22, 0x2c, 0x0a, 0x2a, 0x53, 0x65, 0x74, 0x41, - 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x2b, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, - 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x22, 0x47, 0x0a, 0x2c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, - 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x5f, 0x6f, 0x75, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x22, - 0x60, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, - 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, - 0x2a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, - 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, - 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, - 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x12, 0x2a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x0e, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x65, 0x0a, 0x1a, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, + 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0xcc, 0x01, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x12, + 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x73, 0x22, 0xcf, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x61, + 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x12, 0x2d, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, + 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x60, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, + 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x65, 0x74, 0x22, 0xc2, 0x01, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, + 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x60, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x69, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x0a, 0x2d, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, + 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, + 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x49, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x0a, 0x2d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, - 0x6e, 0x6b, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x1b, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x2f, 0x12, 0x2d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x42, - 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x69, - 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0d, 0x62, 0x69, 0x67, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x22, 0x7e, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, - 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x41, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x3b, - 0x0a, 0x39, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0xf3, 0x01, 0x0a, 0x28, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x68, 0x61, - 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, - 0x01, 0x0a, 0x1d, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x61, 0x73, - 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, - 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1b, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, - 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x72, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x35, - 0x0a, 0x33, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xda, 0x01, 0x0a, 0x22, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x72, 0x0a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x64, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa5, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x12, 0x65, 0x78, 0x70, 0x61, 0x6e, + 0x64, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x15, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x65, 0x74, 0x52, 0x10, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xbf, + 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x2c, 0x12, 0x2a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x22, 0xb5, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, + 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xa0, 0x01, 0x0a, 0x1d, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, - 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x63, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, - 0x65, 0x54, 0x61, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x22, 0x20, 0x0a, 0x1e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, - 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, - 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x61, - 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, - 0x64, 0x22, 0x3a, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x22, 0x81, 0x01, - 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, - 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x60, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x74, - 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, 0x11, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, - 0x73, 0x22, 0xba, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x53, 0x65, - 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, - 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, - 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x12, 0x29, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, - 0x6b, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x0c, 0x61, 0x64, 0x73, - 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0b, 0x61, 0x64, 0x73, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x5e, - 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x61, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x63, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x60, 0x0a, + 0x16, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, 0x53, - 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x61, - 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, - 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, - 0x0a, 0x29, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, - 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, - 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x12, 0x29, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0xa2, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x2c, 0x12, 0x2a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x53, - 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x61, 0x64, 0x73, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, - 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0c, 0x61, 0x64, 0x73, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, - 0x6e, 0x6b, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6e, 0x0a, 0x20, 0x46, - 0x65, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, - 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x4a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x22, 0x6c, 0x0a, 0x21, 0x46, - 0x65, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, - 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x47, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x2b, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, - 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x22, 0xcf, 0x01, 0x0a, 0x1c, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x06, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, - 0x41, 0x2f, 0x12, 0x2d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x60, 0x0a, 0x11, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0x65, 0x0a, 0x29, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, + 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, + 0x70, 0x74, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x17, 0x0a, + 0x07, 0x6f, 0x70, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x6f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x22, 0x2c, 0x0a, 0x2a, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x2b, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x22, 0x47, 0x0a, 0x2c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x22, 0x60, 0x0a, + 0x16, 0x47, 0x65, 0x74, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x69, 0x67, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0xa2, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x2c, 0x12, 0x2a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x69, 0x67, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x69, 0x67, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0d, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0x7e, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, + 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x41, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x3b, 0x0a, 0x39, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, + 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0xf3, 0x01, 0x0a, 0x28, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, + 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, + 0x1d, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x22, 0xc2, 0x01, 0x0a, 0x1c, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x60, 0x0a, 0x11, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6c, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x40, - 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, - 0x22, 0x69, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x49, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, - 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x0a, 0x2d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x19, 0x47, - 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x0a, 0x2d, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, + 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1b, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, + 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x72, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x35, 0x0a, 0x33, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x12, 0x2d, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa5, - 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x5d, 0x0a, 0x12, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x10, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x26, - 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa7, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0f, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, - 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, - 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x30, - 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x22, 0xec, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x75, - 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x51, 0x0a, 0x0f, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x52, 0x0e, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x12, 0x79, 0x0a, 0x1c, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xda, 0x01, 0x0a, 0x22, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x72, 0x0a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xa0, 0x01, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x12, 0x63, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x5f, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, + 0x61, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x22, 0x20, 0x0a, 0x1e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, + 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x1d, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, + 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x61, 0x67, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x22, + 0x3a, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x22, 0x81, 0x01, 0x0a, 0x1d, + 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, + 0x65, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, + 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x74, 0x65, 0x5f, + 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, - 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x19, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x22, - 0x78, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x3e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x38, 0x0a, 0x36, 0x61, 0x6e, 0x61, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, 0x11, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x73, 0x22, + 0xba, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, + 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x2b, 0x12, 0x29, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x0c, 0x61, 0x64, 0x73, 0x65, 0x6e, + 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, + 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0b, 0x61, 0x64, 0x73, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x5e, 0x0a, 0x15, + 0x47, 0x65, 0x74, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x6f, 0x6c, 0x6c, 0x75, - 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, - 0x69, 0x6e, 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x24, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x56, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x3e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x38, 0x12, 0x36, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, 0x53, 0x65, 0x6e, + 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x61, 0x0a, 0x18, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, + 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0xa0, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, + 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x2b, 0x12, 0x29, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x53, 0x65, 0x6e, + 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x50, 0x0a, 0x0d, 0x61, 0x64, 0x73, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, + 0x69, 0x6e, 0x6b, 0x52, 0x0c, 0x61, 0x64, 0x73, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, + 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, + 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6e, 0x0a, 0x20, 0x46, 0x65, 0x74, + 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, + 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x22, 0x6c, 0x0a, 0x21, 0x46, 0x65, 0x74, + 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, + 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2b, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x22, 0xcf, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, + 0x12, 0x2d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x60, 0x0a, 0x11, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x22, 0xc2, 0x01, 0x0a, 0x1c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x60, 0x0a, 0x11, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x0b, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x69, + 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x2f, 0x0a, 0x2d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x19, 0x47, 0x65, 0x74, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x0a, 0x2d, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x4d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x12, 0x2d, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa5, 0x01, 0x0a, + 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, + 0x12, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x10, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa7, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0f, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x6f, + 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x30, 0x0a, 0x11, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xec, + 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x51, 0x0a, 0x0f, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x52, 0x0e, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x12, 0x79, 0x0a, 0x1c, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, - 0x6e, 0x6b, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0xca, 0x01, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, + 0x6e, 0x6b, 0x52, 0x19, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x22, 0x78, 0x0a, + 0x22, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x3e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x38, 0x0a, 0x36, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, - 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x1c, 0x72, 0x6f, - 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x19, 0x72, 0x6f, 0x6c, 0x6c, - 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xfd, 0x01, - 0x0a, 0x25, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, + 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x56, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x3e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x38, 0x12, 0x36, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x38, 0x12, - 0x36, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, - 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, - 0x7c, 0x0a, 0x1b, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x18, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x7b, 0x0a, - 0x25, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x3e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x38, 0x0a, 0x36, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x6f, 0x6c, 0x6c, - 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xaa, 0x02, 0x0a, 0x18, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, - 0x26, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, - 0x4f, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x12, 0x75, 0x0a, 0x18, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xca, + 0x01, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x1c, 0x72, 0x6f, 0x6c, 0x6c, + 0x75, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x19, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, + 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, + 0x6e, 0x6b, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xfd, 0x01, 0x0a, 0x25, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x38, 0x12, 0x36, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x6f, 0x6c, + 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x7c, 0x0a, + 0x1b, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x16, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xd9, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x12, 0x70, 0x0a, 0x18, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x16, 0x73, 0x75, 0x62, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x22, 0xf2, 0x01, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, - 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xe0, 0x41, 0x02, - 0xfa, 0x41, 0x36, 0x12, 0x34, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x12, 0x75, 0x0a, 0x18, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x16, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x74, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x53, - 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xe0, 0x41, 0x02, 0xfa, - 0x41, 0x36, 0x0a, 0x34, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc0, - 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x36, 0x12, 0x34, 0x61, + 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x18, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x7b, 0x0a, 0x25, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x3e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x38, 0x0a, 0x36, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, + 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, + 0x6e, 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xaa, 0x02, 0x0a, 0x18, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, + 0x0b, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x75, + 0x0a, 0x18, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x73, + 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xd9, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, + 0x70, 0x0a, 0x18, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x16, 0x73, 0x75, 0x62, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x22, 0xf2, 0x01, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x36, 0x12, 0x34, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x75, 0x0a, 0x18, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, + 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x74, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x22, 0xc1, 0x01, 0x0a, 0x23, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x19, 0x73, 0x75, 0x62, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, - 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x52, 0x17, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, - 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xde, 0x01, 0x0a, 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x36, + 0x0a, 0x34, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x75, 0x0a, - 0x18, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x73, 0x75, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc0, 0x01, 0x0a, + 0x22, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x3c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x36, 0x12, 0x34, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0xc1, 0x01, 0x0a, 0x23, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x19, 0x73, 0x75, 0x62, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x52, 0x17, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0xde, 0x01, 0x0a, 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, - 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x77, 0x0a, 0x23, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xe0, 0x41, 0x02, - 0xfa, 0x41, 0x36, 0x0a, 0x34, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x32, - 0xfb, 0xee, 0x01, 0x0a, 0x15, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x0a, 0x47, - 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x29, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, - 0x12, 0x94, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x88, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x29, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x2a, 0x1a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, - 0x2a, 0x7d, 0x12, 0xb9, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, + 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x75, 0x0a, 0x18, 0x73, + 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, + 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x73, 0x75, 0x62, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x77, 0x0a, 0x23, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, + 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x36, 0x0a, 0x34, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x32, 0xe3, 0xf7, + 0x01, 0x0a, 0x15, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x22, 0x49, 0xda, 0x41, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2c, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2d, 0x3a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x22, 0x2f, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcc, - 0x01, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x75, 0x6e, 0x74, 0x22, 0x29, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x94, + 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, + 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x13, 0x12, 0x11, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x88, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x29, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1c, 0x2a, 0x1a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0xb9, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, - 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, - 0x3a, 0x01, 0x2a, 0x22, 0x28, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x3a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0xb4, 0x01, - 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x75, 0x6d, - 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x22, 0x49, 0xda, 0x41, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2c, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x3a, + 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x22, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcc, 0x01, 0x0a, + 0x16, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x69, 0x65, 0x73, 0x12, 0x98, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x3a, 0x01, + 0x2a, 0x22, 0x28, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x3a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0xb4, 0x01, 0x0a, 0x14, + 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x69, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x22, 0x2b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, - 0x9c, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0xa3, - 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x22, 0x30, 0xda, 0x41, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x22, - 0x13, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, + 0x65, 0x73, 0x12, 0x98, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x22, 0x2b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, + 0x1c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x9c, 0x01, + 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0xa3, 0x01, 0x0a, + 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, + 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x22, 0x30, 0xda, 0x41, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1f, 0x3a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x22, 0x13, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x22, 0x2b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x2a, 0x1c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0xc1, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x22, 0x4e, 0xda, 0x41, 0x14, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x3a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x32, 0x25, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x22, 0x2b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x2a, 0x1c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc1, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x22, 0x4e, 0xda, 0x41, 0x14, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, - 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x3a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x32, 0x25, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x12, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, - 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x69, + 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x62, + 0x61, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x5a, 0xda, 0x41, 0x14, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x0d, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x69, + 0x6e, 0x6b, 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, + 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3b, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x2a, 0x2c, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc7, 0x01, 0x0a, 0x11, 0x4c, + 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, + 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, - 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x69, 0x72, - 0x65, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x5a, 0xda, 0x41, 0x14, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x0d, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, - 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, - 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x46, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x39, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, - 0x3b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x2a, 0x2c, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x69, 0x72, 0x65, - 0x62, 0x61, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc7, 0x01, 0x0a, - 0x11, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x69, 0x6e, - 0x6b, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x69, + 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x46, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x4c, + 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, - 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, - 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0x37, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, 0x74, 0x65, - 0x54, 0x61, 0x67, 0x22, 0x47, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, + 0x70, 0x68, 0x61, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, + 0x67, 0x22, 0x47, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, + 0x12, 0x38, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x7d, 0x12, 0xe1, 0x01, 0x0a, 0x13, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, + 0x6e, 0x6b, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x5f, 0xda, + 0x41, 0x16, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, + 0x61, 0x64, 0x73, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x3a, 0x0f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, + 0x2d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xf6, + 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, + 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, + 0x6b, 0x22, 0x74, 0xda, 0x41, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x64, 0x73, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x3a, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, + 0x61, 0x64, 0x73, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x32, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2f, 0x7b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, + 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa7, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x12, + 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, + 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x22, 0x3c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2f, 0x2a, 0x2d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, - 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x7d, 0x12, 0xe1, 0x01, 0x0a, - 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, - 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x22, - 0x5f, 0xda, 0x41, 0x16, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, - 0x3a, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, - 0x7d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, - 0x12, 0xf6, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, + 0x7d, 0x12, 0xcb, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, - 0x69, 0x6e, 0x6b, 0x22, 0x74, 0xda, 0x41, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, - 0x64, 0x73, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, - 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x3a, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x32, 0x3d, 0x2f, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x64, 0x73, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, - 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa7, 0x01, 0x0a, 0x13, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, - 0x6b, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, - 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2f, 0x2a, 0x2d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, - 0x2a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, - 0x2f, 0x2a, 0x7d, 0x12, 0xcb, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, + 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, + 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, + 0xcb, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x3e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, - 0x2a, 0x7d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x4c, 0x69, 0x6e, 0x6b, - 0x73, 0x12, 0xcb, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, - 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x22, 0x3d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, - 0x2e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, - 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, - 0xf6, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x3d, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, + 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, 0xf6, 0x01, + 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x43, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x56, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x89, 0x02, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x73, 0x12, 0xb8, 0x02, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x61, + 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, + 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x91, 0x01, 0xda, 0x41, 0x22, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x3a, 0x1b, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x73, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x22, 0x47, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0xd9, 0x01, + 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x12, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x22, 0x56, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, + 0x2a, 0x47, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x61, 0x73, + 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xda, 0x02, 0x0a, 0x1f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x46, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x22, 0x56, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, - 0x47, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x61, 0x73, 0x75, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x89, 0x02, 0x0a, 0x1e, 0x4c, 0x69, 0x73, - 0x74, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x45, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0xda, 0x41, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, + 0x22, 0xb3, 0x01, 0xda, 0x41, 0x27, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x82, 0x01, 0x3a, 0x1b, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x32, 0x63, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6d, 0x65, 0x61, + 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x73, 0x12, 0xb8, 0x02, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, - 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x91, 0x01, 0xda, 0x41, - 0x22, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x73, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x3a, 0x1b, 0x6d, 0x65, 0x61, 0x73, 0x75, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, - 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x47, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, - 0xd9, 0x01, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x12, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x56, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x49, 0x2a, 0x47, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, - 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, - 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xda, 0x02, 0x0a, 0x1f, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, - 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x22, 0xb3, 0x01, 0xda, 0x41, 0x27, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x73, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x82, 0x01, 0x3a, 0x1b, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x73, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x32, 0x63, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6d, - 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x61, 0x73, 0x75, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf7, 0x01, 0x0a, 0x1d, 0x41, 0x63, 0x6b, - 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x6b, 0x6e, - 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x43, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, - 0x01, 0x2a, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x91, 0x02, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, - 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, + 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf7, 0x01, 0x0a, 0x1d, 0x41, 0x63, 0x6b, 0x6e, 0x6f, + 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, + 0x6c, 0x65, 0x64, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, + 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x01, 0x2a, + 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x55, 0x73, + 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x91, 0x02, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x5c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, - 0x2f, 0x2a, 0x2f, 0x73, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x2f, 0x2a, 0x7d, 0x12, 0xe3, 0x02, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, + 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x4b, 0x41, + 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x5c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, + 0x2f, 0x73, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x12, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x22, 0xa7, 0x01, 0xda, 0x41, 0x2a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x73, - 0x6b, 0x61, 0x64, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x74, 0x3a, 0x23, 0x73, 0x6b, 0x61, 0x64, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x4d, 0x2f, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x4b, 0x41, 0x64, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0xed, 0x01, 0x0a, - 0x26, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, + 0x61, 0x2f, 0x2a, 0x7d, 0x12, 0xe3, 0x02, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5c, - 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x2a, 0x4d, 0x2f, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2f, 0x2a, 0x7d, 0x12, 0x8d, 0x03, 0x0a, - 0x26, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, + 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, - 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xd1, 0x01, 0xda, 0x41, 0x2f, 0x73, 0x6b, - 0x61, 0x64, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x98, 0x01, 0x3a, 0x23, 0x73, 0x6b, 0x61, 0x64, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x32, 0x71, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x73, 0x6b, 0x61, 0x64, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x22, 0xa7, 0x01, 0xda, 0x41, 0x2a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x73, 0x6b, 0x61, + 0x64, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x74, 0x3a, 0x23, 0x73, 0x6b, 0x61, 0x64, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x4d, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2f, 0x2a, 0x7d, 0x12, 0xa4, 0x02, 0x0a, - 0x25, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x4b, 0x41, 0x64, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0xed, 0x01, 0x0a, 0x26, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x4b, 0x41, 0x64, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x4b, 0x41, + 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5c, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x2a, 0x4d, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2f, 0x2a, 0x7d, 0x12, 0x8d, 0x03, 0x0a, 0x26, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x4b, 0x41, + 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xd1, 0x01, 0xda, 0x41, 0x2f, 0x73, 0x6b, 0x61, 0x64, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x98, 0x01, 0x3a, 0x23, 0x73, 0x6b, 0x61, 0x64, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x32, 0x71, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x7b, 0x73, 0x6b, 0x61, 0x64, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2f, 0x2a, 0x7d, 0x12, 0xa4, 0x02, 0x0a, 0x25, 0x4c, + 0x69, 0x73, 0x74, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x73, 0x12, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x5e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, - 0x2a, 0x7d, 0x2f, 0x73, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x12, 0xe4, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x5e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, + 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x73, 0x4b, 0x41, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x12, 0xe4, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x3a, 0x01, - 0x2a, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, - 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xd5, 0x01, 0x0a, 0x18, 0x47, - 0x65, 0x74, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, - 0x41, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x7d, 0x12, 0xac, 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x3a, 0x01, 0x2a, 0x22, + 0x37, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xd5, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x69, - 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x91, 0x01, - 0xda, 0x41, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, - 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x65, 0x3a, 0x17, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x32, 0x4a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, - 0x7b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x5f, - 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x41, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, + 0x12, 0xac, 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x7d, 0x12, 0xeb, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x63, 0xda, 0x41, 0x17, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x10, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x2f, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x81, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x91, 0x01, 0xda, 0x41, + 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x5f, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x65, 0x3a, 0x17, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x32, 0x4a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x5f, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, + 0xeb, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x79, 0xda, 0x41, 0x1c, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2c, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x3a, - 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x32, 0x40, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, - 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x2a, 0x7d, 0x12, 0xc0, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, + 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x63, 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x10, 0x63, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x2f, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x81, 0x02, + 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x3e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, - 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x2a, 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, - 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x79, 0xda, 0x41, 0x1c, 0x63, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x3a, 0x10, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x32, + 0x40, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, + 0x7d, 0x12, 0xc0, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x22, 0x3e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, + 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x31, 0x2a, 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, + 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xf8, 0x01, 0x0a, 0x20, 0x47, + 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, + 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x12, + 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, + 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x4c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, + 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8b, 0x02, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0xda, 0x41, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xf8, 0x01, 0x0a, - 0x20, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, - 0x6b, 0x12, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, + 0x73, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, + 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, + 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x4e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, + 0x6e, 0x6b, 0x73, 0x12, 0xc6, 0x02, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x4a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, + 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x93, 0x01, 0xda, 0x41, 0x28, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x2c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x62, 0x3a, 0x21, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x61, 0x64, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x3d, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xd7, 0x01, 0x0a, + 0x23, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, + 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x4c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x2a, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, + 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xee, 0x02, 0x0a, 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, + 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x4a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, - 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x4c, 0xda, 0x41, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0xbb, 0x01, 0xda, 0x41, 0x2d, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x33, 0x36, 0x30, + 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x84, 0x01, 0x3a, 0x21, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x69, 0x64, + 0x65, 0x6f, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, + 0x72, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x32, 0x5f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, + 0x33, 0x36, 0x30, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, - 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8b, 0x02, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, - 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x49, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, - 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, + 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x98, 0x02, 0x0a, 0x28, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, - 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, - 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, - 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xc6, 0x02, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, - 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x4a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, - 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, - 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, - 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x93, 0x01, 0xda, 0x41, 0x28, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, - 0x72, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x62, 0x3a, 0x21, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x33, 0x36, 0x30, 0x5f, - 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, - 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, - 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xd7, - 0x01, 0x0a, 0x23, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, + 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, - 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, - 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x4c, 0xda, 0x41, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x2a, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, + 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, - 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xee, 0x02, 0x0a, 0x23, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, - 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, - 0x12, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, - 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, - 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0xbb, 0x01, 0xda, 0x41, - 0x2d, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x33, - 0x36, 0x30, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x84, 0x01, 0x3a, 0x21, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x76, - 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, - 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x32, 0x5f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x69, 0x64, 0x65, - 0x6f, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, - 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x98, 0x02, 0x0a, 0x28, 0x47, 0x65, - 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, - 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, - 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, - 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x22, 0x54, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, - 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x22, 0x54, - 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, 0x2f, + 0x2a, 0x7d, 0x12, 0xab, 0x02, 0x0a, 0x2a, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, - 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xab, 0x02, 0x0a, 0x2a, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, - 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, - 0x61, 0x6c, 0x73, 0x12, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, - 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, - 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, - 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0xda, 0x41, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, - 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, - 0x6c, 0x73, 0x12, 0xf8, 0x02, 0x0a, 0x2b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, - 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, - 0x61, 0x6c, 0x12, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x73, 0x12, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, + 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, - 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, + 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, + 0x12, 0xf8, 0x02, 0x0a, 0x2b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, + 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, + 0x12, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, - 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x22, 0xad, 0x01, - 0xda, 0x41, 0x31, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, + 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, + 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x22, 0xad, 0x01, 0xda, 0x41, + 0x31, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, + 0x69, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x61, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x73, 0x3a, 0x2a, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x70, - 0x6f, 0x73, 0x61, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x73, 0x3a, 0x2a, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x61, 0x64, - 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x72, - 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x22, 0x45, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, - 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, - 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, 0x12, 0xef, 0x01, - 0x0a, 0x2b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, - 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x52, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x73, 0x61, 0x6c, 0x22, 0x45, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, - 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x54, 0xda, 0x41, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x2a, 0x45, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, + 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, 0x12, 0xef, 0x01, 0x0a, 0x2b, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, - 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x12, - 0xb3, 0x02, 0x0a, 0x2c, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, - 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, - 0x12, 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, - 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, - 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, - 0x73, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x52, 0x3a, 0x01, 0x2a, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x52, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, + 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, + 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x54, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x2a, 0x45, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, - 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x70, - 0x70, 0x72, 0x6f, 0x76, 0x65, 0x12, 0xa1, 0x02, 0x0a, 0x2b, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, - 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, - 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, - 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb3, 0x02, + 0x0a, 0x2c, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x53, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, + 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x52, 0x3a, 0x01, 0x2a, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, + 0x2a, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, + 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, + 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x70, 0x70, 0x72, + 0x6f, 0x76, 0x65, 0x12, 0xa1, 0x02, 0x0a, 0x2b, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, + 0x73, 0x61, 0x6c, 0x12, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, - 0x22, 0x57, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, 0x01, 0x2a, 0x22, 0x4c, 0x2f, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, - 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, 0x2f, - 0x2a, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0xeb, 0x01, 0x0a, 0x15, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0x63, 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x6d, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x81, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, + 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x22, 0x57, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, 0x01, 0x2a, 0x22, 0x4c, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, + 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, + 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0xeb, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, + 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x22, 0x79, 0xda, 0x41, 0x1c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x6d, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, - 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x3a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, - 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x40, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x6d, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, - 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x14, - 0x4c, 0x69, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x40, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, - 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, - 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0xba, 0x01, 0x0a, 0x16, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x49, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3c, 0x3a, 0x01, 0x2a, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, - 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x2f, 0x2a, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xc0, - 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x22, 0x3e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, - 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, - 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x22, 0x5a, 0xda, 0x41, 0x14, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, - 0x3a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, - 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0xec, 0x01, - 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x22, 0x63, 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x43, 0x3a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x81, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x6d, 0xda, - 0x41, 0x19, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2c, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x4b, 0x3a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x32, 0x3a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc7, 0x01, 0x0a, - 0x11, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x79, + 0xda, 0x41, 0x1c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x3a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, + 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x40, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x14, 0x4c, 0x69, + 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0xb1, 0x01, 0x0a, 0x13, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x3a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x22, 0x46, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x39, 0x3a, 0x01, 0x2a, 0x22, 0x34, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, - 0x2a, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, - 0x2a, 0x7d, 0x3a, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xb4, 0x01, 0x0a, 0x0f, 0x47, - 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x36, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x22, 0x3b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, + 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, + 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0xda, + 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0xba, 0x01, 0x0a, 0x16, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x22, 0x49, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, + 0x3a, 0x01, 0x2a, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, - 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x2a, - 0x7d, 0x12, 0xd5, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, - 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, + 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xc0, 0x01, 0x0a, + 0x12, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, + 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x41, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, - 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, 0xac, 0x02, 0x0a, 0x1b, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x22, 0x91, 0x01, 0xda, 0x41, 0x23, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, - 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x65, 0x3a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x32, 0x4a, 0x2f, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x74, - 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, - 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, 0xcd, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x37, 0x2e, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0x3e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0xd9, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, + 0x5a, 0xda, 0x41, 0x14, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x0d, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x2c, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0xec, 0x01, 0x0a, 0x12, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x22, 0x54, 0xda, 0x41, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x3a, - 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x2a, 0x2f, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x37, 0x2e, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x6d, 0xda, 0x41, 0x19, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2c, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x3a, + 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x32, 0x3a, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc7, 0x01, 0x0a, 0x11, 0x4c, + 0x69, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x12, 0xb1, 0x01, 0x0a, 0x13, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x3a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x22, 0x46, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x3a, + 0x01, 0x2a, 0x22, 0x34, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, + 0x3a, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xb4, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x36, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, + 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x22, 0x3b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0xd5, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x39, - 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x2a, 0x2a, 0x2f, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x22, 0x41, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, + 0x2f, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, 0xac, 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x22, 0x91, 0x01, 0xda, 0x41, 0x23, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x74, + 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x65, 0x3a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x32, 0x4a, 0x2f, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, 0xcd, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x37, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x22, 0x54, 0xda, 0x41, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x3a, 0x0b, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x2a, 0x2f, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x37, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x39, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x2a, 0x2a, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x37, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x22, 0x65, 0xda, 0x41, 0x17, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x45, 0x3a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x32, 0x36, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbf, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0xda, + 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0xac, 0x01, 0x0a, 0x0d, 0x47, + 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x34, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x39, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x10, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x37, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x22, 0x65, 0xda, 0x41, 0x17, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x3a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x32, 0x36, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbf, 0x01, 0x0a, 0x0f, 0x4c, - 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x36, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3b, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, - 0x12, 0x2a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x0b, 0x47, 0x65, + 0x74, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, + 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, + 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x37, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0xb7, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, + 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x39, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, + 0x12, 0x28, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, - 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0xac, 0x01, 0x0a, - 0x0d, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x34, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x22, 0x39, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, - 0x2a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x0b, - 0x47, 0x65, 0x74, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x37, 0xda, 0x41, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, - 0x2a, 0x7d, 0x12, 0xb7, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x64, 0x69, 0x65, - 0x6e, 0x63, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x2f, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x0e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x35, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, - 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x39, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x4c, + 0xda, 0x41, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, + 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x3a, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, + 0x63, 0x65, 0x22, 0x28, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, - 0x2a, 0x7d, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xbf, 0x01, 0x0a, - 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x2a, 0x7d, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xcd, 0x01, 0x0a, + 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, - 0x22, 0x4c, 0xda, 0x41, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x75, 0x64, 0x69, - 0x65, 0x6e, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x3a, 0x08, 0x61, 0x75, 0x64, 0x69, - 0x65, 0x6e, 0x63, 0x65, 0x22, 0x28, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xcd, - 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x22, 0x5a, 0xda, 0x41, 0x14, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2c, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, + 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x32, 0x31, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x9e, 0x01, 0x0a, + 0x0f, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x3a, 0x01, 0x2a, 0x22, 0x30, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xc4, 0x01, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, + 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, + 0x69, 0x6e, 0x6b, 0x22, 0x3f, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd7, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x3c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, + 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, + 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xf5, + 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, + 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, - 0x63, 0x65, 0x22, 0x5a, 0xda, 0x41, 0x14, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2c, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3d, 0x3a, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x32, 0x31, 0x2f, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, - 0x2a, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x9e, - 0x01, 0x0a, 0x0f, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x3a, 0x01, 0x2a, 0x22, 0x30, 0x2f, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x65, - 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, - 0xc4, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, - 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x61, 0x72, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x6a, 0xda, 0x41, 0x1a, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x64, 0x73, + 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x3a, + 0x13, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x33, 0x36, 0x30, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, + 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xb0, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, + 0x6b, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, + 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3f, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x2a, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, + 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8f, 0x02, 0x0a, 0x16, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, + 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, - 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x3f, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, - 0x2a, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, - 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd7, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x73, - 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, - 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, - 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0xda, - 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x73, - 0x12, 0xf5, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x3d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, - 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x6a, 0xda, 0x41, - 0x1a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, - 0x64, 0x73, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x47, 0x3a, 0x13, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x33, 0x36, - 0x30, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, - 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xb0, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, - 0x69, 0x6e, 0x6b, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3f, 0xda, 0x41, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x2a, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x83, 0x01, 0xda, 0x41, 0x1f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x2c, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, + 0x3a, 0x13, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x33, 0x36, 0x30, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x32, 0x44, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, + 0x7b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x33, 0x36, 0x30, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, - 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8f, 0x02, 0x0a, 0x16, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, - 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcd, 0x01, 0x0a, 0x16, + 0x47, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, - 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x83, 0x01, 0xda, 0x41, 0x1f, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x5b, 0x3a, 0x13, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x33, - 0x36, 0x30, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x32, 0x44, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2f, 0x7b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x33, 0x36, - 0x30, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, - 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcd, 0x01, - 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x3f, 0xda, 0x41, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, 0x9b, 0x02, - 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x3f, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, 0x9b, 0x02, 0x0a, 0x19, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x22, 0x86, 0x01, 0xda, 0x41, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x3a, 0x14, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x32, 0x45, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, 0xf0, 0x01, 0x0a, 0x0f, 0x52, 0x75, + 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x22, 0x86, 0x01, 0xda, 0x41, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2c, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x3a, 0x14, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x32, 0x45, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, 0xf0, 0x01, 0x0a, 0x0f, - 0x52, 0x75, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, - 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x3a, 0x01, 0x2a, 0x5a, 0x31, 0x3a, 0x01, 0x2a, - 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, - 0x75, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x2e, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, - 0x75, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x9f, - 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, - 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x22, 0x9c, 0x01, 0xda, 0x41, 0x15, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x7e, 0x3a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x5a, 0x3f, 0x3a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x73, 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, - 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, - 0x12, 0xe7, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, + 0x75, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x6b, 0xda, - 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x5a, 0x2f, 0x12, 0x2d, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x2b, 0x2f, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, - 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb7, 0x02, 0x0a, 0x13, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0xb4, 0x01, - 0xda, 0x41, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9c, 0x01, 0x3a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5a, 0x4e, 0x3a, 0x0e, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x3c, 0x2f, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x32, 0x3a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x2f, 0x2a, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd6, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x3a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x22, 0x6b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x5a, - 0x2f, 0x2a, 0x2d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, - 0x2a, 0x2b, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xfa, 0x01, - 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x3a, 0x01, 0x2a, 0x5a, 0x31, 0x3a, 0x01, 0x2a, 0x22, 0x2c, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x75, 0x6e, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x2e, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3d, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x75, 0x6e, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x9f, 0x02, 0x0a, + 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0xda, 0x41, 0x06, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x5a, 0x2f, 0x12, 0x2d, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2b, 0x2f, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0xa5, 0x02, 0x0a, 0x19, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, + 0x9c, 0x01, 0xda, 0x41, 0x15, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7e, + 0x3a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x5a, 0x3f, 0x3a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x73, 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0xe7, + 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x6b, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x5a, 0x2f, 0x12, 0x2d, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x2b, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb7, 0x02, 0x0a, 0x13, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0xb4, 0x01, 0xda, 0x41, + 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x9c, 0x01, 0x3a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5a, 0x4e, 0x3a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x32, 0x3c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x32, 0x3a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, + 0x2a, 0x7d, 0x12, 0xd6, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x6b, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x5a, 0x2f, 0x2a, + 0x2d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2a, 0x2b, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xfa, 0x01, 0x0a, 0x12, + 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0xda, 0x41, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x5a, 0x2f, 0x12, 0x2d, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2b, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0xa5, 0x02, 0x0a, 0x19, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, + 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x7c, 0x3a, 0x01, 0x2a, 0x5a, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x12, 0x8f, 0x02, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7c, 0x3a, 0x01, 0x2a, 0x5a, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x12, 0x8f, 0x02, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3d, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x70, 0x5a, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x68, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x70, 0x5a, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x12, 0x34, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x47, + 0x65, 0x74, 0x12, 0xa5, 0x02, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7c, 0x3a, 0x01, + 0x2a, 0x5a, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x12, 0x34, + 0x64, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0xfa, 0x01, 0x0a, 0x19, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x22, 0x82, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7c, 0x3a, 0x01, 0x2a, 0x5a, 0x3e, + 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x47, 0x65, 0x74, 0x12, 0xa5, 0x02, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7c, - 0x3a, 0x01, 0x2a, 0x5a, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, - 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, - 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, - 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0xfa, 0x01, 0x0a, - 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x22, 0x82, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7c, 0x3a, 0x01, 0x2a, - 0x5a, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, - 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x22, 0x37, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xc0, 0x01, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, - 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xc0, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x45, + 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x39, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, + 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x22, 0x3e, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x14, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x65, 0x74, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x70, - 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x22, 0x3e, 0xda, 0x41, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, - 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd3, 0x01, 0x0a, - 0x14, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x65, 0x74, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, - 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x40, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, - 0x7d, 0x2f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, - 0x74, 0x73, 0x12, 0xed, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, - 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x3c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, + 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, + 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, + 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, + 0x12, 0xed, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, + 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x61, - 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x22, 0x65, 0xda, 0x41, 0x18, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x11, - 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, - 0x74, 0x22, 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, - 0x7d, 0x2f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, - 0x74, 0x73, 0x12, 0x84, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, - 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x3c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, + 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x22, 0x65, 0xda, 0x41, 0x18, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x11, 0x65, 0x78, + 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x22, + 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, + 0x12, 0x84, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, + 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x61, - 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x22, 0x7c, 0xda, 0x41, 0x1d, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, + 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x22, 0x7c, 0xda, 0x41, 0x1d, 0x65, 0x78, + 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x2c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x56, 0x3a, 0x11, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x73, 0x65, 0x74, 0x32, 0x41, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, - 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x56, 0x3a, 0x11, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x32, 0x41, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2f, 0x7b, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x73, 0x65, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x15, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, - 0x53, 0x65, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, - 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3e, 0xda, 0x41, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x2a, 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x0f, 0x47, 0x65, - 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x36, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, - 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x22, 0x3b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, - 0x12, 0xc7, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xda, 0x41, 0x06, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xd9, 0x01, 0x0a, 0x12, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, + 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x5a, 0xda, 0x41, 0x14, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xec, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x39, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x6d, 0xda, 0x41, 0x19, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x3a, 0x0d, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x32, 0x3a, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x39, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, - 0x3b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x2a, 0x2c, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xfe, 0x01, 0x0a, - 0x22, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, - 0x4f, 0x75, 0x74, 0x12, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x2a, 0x2f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x36, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4a, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x22, 0x3b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, + 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc7, + 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x4f, - 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3b, 0x3a, 0x01, 0x2a, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x3a, 0x73, 0x65, 0x74, 0x41, 0x75, - 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x12, 0x86, 0x02, - 0x0a, 0x24, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, - 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x12, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, - 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x01, 0x2a, 0x22, 0x38, 0x2f, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x3a, 0x66, 0x65, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, - 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x12, 0xb4, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x69, - 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x42, - 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, - 0x22, 0x3b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, - 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x69, 0x67, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc7, 0x01, - 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, - 0x6e, 0x6b, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x69, 0x67, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xfb, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x45, - 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x45, 0x2e, 0x67, 0x6f, 0x6f, + 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xda, 0x41, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xd9, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, + 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x45, - 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x55, - 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, - 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, 0xe5, 0x02, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x48, 0x2e, 0x67, 0x6f, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x5a, 0xda, 0x41, 0x14, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x12, 0xec, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, - 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x22, 0xb8, 0x01, 0xda, 0x41, 0x29, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, - 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, - 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x85, 0x01, 0x3a, 0x1d, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, - 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x32, 0x64, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2f, 0x7b, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x61, 0x73, - 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x22, 0x6d, 0xda, 0x41, 0x19, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x3a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x32, 0x3a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x7b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, - 0x2f, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, 0xce, 0x01, - 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, - 0x01, 0x2a, 0x22, 0x2a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0xa6, - 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x01, 0x2a, 0x22, 0x2a, 0x2f, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x3a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0xca, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, - 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x2f, 0x2a, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3b, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x2a, 0x2c, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xfe, 0x01, 0x0a, 0x22, 0x53, + 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, + 0x74, 0x12, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, - 0x74, 0x65, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x3a, 0x6c, - 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, - 0x54, 0x61, 0x67, 0x73, 0x12, 0xd7, 0x01, 0x0a, 0x19, 0x46, 0x65, 0x74, 0x63, 0x68, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x47, 0x61, 0x34, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x68, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, + 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, + 0x70, 0x74, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, + 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, + 0x3a, 0x01, 0x2a, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x3a, 0x73, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x12, 0x86, 0x02, 0x0a, 0x24, + 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, + 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, + 0x74, 0x4f, 0x75, 0x74, 0x12, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, - 0x2d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x3a, 0x66, 0x65, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0xb0, - 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, - 0x6b, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x68, 0x61, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x64, 0x47, 0x61, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4f, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x01, 0x2a, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x3a, + 0x66, 0x65, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x47, 0x61, + 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, + 0x74, 0x4f, 0x75, 0x74, 0x12, 0xb4, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x69, 0x67, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, - 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x3a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, - 0x2a, 0x2f, 0x61, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, - 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x53, 0x65, - 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x57, - 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x64, 0x73, 0x65, 0x6e, 0x73, - 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x0c, 0x61, 0x64, - 0x73, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x64, 0x53, 0x65, 0x6e, - 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xa1, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x38, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, - 0x3a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x2a, 0x2b, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x64, 0x53, 0x65, - 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc3, 0x01, 0x0a, 0x10, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, - 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x69, 0x67, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, - 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, - 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x3c, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, - 0x73, 0x12, 0xce, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x61, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x3b, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x69, 0x67, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc7, 0x01, 0x0a, 0x11, + 0x4c, 0x69, 0x73, 0x74, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, + 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, + 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xfb, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x68, + 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x68, + 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x55, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, + 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x7d, 0x12, 0xe5, 0x02, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, + 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x22, 0x4c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, + 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x22, 0xb8, 0x01, 0xda, 0x41, 0x29, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, + 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x85, 0x01, 0x3a, 0x1d, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, + 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x32, 0x64, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, + 0x7b, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, - 0x2a, 0x7d, 0x12, 0xe1, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xfb, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, 0xce, 0x01, 0x0a, 0x16, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, + 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x01, 0x2a, + 0x22, 0x2a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0xa6, 0x01, 0x0a, + 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x35, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x01, 0x2a, 0x22, 0x2a, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x3a, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, + 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0xca, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, + 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, + 0x74, 0x65, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, + 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x3a, 0x6c, 0x69, 0x73, + 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, + 0x67, 0x73, 0x12, 0xd7, 0x01, 0x0a, 0x19, 0x46, 0x65, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x47, 0x61, 0x34, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x61, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x47, 0x61, 0x34, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x47, 0x61, 0x34, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x3a, 0x66, 0x65, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x47, 0x61, 0x34, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0xb0, 0x01, 0x0a, + 0x0e, 0x47, 0x65, 0x74, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, + 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, + 0x69, 0x6e, 0x6b, 0x22, 0x3a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x61, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0xd3, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, + 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x53, + 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x57, 0xda, 0x41, + 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x64, 0x73, 0x65, 0x6e, 0x73, 0x65, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x0c, 0x61, 0x64, 0x73, 0x65, + 0x6e, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, + 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xa1, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x38, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3a, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x2a, 0x2b, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x64, 0x53, 0x65, 0x6e, 0x73, + 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc3, 0x01, 0x0a, 0x10, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x22, - 0x73, 0xda, 0x41, 0x18, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x52, 0x3a, 0x11, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, + 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x53, + 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3c, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x61, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, + 0xce, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x22, 0x4c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0xe1, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x12, 0x93, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, + 0x75, 0x6c, 0x65, 0x73, 0x12, 0xfb, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x8a, 0x01, - 0xda, 0x41, 0x1d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x72, 0x75, 0x6c, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x3a, 0x11, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x32, 0x4f, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x15, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x4c, 0xda, 0x41, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x2a, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x73, 0xda, + 0x41, 0x18, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, + 0x3a, 0x11, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, + 0x75, 0x6c, 0x65, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x12, 0x93, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x8a, 0x01, 0xda, 0x41, + 0x1d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x64, 0x3a, 0x11, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x32, 0x4f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x7b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xba, 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x4c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x2a, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, + 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xba, 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x22, 0x9f, 0x01, 0xda, 0x41, 0x23, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, - 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x73, 0x3a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x32, 0x58, 0x2f, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x64, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x6e, - 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, - 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x64, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, 0xe3, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, + 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x22, 0x9f, 0x01, 0xda, 0x41, 0x23, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x64, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2c, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x73, + 0x3a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x32, 0x58, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x4f, 0xda, 0x41, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, 0xc6, 0x01, 0x0a, 0x14, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, - 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x67, 0x73, 0x7d, 0x12, 0xe3, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x3a, 0x01, 0x2a, 0x22, 0x28, 0x2f, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x3a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x12, 0xe4, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x6c, - 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, - 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, - 0x6e, 0x6b, 0x22, 0x47, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3a, 0x12, 0x38, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x72, - 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf7, 0x01, 0x0a, 0x1d, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x44, 0x2e, + 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x4f, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, + 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x12, 0xc4, 0x01, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, + 0x3f, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0x86, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x3d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x7b, 0xda, 0x41, + 0x2d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2c, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x45, 0x3a, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0xd7, 0x01, 0x0a, 0x15, 0x4c, 0x69, + 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, - 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0xda, 0x41, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x6c, - 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xa6, 0x02, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x82, 0x01, 0xda, 0x41, 0x22, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, 0x1b, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xc8, - 0x01, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, - 0x6b, 0x12, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x22, 0x47, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x2a, - 0x38, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f, 0x6c, - 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x11, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, - 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x41, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x12, 0x88, 0x02, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x3d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, + 0x7d, 0xda, 0x41, 0x1d, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x32, 0x42, 0x2f, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb0, + 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, - 0x25, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x97, 0x02, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x22, 0x3f, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x2a, + 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x2a, + 0x7d, 0x12, 0xc6, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, + 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, - 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, - 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x22, 0x7a, 0xda, 0x41, 0x1f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, - 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x18, - 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, - 0x12, 0xdc, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x40, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x3a, 0x01, 0x2a, + 0x22, 0x28, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, + 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0xe4, 0x01, 0x0a, 0x1b, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x52, + 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x45, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x47, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, - 0xef, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, - 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, + 0x7d, 0x12, 0xf7, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, + 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, + 0x6e, 0x6b, 0x73, 0x12, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x73, 0x12, 0xb6, 0x02, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, + 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x49, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3a, 0x12, 0x38, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xa6, 0x02, 0x0a, 0x1e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x45, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, + 0x82, 0x01, 0xda, 0x41, 0x22, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, 0x6f, 0x6c, 0x6c, + 0x75, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, 0x1b, 0x72, + 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x6c, 0x75, + 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, + 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xc8, 0x01, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, - 0x98, 0x01, 0xda, 0x41, 0x24, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2c, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x3a, - 0x18, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x32, 0x4f, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x47, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x2a, 0x38, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x2f, 0x2a, 0x2f, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0xba, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x97, 0x02, 0x0a, + 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x43, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x7a, 0xda, 0x41, 0x1f, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x18, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x36, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, + 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0xdc, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, 0x75, + 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x45, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xef, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, + 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, + 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, + 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, + 0x36, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc2, 0x01, 0x0a, 0x1c, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x43, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x45, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x2a, 0x36, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x1a, - 0xfc, 0x01, 0xca, 0x41, 0x1d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0xd2, 0x41, 0xd8, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, - 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x65, 0x64, 0x69, 0x74, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x75, 0x74, 0x68, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2c, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x73, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0xb6, 0x02, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, + 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x98, 0x01, 0xda, 0x41, 0x24, 0x73, 0x75, 0x62, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x3a, 0x18, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x32, + 0x4f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0xc2, 0x01, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x45, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x2a, 0x36, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x1a, 0xfc, 0x01, 0xca, 0x41, 0x1d, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0xd8, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x7b, - 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x42, 0x13, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, - 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x70, 0x62, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x2e, 0x75, 0x73, 0x65, 0x72, + 0x73, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, + 0x68, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, + 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, + 0x68, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x72, 0x65, 0x61, 0x64, + 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x7b, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x13, 0x41, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, + 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x70, 0x62, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -13862,7 +14368,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescGZIP() []b return file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDescData } -var file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 169) +var file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 175) var file_google_analytics_admin_v1alpha_analytics_admin_proto_goTypes = []interface{}{ (*RunAccessReportRequest)(nil), // 0: google.analytics.admin.v1alpha.RunAccessReportRequest (*RunAccessReportResponse)(nil), // 1: google.analytics.admin.v1alpha.RunAccessReportResponse @@ -13948,524 +14454,545 @@ var file_google_analytics_admin_v1alpha_analytics_admin_proto_goTypes = []interf (*ListCustomMetricsResponse)(nil), // 81: google.analytics.admin.v1alpha.ListCustomMetricsResponse (*ArchiveCustomMetricRequest)(nil), // 82: google.analytics.admin.v1alpha.ArchiveCustomMetricRequest (*GetCustomMetricRequest)(nil), // 83: google.analytics.admin.v1alpha.GetCustomMetricRequest - (*GetDataRetentionSettingsRequest)(nil), // 84: google.analytics.admin.v1alpha.GetDataRetentionSettingsRequest - (*UpdateDataRetentionSettingsRequest)(nil), // 85: google.analytics.admin.v1alpha.UpdateDataRetentionSettingsRequest - (*CreateDataStreamRequest)(nil), // 86: google.analytics.admin.v1alpha.CreateDataStreamRequest - (*DeleteDataStreamRequest)(nil), // 87: google.analytics.admin.v1alpha.DeleteDataStreamRequest - (*UpdateDataStreamRequest)(nil), // 88: google.analytics.admin.v1alpha.UpdateDataStreamRequest - (*ListDataStreamsRequest)(nil), // 89: google.analytics.admin.v1alpha.ListDataStreamsRequest - (*ListDataStreamsResponse)(nil), // 90: google.analytics.admin.v1alpha.ListDataStreamsResponse - (*GetDataStreamRequest)(nil), // 91: google.analytics.admin.v1alpha.GetDataStreamRequest - (*GetAudienceRequest)(nil), // 92: google.analytics.admin.v1alpha.GetAudienceRequest - (*ListAudiencesRequest)(nil), // 93: google.analytics.admin.v1alpha.ListAudiencesRequest - (*ListAudiencesResponse)(nil), // 94: google.analytics.admin.v1alpha.ListAudiencesResponse - (*CreateAudienceRequest)(nil), // 95: google.analytics.admin.v1alpha.CreateAudienceRequest - (*UpdateAudienceRequest)(nil), // 96: google.analytics.admin.v1alpha.UpdateAudienceRequest - (*ArchiveAudienceRequest)(nil), // 97: google.analytics.admin.v1alpha.ArchiveAudienceRequest - (*GetAttributionSettingsRequest)(nil), // 98: google.analytics.admin.v1alpha.GetAttributionSettingsRequest - (*UpdateAttributionSettingsRequest)(nil), // 99: google.analytics.admin.v1alpha.UpdateAttributionSettingsRequest - (*GetAccessBindingRequest)(nil), // 100: google.analytics.admin.v1alpha.GetAccessBindingRequest - (*BatchGetAccessBindingsRequest)(nil), // 101: google.analytics.admin.v1alpha.BatchGetAccessBindingsRequest - (*BatchGetAccessBindingsResponse)(nil), // 102: google.analytics.admin.v1alpha.BatchGetAccessBindingsResponse - (*ListAccessBindingsRequest)(nil), // 103: google.analytics.admin.v1alpha.ListAccessBindingsRequest - (*ListAccessBindingsResponse)(nil), // 104: google.analytics.admin.v1alpha.ListAccessBindingsResponse - (*CreateAccessBindingRequest)(nil), // 105: google.analytics.admin.v1alpha.CreateAccessBindingRequest - (*BatchCreateAccessBindingsRequest)(nil), // 106: google.analytics.admin.v1alpha.BatchCreateAccessBindingsRequest - (*BatchCreateAccessBindingsResponse)(nil), // 107: google.analytics.admin.v1alpha.BatchCreateAccessBindingsResponse - (*UpdateAccessBindingRequest)(nil), // 108: google.analytics.admin.v1alpha.UpdateAccessBindingRequest - (*BatchUpdateAccessBindingsRequest)(nil), // 109: google.analytics.admin.v1alpha.BatchUpdateAccessBindingsRequest - (*BatchUpdateAccessBindingsResponse)(nil), // 110: google.analytics.admin.v1alpha.BatchUpdateAccessBindingsResponse - (*DeleteAccessBindingRequest)(nil), // 111: google.analytics.admin.v1alpha.DeleteAccessBindingRequest - (*BatchDeleteAccessBindingsRequest)(nil), // 112: google.analytics.admin.v1alpha.BatchDeleteAccessBindingsRequest - (*CreateExpandedDataSetRequest)(nil), // 113: google.analytics.admin.v1alpha.CreateExpandedDataSetRequest - (*UpdateExpandedDataSetRequest)(nil), // 114: google.analytics.admin.v1alpha.UpdateExpandedDataSetRequest - (*DeleteExpandedDataSetRequest)(nil), // 115: google.analytics.admin.v1alpha.DeleteExpandedDataSetRequest - (*GetExpandedDataSetRequest)(nil), // 116: google.analytics.admin.v1alpha.GetExpandedDataSetRequest - (*ListExpandedDataSetsRequest)(nil), // 117: google.analytics.admin.v1alpha.ListExpandedDataSetsRequest - (*ListExpandedDataSetsResponse)(nil), // 118: google.analytics.admin.v1alpha.ListExpandedDataSetsResponse - (*CreateChannelGroupRequest)(nil), // 119: google.analytics.admin.v1alpha.CreateChannelGroupRequest - (*UpdateChannelGroupRequest)(nil), // 120: google.analytics.admin.v1alpha.UpdateChannelGroupRequest - (*DeleteChannelGroupRequest)(nil), // 121: google.analytics.admin.v1alpha.DeleteChannelGroupRequest - (*GetChannelGroupRequest)(nil), // 122: google.analytics.admin.v1alpha.GetChannelGroupRequest - (*ListChannelGroupsRequest)(nil), // 123: google.analytics.admin.v1alpha.ListChannelGroupsRequest - (*ListChannelGroupsResponse)(nil), // 124: google.analytics.admin.v1alpha.ListChannelGroupsResponse - (*SetAutomatedGa4ConfigurationOptOutRequest)(nil), // 125: google.analytics.admin.v1alpha.SetAutomatedGa4ConfigurationOptOutRequest - (*SetAutomatedGa4ConfigurationOptOutResponse)(nil), // 126: google.analytics.admin.v1alpha.SetAutomatedGa4ConfigurationOptOutResponse - (*FetchAutomatedGa4ConfigurationOptOutRequest)(nil), // 127: google.analytics.admin.v1alpha.FetchAutomatedGa4ConfigurationOptOutRequest - (*FetchAutomatedGa4ConfigurationOptOutResponse)(nil), // 128: google.analytics.admin.v1alpha.FetchAutomatedGa4ConfigurationOptOutResponse - (*GetBigQueryLinkRequest)(nil), // 129: google.analytics.admin.v1alpha.GetBigQueryLinkRequest - (*ListBigQueryLinksRequest)(nil), // 130: google.analytics.admin.v1alpha.ListBigQueryLinksRequest - (*ListBigQueryLinksResponse)(nil), // 131: google.analytics.admin.v1alpha.ListBigQueryLinksResponse - (*GetEnhancedMeasurementSettingsRequest)(nil), // 132: google.analytics.admin.v1alpha.GetEnhancedMeasurementSettingsRequest - (*UpdateEnhancedMeasurementSettingsRequest)(nil), // 133: google.analytics.admin.v1alpha.UpdateEnhancedMeasurementSettingsRequest - (*GetDataRedactionSettingsRequest)(nil), // 134: google.analytics.admin.v1alpha.GetDataRedactionSettingsRequest - (*UpdateDataRedactionSettingsRequest)(nil), // 135: google.analytics.admin.v1alpha.UpdateDataRedactionSettingsRequest - (*CreateConnectedSiteTagRequest)(nil), // 136: google.analytics.admin.v1alpha.CreateConnectedSiteTagRequest - (*CreateConnectedSiteTagResponse)(nil), // 137: google.analytics.admin.v1alpha.CreateConnectedSiteTagResponse - (*DeleteConnectedSiteTagRequest)(nil), // 138: google.analytics.admin.v1alpha.DeleteConnectedSiteTagRequest - (*ListConnectedSiteTagsRequest)(nil), // 139: google.analytics.admin.v1alpha.ListConnectedSiteTagsRequest - (*ListConnectedSiteTagsResponse)(nil), // 140: google.analytics.admin.v1alpha.ListConnectedSiteTagsResponse - (*CreateAdSenseLinkRequest)(nil), // 141: google.analytics.admin.v1alpha.CreateAdSenseLinkRequest - (*GetAdSenseLinkRequest)(nil), // 142: google.analytics.admin.v1alpha.GetAdSenseLinkRequest - (*DeleteAdSenseLinkRequest)(nil), // 143: google.analytics.admin.v1alpha.DeleteAdSenseLinkRequest - (*ListAdSenseLinksRequest)(nil), // 144: google.analytics.admin.v1alpha.ListAdSenseLinksRequest - (*ListAdSenseLinksResponse)(nil), // 145: google.analytics.admin.v1alpha.ListAdSenseLinksResponse - (*FetchConnectedGa4PropertyRequest)(nil), // 146: google.analytics.admin.v1alpha.FetchConnectedGa4PropertyRequest - (*FetchConnectedGa4PropertyResponse)(nil), // 147: google.analytics.admin.v1alpha.FetchConnectedGa4PropertyResponse - (*CreateEventCreateRuleRequest)(nil), // 148: google.analytics.admin.v1alpha.CreateEventCreateRuleRequest - (*UpdateEventCreateRuleRequest)(nil), // 149: google.analytics.admin.v1alpha.UpdateEventCreateRuleRequest - (*DeleteEventCreateRuleRequest)(nil), // 150: google.analytics.admin.v1alpha.DeleteEventCreateRuleRequest - (*GetEventCreateRuleRequest)(nil), // 151: google.analytics.admin.v1alpha.GetEventCreateRuleRequest - (*ListEventCreateRulesRequest)(nil), // 152: google.analytics.admin.v1alpha.ListEventCreateRulesRequest - (*ListEventCreateRulesResponse)(nil), // 153: google.analytics.admin.v1alpha.ListEventCreateRulesResponse - (*CreateRollupPropertyRequest)(nil), // 154: google.analytics.admin.v1alpha.CreateRollupPropertyRequest - (*CreateRollupPropertyResponse)(nil), // 155: google.analytics.admin.v1alpha.CreateRollupPropertyResponse - (*GetRollupPropertySourceLinkRequest)(nil), // 156: google.analytics.admin.v1alpha.GetRollupPropertySourceLinkRequest - (*ListRollupPropertySourceLinksRequest)(nil), // 157: google.analytics.admin.v1alpha.ListRollupPropertySourceLinksRequest - (*ListRollupPropertySourceLinksResponse)(nil), // 158: google.analytics.admin.v1alpha.ListRollupPropertySourceLinksResponse - (*CreateRollupPropertySourceLinkRequest)(nil), // 159: google.analytics.admin.v1alpha.CreateRollupPropertySourceLinkRequest - (*DeleteRollupPropertySourceLinkRequest)(nil), // 160: google.analytics.admin.v1alpha.DeleteRollupPropertySourceLinkRequest - (*CreateSubpropertyRequest)(nil), // 161: google.analytics.admin.v1alpha.CreateSubpropertyRequest - (*CreateSubpropertyResponse)(nil), // 162: google.analytics.admin.v1alpha.CreateSubpropertyResponse - (*CreateSubpropertyEventFilterRequest)(nil), // 163: google.analytics.admin.v1alpha.CreateSubpropertyEventFilterRequest - (*GetSubpropertyEventFilterRequest)(nil), // 164: google.analytics.admin.v1alpha.GetSubpropertyEventFilterRequest - (*ListSubpropertyEventFiltersRequest)(nil), // 165: google.analytics.admin.v1alpha.ListSubpropertyEventFiltersRequest - (*ListSubpropertyEventFiltersResponse)(nil), // 166: google.analytics.admin.v1alpha.ListSubpropertyEventFiltersResponse - (*UpdateSubpropertyEventFilterRequest)(nil), // 167: google.analytics.admin.v1alpha.UpdateSubpropertyEventFilterRequest - (*DeleteSubpropertyEventFilterRequest)(nil), // 168: google.analytics.admin.v1alpha.DeleteSubpropertyEventFilterRequest - (*AccessDimension)(nil), // 169: google.analytics.admin.v1alpha.AccessDimension - (*AccessMetric)(nil), // 170: google.analytics.admin.v1alpha.AccessMetric - (*AccessDateRange)(nil), // 171: google.analytics.admin.v1alpha.AccessDateRange - (*AccessFilterExpression)(nil), // 172: google.analytics.admin.v1alpha.AccessFilterExpression - (*AccessOrderBy)(nil), // 173: google.analytics.admin.v1alpha.AccessOrderBy - (*AccessDimensionHeader)(nil), // 174: google.analytics.admin.v1alpha.AccessDimensionHeader - (*AccessMetricHeader)(nil), // 175: google.analytics.admin.v1alpha.AccessMetricHeader - (*AccessRow)(nil), // 176: google.analytics.admin.v1alpha.AccessRow - (*AccessQuota)(nil), // 177: google.analytics.admin.v1alpha.AccessQuota - (*Account)(nil), // 178: google.analytics.admin.v1alpha.Account - (*fieldmaskpb.FieldMask)(nil), // 179: google.protobuf.FieldMask - (*Property)(nil), // 180: google.analytics.admin.v1alpha.Property - (*FirebaseLink)(nil), // 181: google.analytics.admin.v1alpha.FirebaseLink - (*GoogleAdsLink)(nil), // 182: google.analytics.admin.v1alpha.GoogleAdsLink - (*AccountSummary)(nil), // 183: google.analytics.admin.v1alpha.AccountSummary - (ChangeHistoryResourceType)(0), // 184: google.analytics.admin.v1alpha.ChangeHistoryResourceType - (ActionType)(0), // 185: google.analytics.admin.v1alpha.ActionType - (*timestamppb.Timestamp)(nil), // 186: google.protobuf.Timestamp - (*ChangeHistoryEvent)(nil), // 187: google.analytics.admin.v1alpha.ChangeHistoryEvent - (*MeasurementProtocolSecret)(nil), // 188: google.analytics.admin.v1alpha.MeasurementProtocolSecret - (*SKAdNetworkConversionValueSchema)(nil), // 189: google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema - (*GoogleSignalsSettings)(nil), // 190: google.analytics.admin.v1alpha.GoogleSignalsSettings - (*ConversionEvent)(nil), // 191: google.analytics.admin.v1alpha.ConversionEvent - (*DisplayVideo360AdvertiserLink)(nil), // 192: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink - (*DisplayVideo360AdvertiserLinkProposal)(nil), // 193: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal - (*SearchAds360Link)(nil), // 194: google.analytics.admin.v1alpha.SearchAds360Link - (*CustomDimension)(nil), // 195: google.analytics.admin.v1alpha.CustomDimension - (*CustomMetric)(nil), // 196: google.analytics.admin.v1alpha.CustomMetric - (*DataRetentionSettings)(nil), // 197: google.analytics.admin.v1alpha.DataRetentionSettings - (*DataStream)(nil), // 198: google.analytics.admin.v1alpha.DataStream - (*Audience)(nil), // 199: google.analytics.admin.v1alpha.Audience - (*AttributionSettings)(nil), // 200: google.analytics.admin.v1alpha.AttributionSettings - (*AccessBinding)(nil), // 201: google.analytics.admin.v1alpha.AccessBinding - (*ExpandedDataSet)(nil), // 202: google.analytics.admin.v1alpha.ExpandedDataSet - (*ChannelGroup)(nil), // 203: google.analytics.admin.v1alpha.ChannelGroup - (*BigQueryLink)(nil), // 204: google.analytics.admin.v1alpha.BigQueryLink - (*EnhancedMeasurementSettings)(nil), // 205: google.analytics.admin.v1alpha.EnhancedMeasurementSettings - (*DataRedactionSettings)(nil), // 206: google.analytics.admin.v1alpha.DataRedactionSettings - (*ConnectedSiteTag)(nil), // 207: google.analytics.admin.v1alpha.ConnectedSiteTag - (*AdSenseLink)(nil), // 208: google.analytics.admin.v1alpha.AdSenseLink - (*EventCreateRule)(nil), // 209: google.analytics.admin.v1alpha.EventCreateRule - (*RollupPropertySourceLink)(nil), // 210: google.analytics.admin.v1alpha.RollupPropertySourceLink - (*SubpropertyEventFilter)(nil), // 211: google.analytics.admin.v1alpha.SubpropertyEventFilter - (*emptypb.Empty)(nil), // 212: google.protobuf.Empty - (*GlobalSiteTag)(nil), // 213: google.analytics.admin.v1alpha.GlobalSiteTag - (*DataSharingSettings)(nil), // 214: google.analytics.admin.v1alpha.DataSharingSettings + (*CreateCalculatedMetricRequest)(nil), // 84: google.analytics.admin.v1alpha.CreateCalculatedMetricRequest + (*UpdateCalculatedMetricRequest)(nil), // 85: google.analytics.admin.v1alpha.UpdateCalculatedMetricRequest + (*DeleteCalculatedMetricRequest)(nil), // 86: google.analytics.admin.v1alpha.DeleteCalculatedMetricRequest + (*ListCalculatedMetricsRequest)(nil), // 87: google.analytics.admin.v1alpha.ListCalculatedMetricsRequest + (*ListCalculatedMetricsResponse)(nil), // 88: google.analytics.admin.v1alpha.ListCalculatedMetricsResponse + (*GetCalculatedMetricRequest)(nil), // 89: google.analytics.admin.v1alpha.GetCalculatedMetricRequest + (*GetDataRetentionSettingsRequest)(nil), // 90: google.analytics.admin.v1alpha.GetDataRetentionSettingsRequest + (*UpdateDataRetentionSettingsRequest)(nil), // 91: google.analytics.admin.v1alpha.UpdateDataRetentionSettingsRequest + (*CreateDataStreamRequest)(nil), // 92: google.analytics.admin.v1alpha.CreateDataStreamRequest + (*DeleteDataStreamRequest)(nil), // 93: google.analytics.admin.v1alpha.DeleteDataStreamRequest + (*UpdateDataStreamRequest)(nil), // 94: google.analytics.admin.v1alpha.UpdateDataStreamRequest + (*ListDataStreamsRequest)(nil), // 95: google.analytics.admin.v1alpha.ListDataStreamsRequest + (*ListDataStreamsResponse)(nil), // 96: google.analytics.admin.v1alpha.ListDataStreamsResponse + (*GetDataStreamRequest)(nil), // 97: google.analytics.admin.v1alpha.GetDataStreamRequest + (*GetAudienceRequest)(nil), // 98: google.analytics.admin.v1alpha.GetAudienceRequest + (*ListAudiencesRequest)(nil), // 99: google.analytics.admin.v1alpha.ListAudiencesRequest + (*ListAudiencesResponse)(nil), // 100: google.analytics.admin.v1alpha.ListAudiencesResponse + (*CreateAudienceRequest)(nil), // 101: google.analytics.admin.v1alpha.CreateAudienceRequest + (*UpdateAudienceRequest)(nil), // 102: google.analytics.admin.v1alpha.UpdateAudienceRequest + (*ArchiveAudienceRequest)(nil), // 103: google.analytics.admin.v1alpha.ArchiveAudienceRequest + (*GetAttributionSettingsRequest)(nil), // 104: google.analytics.admin.v1alpha.GetAttributionSettingsRequest + (*UpdateAttributionSettingsRequest)(nil), // 105: google.analytics.admin.v1alpha.UpdateAttributionSettingsRequest + (*GetAccessBindingRequest)(nil), // 106: google.analytics.admin.v1alpha.GetAccessBindingRequest + (*BatchGetAccessBindingsRequest)(nil), // 107: google.analytics.admin.v1alpha.BatchGetAccessBindingsRequest + (*BatchGetAccessBindingsResponse)(nil), // 108: google.analytics.admin.v1alpha.BatchGetAccessBindingsResponse + (*ListAccessBindingsRequest)(nil), // 109: google.analytics.admin.v1alpha.ListAccessBindingsRequest + (*ListAccessBindingsResponse)(nil), // 110: google.analytics.admin.v1alpha.ListAccessBindingsResponse + (*CreateAccessBindingRequest)(nil), // 111: google.analytics.admin.v1alpha.CreateAccessBindingRequest + (*BatchCreateAccessBindingsRequest)(nil), // 112: google.analytics.admin.v1alpha.BatchCreateAccessBindingsRequest + (*BatchCreateAccessBindingsResponse)(nil), // 113: google.analytics.admin.v1alpha.BatchCreateAccessBindingsResponse + (*UpdateAccessBindingRequest)(nil), // 114: google.analytics.admin.v1alpha.UpdateAccessBindingRequest + (*BatchUpdateAccessBindingsRequest)(nil), // 115: google.analytics.admin.v1alpha.BatchUpdateAccessBindingsRequest + (*BatchUpdateAccessBindingsResponse)(nil), // 116: google.analytics.admin.v1alpha.BatchUpdateAccessBindingsResponse + (*DeleteAccessBindingRequest)(nil), // 117: google.analytics.admin.v1alpha.DeleteAccessBindingRequest + (*BatchDeleteAccessBindingsRequest)(nil), // 118: google.analytics.admin.v1alpha.BatchDeleteAccessBindingsRequest + (*CreateExpandedDataSetRequest)(nil), // 119: google.analytics.admin.v1alpha.CreateExpandedDataSetRequest + (*UpdateExpandedDataSetRequest)(nil), // 120: google.analytics.admin.v1alpha.UpdateExpandedDataSetRequest + (*DeleteExpandedDataSetRequest)(nil), // 121: google.analytics.admin.v1alpha.DeleteExpandedDataSetRequest + (*GetExpandedDataSetRequest)(nil), // 122: google.analytics.admin.v1alpha.GetExpandedDataSetRequest + (*ListExpandedDataSetsRequest)(nil), // 123: google.analytics.admin.v1alpha.ListExpandedDataSetsRequest + (*ListExpandedDataSetsResponse)(nil), // 124: google.analytics.admin.v1alpha.ListExpandedDataSetsResponse + (*CreateChannelGroupRequest)(nil), // 125: google.analytics.admin.v1alpha.CreateChannelGroupRequest + (*UpdateChannelGroupRequest)(nil), // 126: google.analytics.admin.v1alpha.UpdateChannelGroupRequest + (*DeleteChannelGroupRequest)(nil), // 127: google.analytics.admin.v1alpha.DeleteChannelGroupRequest + (*GetChannelGroupRequest)(nil), // 128: google.analytics.admin.v1alpha.GetChannelGroupRequest + (*ListChannelGroupsRequest)(nil), // 129: google.analytics.admin.v1alpha.ListChannelGroupsRequest + (*ListChannelGroupsResponse)(nil), // 130: google.analytics.admin.v1alpha.ListChannelGroupsResponse + (*SetAutomatedGa4ConfigurationOptOutRequest)(nil), // 131: google.analytics.admin.v1alpha.SetAutomatedGa4ConfigurationOptOutRequest + (*SetAutomatedGa4ConfigurationOptOutResponse)(nil), // 132: google.analytics.admin.v1alpha.SetAutomatedGa4ConfigurationOptOutResponse + (*FetchAutomatedGa4ConfigurationOptOutRequest)(nil), // 133: google.analytics.admin.v1alpha.FetchAutomatedGa4ConfigurationOptOutRequest + (*FetchAutomatedGa4ConfigurationOptOutResponse)(nil), // 134: google.analytics.admin.v1alpha.FetchAutomatedGa4ConfigurationOptOutResponse + (*GetBigQueryLinkRequest)(nil), // 135: google.analytics.admin.v1alpha.GetBigQueryLinkRequest + (*ListBigQueryLinksRequest)(nil), // 136: google.analytics.admin.v1alpha.ListBigQueryLinksRequest + (*ListBigQueryLinksResponse)(nil), // 137: google.analytics.admin.v1alpha.ListBigQueryLinksResponse + (*GetEnhancedMeasurementSettingsRequest)(nil), // 138: google.analytics.admin.v1alpha.GetEnhancedMeasurementSettingsRequest + (*UpdateEnhancedMeasurementSettingsRequest)(nil), // 139: google.analytics.admin.v1alpha.UpdateEnhancedMeasurementSettingsRequest + (*GetDataRedactionSettingsRequest)(nil), // 140: google.analytics.admin.v1alpha.GetDataRedactionSettingsRequest + (*UpdateDataRedactionSettingsRequest)(nil), // 141: google.analytics.admin.v1alpha.UpdateDataRedactionSettingsRequest + (*CreateConnectedSiteTagRequest)(nil), // 142: google.analytics.admin.v1alpha.CreateConnectedSiteTagRequest + (*CreateConnectedSiteTagResponse)(nil), // 143: google.analytics.admin.v1alpha.CreateConnectedSiteTagResponse + (*DeleteConnectedSiteTagRequest)(nil), // 144: google.analytics.admin.v1alpha.DeleteConnectedSiteTagRequest + (*ListConnectedSiteTagsRequest)(nil), // 145: google.analytics.admin.v1alpha.ListConnectedSiteTagsRequest + (*ListConnectedSiteTagsResponse)(nil), // 146: google.analytics.admin.v1alpha.ListConnectedSiteTagsResponse + (*CreateAdSenseLinkRequest)(nil), // 147: google.analytics.admin.v1alpha.CreateAdSenseLinkRequest + (*GetAdSenseLinkRequest)(nil), // 148: google.analytics.admin.v1alpha.GetAdSenseLinkRequest + (*DeleteAdSenseLinkRequest)(nil), // 149: google.analytics.admin.v1alpha.DeleteAdSenseLinkRequest + (*ListAdSenseLinksRequest)(nil), // 150: google.analytics.admin.v1alpha.ListAdSenseLinksRequest + (*ListAdSenseLinksResponse)(nil), // 151: google.analytics.admin.v1alpha.ListAdSenseLinksResponse + (*FetchConnectedGa4PropertyRequest)(nil), // 152: google.analytics.admin.v1alpha.FetchConnectedGa4PropertyRequest + (*FetchConnectedGa4PropertyResponse)(nil), // 153: google.analytics.admin.v1alpha.FetchConnectedGa4PropertyResponse + (*CreateEventCreateRuleRequest)(nil), // 154: google.analytics.admin.v1alpha.CreateEventCreateRuleRequest + (*UpdateEventCreateRuleRequest)(nil), // 155: google.analytics.admin.v1alpha.UpdateEventCreateRuleRequest + (*DeleteEventCreateRuleRequest)(nil), // 156: google.analytics.admin.v1alpha.DeleteEventCreateRuleRequest + (*GetEventCreateRuleRequest)(nil), // 157: google.analytics.admin.v1alpha.GetEventCreateRuleRequest + (*ListEventCreateRulesRequest)(nil), // 158: google.analytics.admin.v1alpha.ListEventCreateRulesRequest + (*ListEventCreateRulesResponse)(nil), // 159: google.analytics.admin.v1alpha.ListEventCreateRulesResponse + (*CreateRollupPropertyRequest)(nil), // 160: google.analytics.admin.v1alpha.CreateRollupPropertyRequest + (*CreateRollupPropertyResponse)(nil), // 161: google.analytics.admin.v1alpha.CreateRollupPropertyResponse + (*GetRollupPropertySourceLinkRequest)(nil), // 162: google.analytics.admin.v1alpha.GetRollupPropertySourceLinkRequest + (*ListRollupPropertySourceLinksRequest)(nil), // 163: google.analytics.admin.v1alpha.ListRollupPropertySourceLinksRequest + (*ListRollupPropertySourceLinksResponse)(nil), // 164: google.analytics.admin.v1alpha.ListRollupPropertySourceLinksResponse + (*CreateRollupPropertySourceLinkRequest)(nil), // 165: google.analytics.admin.v1alpha.CreateRollupPropertySourceLinkRequest + (*DeleteRollupPropertySourceLinkRequest)(nil), // 166: google.analytics.admin.v1alpha.DeleteRollupPropertySourceLinkRequest + (*CreateSubpropertyRequest)(nil), // 167: google.analytics.admin.v1alpha.CreateSubpropertyRequest + (*CreateSubpropertyResponse)(nil), // 168: google.analytics.admin.v1alpha.CreateSubpropertyResponse + (*CreateSubpropertyEventFilterRequest)(nil), // 169: google.analytics.admin.v1alpha.CreateSubpropertyEventFilterRequest + (*GetSubpropertyEventFilterRequest)(nil), // 170: google.analytics.admin.v1alpha.GetSubpropertyEventFilterRequest + (*ListSubpropertyEventFiltersRequest)(nil), // 171: google.analytics.admin.v1alpha.ListSubpropertyEventFiltersRequest + (*ListSubpropertyEventFiltersResponse)(nil), // 172: google.analytics.admin.v1alpha.ListSubpropertyEventFiltersResponse + (*UpdateSubpropertyEventFilterRequest)(nil), // 173: google.analytics.admin.v1alpha.UpdateSubpropertyEventFilterRequest + (*DeleteSubpropertyEventFilterRequest)(nil), // 174: google.analytics.admin.v1alpha.DeleteSubpropertyEventFilterRequest + (*AccessDimension)(nil), // 175: google.analytics.admin.v1alpha.AccessDimension + (*AccessMetric)(nil), // 176: google.analytics.admin.v1alpha.AccessMetric + (*AccessDateRange)(nil), // 177: google.analytics.admin.v1alpha.AccessDateRange + (*AccessFilterExpression)(nil), // 178: google.analytics.admin.v1alpha.AccessFilterExpression + (*AccessOrderBy)(nil), // 179: google.analytics.admin.v1alpha.AccessOrderBy + (*AccessDimensionHeader)(nil), // 180: google.analytics.admin.v1alpha.AccessDimensionHeader + (*AccessMetricHeader)(nil), // 181: google.analytics.admin.v1alpha.AccessMetricHeader + (*AccessRow)(nil), // 182: google.analytics.admin.v1alpha.AccessRow + (*AccessQuota)(nil), // 183: google.analytics.admin.v1alpha.AccessQuota + (*Account)(nil), // 184: google.analytics.admin.v1alpha.Account + (*fieldmaskpb.FieldMask)(nil), // 185: google.protobuf.FieldMask + (*Property)(nil), // 186: google.analytics.admin.v1alpha.Property + (*FirebaseLink)(nil), // 187: google.analytics.admin.v1alpha.FirebaseLink + (*GoogleAdsLink)(nil), // 188: google.analytics.admin.v1alpha.GoogleAdsLink + (*AccountSummary)(nil), // 189: google.analytics.admin.v1alpha.AccountSummary + (ChangeHistoryResourceType)(0), // 190: google.analytics.admin.v1alpha.ChangeHistoryResourceType + (ActionType)(0), // 191: google.analytics.admin.v1alpha.ActionType + (*timestamppb.Timestamp)(nil), // 192: google.protobuf.Timestamp + (*ChangeHistoryEvent)(nil), // 193: google.analytics.admin.v1alpha.ChangeHistoryEvent + (*MeasurementProtocolSecret)(nil), // 194: google.analytics.admin.v1alpha.MeasurementProtocolSecret + (*SKAdNetworkConversionValueSchema)(nil), // 195: google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema + (*GoogleSignalsSettings)(nil), // 196: google.analytics.admin.v1alpha.GoogleSignalsSettings + (*ConversionEvent)(nil), // 197: google.analytics.admin.v1alpha.ConversionEvent + (*DisplayVideo360AdvertiserLink)(nil), // 198: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink + (*DisplayVideo360AdvertiserLinkProposal)(nil), // 199: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal + (*SearchAds360Link)(nil), // 200: google.analytics.admin.v1alpha.SearchAds360Link + (*CustomDimension)(nil), // 201: google.analytics.admin.v1alpha.CustomDimension + (*CustomMetric)(nil), // 202: google.analytics.admin.v1alpha.CustomMetric + (*CalculatedMetric)(nil), // 203: google.analytics.admin.v1alpha.CalculatedMetric + (*DataRetentionSettings)(nil), // 204: google.analytics.admin.v1alpha.DataRetentionSettings + (*DataStream)(nil), // 205: google.analytics.admin.v1alpha.DataStream + (*Audience)(nil), // 206: google.analytics.admin.v1alpha.Audience + (*AttributionSettings)(nil), // 207: google.analytics.admin.v1alpha.AttributionSettings + (*AccessBinding)(nil), // 208: google.analytics.admin.v1alpha.AccessBinding + (*ExpandedDataSet)(nil), // 209: google.analytics.admin.v1alpha.ExpandedDataSet + (*ChannelGroup)(nil), // 210: google.analytics.admin.v1alpha.ChannelGroup + (*BigQueryLink)(nil), // 211: google.analytics.admin.v1alpha.BigQueryLink + (*EnhancedMeasurementSettings)(nil), // 212: google.analytics.admin.v1alpha.EnhancedMeasurementSettings + (*DataRedactionSettings)(nil), // 213: google.analytics.admin.v1alpha.DataRedactionSettings + (*ConnectedSiteTag)(nil), // 214: google.analytics.admin.v1alpha.ConnectedSiteTag + (*AdSenseLink)(nil), // 215: google.analytics.admin.v1alpha.AdSenseLink + (*EventCreateRule)(nil), // 216: google.analytics.admin.v1alpha.EventCreateRule + (*RollupPropertySourceLink)(nil), // 217: google.analytics.admin.v1alpha.RollupPropertySourceLink + (*SubpropertyEventFilter)(nil), // 218: google.analytics.admin.v1alpha.SubpropertyEventFilter + (*emptypb.Empty)(nil), // 219: google.protobuf.Empty + (*GlobalSiteTag)(nil), // 220: google.analytics.admin.v1alpha.GlobalSiteTag + (*DataSharingSettings)(nil), // 221: google.analytics.admin.v1alpha.DataSharingSettings } var file_google_analytics_admin_v1alpha_analytics_admin_proto_depIdxs = []int32{ - 169, // 0: google.analytics.admin.v1alpha.RunAccessReportRequest.dimensions:type_name -> google.analytics.admin.v1alpha.AccessDimension - 170, // 1: google.analytics.admin.v1alpha.RunAccessReportRequest.metrics:type_name -> google.analytics.admin.v1alpha.AccessMetric - 171, // 2: google.analytics.admin.v1alpha.RunAccessReportRequest.date_ranges:type_name -> google.analytics.admin.v1alpha.AccessDateRange - 172, // 3: google.analytics.admin.v1alpha.RunAccessReportRequest.dimension_filter:type_name -> google.analytics.admin.v1alpha.AccessFilterExpression - 172, // 4: google.analytics.admin.v1alpha.RunAccessReportRequest.metric_filter:type_name -> google.analytics.admin.v1alpha.AccessFilterExpression - 173, // 5: google.analytics.admin.v1alpha.RunAccessReportRequest.order_bys:type_name -> google.analytics.admin.v1alpha.AccessOrderBy - 174, // 6: google.analytics.admin.v1alpha.RunAccessReportResponse.dimension_headers:type_name -> google.analytics.admin.v1alpha.AccessDimensionHeader - 175, // 7: google.analytics.admin.v1alpha.RunAccessReportResponse.metric_headers:type_name -> google.analytics.admin.v1alpha.AccessMetricHeader - 176, // 8: google.analytics.admin.v1alpha.RunAccessReportResponse.rows:type_name -> google.analytics.admin.v1alpha.AccessRow - 177, // 9: google.analytics.admin.v1alpha.RunAccessReportResponse.quota:type_name -> google.analytics.admin.v1alpha.AccessQuota - 178, // 10: google.analytics.admin.v1alpha.ListAccountsResponse.accounts:type_name -> google.analytics.admin.v1alpha.Account - 178, // 11: google.analytics.admin.v1alpha.UpdateAccountRequest.account:type_name -> google.analytics.admin.v1alpha.Account - 179, // 12: google.analytics.admin.v1alpha.UpdateAccountRequest.update_mask:type_name -> google.protobuf.FieldMask - 178, // 13: google.analytics.admin.v1alpha.ProvisionAccountTicketRequest.account:type_name -> google.analytics.admin.v1alpha.Account - 180, // 14: google.analytics.admin.v1alpha.ListPropertiesResponse.properties:type_name -> google.analytics.admin.v1alpha.Property - 180, // 15: google.analytics.admin.v1alpha.UpdatePropertyRequest.property:type_name -> google.analytics.admin.v1alpha.Property - 179, // 16: google.analytics.admin.v1alpha.UpdatePropertyRequest.update_mask:type_name -> google.protobuf.FieldMask - 180, // 17: google.analytics.admin.v1alpha.CreatePropertyRequest.property:type_name -> google.analytics.admin.v1alpha.Property - 181, // 18: google.analytics.admin.v1alpha.CreateFirebaseLinkRequest.firebase_link:type_name -> google.analytics.admin.v1alpha.FirebaseLink - 181, // 19: google.analytics.admin.v1alpha.ListFirebaseLinksResponse.firebase_links:type_name -> google.analytics.admin.v1alpha.FirebaseLink - 182, // 20: google.analytics.admin.v1alpha.CreateGoogleAdsLinkRequest.google_ads_link:type_name -> google.analytics.admin.v1alpha.GoogleAdsLink - 182, // 21: google.analytics.admin.v1alpha.UpdateGoogleAdsLinkRequest.google_ads_link:type_name -> google.analytics.admin.v1alpha.GoogleAdsLink - 179, // 22: google.analytics.admin.v1alpha.UpdateGoogleAdsLinkRequest.update_mask:type_name -> google.protobuf.FieldMask - 182, // 23: google.analytics.admin.v1alpha.ListGoogleAdsLinksResponse.google_ads_links:type_name -> google.analytics.admin.v1alpha.GoogleAdsLink - 183, // 24: google.analytics.admin.v1alpha.ListAccountSummariesResponse.account_summaries:type_name -> google.analytics.admin.v1alpha.AccountSummary - 184, // 25: google.analytics.admin.v1alpha.SearchChangeHistoryEventsRequest.resource_type:type_name -> google.analytics.admin.v1alpha.ChangeHistoryResourceType - 185, // 26: google.analytics.admin.v1alpha.SearchChangeHistoryEventsRequest.action:type_name -> google.analytics.admin.v1alpha.ActionType - 186, // 27: google.analytics.admin.v1alpha.SearchChangeHistoryEventsRequest.earliest_change_time:type_name -> google.protobuf.Timestamp - 186, // 28: google.analytics.admin.v1alpha.SearchChangeHistoryEventsRequest.latest_change_time:type_name -> google.protobuf.Timestamp - 187, // 29: google.analytics.admin.v1alpha.SearchChangeHistoryEventsResponse.change_history_events:type_name -> google.analytics.admin.v1alpha.ChangeHistoryEvent - 188, // 30: google.analytics.admin.v1alpha.CreateMeasurementProtocolSecretRequest.measurement_protocol_secret:type_name -> google.analytics.admin.v1alpha.MeasurementProtocolSecret - 188, // 31: google.analytics.admin.v1alpha.UpdateMeasurementProtocolSecretRequest.measurement_protocol_secret:type_name -> google.analytics.admin.v1alpha.MeasurementProtocolSecret - 179, // 32: google.analytics.admin.v1alpha.UpdateMeasurementProtocolSecretRequest.update_mask:type_name -> google.protobuf.FieldMask - 188, // 33: google.analytics.admin.v1alpha.ListMeasurementProtocolSecretsResponse.measurement_protocol_secrets:type_name -> google.analytics.admin.v1alpha.MeasurementProtocolSecret - 189, // 34: google.analytics.admin.v1alpha.CreateSKAdNetworkConversionValueSchemaRequest.skadnetwork_conversion_value_schema:type_name -> google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema - 189, // 35: google.analytics.admin.v1alpha.UpdateSKAdNetworkConversionValueSchemaRequest.skadnetwork_conversion_value_schema:type_name -> google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema - 179, // 36: google.analytics.admin.v1alpha.UpdateSKAdNetworkConversionValueSchemaRequest.update_mask:type_name -> google.protobuf.FieldMask - 189, // 37: google.analytics.admin.v1alpha.ListSKAdNetworkConversionValueSchemasResponse.skadnetwork_conversion_value_schemas:type_name -> google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema - 190, // 38: google.analytics.admin.v1alpha.UpdateGoogleSignalsSettingsRequest.google_signals_settings:type_name -> google.analytics.admin.v1alpha.GoogleSignalsSettings - 179, // 39: google.analytics.admin.v1alpha.UpdateGoogleSignalsSettingsRequest.update_mask:type_name -> google.protobuf.FieldMask - 191, // 40: google.analytics.admin.v1alpha.CreateConversionEventRequest.conversion_event:type_name -> google.analytics.admin.v1alpha.ConversionEvent - 191, // 41: google.analytics.admin.v1alpha.UpdateConversionEventRequest.conversion_event:type_name -> google.analytics.admin.v1alpha.ConversionEvent - 179, // 42: google.analytics.admin.v1alpha.UpdateConversionEventRequest.update_mask:type_name -> google.protobuf.FieldMask - 191, // 43: google.analytics.admin.v1alpha.ListConversionEventsResponse.conversion_events:type_name -> google.analytics.admin.v1alpha.ConversionEvent - 192, // 44: google.analytics.admin.v1alpha.ListDisplayVideo360AdvertiserLinksResponse.display_video_360_advertiser_links:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink - 192, // 45: google.analytics.admin.v1alpha.CreateDisplayVideo360AdvertiserLinkRequest.display_video_360_advertiser_link:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink - 192, // 46: google.analytics.admin.v1alpha.UpdateDisplayVideo360AdvertiserLinkRequest.display_video_360_advertiser_link:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink - 179, // 47: google.analytics.admin.v1alpha.UpdateDisplayVideo360AdvertiserLinkRequest.update_mask:type_name -> google.protobuf.FieldMask - 193, // 48: google.analytics.admin.v1alpha.ListDisplayVideo360AdvertiserLinkProposalsResponse.display_video_360_advertiser_link_proposals:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal - 193, // 49: google.analytics.admin.v1alpha.CreateDisplayVideo360AdvertiserLinkProposalRequest.display_video_360_advertiser_link_proposal:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal - 192, // 50: google.analytics.admin.v1alpha.ApproveDisplayVideo360AdvertiserLinkProposalResponse.display_video_360_advertiser_link:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink - 194, // 51: google.analytics.admin.v1alpha.ListSearchAds360LinksResponse.search_ads_360_links:type_name -> google.analytics.admin.v1alpha.SearchAds360Link - 194, // 52: google.analytics.admin.v1alpha.CreateSearchAds360LinkRequest.search_ads_360_link:type_name -> google.analytics.admin.v1alpha.SearchAds360Link - 194, // 53: google.analytics.admin.v1alpha.UpdateSearchAds360LinkRequest.search_ads_360_link:type_name -> google.analytics.admin.v1alpha.SearchAds360Link - 179, // 54: google.analytics.admin.v1alpha.UpdateSearchAds360LinkRequest.update_mask:type_name -> google.protobuf.FieldMask - 195, // 55: google.analytics.admin.v1alpha.CreateCustomDimensionRequest.custom_dimension:type_name -> google.analytics.admin.v1alpha.CustomDimension - 195, // 56: google.analytics.admin.v1alpha.UpdateCustomDimensionRequest.custom_dimension:type_name -> google.analytics.admin.v1alpha.CustomDimension - 179, // 57: google.analytics.admin.v1alpha.UpdateCustomDimensionRequest.update_mask:type_name -> google.protobuf.FieldMask - 195, // 58: google.analytics.admin.v1alpha.ListCustomDimensionsResponse.custom_dimensions:type_name -> google.analytics.admin.v1alpha.CustomDimension - 196, // 59: google.analytics.admin.v1alpha.CreateCustomMetricRequest.custom_metric:type_name -> google.analytics.admin.v1alpha.CustomMetric - 196, // 60: google.analytics.admin.v1alpha.UpdateCustomMetricRequest.custom_metric:type_name -> google.analytics.admin.v1alpha.CustomMetric - 179, // 61: google.analytics.admin.v1alpha.UpdateCustomMetricRequest.update_mask:type_name -> google.protobuf.FieldMask - 196, // 62: google.analytics.admin.v1alpha.ListCustomMetricsResponse.custom_metrics:type_name -> google.analytics.admin.v1alpha.CustomMetric - 197, // 63: google.analytics.admin.v1alpha.UpdateDataRetentionSettingsRequest.data_retention_settings:type_name -> google.analytics.admin.v1alpha.DataRetentionSettings - 179, // 64: google.analytics.admin.v1alpha.UpdateDataRetentionSettingsRequest.update_mask:type_name -> google.protobuf.FieldMask - 198, // 65: google.analytics.admin.v1alpha.CreateDataStreamRequest.data_stream:type_name -> google.analytics.admin.v1alpha.DataStream - 198, // 66: google.analytics.admin.v1alpha.UpdateDataStreamRequest.data_stream:type_name -> google.analytics.admin.v1alpha.DataStream - 179, // 67: google.analytics.admin.v1alpha.UpdateDataStreamRequest.update_mask:type_name -> google.protobuf.FieldMask - 198, // 68: google.analytics.admin.v1alpha.ListDataStreamsResponse.data_streams:type_name -> google.analytics.admin.v1alpha.DataStream - 199, // 69: google.analytics.admin.v1alpha.ListAudiencesResponse.audiences:type_name -> google.analytics.admin.v1alpha.Audience - 199, // 70: google.analytics.admin.v1alpha.CreateAudienceRequest.audience:type_name -> google.analytics.admin.v1alpha.Audience - 199, // 71: google.analytics.admin.v1alpha.UpdateAudienceRequest.audience:type_name -> google.analytics.admin.v1alpha.Audience - 179, // 72: google.analytics.admin.v1alpha.UpdateAudienceRequest.update_mask:type_name -> google.protobuf.FieldMask - 200, // 73: google.analytics.admin.v1alpha.UpdateAttributionSettingsRequest.attribution_settings:type_name -> google.analytics.admin.v1alpha.AttributionSettings - 179, // 74: google.analytics.admin.v1alpha.UpdateAttributionSettingsRequest.update_mask:type_name -> google.protobuf.FieldMask - 201, // 75: google.analytics.admin.v1alpha.BatchGetAccessBindingsResponse.access_bindings:type_name -> google.analytics.admin.v1alpha.AccessBinding - 201, // 76: google.analytics.admin.v1alpha.ListAccessBindingsResponse.access_bindings:type_name -> google.analytics.admin.v1alpha.AccessBinding - 201, // 77: google.analytics.admin.v1alpha.CreateAccessBindingRequest.access_binding:type_name -> google.analytics.admin.v1alpha.AccessBinding - 105, // 78: google.analytics.admin.v1alpha.BatchCreateAccessBindingsRequest.requests:type_name -> google.analytics.admin.v1alpha.CreateAccessBindingRequest - 201, // 79: google.analytics.admin.v1alpha.BatchCreateAccessBindingsResponse.access_bindings:type_name -> google.analytics.admin.v1alpha.AccessBinding - 201, // 80: google.analytics.admin.v1alpha.UpdateAccessBindingRequest.access_binding:type_name -> google.analytics.admin.v1alpha.AccessBinding - 108, // 81: google.analytics.admin.v1alpha.BatchUpdateAccessBindingsRequest.requests:type_name -> google.analytics.admin.v1alpha.UpdateAccessBindingRequest - 201, // 82: google.analytics.admin.v1alpha.BatchUpdateAccessBindingsResponse.access_bindings:type_name -> google.analytics.admin.v1alpha.AccessBinding - 111, // 83: google.analytics.admin.v1alpha.BatchDeleteAccessBindingsRequest.requests:type_name -> google.analytics.admin.v1alpha.DeleteAccessBindingRequest - 202, // 84: google.analytics.admin.v1alpha.CreateExpandedDataSetRequest.expanded_data_set:type_name -> google.analytics.admin.v1alpha.ExpandedDataSet - 202, // 85: google.analytics.admin.v1alpha.UpdateExpandedDataSetRequest.expanded_data_set:type_name -> google.analytics.admin.v1alpha.ExpandedDataSet - 179, // 86: google.analytics.admin.v1alpha.UpdateExpandedDataSetRequest.update_mask:type_name -> google.protobuf.FieldMask - 202, // 87: google.analytics.admin.v1alpha.ListExpandedDataSetsResponse.expanded_data_sets:type_name -> google.analytics.admin.v1alpha.ExpandedDataSet - 203, // 88: google.analytics.admin.v1alpha.CreateChannelGroupRequest.channel_group:type_name -> google.analytics.admin.v1alpha.ChannelGroup - 203, // 89: google.analytics.admin.v1alpha.UpdateChannelGroupRequest.channel_group:type_name -> google.analytics.admin.v1alpha.ChannelGroup - 179, // 90: google.analytics.admin.v1alpha.UpdateChannelGroupRequest.update_mask:type_name -> google.protobuf.FieldMask - 203, // 91: google.analytics.admin.v1alpha.ListChannelGroupsResponse.channel_groups:type_name -> google.analytics.admin.v1alpha.ChannelGroup - 204, // 92: google.analytics.admin.v1alpha.ListBigQueryLinksResponse.bigquery_links:type_name -> google.analytics.admin.v1alpha.BigQueryLink - 205, // 93: google.analytics.admin.v1alpha.UpdateEnhancedMeasurementSettingsRequest.enhanced_measurement_settings:type_name -> google.analytics.admin.v1alpha.EnhancedMeasurementSettings - 179, // 94: google.analytics.admin.v1alpha.UpdateEnhancedMeasurementSettingsRequest.update_mask:type_name -> google.protobuf.FieldMask - 206, // 95: google.analytics.admin.v1alpha.UpdateDataRedactionSettingsRequest.data_redaction_settings:type_name -> google.analytics.admin.v1alpha.DataRedactionSettings - 179, // 96: google.analytics.admin.v1alpha.UpdateDataRedactionSettingsRequest.update_mask:type_name -> google.protobuf.FieldMask - 207, // 97: google.analytics.admin.v1alpha.CreateConnectedSiteTagRequest.connected_site_tag:type_name -> google.analytics.admin.v1alpha.ConnectedSiteTag - 207, // 98: google.analytics.admin.v1alpha.ListConnectedSiteTagsResponse.connected_site_tags:type_name -> google.analytics.admin.v1alpha.ConnectedSiteTag - 208, // 99: google.analytics.admin.v1alpha.CreateAdSenseLinkRequest.adsense_link:type_name -> google.analytics.admin.v1alpha.AdSenseLink - 208, // 100: google.analytics.admin.v1alpha.ListAdSenseLinksResponse.adsense_links:type_name -> google.analytics.admin.v1alpha.AdSenseLink - 209, // 101: google.analytics.admin.v1alpha.CreateEventCreateRuleRequest.event_create_rule:type_name -> google.analytics.admin.v1alpha.EventCreateRule - 209, // 102: google.analytics.admin.v1alpha.UpdateEventCreateRuleRequest.event_create_rule:type_name -> google.analytics.admin.v1alpha.EventCreateRule - 179, // 103: google.analytics.admin.v1alpha.UpdateEventCreateRuleRequest.update_mask:type_name -> google.protobuf.FieldMask - 209, // 104: google.analytics.admin.v1alpha.ListEventCreateRulesResponse.event_create_rules:type_name -> google.analytics.admin.v1alpha.EventCreateRule - 180, // 105: google.analytics.admin.v1alpha.CreateRollupPropertyRequest.rollup_property:type_name -> google.analytics.admin.v1alpha.Property - 180, // 106: google.analytics.admin.v1alpha.CreateRollupPropertyResponse.rollup_property:type_name -> google.analytics.admin.v1alpha.Property - 210, // 107: google.analytics.admin.v1alpha.CreateRollupPropertyResponse.rollup_property_source_links:type_name -> google.analytics.admin.v1alpha.RollupPropertySourceLink - 210, // 108: google.analytics.admin.v1alpha.ListRollupPropertySourceLinksResponse.rollup_property_source_links:type_name -> google.analytics.admin.v1alpha.RollupPropertySourceLink - 210, // 109: google.analytics.admin.v1alpha.CreateRollupPropertySourceLinkRequest.rollup_property_source_link:type_name -> google.analytics.admin.v1alpha.RollupPropertySourceLink - 180, // 110: google.analytics.admin.v1alpha.CreateSubpropertyRequest.subproperty:type_name -> google.analytics.admin.v1alpha.Property - 211, // 111: google.analytics.admin.v1alpha.CreateSubpropertyRequest.subproperty_event_filter:type_name -> google.analytics.admin.v1alpha.SubpropertyEventFilter - 180, // 112: google.analytics.admin.v1alpha.CreateSubpropertyResponse.subproperty:type_name -> google.analytics.admin.v1alpha.Property - 211, // 113: google.analytics.admin.v1alpha.CreateSubpropertyResponse.subproperty_event_filter:type_name -> google.analytics.admin.v1alpha.SubpropertyEventFilter - 211, // 114: google.analytics.admin.v1alpha.CreateSubpropertyEventFilterRequest.subproperty_event_filter:type_name -> google.analytics.admin.v1alpha.SubpropertyEventFilter - 211, // 115: google.analytics.admin.v1alpha.ListSubpropertyEventFiltersResponse.subproperty_event_filters:type_name -> google.analytics.admin.v1alpha.SubpropertyEventFilter - 211, // 116: google.analytics.admin.v1alpha.UpdateSubpropertyEventFilterRequest.subproperty_event_filter:type_name -> google.analytics.admin.v1alpha.SubpropertyEventFilter - 179, // 117: google.analytics.admin.v1alpha.UpdateSubpropertyEventFilterRequest.update_mask:type_name -> google.protobuf.FieldMask - 2, // 118: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAccount:input_type -> google.analytics.admin.v1alpha.GetAccountRequest - 3, // 119: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccounts:input_type -> google.analytics.admin.v1alpha.ListAccountsRequest - 5, // 120: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteAccount:input_type -> google.analytics.admin.v1alpha.DeleteAccountRequest - 6, // 121: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAccount:input_type -> google.analytics.admin.v1alpha.UpdateAccountRequest - 7, // 122: google.analytics.admin.v1alpha.AnalyticsAdminService.ProvisionAccountTicket:input_type -> google.analytics.admin.v1alpha.ProvisionAccountTicketRequest - 26, // 123: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccountSummaries:input_type -> google.analytics.admin.v1alpha.ListAccountSummariesRequest - 9, // 124: google.analytics.admin.v1alpha.AnalyticsAdminService.GetProperty:input_type -> google.analytics.admin.v1alpha.GetPropertyRequest - 10, // 125: google.analytics.admin.v1alpha.AnalyticsAdminService.ListProperties:input_type -> google.analytics.admin.v1alpha.ListPropertiesRequest - 13, // 126: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateProperty:input_type -> google.analytics.admin.v1alpha.CreatePropertyRequest - 14, // 127: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteProperty:input_type -> google.analytics.admin.v1alpha.DeletePropertyRequest - 12, // 128: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateProperty:input_type -> google.analytics.admin.v1alpha.UpdatePropertyRequest - 15, // 129: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateFirebaseLink:input_type -> google.analytics.admin.v1alpha.CreateFirebaseLinkRequest - 16, // 130: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteFirebaseLink:input_type -> google.analytics.admin.v1alpha.DeleteFirebaseLinkRequest - 17, // 131: google.analytics.admin.v1alpha.AnalyticsAdminService.ListFirebaseLinks:input_type -> google.analytics.admin.v1alpha.ListFirebaseLinksRequest - 19, // 132: google.analytics.admin.v1alpha.AnalyticsAdminService.GetGlobalSiteTag:input_type -> google.analytics.admin.v1alpha.GetGlobalSiteTagRequest - 20, // 133: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateGoogleAdsLink:input_type -> google.analytics.admin.v1alpha.CreateGoogleAdsLinkRequest - 21, // 134: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateGoogleAdsLink:input_type -> google.analytics.admin.v1alpha.UpdateGoogleAdsLinkRequest - 22, // 135: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteGoogleAdsLink:input_type -> google.analytics.admin.v1alpha.DeleteGoogleAdsLinkRequest - 23, // 136: google.analytics.admin.v1alpha.AnalyticsAdminService.ListGoogleAdsLinks:input_type -> google.analytics.admin.v1alpha.ListGoogleAdsLinksRequest - 25, // 137: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataSharingSettings:input_type -> google.analytics.admin.v1alpha.GetDataSharingSettingsRequest - 32, // 138: google.analytics.admin.v1alpha.AnalyticsAdminService.GetMeasurementProtocolSecret:input_type -> google.analytics.admin.v1alpha.GetMeasurementProtocolSecretRequest - 36, // 139: google.analytics.admin.v1alpha.AnalyticsAdminService.ListMeasurementProtocolSecrets:input_type -> google.analytics.admin.v1alpha.ListMeasurementProtocolSecretsRequest - 33, // 140: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateMeasurementProtocolSecret:input_type -> google.analytics.admin.v1alpha.CreateMeasurementProtocolSecretRequest - 34, // 141: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteMeasurementProtocolSecret:input_type -> google.analytics.admin.v1alpha.DeleteMeasurementProtocolSecretRequest - 35, // 142: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateMeasurementProtocolSecret:input_type -> google.analytics.admin.v1alpha.UpdateMeasurementProtocolSecretRequest - 28, // 143: google.analytics.admin.v1alpha.AnalyticsAdminService.AcknowledgeUserDataCollection:input_type -> google.analytics.admin.v1alpha.AcknowledgeUserDataCollectionRequest - 38, // 144: google.analytics.admin.v1alpha.AnalyticsAdminService.GetSKAdNetworkConversionValueSchema:input_type -> google.analytics.admin.v1alpha.GetSKAdNetworkConversionValueSchemaRequest - 39, // 145: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSKAdNetworkConversionValueSchema:input_type -> google.analytics.admin.v1alpha.CreateSKAdNetworkConversionValueSchemaRequest - 40, // 146: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteSKAdNetworkConversionValueSchema:input_type -> google.analytics.admin.v1alpha.DeleteSKAdNetworkConversionValueSchemaRequest - 41, // 147: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateSKAdNetworkConversionValueSchema:input_type -> google.analytics.admin.v1alpha.UpdateSKAdNetworkConversionValueSchemaRequest - 42, // 148: google.analytics.admin.v1alpha.AnalyticsAdminService.ListSKAdNetworkConversionValueSchemas:input_type -> google.analytics.admin.v1alpha.ListSKAdNetworkConversionValueSchemasRequest - 30, // 149: google.analytics.admin.v1alpha.AnalyticsAdminService.SearchChangeHistoryEvents:input_type -> google.analytics.admin.v1alpha.SearchChangeHistoryEventsRequest - 44, // 150: google.analytics.admin.v1alpha.AnalyticsAdminService.GetGoogleSignalsSettings:input_type -> google.analytics.admin.v1alpha.GetGoogleSignalsSettingsRequest - 45, // 151: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateGoogleSignalsSettings:input_type -> google.analytics.admin.v1alpha.UpdateGoogleSignalsSettingsRequest - 46, // 152: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateConversionEvent:input_type -> google.analytics.admin.v1alpha.CreateConversionEventRequest - 47, // 153: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateConversionEvent:input_type -> google.analytics.admin.v1alpha.UpdateConversionEventRequest - 48, // 154: google.analytics.admin.v1alpha.AnalyticsAdminService.GetConversionEvent:input_type -> google.analytics.admin.v1alpha.GetConversionEventRequest - 49, // 155: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteConversionEvent:input_type -> google.analytics.admin.v1alpha.DeleteConversionEventRequest - 50, // 156: google.analytics.admin.v1alpha.AnalyticsAdminService.ListConversionEvents:input_type -> google.analytics.admin.v1alpha.ListConversionEventsRequest - 52, // 157: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDisplayVideo360AdvertiserLink:input_type -> google.analytics.admin.v1alpha.GetDisplayVideo360AdvertiserLinkRequest - 53, // 158: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDisplayVideo360AdvertiserLinks:input_type -> google.analytics.admin.v1alpha.ListDisplayVideo360AdvertiserLinksRequest - 55, // 159: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateDisplayVideo360AdvertiserLink:input_type -> google.analytics.admin.v1alpha.CreateDisplayVideo360AdvertiserLinkRequest - 56, // 160: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteDisplayVideo360AdvertiserLink:input_type -> google.analytics.admin.v1alpha.DeleteDisplayVideo360AdvertiserLinkRequest - 57, // 161: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDisplayVideo360AdvertiserLink:input_type -> google.analytics.admin.v1alpha.UpdateDisplayVideo360AdvertiserLinkRequest - 58, // 162: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDisplayVideo360AdvertiserLinkProposal:input_type -> google.analytics.admin.v1alpha.GetDisplayVideo360AdvertiserLinkProposalRequest - 59, // 163: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDisplayVideo360AdvertiserLinkProposals:input_type -> google.analytics.admin.v1alpha.ListDisplayVideo360AdvertiserLinkProposalsRequest - 61, // 164: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateDisplayVideo360AdvertiserLinkProposal:input_type -> google.analytics.admin.v1alpha.CreateDisplayVideo360AdvertiserLinkProposalRequest - 62, // 165: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteDisplayVideo360AdvertiserLinkProposal:input_type -> google.analytics.admin.v1alpha.DeleteDisplayVideo360AdvertiserLinkProposalRequest - 63, // 166: google.analytics.admin.v1alpha.AnalyticsAdminService.ApproveDisplayVideo360AdvertiserLinkProposal:input_type -> google.analytics.admin.v1alpha.ApproveDisplayVideo360AdvertiserLinkProposalRequest - 65, // 167: google.analytics.admin.v1alpha.AnalyticsAdminService.CancelDisplayVideo360AdvertiserLinkProposal:input_type -> google.analytics.admin.v1alpha.CancelDisplayVideo360AdvertiserLinkProposalRequest - 72, // 168: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateCustomDimension:input_type -> google.analytics.admin.v1alpha.CreateCustomDimensionRequest - 73, // 169: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateCustomDimension:input_type -> google.analytics.admin.v1alpha.UpdateCustomDimensionRequest - 74, // 170: google.analytics.admin.v1alpha.AnalyticsAdminService.ListCustomDimensions:input_type -> google.analytics.admin.v1alpha.ListCustomDimensionsRequest - 76, // 171: google.analytics.admin.v1alpha.AnalyticsAdminService.ArchiveCustomDimension:input_type -> google.analytics.admin.v1alpha.ArchiveCustomDimensionRequest - 77, // 172: google.analytics.admin.v1alpha.AnalyticsAdminService.GetCustomDimension:input_type -> google.analytics.admin.v1alpha.GetCustomDimensionRequest - 78, // 173: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateCustomMetric:input_type -> google.analytics.admin.v1alpha.CreateCustomMetricRequest - 79, // 174: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateCustomMetric:input_type -> google.analytics.admin.v1alpha.UpdateCustomMetricRequest - 80, // 175: google.analytics.admin.v1alpha.AnalyticsAdminService.ListCustomMetrics:input_type -> google.analytics.admin.v1alpha.ListCustomMetricsRequest - 82, // 176: google.analytics.admin.v1alpha.AnalyticsAdminService.ArchiveCustomMetric:input_type -> google.analytics.admin.v1alpha.ArchiveCustomMetricRequest - 83, // 177: google.analytics.admin.v1alpha.AnalyticsAdminService.GetCustomMetric:input_type -> google.analytics.admin.v1alpha.GetCustomMetricRequest - 84, // 178: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataRetentionSettings:input_type -> google.analytics.admin.v1alpha.GetDataRetentionSettingsRequest - 85, // 179: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDataRetentionSettings:input_type -> google.analytics.admin.v1alpha.UpdateDataRetentionSettingsRequest - 86, // 180: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateDataStream:input_type -> google.analytics.admin.v1alpha.CreateDataStreamRequest - 87, // 181: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteDataStream:input_type -> google.analytics.admin.v1alpha.DeleteDataStreamRequest - 88, // 182: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDataStream:input_type -> google.analytics.admin.v1alpha.UpdateDataStreamRequest - 89, // 183: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDataStreams:input_type -> google.analytics.admin.v1alpha.ListDataStreamsRequest - 91, // 184: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataStream:input_type -> google.analytics.admin.v1alpha.GetDataStreamRequest - 92, // 185: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAudience:input_type -> google.analytics.admin.v1alpha.GetAudienceRequest - 93, // 186: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAudiences:input_type -> google.analytics.admin.v1alpha.ListAudiencesRequest - 95, // 187: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateAudience:input_type -> google.analytics.admin.v1alpha.CreateAudienceRequest - 96, // 188: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAudience:input_type -> google.analytics.admin.v1alpha.UpdateAudienceRequest - 97, // 189: google.analytics.admin.v1alpha.AnalyticsAdminService.ArchiveAudience:input_type -> google.analytics.admin.v1alpha.ArchiveAudienceRequest - 66, // 190: google.analytics.admin.v1alpha.AnalyticsAdminService.GetSearchAds360Link:input_type -> google.analytics.admin.v1alpha.GetSearchAds360LinkRequest - 67, // 191: google.analytics.admin.v1alpha.AnalyticsAdminService.ListSearchAds360Links:input_type -> google.analytics.admin.v1alpha.ListSearchAds360LinksRequest - 69, // 192: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSearchAds360Link:input_type -> google.analytics.admin.v1alpha.CreateSearchAds360LinkRequest - 70, // 193: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteSearchAds360Link:input_type -> google.analytics.admin.v1alpha.DeleteSearchAds360LinkRequest - 71, // 194: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateSearchAds360Link:input_type -> google.analytics.admin.v1alpha.UpdateSearchAds360LinkRequest - 98, // 195: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAttributionSettings:input_type -> google.analytics.admin.v1alpha.GetAttributionSettingsRequest - 99, // 196: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAttributionSettings:input_type -> google.analytics.admin.v1alpha.UpdateAttributionSettingsRequest - 0, // 197: google.analytics.admin.v1alpha.AnalyticsAdminService.RunAccessReport:input_type -> google.analytics.admin.v1alpha.RunAccessReportRequest - 105, // 198: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateAccessBinding:input_type -> google.analytics.admin.v1alpha.CreateAccessBindingRequest - 100, // 199: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAccessBinding:input_type -> google.analytics.admin.v1alpha.GetAccessBindingRequest - 108, // 200: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAccessBinding:input_type -> google.analytics.admin.v1alpha.UpdateAccessBindingRequest - 111, // 201: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteAccessBinding:input_type -> google.analytics.admin.v1alpha.DeleteAccessBindingRequest - 103, // 202: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccessBindings:input_type -> google.analytics.admin.v1alpha.ListAccessBindingsRequest - 106, // 203: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchCreateAccessBindings:input_type -> google.analytics.admin.v1alpha.BatchCreateAccessBindingsRequest - 101, // 204: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchGetAccessBindings:input_type -> google.analytics.admin.v1alpha.BatchGetAccessBindingsRequest - 109, // 205: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchUpdateAccessBindings:input_type -> google.analytics.admin.v1alpha.BatchUpdateAccessBindingsRequest - 112, // 206: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchDeleteAccessBindings:input_type -> google.analytics.admin.v1alpha.BatchDeleteAccessBindingsRequest - 116, // 207: google.analytics.admin.v1alpha.AnalyticsAdminService.GetExpandedDataSet:input_type -> google.analytics.admin.v1alpha.GetExpandedDataSetRequest - 117, // 208: google.analytics.admin.v1alpha.AnalyticsAdminService.ListExpandedDataSets:input_type -> google.analytics.admin.v1alpha.ListExpandedDataSetsRequest - 113, // 209: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateExpandedDataSet:input_type -> google.analytics.admin.v1alpha.CreateExpandedDataSetRequest - 114, // 210: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateExpandedDataSet:input_type -> google.analytics.admin.v1alpha.UpdateExpandedDataSetRequest - 115, // 211: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteExpandedDataSet:input_type -> google.analytics.admin.v1alpha.DeleteExpandedDataSetRequest - 122, // 212: google.analytics.admin.v1alpha.AnalyticsAdminService.GetChannelGroup:input_type -> google.analytics.admin.v1alpha.GetChannelGroupRequest - 123, // 213: google.analytics.admin.v1alpha.AnalyticsAdminService.ListChannelGroups:input_type -> google.analytics.admin.v1alpha.ListChannelGroupsRequest - 119, // 214: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateChannelGroup:input_type -> google.analytics.admin.v1alpha.CreateChannelGroupRequest - 120, // 215: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateChannelGroup:input_type -> google.analytics.admin.v1alpha.UpdateChannelGroupRequest - 121, // 216: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteChannelGroup:input_type -> google.analytics.admin.v1alpha.DeleteChannelGroupRequest - 125, // 217: google.analytics.admin.v1alpha.AnalyticsAdminService.SetAutomatedGa4ConfigurationOptOut:input_type -> google.analytics.admin.v1alpha.SetAutomatedGa4ConfigurationOptOutRequest - 127, // 218: google.analytics.admin.v1alpha.AnalyticsAdminService.FetchAutomatedGa4ConfigurationOptOut:input_type -> google.analytics.admin.v1alpha.FetchAutomatedGa4ConfigurationOptOutRequest - 129, // 219: google.analytics.admin.v1alpha.AnalyticsAdminService.GetBigQueryLink:input_type -> google.analytics.admin.v1alpha.GetBigQueryLinkRequest - 130, // 220: google.analytics.admin.v1alpha.AnalyticsAdminService.ListBigQueryLinks:input_type -> google.analytics.admin.v1alpha.ListBigQueryLinksRequest - 132, // 221: google.analytics.admin.v1alpha.AnalyticsAdminService.GetEnhancedMeasurementSettings:input_type -> google.analytics.admin.v1alpha.GetEnhancedMeasurementSettingsRequest - 133, // 222: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateEnhancedMeasurementSettings:input_type -> google.analytics.admin.v1alpha.UpdateEnhancedMeasurementSettingsRequest - 136, // 223: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateConnectedSiteTag:input_type -> google.analytics.admin.v1alpha.CreateConnectedSiteTagRequest - 138, // 224: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteConnectedSiteTag:input_type -> google.analytics.admin.v1alpha.DeleteConnectedSiteTagRequest - 139, // 225: google.analytics.admin.v1alpha.AnalyticsAdminService.ListConnectedSiteTags:input_type -> google.analytics.admin.v1alpha.ListConnectedSiteTagsRequest - 146, // 226: google.analytics.admin.v1alpha.AnalyticsAdminService.FetchConnectedGa4Property:input_type -> google.analytics.admin.v1alpha.FetchConnectedGa4PropertyRequest - 142, // 227: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAdSenseLink:input_type -> google.analytics.admin.v1alpha.GetAdSenseLinkRequest - 141, // 228: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateAdSenseLink:input_type -> google.analytics.admin.v1alpha.CreateAdSenseLinkRequest - 143, // 229: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteAdSenseLink:input_type -> google.analytics.admin.v1alpha.DeleteAdSenseLinkRequest - 144, // 230: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAdSenseLinks:input_type -> google.analytics.admin.v1alpha.ListAdSenseLinksRequest - 151, // 231: google.analytics.admin.v1alpha.AnalyticsAdminService.GetEventCreateRule:input_type -> google.analytics.admin.v1alpha.GetEventCreateRuleRequest - 152, // 232: google.analytics.admin.v1alpha.AnalyticsAdminService.ListEventCreateRules:input_type -> google.analytics.admin.v1alpha.ListEventCreateRulesRequest - 148, // 233: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateEventCreateRule:input_type -> google.analytics.admin.v1alpha.CreateEventCreateRuleRequest - 149, // 234: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateEventCreateRule:input_type -> google.analytics.admin.v1alpha.UpdateEventCreateRuleRequest - 150, // 235: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteEventCreateRule:input_type -> google.analytics.admin.v1alpha.DeleteEventCreateRuleRequest - 135, // 236: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDataRedactionSettings:input_type -> google.analytics.admin.v1alpha.UpdateDataRedactionSettingsRequest - 134, // 237: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataRedactionSettings:input_type -> google.analytics.admin.v1alpha.GetDataRedactionSettingsRequest - 154, // 238: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateRollupProperty:input_type -> google.analytics.admin.v1alpha.CreateRollupPropertyRequest - 156, // 239: google.analytics.admin.v1alpha.AnalyticsAdminService.GetRollupPropertySourceLink:input_type -> google.analytics.admin.v1alpha.GetRollupPropertySourceLinkRequest - 157, // 240: google.analytics.admin.v1alpha.AnalyticsAdminService.ListRollupPropertySourceLinks:input_type -> google.analytics.admin.v1alpha.ListRollupPropertySourceLinksRequest - 159, // 241: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateRollupPropertySourceLink:input_type -> google.analytics.admin.v1alpha.CreateRollupPropertySourceLinkRequest - 160, // 242: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteRollupPropertySourceLink:input_type -> google.analytics.admin.v1alpha.DeleteRollupPropertySourceLinkRequest - 161, // 243: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSubproperty:input_type -> google.analytics.admin.v1alpha.CreateSubpropertyRequest - 163, // 244: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSubpropertyEventFilter:input_type -> google.analytics.admin.v1alpha.CreateSubpropertyEventFilterRequest - 164, // 245: google.analytics.admin.v1alpha.AnalyticsAdminService.GetSubpropertyEventFilter:input_type -> google.analytics.admin.v1alpha.GetSubpropertyEventFilterRequest - 165, // 246: google.analytics.admin.v1alpha.AnalyticsAdminService.ListSubpropertyEventFilters:input_type -> google.analytics.admin.v1alpha.ListSubpropertyEventFiltersRequest - 167, // 247: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateSubpropertyEventFilter:input_type -> google.analytics.admin.v1alpha.UpdateSubpropertyEventFilterRequest - 168, // 248: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteSubpropertyEventFilter:input_type -> google.analytics.admin.v1alpha.DeleteSubpropertyEventFilterRequest - 178, // 249: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAccount:output_type -> google.analytics.admin.v1alpha.Account - 4, // 250: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccounts:output_type -> google.analytics.admin.v1alpha.ListAccountsResponse - 212, // 251: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteAccount:output_type -> google.protobuf.Empty - 178, // 252: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAccount:output_type -> google.analytics.admin.v1alpha.Account - 8, // 253: google.analytics.admin.v1alpha.AnalyticsAdminService.ProvisionAccountTicket:output_type -> google.analytics.admin.v1alpha.ProvisionAccountTicketResponse - 27, // 254: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccountSummaries:output_type -> google.analytics.admin.v1alpha.ListAccountSummariesResponse - 180, // 255: google.analytics.admin.v1alpha.AnalyticsAdminService.GetProperty:output_type -> google.analytics.admin.v1alpha.Property - 11, // 256: google.analytics.admin.v1alpha.AnalyticsAdminService.ListProperties:output_type -> google.analytics.admin.v1alpha.ListPropertiesResponse - 180, // 257: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateProperty:output_type -> google.analytics.admin.v1alpha.Property - 180, // 258: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteProperty:output_type -> google.analytics.admin.v1alpha.Property - 180, // 259: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateProperty:output_type -> google.analytics.admin.v1alpha.Property - 181, // 260: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateFirebaseLink:output_type -> google.analytics.admin.v1alpha.FirebaseLink - 212, // 261: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteFirebaseLink:output_type -> google.protobuf.Empty - 18, // 262: google.analytics.admin.v1alpha.AnalyticsAdminService.ListFirebaseLinks:output_type -> google.analytics.admin.v1alpha.ListFirebaseLinksResponse - 213, // 263: google.analytics.admin.v1alpha.AnalyticsAdminService.GetGlobalSiteTag:output_type -> google.analytics.admin.v1alpha.GlobalSiteTag - 182, // 264: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateGoogleAdsLink:output_type -> google.analytics.admin.v1alpha.GoogleAdsLink - 182, // 265: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateGoogleAdsLink:output_type -> google.analytics.admin.v1alpha.GoogleAdsLink - 212, // 266: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteGoogleAdsLink:output_type -> google.protobuf.Empty - 24, // 267: google.analytics.admin.v1alpha.AnalyticsAdminService.ListGoogleAdsLinks:output_type -> google.analytics.admin.v1alpha.ListGoogleAdsLinksResponse - 214, // 268: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataSharingSettings:output_type -> google.analytics.admin.v1alpha.DataSharingSettings - 188, // 269: google.analytics.admin.v1alpha.AnalyticsAdminService.GetMeasurementProtocolSecret:output_type -> google.analytics.admin.v1alpha.MeasurementProtocolSecret - 37, // 270: google.analytics.admin.v1alpha.AnalyticsAdminService.ListMeasurementProtocolSecrets:output_type -> google.analytics.admin.v1alpha.ListMeasurementProtocolSecretsResponse - 188, // 271: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateMeasurementProtocolSecret:output_type -> google.analytics.admin.v1alpha.MeasurementProtocolSecret - 212, // 272: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteMeasurementProtocolSecret:output_type -> google.protobuf.Empty - 188, // 273: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateMeasurementProtocolSecret:output_type -> google.analytics.admin.v1alpha.MeasurementProtocolSecret - 29, // 274: google.analytics.admin.v1alpha.AnalyticsAdminService.AcknowledgeUserDataCollection:output_type -> google.analytics.admin.v1alpha.AcknowledgeUserDataCollectionResponse - 189, // 275: google.analytics.admin.v1alpha.AnalyticsAdminService.GetSKAdNetworkConversionValueSchema:output_type -> google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema - 189, // 276: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSKAdNetworkConversionValueSchema:output_type -> google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema - 212, // 277: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteSKAdNetworkConversionValueSchema:output_type -> google.protobuf.Empty - 189, // 278: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateSKAdNetworkConversionValueSchema:output_type -> google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema - 43, // 279: google.analytics.admin.v1alpha.AnalyticsAdminService.ListSKAdNetworkConversionValueSchemas:output_type -> google.analytics.admin.v1alpha.ListSKAdNetworkConversionValueSchemasResponse - 31, // 280: google.analytics.admin.v1alpha.AnalyticsAdminService.SearchChangeHistoryEvents:output_type -> google.analytics.admin.v1alpha.SearchChangeHistoryEventsResponse - 190, // 281: google.analytics.admin.v1alpha.AnalyticsAdminService.GetGoogleSignalsSettings:output_type -> google.analytics.admin.v1alpha.GoogleSignalsSettings - 190, // 282: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateGoogleSignalsSettings:output_type -> google.analytics.admin.v1alpha.GoogleSignalsSettings - 191, // 283: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateConversionEvent:output_type -> google.analytics.admin.v1alpha.ConversionEvent - 191, // 284: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateConversionEvent:output_type -> google.analytics.admin.v1alpha.ConversionEvent - 191, // 285: google.analytics.admin.v1alpha.AnalyticsAdminService.GetConversionEvent:output_type -> google.analytics.admin.v1alpha.ConversionEvent - 212, // 286: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteConversionEvent:output_type -> google.protobuf.Empty - 51, // 287: google.analytics.admin.v1alpha.AnalyticsAdminService.ListConversionEvents:output_type -> google.analytics.admin.v1alpha.ListConversionEventsResponse - 192, // 288: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDisplayVideo360AdvertiserLink:output_type -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink - 54, // 289: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDisplayVideo360AdvertiserLinks:output_type -> google.analytics.admin.v1alpha.ListDisplayVideo360AdvertiserLinksResponse - 192, // 290: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateDisplayVideo360AdvertiserLink:output_type -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink - 212, // 291: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteDisplayVideo360AdvertiserLink:output_type -> google.protobuf.Empty - 192, // 292: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDisplayVideo360AdvertiserLink:output_type -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink - 193, // 293: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDisplayVideo360AdvertiserLinkProposal:output_type -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal - 60, // 294: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDisplayVideo360AdvertiserLinkProposals:output_type -> google.analytics.admin.v1alpha.ListDisplayVideo360AdvertiserLinkProposalsResponse - 193, // 295: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateDisplayVideo360AdvertiserLinkProposal:output_type -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal - 212, // 296: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteDisplayVideo360AdvertiserLinkProposal:output_type -> google.protobuf.Empty - 64, // 297: google.analytics.admin.v1alpha.AnalyticsAdminService.ApproveDisplayVideo360AdvertiserLinkProposal:output_type -> google.analytics.admin.v1alpha.ApproveDisplayVideo360AdvertiserLinkProposalResponse - 193, // 298: google.analytics.admin.v1alpha.AnalyticsAdminService.CancelDisplayVideo360AdvertiserLinkProposal:output_type -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal - 195, // 299: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateCustomDimension:output_type -> google.analytics.admin.v1alpha.CustomDimension - 195, // 300: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateCustomDimension:output_type -> google.analytics.admin.v1alpha.CustomDimension - 75, // 301: google.analytics.admin.v1alpha.AnalyticsAdminService.ListCustomDimensions:output_type -> google.analytics.admin.v1alpha.ListCustomDimensionsResponse - 212, // 302: google.analytics.admin.v1alpha.AnalyticsAdminService.ArchiveCustomDimension:output_type -> google.protobuf.Empty - 195, // 303: google.analytics.admin.v1alpha.AnalyticsAdminService.GetCustomDimension:output_type -> google.analytics.admin.v1alpha.CustomDimension - 196, // 304: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateCustomMetric:output_type -> google.analytics.admin.v1alpha.CustomMetric - 196, // 305: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateCustomMetric:output_type -> google.analytics.admin.v1alpha.CustomMetric - 81, // 306: google.analytics.admin.v1alpha.AnalyticsAdminService.ListCustomMetrics:output_type -> google.analytics.admin.v1alpha.ListCustomMetricsResponse - 212, // 307: google.analytics.admin.v1alpha.AnalyticsAdminService.ArchiveCustomMetric:output_type -> google.protobuf.Empty - 196, // 308: google.analytics.admin.v1alpha.AnalyticsAdminService.GetCustomMetric:output_type -> google.analytics.admin.v1alpha.CustomMetric - 197, // 309: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataRetentionSettings:output_type -> google.analytics.admin.v1alpha.DataRetentionSettings - 197, // 310: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDataRetentionSettings:output_type -> google.analytics.admin.v1alpha.DataRetentionSettings - 198, // 311: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateDataStream:output_type -> google.analytics.admin.v1alpha.DataStream - 212, // 312: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteDataStream:output_type -> google.protobuf.Empty - 198, // 313: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDataStream:output_type -> google.analytics.admin.v1alpha.DataStream - 90, // 314: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDataStreams:output_type -> google.analytics.admin.v1alpha.ListDataStreamsResponse - 198, // 315: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataStream:output_type -> google.analytics.admin.v1alpha.DataStream - 199, // 316: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAudience:output_type -> google.analytics.admin.v1alpha.Audience - 94, // 317: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAudiences:output_type -> google.analytics.admin.v1alpha.ListAudiencesResponse - 199, // 318: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateAudience:output_type -> google.analytics.admin.v1alpha.Audience - 199, // 319: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAudience:output_type -> google.analytics.admin.v1alpha.Audience - 212, // 320: google.analytics.admin.v1alpha.AnalyticsAdminService.ArchiveAudience:output_type -> google.protobuf.Empty - 194, // 321: google.analytics.admin.v1alpha.AnalyticsAdminService.GetSearchAds360Link:output_type -> google.analytics.admin.v1alpha.SearchAds360Link - 68, // 322: google.analytics.admin.v1alpha.AnalyticsAdminService.ListSearchAds360Links:output_type -> google.analytics.admin.v1alpha.ListSearchAds360LinksResponse - 194, // 323: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSearchAds360Link:output_type -> google.analytics.admin.v1alpha.SearchAds360Link - 212, // 324: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteSearchAds360Link:output_type -> google.protobuf.Empty - 194, // 325: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateSearchAds360Link:output_type -> google.analytics.admin.v1alpha.SearchAds360Link - 200, // 326: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAttributionSettings:output_type -> google.analytics.admin.v1alpha.AttributionSettings - 200, // 327: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAttributionSettings:output_type -> google.analytics.admin.v1alpha.AttributionSettings - 1, // 328: google.analytics.admin.v1alpha.AnalyticsAdminService.RunAccessReport:output_type -> google.analytics.admin.v1alpha.RunAccessReportResponse - 201, // 329: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateAccessBinding:output_type -> google.analytics.admin.v1alpha.AccessBinding - 201, // 330: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAccessBinding:output_type -> google.analytics.admin.v1alpha.AccessBinding - 201, // 331: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAccessBinding:output_type -> google.analytics.admin.v1alpha.AccessBinding - 212, // 332: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteAccessBinding:output_type -> google.protobuf.Empty - 104, // 333: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccessBindings:output_type -> google.analytics.admin.v1alpha.ListAccessBindingsResponse - 107, // 334: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchCreateAccessBindings:output_type -> google.analytics.admin.v1alpha.BatchCreateAccessBindingsResponse - 102, // 335: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchGetAccessBindings:output_type -> google.analytics.admin.v1alpha.BatchGetAccessBindingsResponse - 110, // 336: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchUpdateAccessBindings:output_type -> google.analytics.admin.v1alpha.BatchUpdateAccessBindingsResponse - 212, // 337: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchDeleteAccessBindings:output_type -> google.protobuf.Empty - 202, // 338: google.analytics.admin.v1alpha.AnalyticsAdminService.GetExpandedDataSet:output_type -> google.analytics.admin.v1alpha.ExpandedDataSet - 118, // 339: google.analytics.admin.v1alpha.AnalyticsAdminService.ListExpandedDataSets:output_type -> google.analytics.admin.v1alpha.ListExpandedDataSetsResponse - 202, // 340: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateExpandedDataSet:output_type -> google.analytics.admin.v1alpha.ExpandedDataSet - 202, // 341: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateExpandedDataSet:output_type -> google.analytics.admin.v1alpha.ExpandedDataSet - 212, // 342: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteExpandedDataSet:output_type -> google.protobuf.Empty - 203, // 343: google.analytics.admin.v1alpha.AnalyticsAdminService.GetChannelGroup:output_type -> google.analytics.admin.v1alpha.ChannelGroup - 124, // 344: google.analytics.admin.v1alpha.AnalyticsAdminService.ListChannelGroups:output_type -> google.analytics.admin.v1alpha.ListChannelGroupsResponse - 203, // 345: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateChannelGroup:output_type -> google.analytics.admin.v1alpha.ChannelGroup - 203, // 346: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateChannelGroup:output_type -> google.analytics.admin.v1alpha.ChannelGroup - 212, // 347: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteChannelGroup:output_type -> google.protobuf.Empty - 126, // 348: google.analytics.admin.v1alpha.AnalyticsAdminService.SetAutomatedGa4ConfigurationOptOut:output_type -> google.analytics.admin.v1alpha.SetAutomatedGa4ConfigurationOptOutResponse - 128, // 349: google.analytics.admin.v1alpha.AnalyticsAdminService.FetchAutomatedGa4ConfigurationOptOut:output_type -> google.analytics.admin.v1alpha.FetchAutomatedGa4ConfigurationOptOutResponse - 204, // 350: google.analytics.admin.v1alpha.AnalyticsAdminService.GetBigQueryLink:output_type -> google.analytics.admin.v1alpha.BigQueryLink - 131, // 351: google.analytics.admin.v1alpha.AnalyticsAdminService.ListBigQueryLinks:output_type -> google.analytics.admin.v1alpha.ListBigQueryLinksResponse - 205, // 352: google.analytics.admin.v1alpha.AnalyticsAdminService.GetEnhancedMeasurementSettings:output_type -> google.analytics.admin.v1alpha.EnhancedMeasurementSettings - 205, // 353: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateEnhancedMeasurementSettings:output_type -> google.analytics.admin.v1alpha.EnhancedMeasurementSettings - 137, // 354: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateConnectedSiteTag:output_type -> google.analytics.admin.v1alpha.CreateConnectedSiteTagResponse - 212, // 355: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteConnectedSiteTag:output_type -> google.protobuf.Empty - 140, // 356: google.analytics.admin.v1alpha.AnalyticsAdminService.ListConnectedSiteTags:output_type -> google.analytics.admin.v1alpha.ListConnectedSiteTagsResponse - 147, // 357: google.analytics.admin.v1alpha.AnalyticsAdminService.FetchConnectedGa4Property:output_type -> google.analytics.admin.v1alpha.FetchConnectedGa4PropertyResponse - 208, // 358: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAdSenseLink:output_type -> google.analytics.admin.v1alpha.AdSenseLink - 208, // 359: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateAdSenseLink:output_type -> google.analytics.admin.v1alpha.AdSenseLink - 212, // 360: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteAdSenseLink:output_type -> google.protobuf.Empty - 145, // 361: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAdSenseLinks:output_type -> google.analytics.admin.v1alpha.ListAdSenseLinksResponse - 209, // 362: google.analytics.admin.v1alpha.AnalyticsAdminService.GetEventCreateRule:output_type -> google.analytics.admin.v1alpha.EventCreateRule - 153, // 363: google.analytics.admin.v1alpha.AnalyticsAdminService.ListEventCreateRules:output_type -> google.analytics.admin.v1alpha.ListEventCreateRulesResponse - 209, // 364: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateEventCreateRule:output_type -> google.analytics.admin.v1alpha.EventCreateRule - 209, // 365: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateEventCreateRule:output_type -> google.analytics.admin.v1alpha.EventCreateRule - 212, // 366: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteEventCreateRule:output_type -> google.protobuf.Empty - 206, // 367: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDataRedactionSettings:output_type -> google.analytics.admin.v1alpha.DataRedactionSettings - 206, // 368: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataRedactionSettings:output_type -> google.analytics.admin.v1alpha.DataRedactionSettings - 155, // 369: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateRollupProperty:output_type -> google.analytics.admin.v1alpha.CreateRollupPropertyResponse - 210, // 370: google.analytics.admin.v1alpha.AnalyticsAdminService.GetRollupPropertySourceLink:output_type -> google.analytics.admin.v1alpha.RollupPropertySourceLink - 158, // 371: google.analytics.admin.v1alpha.AnalyticsAdminService.ListRollupPropertySourceLinks:output_type -> google.analytics.admin.v1alpha.ListRollupPropertySourceLinksResponse - 210, // 372: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateRollupPropertySourceLink:output_type -> google.analytics.admin.v1alpha.RollupPropertySourceLink - 212, // 373: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteRollupPropertySourceLink:output_type -> google.protobuf.Empty - 162, // 374: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSubproperty:output_type -> google.analytics.admin.v1alpha.CreateSubpropertyResponse - 211, // 375: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSubpropertyEventFilter:output_type -> google.analytics.admin.v1alpha.SubpropertyEventFilter - 211, // 376: google.analytics.admin.v1alpha.AnalyticsAdminService.GetSubpropertyEventFilter:output_type -> google.analytics.admin.v1alpha.SubpropertyEventFilter - 166, // 377: google.analytics.admin.v1alpha.AnalyticsAdminService.ListSubpropertyEventFilters:output_type -> google.analytics.admin.v1alpha.ListSubpropertyEventFiltersResponse - 211, // 378: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateSubpropertyEventFilter:output_type -> google.analytics.admin.v1alpha.SubpropertyEventFilter - 212, // 379: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteSubpropertyEventFilter:output_type -> google.protobuf.Empty - 249, // [249:380] is the sub-list for method output_type - 118, // [118:249] is the sub-list for method input_type - 118, // [118:118] is the sub-list for extension type_name - 118, // [118:118] is the sub-list for extension extendee - 0, // [0:118] is the sub-list for field type_name + 175, // 0: google.analytics.admin.v1alpha.RunAccessReportRequest.dimensions:type_name -> google.analytics.admin.v1alpha.AccessDimension + 176, // 1: google.analytics.admin.v1alpha.RunAccessReportRequest.metrics:type_name -> google.analytics.admin.v1alpha.AccessMetric + 177, // 2: google.analytics.admin.v1alpha.RunAccessReportRequest.date_ranges:type_name -> google.analytics.admin.v1alpha.AccessDateRange + 178, // 3: google.analytics.admin.v1alpha.RunAccessReportRequest.dimension_filter:type_name -> google.analytics.admin.v1alpha.AccessFilterExpression + 178, // 4: google.analytics.admin.v1alpha.RunAccessReportRequest.metric_filter:type_name -> google.analytics.admin.v1alpha.AccessFilterExpression + 179, // 5: google.analytics.admin.v1alpha.RunAccessReportRequest.order_bys:type_name -> google.analytics.admin.v1alpha.AccessOrderBy + 180, // 6: google.analytics.admin.v1alpha.RunAccessReportResponse.dimension_headers:type_name -> google.analytics.admin.v1alpha.AccessDimensionHeader + 181, // 7: google.analytics.admin.v1alpha.RunAccessReportResponse.metric_headers:type_name -> google.analytics.admin.v1alpha.AccessMetricHeader + 182, // 8: google.analytics.admin.v1alpha.RunAccessReportResponse.rows:type_name -> google.analytics.admin.v1alpha.AccessRow + 183, // 9: google.analytics.admin.v1alpha.RunAccessReportResponse.quota:type_name -> google.analytics.admin.v1alpha.AccessQuota + 184, // 10: google.analytics.admin.v1alpha.ListAccountsResponse.accounts:type_name -> google.analytics.admin.v1alpha.Account + 184, // 11: google.analytics.admin.v1alpha.UpdateAccountRequest.account:type_name -> google.analytics.admin.v1alpha.Account + 185, // 12: google.analytics.admin.v1alpha.UpdateAccountRequest.update_mask:type_name -> google.protobuf.FieldMask + 184, // 13: google.analytics.admin.v1alpha.ProvisionAccountTicketRequest.account:type_name -> google.analytics.admin.v1alpha.Account + 186, // 14: google.analytics.admin.v1alpha.ListPropertiesResponse.properties:type_name -> google.analytics.admin.v1alpha.Property + 186, // 15: google.analytics.admin.v1alpha.UpdatePropertyRequest.property:type_name -> google.analytics.admin.v1alpha.Property + 185, // 16: google.analytics.admin.v1alpha.UpdatePropertyRequest.update_mask:type_name -> google.protobuf.FieldMask + 186, // 17: google.analytics.admin.v1alpha.CreatePropertyRequest.property:type_name -> google.analytics.admin.v1alpha.Property + 187, // 18: google.analytics.admin.v1alpha.CreateFirebaseLinkRequest.firebase_link:type_name -> google.analytics.admin.v1alpha.FirebaseLink + 187, // 19: google.analytics.admin.v1alpha.ListFirebaseLinksResponse.firebase_links:type_name -> google.analytics.admin.v1alpha.FirebaseLink + 188, // 20: google.analytics.admin.v1alpha.CreateGoogleAdsLinkRequest.google_ads_link:type_name -> google.analytics.admin.v1alpha.GoogleAdsLink + 188, // 21: google.analytics.admin.v1alpha.UpdateGoogleAdsLinkRequest.google_ads_link:type_name -> google.analytics.admin.v1alpha.GoogleAdsLink + 185, // 22: google.analytics.admin.v1alpha.UpdateGoogleAdsLinkRequest.update_mask:type_name -> google.protobuf.FieldMask + 188, // 23: google.analytics.admin.v1alpha.ListGoogleAdsLinksResponse.google_ads_links:type_name -> google.analytics.admin.v1alpha.GoogleAdsLink + 189, // 24: google.analytics.admin.v1alpha.ListAccountSummariesResponse.account_summaries:type_name -> google.analytics.admin.v1alpha.AccountSummary + 190, // 25: google.analytics.admin.v1alpha.SearchChangeHistoryEventsRequest.resource_type:type_name -> google.analytics.admin.v1alpha.ChangeHistoryResourceType + 191, // 26: google.analytics.admin.v1alpha.SearchChangeHistoryEventsRequest.action:type_name -> google.analytics.admin.v1alpha.ActionType + 192, // 27: google.analytics.admin.v1alpha.SearchChangeHistoryEventsRequest.earliest_change_time:type_name -> google.protobuf.Timestamp + 192, // 28: google.analytics.admin.v1alpha.SearchChangeHistoryEventsRequest.latest_change_time:type_name -> google.protobuf.Timestamp + 193, // 29: google.analytics.admin.v1alpha.SearchChangeHistoryEventsResponse.change_history_events:type_name -> google.analytics.admin.v1alpha.ChangeHistoryEvent + 194, // 30: google.analytics.admin.v1alpha.CreateMeasurementProtocolSecretRequest.measurement_protocol_secret:type_name -> google.analytics.admin.v1alpha.MeasurementProtocolSecret + 194, // 31: google.analytics.admin.v1alpha.UpdateMeasurementProtocolSecretRequest.measurement_protocol_secret:type_name -> google.analytics.admin.v1alpha.MeasurementProtocolSecret + 185, // 32: google.analytics.admin.v1alpha.UpdateMeasurementProtocolSecretRequest.update_mask:type_name -> google.protobuf.FieldMask + 194, // 33: google.analytics.admin.v1alpha.ListMeasurementProtocolSecretsResponse.measurement_protocol_secrets:type_name -> google.analytics.admin.v1alpha.MeasurementProtocolSecret + 195, // 34: google.analytics.admin.v1alpha.CreateSKAdNetworkConversionValueSchemaRequest.skadnetwork_conversion_value_schema:type_name -> google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema + 195, // 35: google.analytics.admin.v1alpha.UpdateSKAdNetworkConversionValueSchemaRequest.skadnetwork_conversion_value_schema:type_name -> google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema + 185, // 36: google.analytics.admin.v1alpha.UpdateSKAdNetworkConversionValueSchemaRequest.update_mask:type_name -> google.protobuf.FieldMask + 195, // 37: google.analytics.admin.v1alpha.ListSKAdNetworkConversionValueSchemasResponse.skadnetwork_conversion_value_schemas:type_name -> google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema + 196, // 38: google.analytics.admin.v1alpha.UpdateGoogleSignalsSettingsRequest.google_signals_settings:type_name -> google.analytics.admin.v1alpha.GoogleSignalsSettings + 185, // 39: google.analytics.admin.v1alpha.UpdateGoogleSignalsSettingsRequest.update_mask:type_name -> google.protobuf.FieldMask + 197, // 40: google.analytics.admin.v1alpha.CreateConversionEventRequest.conversion_event:type_name -> google.analytics.admin.v1alpha.ConversionEvent + 197, // 41: google.analytics.admin.v1alpha.UpdateConversionEventRequest.conversion_event:type_name -> google.analytics.admin.v1alpha.ConversionEvent + 185, // 42: google.analytics.admin.v1alpha.UpdateConversionEventRequest.update_mask:type_name -> google.protobuf.FieldMask + 197, // 43: google.analytics.admin.v1alpha.ListConversionEventsResponse.conversion_events:type_name -> google.analytics.admin.v1alpha.ConversionEvent + 198, // 44: google.analytics.admin.v1alpha.ListDisplayVideo360AdvertiserLinksResponse.display_video_360_advertiser_links:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink + 198, // 45: google.analytics.admin.v1alpha.CreateDisplayVideo360AdvertiserLinkRequest.display_video_360_advertiser_link:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink + 198, // 46: google.analytics.admin.v1alpha.UpdateDisplayVideo360AdvertiserLinkRequest.display_video_360_advertiser_link:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink + 185, // 47: google.analytics.admin.v1alpha.UpdateDisplayVideo360AdvertiserLinkRequest.update_mask:type_name -> google.protobuf.FieldMask + 199, // 48: google.analytics.admin.v1alpha.ListDisplayVideo360AdvertiserLinkProposalsResponse.display_video_360_advertiser_link_proposals:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal + 199, // 49: google.analytics.admin.v1alpha.CreateDisplayVideo360AdvertiserLinkProposalRequest.display_video_360_advertiser_link_proposal:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal + 198, // 50: google.analytics.admin.v1alpha.ApproveDisplayVideo360AdvertiserLinkProposalResponse.display_video_360_advertiser_link:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink + 200, // 51: google.analytics.admin.v1alpha.ListSearchAds360LinksResponse.search_ads_360_links:type_name -> google.analytics.admin.v1alpha.SearchAds360Link + 200, // 52: google.analytics.admin.v1alpha.CreateSearchAds360LinkRequest.search_ads_360_link:type_name -> google.analytics.admin.v1alpha.SearchAds360Link + 200, // 53: google.analytics.admin.v1alpha.UpdateSearchAds360LinkRequest.search_ads_360_link:type_name -> google.analytics.admin.v1alpha.SearchAds360Link + 185, // 54: google.analytics.admin.v1alpha.UpdateSearchAds360LinkRequest.update_mask:type_name -> google.protobuf.FieldMask + 201, // 55: google.analytics.admin.v1alpha.CreateCustomDimensionRequest.custom_dimension:type_name -> google.analytics.admin.v1alpha.CustomDimension + 201, // 56: google.analytics.admin.v1alpha.UpdateCustomDimensionRequest.custom_dimension:type_name -> google.analytics.admin.v1alpha.CustomDimension + 185, // 57: google.analytics.admin.v1alpha.UpdateCustomDimensionRequest.update_mask:type_name -> google.protobuf.FieldMask + 201, // 58: google.analytics.admin.v1alpha.ListCustomDimensionsResponse.custom_dimensions:type_name -> google.analytics.admin.v1alpha.CustomDimension + 202, // 59: google.analytics.admin.v1alpha.CreateCustomMetricRequest.custom_metric:type_name -> google.analytics.admin.v1alpha.CustomMetric + 202, // 60: google.analytics.admin.v1alpha.UpdateCustomMetricRequest.custom_metric:type_name -> google.analytics.admin.v1alpha.CustomMetric + 185, // 61: google.analytics.admin.v1alpha.UpdateCustomMetricRequest.update_mask:type_name -> google.protobuf.FieldMask + 202, // 62: google.analytics.admin.v1alpha.ListCustomMetricsResponse.custom_metrics:type_name -> google.analytics.admin.v1alpha.CustomMetric + 203, // 63: google.analytics.admin.v1alpha.CreateCalculatedMetricRequest.calculated_metric:type_name -> google.analytics.admin.v1alpha.CalculatedMetric + 203, // 64: google.analytics.admin.v1alpha.UpdateCalculatedMetricRequest.calculated_metric:type_name -> google.analytics.admin.v1alpha.CalculatedMetric + 185, // 65: google.analytics.admin.v1alpha.UpdateCalculatedMetricRequest.update_mask:type_name -> google.protobuf.FieldMask + 203, // 66: google.analytics.admin.v1alpha.ListCalculatedMetricsResponse.calculated_metrics:type_name -> google.analytics.admin.v1alpha.CalculatedMetric + 204, // 67: google.analytics.admin.v1alpha.UpdateDataRetentionSettingsRequest.data_retention_settings:type_name -> google.analytics.admin.v1alpha.DataRetentionSettings + 185, // 68: google.analytics.admin.v1alpha.UpdateDataRetentionSettingsRequest.update_mask:type_name -> google.protobuf.FieldMask + 205, // 69: google.analytics.admin.v1alpha.CreateDataStreamRequest.data_stream:type_name -> google.analytics.admin.v1alpha.DataStream + 205, // 70: google.analytics.admin.v1alpha.UpdateDataStreamRequest.data_stream:type_name -> google.analytics.admin.v1alpha.DataStream + 185, // 71: google.analytics.admin.v1alpha.UpdateDataStreamRequest.update_mask:type_name -> google.protobuf.FieldMask + 205, // 72: google.analytics.admin.v1alpha.ListDataStreamsResponse.data_streams:type_name -> google.analytics.admin.v1alpha.DataStream + 206, // 73: google.analytics.admin.v1alpha.ListAudiencesResponse.audiences:type_name -> google.analytics.admin.v1alpha.Audience + 206, // 74: google.analytics.admin.v1alpha.CreateAudienceRequest.audience:type_name -> google.analytics.admin.v1alpha.Audience + 206, // 75: google.analytics.admin.v1alpha.UpdateAudienceRequest.audience:type_name -> google.analytics.admin.v1alpha.Audience + 185, // 76: google.analytics.admin.v1alpha.UpdateAudienceRequest.update_mask:type_name -> google.protobuf.FieldMask + 207, // 77: google.analytics.admin.v1alpha.UpdateAttributionSettingsRequest.attribution_settings:type_name -> google.analytics.admin.v1alpha.AttributionSettings + 185, // 78: google.analytics.admin.v1alpha.UpdateAttributionSettingsRequest.update_mask:type_name -> google.protobuf.FieldMask + 208, // 79: google.analytics.admin.v1alpha.BatchGetAccessBindingsResponse.access_bindings:type_name -> google.analytics.admin.v1alpha.AccessBinding + 208, // 80: google.analytics.admin.v1alpha.ListAccessBindingsResponse.access_bindings:type_name -> google.analytics.admin.v1alpha.AccessBinding + 208, // 81: google.analytics.admin.v1alpha.CreateAccessBindingRequest.access_binding:type_name -> google.analytics.admin.v1alpha.AccessBinding + 111, // 82: google.analytics.admin.v1alpha.BatchCreateAccessBindingsRequest.requests:type_name -> google.analytics.admin.v1alpha.CreateAccessBindingRequest + 208, // 83: google.analytics.admin.v1alpha.BatchCreateAccessBindingsResponse.access_bindings:type_name -> google.analytics.admin.v1alpha.AccessBinding + 208, // 84: google.analytics.admin.v1alpha.UpdateAccessBindingRequest.access_binding:type_name -> google.analytics.admin.v1alpha.AccessBinding + 114, // 85: google.analytics.admin.v1alpha.BatchUpdateAccessBindingsRequest.requests:type_name -> google.analytics.admin.v1alpha.UpdateAccessBindingRequest + 208, // 86: google.analytics.admin.v1alpha.BatchUpdateAccessBindingsResponse.access_bindings:type_name -> google.analytics.admin.v1alpha.AccessBinding + 117, // 87: google.analytics.admin.v1alpha.BatchDeleteAccessBindingsRequest.requests:type_name -> google.analytics.admin.v1alpha.DeleteAccessBindingRequest + 209, // 88: google.analytics.admin.v1alpha.CreateExpandedDataSetRequest.expanded_data_set:type_name -> google.analytics.admin.v1alpha.ExpandedDataSet + 209, // 89: google.analytics.admin.v1alpha.UpdateExpandedDataSetRequest.expanded_data_set:type_name -> google.analytics.admin.v1alpha.ExpandedDataSet + 185, // 90: google.analytics.admin.v1alpha.UpdateExpandedDataSetRequest.update_mask:type_name -> google.protobuf.FieldMask + 209, // 91: google.analytics.admin.v1alpha.ListExpandedDataSetsResponse.expanded_data_sets:type_name -> google.analytics.admin.v1alpha.ExpandedDataSet + 210, // 92: google.analytics.admin.v1alpha.CreateChannelGroupRequest.channel_group:type_name -> google.analytics.admin.v1alpha.ChannelGroup + 210, // 93: google.analytics.admin.v1alpha.UpdateChannelGroupRequest.channel_group:type_name -> google.analytics.admin.v1alpha.ChannelGroup + 185, // 94: google.analytics.admin.v1alpha.UpdateChannelGroupRequest.update_mask:type_name -> google.protobuf.FieldMask + 210, // 95: google.analytics.admin.v1alpha.ListChannelGroupsResponse.channel_groups:type_name -> google.analytics.admin.v1alpha.ChannelGroup + 211, // 96: google.analytics.admin.v1alpha.ListBigQueryLinksResponse.bigquery_links:type_name -> google.analytics.admin.v1alpha.BigQueryLink + 212, // 97: google.analytics.admin.v1alpha.UpdateEnhancedMeasurementSettingsRequest.enhanced_measurement_settings:type_name -> google.analytics.admin.v1alpha.EnhancedMeasurementSettings + 185, // 98: google.analytics.admin.v1alpha.UpdateEnhancedMeasurementSettingsRequest.update_mask:type_name -> google.protobuf.FieldMask + 213, // 99: google.analytics.admin.v1alpha.UpdateDataRedactionSettingsRequest.data_redaction_settings:type_name -> google.analytics.admin.v1alpha.DataRedactionSettings + 185, // 100: google.analytics.admin.v1alpha.UpdateDataRedactionSettingsRequest.update_mask:type_name -> google.protobuf.FieldMask + 214, // 101: google.analytics.admin.v1alpha.CreateConnectedSiteTagRequest.connected_site_tag:type_name -> google.analytics.admin.v1alpha.ConnectedSiteTag + 214, // 102: google.analytics.admin.v1alpha.ListConnectedSiteTagsResponse.connected_site_tags:type_name -> google.analytics.admin.v1alpha.ConnectedSiteTag + 215, // 103: google.analytics.admin.v1alpha.CreateAdSenseLinkRequest.adsense_link:type_name -> google.analytics.admin.v1alpha.AdSenseLink + 215, // 104: google.analytics.admin.v1alpha.ListAdSenseLinksResponse.adsense_links:type_name -> google.analytics.admin.v1alpha.AdSenseLink + 216, // 105: google.analytics.admin.v1alpha.CreateEventCreateRuleRequest.event_create_rule:type_name -> google.analytics.admin.v1alpha.EventCreateRule + 216, // 106: google.analytics.admin.v1alpha.UpdateEventCreateRuleRequest.event_create_rule:type_name -> google.analytics.admin.v1alpha.EventCreateRule + 185, // 107: google.analytics.admin.v1alpha.UpdateEventCreateRuleRequest.update_mask:type_name -> google.protobuf.FieldMask + 216, // 108: google.analytics.admin.v1alpha.ListEventCreateRulesResponse.event_create_rules:type_name -> google.analytics.admin.v1alpha.EventCreateRule + 186, // 109: google.analytics.admin.v1alpha.CreateRollupPropertyRequest.rollup_property:type_name -> google.analytics.admin.v1alpha.Property + 186, // 110: google.analytics.admin.v1alpha.CreateRollupPropertyResponse.rollup_property:type_name -> google.analytics.admin.v1alpha.Property + 217, // 111: google.analytics.admin.v1alpha.CreateRollupPropertyResponse.rollup_property_source_links:type_name -> google.analytics.admin.v1alpha.RollupPropertySourceLink + 217, // 112: google.analytics.admin.v1alpha.ListRollupPropertySourceLinksResponse.rollup_property_source_links:type_name -> google.analytics.admin.v1alpha.RollupPropertySourceLink + 217, // 113: google.analytics.admin.v1alpha.CreateRollupPropertySourceLinkRequest.rollup_property_source_link:type_name -> google.analytics.admin.v1alpha.RollupPropertySourceLink + 186, // 114: google.analytics.admin.v1alpha.CreateSubpropertyRequest.subproperty:type_name -> google.analytics.admin.v1alpha.Property + 218, // 115: google.analytics.admin.v1alpha.CreateSubpropertyRequest.subproperty_event_filter:type_name -> google.analytics.admin.v1alpha.SubpropertyEventFilter + 186, // 116: google.analytics.admin.v1alpha.CreateSubpropertyResponse.subproperty:type_name -> google.analytics.admin.v1alpha.Property + 218, // 117: google.analytics.admin.v1alpha.CreateSubpropertyResponse.subproperty_event_filter:type_name -> google.analytics.admin.v1alpha.SubpropertyEventFilter + 218, // 118: google.analytics.admin.v1alpha.CreateSubpropertyEventFilterRequest.subproperty_event_filter:type_name -> google.analytics.admin.v1alpha.SubpropertyEventFilter + 218, // 119: google.analytics.admin.v1alpha.ListSubpropertyEventFiltersResponse.subproperty_event_filters:type_name -> google.analytics.admin.v1alpha.SubpropertyEventFilter + 218, // 120: google.analytics.admin.v1alpha.UpdateSubpropertyEventFilterRequest.subproperty_event_filter:type_name -> google.analytics.admin.v1alpha.SubpropertyEventFilter + 185, // 121: google.analytics.admin.v1alpha.UpdateSubpropertyEventFilterRequest.update_mask:type_name -> google.protobuf.FieldMask + 2, // 122: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAccount:input_type -> google.analytics.admin.v1alpha.GetAccountRequest + 3, // 123: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccounts:input_type -> google.analytics.admin.v1alpha.ListAccountsRequest + 5, // 124: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteAccount:input_type -> google.analytics.admin.v1alpha.DeleteAccountRequest + 6, // 125: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAccount:input_type -> google.analytics.admin.v1alpha.UpdateAccountRequest + 7, // 126: google.analytics.admin.v1alpha.AnalyticsAdminService.ProvisionAccountTicket:input_type -> google.analytics.admin.v1alpha.ProvisionAccountTicketRequest + 26, // 127: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccountSummaries:input_type -> google.analytics.admin.v1alpha.ListAccountSummariesRequest + 9, // 128: google.analytics.admin.v1alpha.AnalyticsAdminService.GetProperty:input_type -> google.analytics.admin.v1alpha.GetPropertyRequest + 10, // 129: google.analytics.admin.v1alpha.AnalyticsAdminService.ListProperties:input_type -> google.analytics.admin.v1alpha.ListPropertiesRequest + 13, // 130: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateProperty:input_type -> google.analytics.admin.v1alpha.CreatePropertyRequest + 14, // 131: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteProperty:input_type -> google.analytics.admin.v1alpha.DeletePropertyRequest + 12, // 132: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateProperty:input_type -> google.analytics.admin.v1alpha.UpdatePropertyRequest + 15, // 133: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateFirebaseLink:input_type -> google.analytics.admin.v1alpha.CreateFirebaseLinkRequest + 16, // 134: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteFirebaseLink:input_type -> google.analytics.admin.v1alpha.DeleteFirebaseLinkRequest + 17, // 135: google.analytics.admin.v1alpha.AnalyticsAdminService.ListFirebaseLinks:input_type -> google.analytics.admin.v1alpha.ListFirebaseLinksRequest + 19, // 136: google.analytics.admin.v1alpha.AnalyticsAdminService.GetGlobalSiteTag:input_type -> google.analytics.admin.v1alpha.GetGlobalSiteTagRequest + 20, // 137: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateGoogleAdsLink:input_type -> google.analytics.admin.v1alpha.CreateGoogleAdsLinkRequest + 21, // 138: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateGoogleAdsLink:input_type -> google.analytics.admin.v1alpha.UpdateGoogleAdsLinkRequest + 22, // 139: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteGoogleAdsLink:input_type -> google.analytics.admin.v1alpha.DeleteGoogleAdsLinkRequest + 23, // 140: google.analytics.admin.v1alpha.AnalyticsAdminService.ListGoogleAdsLinks:input_type -> google.analytics.admin.v1alpha.ListGoogleAdsLinksRequest + 25, // 141: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataSharingSettings:input_type -> google.analytics.admin.v1alpha.GetDataSharingSettingsRequest + 32, // 142: google.analytics.admin.v1alpha.AnalyticsAdminService.GetMeasurementProtocolSecret:input_type -> google.analytics.admin.v1alpha.GetMeasurementProtocolSecretRequest + 36, // 143: google.analytics.admin.v1alpha.AnalyticsAdminService.ListMeasurementProtocolSecrets:input_type -> google.analytics.admin.v1alpha.ListMeasurementProtocolSecretsRequest + 33, // 144: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateMeasurementProtocolSecret:input_type -> google.analytics.admin.v1alpha.CreateMeasurementProtocolSecretRequest + 34, // 145: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteMeasurementProtocolSecret:input_type -> google.analytics.admin.v1alpha.DeleteMeasurementProtocolSecretRequest + 35, // 146: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateMeasurementProtocolSecret:input_type -> google.analytics.admin.v1alpha.UpdateMeasurementProtocolSecretRequest + 28, // 147: google.analytics.admin.v1alpha.AnalyticsAdminService.AcknowledgeUserDataCollection:input_type -> google.analytics.admin.v1alpha.AcknowledgeUserDataCollectionRequest + 38, // 148: google.analytics.admin.v1alpha.AnalyticsAdminService.GetSKAdNetworkConversionValueSchema:input_type -> google.analytics.admin.v1alpha.GetSKAdNetworkConversionValueSchemaRequest + 39, // 149: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSKAdNetworkConversionValueSchema:input_type -> google.analytics.admin.v1alpha.CreateSKAdNetworkConversionValueSchemaRequest + 40, // 150: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteSKAdNetworkConversionValueSchema:input_type -> google.analytics.admin.v1alpha.DeleteSKAdNetworkConversionValueSchemaRequest + 41, // 151: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateSKAdNetworkConversionValueSchema:input_type -> google.analytics.admin.v1alpha.UpdateSKAdNetworkConversionValueSchemaRequest + 42, // 152: google.analytics.admin.v1alpha.AnalyticsAdminService.ListSKAdNetworkConversionValueSchemas:input_type -> google.analytics.admin.v1alpha.ListSKAdNetworkConversionValueSchemasRequest + 30, // 153: google.analytics.admin.v1alpha.AnalyticsAdminService.SearchChangeHistoryEvents:input_type -> google.analytics.admin.v1alpha.SearchChangeHistoryEventsRequest + 44, // 154: google.analytics.admin.v1alpha.AnalyticsAdminService.GetGoogleSignalsSettings:input_type -> google.analytics.admin.v1alpha.GetGoogleSignalsSettingsRequest + 45, // 155: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateGoogleSignalsSettings:input_type -> google.analytics.admin.v1alpha.UpdateGoogleSignalsSettingsRequest + 46, // 156: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateConversionEvent:input_type -> google.analytics.admin.v1alpha.CreateConversionEventRequest + 47, // 157: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateConversionEvent:input_type -> google.analytics.admin.v1alpha.UpdateConversionEventRequest + 48, // 158: google.analytics.admin.v1alpha.AnalyticsAdminService.GetConversionEvent:input_type -> google.analytics.admin.v1alpha.GetConversionEventRequest + 49, // 159: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteConversionEvent:input_type -> google.analytics.admin.v1alpha.DeleteConversionEventRequest + 50, // 160: google.analytics.admin.v1alpha.AnalyticsAdminService.ListConversionEvents:input_type -> google.analytics.admin.v1alpha.ListConversionEventsRequest + 52, // 161: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDisplayVideo360AdvertiserLink:input_type -> google.analytics.admin.v1alpha.GetDisplayVideo360AdvertiserLinkRequest + 53, // 162: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDisplayVideo360AdvertiserLinks:input_type -> google.analytics.admin.v1alpha.ListDisplayVideo360AdvertiserLinksRequest + 55, // 163: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateDisplayVideo360AdvertiserLink:input_type -> google.analytics.admin.v1alpha.CreateDisplayVideo360AdvertiserLinkRequest + 56, // 164: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteDisplayVideo360AdvertiserLink:input_type -> google.analytics.admin.v1alpha.DeleteDisplayVideo360AdvertiserLinkRequest + 57, // 165: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDisplayVideo360AdvertiserLink:input_type -> google.analytics.admin.v1alpha.UpdateDisplayVideo360AdvertiserLinkRequest + 58, // 166: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDisplayVideo360AdvertiserLinkProposal:input_type -> google.analytics.admin.v1alpha.GetDisplayVideo360AdvertiserLinkProposalRequest + 59, // 167: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDisplayVideo360AdvertiserLinkProposals:input_type -> google.analytics.admin.v1alpha.ListDisplayVideo360AdvertiserLinkProposalsRequest + 61, // 168: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateDisplayVideo360AdvertiserLinkProposal:input_type -> google.analytics.admin.v1alpha.CreateDisplayVideo360AdvertiserLinkProposalRequest + 62, // 169: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteDisplayVideo360AdvertiserLinkProposal:input_type -> google.analytics.admin.v1alpha.DeleteDisplayVideo360AdvertiserLinkProposalRequest + 63, // 170: google.analytics.admin.v1alpha.AnalyticsAdminService.ApproveDisplayVideo360AdvertiserLinkProposal:input_type -> google.analytics.admin.v1alpha.ApproveDisplayVideo360AdvertiserLinkProposalRequest + 65, // 171: google.analytics.admin.v1alpha.AnalyticsAdminService.CancelDisplayVideo360AdvertiserLinkProposal:input_type -> google.analytics.admin.v1alpha.CancelDisplayVideo360AdvertiserLinkProposalRequest + 72, // 172: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateCustomDimension:input_type -> google.analytics.admin.v1alpha.CreateCustomDimensionRequest + 73, // 173: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateCustomDimension:input_type -> google.analytics.admin.v1alpha.UpdateCustomDimensionRequest + 74, // 174: google.analytics.admin.v1alpha.AnalyticsAdminService.ListCustomDimensions:input_type -> google.analytics.admin.v1alpha.ListCustomDimensionsRequest + 76, // 175: google.analytics.admin.v1alpha.AnalyticsAdminService.ArchiveCustomDimension:input_type -> google.analytics.admin.v1alpha.ArchiveCustomDimensionRequest + 77, // 176: google.analytics.admin.v1alpha.AnalyticsAdminService.GetCustomDimension:input_type -> google.analytics.admin.v1alpha.GetCustomDimensionRequest + 78, // 177: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateCustomMetric:input_type -> google.analytics.admin.v1alpha.CreateCustomMetricRequest + 79, // 178: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateCustomMetric:input_type -> google.analytics.admin.v1alpha.UpdateCustomMetricRequest + 80, // 179: google.analytics.admin.v1alpha.AnalyticsAdminService.ListCustomMetrics:input_type -> google.analytics.admin.v1alpha.ListCustomMetricsRequest + 82, // 180: google.analytics.admin.v1alpha.AnalyticsAdminService.ArchiveCustomMetric:input_type -> google.analytics.admin.v1alpha.ArchiveCustomMetricRequest + 83, // 181: google.analytics.admin.v1alpha.AnalyticsAdminService.GetCustomMetric:input_type -> google.analytics.admin.v1alpha.GetCustomMetricRequest + 90, // 182: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataRetentionSettings:input_type -> google.analytics.admin.v1alpha.GetDataRetentionSettingsRequest + 91, // 183: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDataRetentionSettings:input_type -> google.analytics.admin.v1alpha.UpdateDataRetentionSettingsRequest + 92, // 184: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateDataStream:input_type -> google.analytics.admin.v1alpha.CreateDataStreamRequest + 93, // 185: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteDataStream:input_type -> google.analytics.admin.v1alpha.DeleteDataStreamRequest + 94, // 186: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDataStream:input_type -> google.analytics.admin.v1alpha.UpdateDataStreamRequest + 95, // 187: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDataStreams:input_type -> google.analytics.admin.v1alpha.ListDataStreamsRequest + 97, // 188: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataStream:input_type -> google.analytics.admin.v1alpha.GetDataStreamRequest + 98, // 189: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAudience:input_type -> google.analytics.admin.v1alpha.GetAudienceRequest + 99, // 190: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAudiences:input_type -> google.analytics.admin.v1alpha.ListAudiencesRequest + 101, // 191: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateAudience:input_type -> google.analytics.admin.v1alpha.CreateAudienceRequest + 102, // 192: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAudience:input_type -> google.analytics.admin.v1alpha.UpdateAudienceRequest + 103, // 193: google.analytics.admin.v1alpha.AnalyticsAdminService.ArchiveAudience:input_type -> google.analytics.admin.v1alpha.ArchiveAudienceRequest + 66, // 194: google.analytics.admin.v1alpha.AnalyticsAdminService.GetSearchAds360Link:input_type -> google.analytics.admin.v1alpha.GetSearchAds360LinkRequest + 67, // 195: google.analytics.admin.v1alpha.AnalyticsAdminService.ListSearchAds360Links:input_type -> google.analytics.admin.v1alpha.ListSearchAds360LinksRequest + 69, // 196: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSearchAds360Link:input_type -> google.analytics.admin.v1alpha.CreateSearchAds360LinkRequest + 70, // 197: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteSearchAds360Link:input_type -> google.analytics.admin.v1alpha.DeleteSearchAds360LinkRequest + 71, // 198: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateSearchAds360Link:input_type -> google.analytics.admin.v1alpha.UpdateSearchAds360LinkRequest + 104, // 199: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAttributionSettings:input_type -> google.analytics.admin.v1alpha.GetAttributionSettingsRequest + 105, // 200: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAttributionSettings:input_type -> google.analytics.admin.v1alpha.UpdateAttributionSettingsRequest + 0, // 201: google.analytics.admin.v1alpha.AnalyticsAdminService.RunAccessReport:input_type -> google.analytics.admin.v1alpha.RunAccessReportRequest + 111, // 202: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateAccessBinding:input_type -> google.analytics.admin.v1alpha.CreateAccessBindingRequest + 106, // 203: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAccessBinding:input_type -> google.analytics.admin.v1alpha.GetAccessBindingRequest + 114, // 204: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAccessBinding:input_type -> google.analytics.admin.v1alpha.UpdateAccessBindingRequest + 117, // 205: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteAccessBinding:input_type -> google.analytics.admin.v1alpha.DeleteAccessBindingRequest + 109, // 206: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccessBindings:input_type -> google.analytics.admin.v1alpha.ListAccessBindingsRequest + 112, // 207: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchCreateAccessBindings:input_type -> google.analytics.admin.v1alpha.BatchCreateAccessBindingsRequest + 107, // 208: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchGetAccessBindings:input_type -> google.analytics.admin.v1alpha.BatchGetAccessBindingsRequest + 115, // 209: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchUpdateAccessBindings:input_type -> google.analytics.admin.v1alpha.BatchUpdateAccessBindingsRequest + 118, // 210: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchDeleteAccessBindings:input_type -> google.analytics.admin.v1alpha.BatchDeleteAccessBindingsRequest + 122, // 211: google.analytics.admin.v1alpha.AnalyticsAdminService.GetExpandedDataSet:input_type -> google.analytics.admin.v1alpha.GetExpandedDataSetRequest + 123, // 212: google.analytics.admin.v1alpha.AnalyticsAdminService.ListExpandedDataSets:input_type -> google.analytics.admin.v1alpha.ListExpandedDataSetsRequest + 119, // 213: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateExpandedDataSet:input_type -> google.analytics.admin.v1alpha.CreateExpandedDataSetRequest + 120, // 214: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateExpandedDataSet:input_type -> google.analytics.admin.v1alpha.UpdateExpandedDataSetRequest + 121, // 215: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteExpandedDataSet:input_type -> google.analytics.admin.v1alpha.DeleteExpandedDataSetRequest + 128, // 216: google.analytics.admin.v1alpha.AnalyticsAdminService.GetChannelGroup:input_type -> google.analytics.admin.v1alpha.GetChannelGroupRequest + 129, // 217: google.analytics.admin.v1alpha.AnalyticsAdminService.ListChannelGroups:input_type -> google.analytics.admin.v1alpha.ListChannelGroupsRequest + 125, // 218: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateChannelGroup:input_type -> google.analytics.admin.v1alpha.CreateChannelGroupRequest + 126, // 219: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateChannelGroup:input_type -> google.analytics.admin.v1alpha.UpdateChannelGroupRequest + 127, // 220: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteChannelGroup:input_type -> google.analytics.admin.v1alpha.DeleteChannelGroupRequest + 131, // 221: google.analytics.admin.v1alpha.AnalyticsAdminService.SetAutomatedGa4ConfigurationOptOut:input_type -> google.analytics.admin.v1alpha.SetAutomatedGa4ConfigurationOptOutRequest + 133, // 222: google.analytics.admin.v1alpha.AnalyticsAdminService.FetchAutomatedGa4ConfigurationOptOut:input_type -> google.analytics.admin.v1alpha.FetchAutomatedGa4ConfigurationOptOutRequest + 135, // 223: google.analytics.admin.v1alpha.AnalyticsAdminService.GetBigQueryLink:input_type -> google.analytics.admin.v1alpha.GetBigQueryLinkRequest + 136, // 224: google.analytics.admin.v1alpha.AnalyticsAdminService.ListBigQueryLinks:input_type -> google.analytics.admin.v1alpha.ListBigQueryLinksRequest + 138, // 225: google.analytics.admin.v1alpha.AnalyticsAdminService.GetEnhancedMeasurementSettings:input_type -> google.analytics.admin.v1alpha.GetEnhancedMeasurementSettingsRequest + 139, // 226: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateEnhancedMeasurementSettings:input_type -> google.analytics.admin.v1alpha.UpdateEnhancedMeasurementSettingsRequest + 142, // 227: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateConnectedSiteTag:input_type -> google.analytics.admin.v1alpha.CreateConnectedSiteTagRequest + 144, // 228: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteConnectedSiteTag:input_type -> google.analytics.admin.v1alpha.DeleteConnectedSiteTagRequest + 145, // 229: google.analytics.admin.v1alpha.AnalyticsAdminService.ListConnectedSiteTags:input_type -> google.analytics.admin.v1alpha.ListConnectedSiteTagsRequest + 152, // 230: google.analytics.admin.v1alpha.AnalyticsAdminService.FetchConnectedGa4Property:input_type -> google.analytics.admin.v1alpha.FetchConnectedGa4PropertyRequest + 148, // 231: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAdSenseLink:input_type -> google.analytics.admin.v1alpha.GetAdSenseLinkRequest + 147, // 232: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateAdSenseLink:input_type -> google.analytics.admin.v1alpha.CreateAdSenseLinkRequest + 149, // 233: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteAdSenseLink:input_type -> google.analytics.admin.v1alpha.DeleteAdSenseLinkRequest + 150, // 234: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAdSenseLinks:input_type -> google.analytics.admin.v1alpha.ListAdSenseLinksRequest + 157, // 235: google.analytics.admin.v1alpha.AnalyticsAdminService.GetEventCreateRule:input_type -> google.analytics.admin.v1alpha.GetEventCreateRuleRequest + 158, // 236: google.analytics.admin.v1alpha.AnalyticsAdminService.ListEventCreateRules:input_type -> google.analytics.admin.v1alpha.ListEventCreateRulesRequest + 154, // 237: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateEventCreateRule:input_type -> google.analytics.admin.v1alpha.CreateEventCreateRuleRequest + 155, // 238: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateEventCreateRule:input_type -> google.analytics.admin.v1alpha.UpdateEventCreateRuleRequest + 156, // 239: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteEventCreateRule:input_type -> google.analytics.admin.v1alpha.DeleteEventCreateRuleRequest + 141, // 240: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDataRedactionSettings:input_type -> google.analytics.admin.v1alpha.UpdateDataRedactionSettingsRequest + 140, // 241: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataRedactionSettings:input_type -> google.analytics.admin.v1alpha.GetDataRedactionSettingsRequest + 89, // 242: google.analytics.admin.v1alpha.AnalyticsAdminService.GetCalculatedMetric:input_type -> google.analytics.admin.v1alpha.GetCalculatedMetricRequest + 84, // 243: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateCalculatedMetric:input_type -> google.analytics.admin.v1alpha.CreateCalculatedMetricRequest + 87, // 244: google.analytics.admin.v1alpha.AnalyticsAdminService.ListCalculatedMetrics:input_type -> google.analytics.admin.v1alpha.ListCalculatedMetricsRequest + 85, // 245: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateCalculatedMetric:input_type -> google.analytics.admin.v1alpha.UpdateCalculatedMetricRequest + 86, // 246: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteCalculatedMetric:input_type -> google.analytics.admin.v1alpha.DeleteCalculatedMetricRequest + 160, // 247: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateRollupProperty:input_type -> google.analytics.admin.v1alpha.CreateRollupPropertyRequest + 162, // 248: google.analytics.admin.v1alpha.AnalyticsAdminService.GetRollupPropertySourceLink:input_type -> google.analytics.admin.v1alpha.GetRollupPropertySourceLinkRequest + 163, // 249: google.analytics.admin.v1alpha.AnalyticsAdminService.ListRollupPropertySourceLinks:input_type -> google.analytics.admin.v1alpha.ListRollupPropertySourceLinksRequest + 165, // 250: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateRollupPropertySourceLink:input_type -> google.analytics.admin.v1alpha.CreateRollupPropertySourceLinkRequest + 166, // 251: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteRollupPropertySourceLink:input_type -> google.analytics.admin.v1alpha.DeleteRollupPropertySourceLinkRequest + 167, // 252: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSubproperty:input_type -> google.analytics.admin.v1alpha.CreateSubpropertyRequest + 169, // 253: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSubpropertyEventFilter:input_type -> google.analytics.admin.v1alpha.CreateSubpropertyEventFilterRequest + 170, // 254: google.analytics.admin.v1alpha.AnalyticsAdminService.GetSubpropertyEventFilter:input_type -> google.analytics.admin.v1alpha.GetSubpropertyEventFilterRequest + 171, // 255: google.analytics.admin.v1alpha.AnalyticsAdminService.ListSubpropertyEventFilters:input_type -> google.analytics.admin.v1alpha.ListSubpropertyEventFiltersRequest + 173, // 256: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateSubpropertyEventFilter:input_type -> google.analytics.admin.v1alpha.UpdateSubpropertyEventFilterRequest + 174, // 257: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteSubpropertyEventFilter:input_type -> google.analytics.admin.v1alpha.DeleteSubpropertyEventFilterRequest + 184, // 258: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAccount:output_type -> google.analytics.admin.v1alpha.Account + 4, // 259: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccounts:output_type -> google.analytics.admin.v1alpha.ListAccountsResponse + 219, // 260: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteAccount:output_type -> google.protobuf.Empty + 184, // 261: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAccount:output_type -> google.analytics.admin.v1alpha.Account + 8, // 262: google.analytics.admin.v1alpha.AnalyticsAdminService.ProvisionAccountTicket:output_type -> google.analytics.admin.v1alpha.ProvisionAccountTicketResponse + 27, // 263: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccountSummaries:output_type -> google.analytics.admin.v1alpha.ListAccountSummariesResponse + 186, // 264: google.analytics.admin.v1alpha.AnalyticsAdminService.GetProperty:output_type -> google.analytics.admin.v1alpha.Property + 11, // 265: google.analytics.admin.v1alpha.AnalyticsAdminService.ListProperties:output_type -> google.analytics.admin.v1alpha.ListPropertiesResponse + 186, // 266: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateProperty:output_type -> google.analytics.admin.v1alpha.Property + 186, // 267: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteProperty:output_type -> google.analytics.admin.v1alpha.Property + 186, // 268: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateProperty:output_type -> google.analytics.admin.v1alpha.Property + 187, // 269: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateFirebaseLink:output_type -> google.analytics.admin.v1alpha.FirebaseLink + 219, // 270: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteFirebaseLink:output_type -> google.protobuf.Empty + 18, // 271: google.analytics.admin.v1alpha.AnalyticsAdminService.ListFirebaseLinks:output_type -> google.analytics.admin.v1alpha.ListFirebaseLinksResponse + 220, // 272: google.analytics.admin.v1alpha.AnalyticsAdminService.GetGlobalSiteTag:output_type -> google.analytics.admin.v1alpha.GlobalSiteTag + 188, // 273: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateGoogleAdsLink:output_type -> google.analytics.admin.v1alpha.GoogleAdsLink + 188, // 274: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateGoogleAdsLink:output_type -> google.analytics.admin.v1alpha.GoogleAdsLink + 219, // 275: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteGoogleAdsLink:output_type -> google.protobuf.Empty + 24, // 276: google.analytics.admin.v1alpha.AnalyticsAdminService.ListGoogleAdsLinks:output_type -> google.analytics.admin.v1alpha.ListGoogleAdsLinksResponse + 221, // 277: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataSharingSettings:output_type -> google.analytics.admin.v1alpha.DataSharingSettings + 194, // 278: google.analytics.admin.v1alpha.AnalyticsAdminService.GetMeasurementProtocolSecret:output_type -> google.analytics.admin.v1alpha.MeasurementProtocolSecret + 37, // 279: google.analytics.admin.v1alpha.AnalyticsAdminService.ListMeasurementProtocolSecrets:output_type -> google.analytics.admin.v1alpha.ListMeasurementProtocolSecretsResponse + 194, // 280: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateMeasurementProtocolSecret:output_type -> google.analytics.admin.v1alpha.MeasurementProtocolSecret + 219, // 281: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteMeasurementProtocolSecret:output_type -> google.protobuf.Empty + 194, // 282: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateMeasurementProtocolSecret:output_type -> google.analytics.admin.v1alpha.MeasurementProtocolSecret + 29, // 283: google.analytics.admin.v1alpha.AnalyticsAdminService.AcknowledgeUserDataCollection:output_type -> google.analytics.admin.v1alpha.AcknowledgeUserDataCollectionResponse + 195, // 284: google.analytics.admin.v1alpha.AnalyticsAdminService.GetSKAdNetworkConversionValueSchema:output_type -> google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema + 195, // 285: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSKAdNetworkConversionValueSchema:output_type -> google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema + 219, // 286: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteSKAdNetworkConversionValueSchema:output_type -> google.protobuf.Empty + 195, // 287: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateSKAdNetworkConversionValueSchema:output_type -> google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema + 43, // 288: google.analytics.admin.v1alpha.AnalyticsAdminService.ListSKAdNetworkConversionValueSchemas:output_type -> google.analytics.admin.v1alpha.ListSKAdNetworkConversionValueSchemasResponse + 31, // 289: google.analytics.admin.v1alpha.AnalyticsAdminService.SearchChangeHistoryEvents:output_type -> google.analytics.admin.v1alpha.SearchChangeHistoryEventsResponse + 196, // 290: google.analytics.admin.v1alpha.AnalyticsAdminService.GetGoogleSignalsSettings:output_type -> google.analytics.admin.v1alpha.GoogleSignalsSettings + 196, // 291: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateGoogleSignalsSettings:output_type -> google.analytics.admin.v1alpha.GoogleSignalsSettings + 197, // 292: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateConversionEvent:output_type -> google.analytics.admin.v1alpha.ConversionEvent + 197, // 293: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateConversionEvent:output_type -> google.analytics.admin.v1alpha.ConversionEvent + 197, // 294: google.analytics.admin.v1alpha.AnalyticsAdminService.GetConversionEvent:output_type -> google.analytics.admin.v1alpha.ConversionEvent + 219, // 295: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteConversionEvent:output_type -> google.protobuf.Empty + 51, // 296: google.analytics.admin.v1alpha.AnalyticsAdminService.ListConversionEvents:output_type -> google.analytics.admin.v1alpha.ListConversionEventsResponse + 198, // 297: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDisplayVideo360AdvertiserLink:output_type -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink + 54, // 298: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDisplayVideo360AdvertiserLinks:output_type -> google.analytics.admin.v1alpha.ListDisplayVideo360AdvertiserLinksResponse + 198, // 299: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateDisplayVideo360AdvertiserLink:output_type -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink + 219, // 300: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteDisplayVideo360AdvertiserLink:output_type -> google.protobuf.Empty + 198, // 301: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDisplayVideo360AdvertiserLink:output_type -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink + 199, // 302: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDisplayVideo360AdvertiserLinkProposal:output_type -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal + 60, // 303: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDisplayVideo360AdvertiserLinkProposals:output_type -> google.analytics.admin.v1alpha.ListDisplayVideo360AdvertiserLinkProposalsResponse + 199, // 304: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateDisplayVideo360AdvertiserLinkProposal:output_type -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal + 219, // 305: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteDisplayVideo360AdvertiserLinkProposal:output_type -> google.protobuf.Empty + 64, // 306: google.analytics.admin.v1alpha.AnalyticsAdminService.ApproveDisplayVideo360AdvertiserLinkProposal:output_type -> google.analytics.admin.v1alpha.ApproveDisplayVideo360AdvertiserLinkProposalResponse + 199, // 307: google.analytics.admin.v1alpha.AnalyticsAdminService.CancelDisplayVideo360AdvertiserLinkProposal:output_type -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal + 201, // 308: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateCustomDimension:output_type -> google.analytics.admin.v1alpha.CustomDimension + 201, // 309: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateCustomDimension:output_type -> google.analytics.admin.v1alpha.CustomDimension + 75, // 310: google.analytics.admin.v1alpha.AnalyticsAdminService.ListCustomDimensions:output_type -> google.analytics.admin.v1alpha.ListCustomDimensionsResponse + 219, // 311: google.analytics.admin.v1alpha.AnalyticsAdminService.ArchiveCustomDimension:output_type -> google.protobuf.Empty + 201, // 312: google.analytics.admin.v1alpha.AnalyticsAdminService.GetCustomDimension:output_type -> google.analytics.admin.v1alpha.CustomDimension + 202, // 313: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateCustomMetric:output_type -> google.analytics.admin.v1alpha.CustomMetric + 202, // 314: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateCustomMetric:output_type -> google.analytics.admin.v1alpha.CustomMetric + 81, // 315: google.analytics.admin.v1alpha.AnalyticsAdminService.ListCustomMetrics:output_type -> google.analytics.admin.v1alpha.ListCustomMetricsResponse + 219, // 316: google.analytics.admin.v1alpha.AnalyticsAdminService.ArchiveCustomMetric:output_type -> google.protobuf.Empty + 202, // 317: google.analytics.admin.v1alpha.AnalyticsAdminService.GetCustomMetric:output_type -> google.analytics.admin.v1alpha.CustomMetric + 204, // 318: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataRetentionSettings:output_type -> google.analytics.admin.v1alpha.DataRetentionSettings + 204, // 319: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDataRetentionSettings:output_type -> google.analytics.admin.v1alpha.DataRetentionSettings + 205, // 320: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateDataStream:output_type -> google.analytics.admin.v1alpha.DataStream + 219, // 321: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteDataStream:output_type -> google.protobuf.Empty + 205, // 322: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDataStream:output_type -> google.analytics.admin.v1alpha.DataStream + 96, // 323: google.analytics.admin.v1alpha.AnalyticsAdminService.ListDataStreams:output_type -> google.analytics.admin.v1alpha.ListDataStreamsResponse + 205, // 324: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataStream:output_type -> google.analytics.admin.v1alpha.DataStream + 206, // 325: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAudience:output_type -> google.analytics.admin.v1alpha.Audience + 100, // 326: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAudiences:output_type -> google.analytics.admin.v1alpha.ListAudiencesResponse + 206, // 327: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateAudience:output_type -> google.analytics.admin.v1alpha.Audience + 206, // 328: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAudience:output_type -> google.analytics.admin.v1alpha.Audience + 219, // 329: google.analytics.admin.v1alpha.AnalyticsAdminService.ArchiveAudience:output_type -> google.protobuf.Empty + 200, // 330: google.analytics.admin.v1alpha.AnalyticsAdminService.GetSearchAds360Link:output_type -> google.analytics.admin.v1alpha.SearchAds360Link + 68, // 331: google.analytics.admin.v1alpha.AnalyticsAdminService.ListSearchAds360Links:output_type -> google.analytics.admin.v1alpha.ListSearchAds360LinksResponse + 200, // 332: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSearchAds360Link:output_type -> google.analytics.admin.v1alpha.SearchAds360Link + 219, // 333: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteSearchAds360Link:output_type -> google.protobuf.Empty + 200, // 334: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateSearchAds360Link:output_type -> google.analytics.admin.v1alpha.SearchAds360Link + 207, // 335: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAttributionSettings:output_type -> google.analytics.admin.v1alpha.AttributionSettings + 207, // 336: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAttributionSettings:output_type -> google.analytics.admin.v1alpha.AttributionSettings + 1, // 337: google.analytics.admin.v1alpha.AnalyticsAdminService.RunAccessReport:output_type -> google.analytics.admin.v1alpha.RunAccessReportResponse + 208, // 338: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateAccessBinding:output_type -> google.analytics.admin.v1alpha.AccessBinding + 208, // 339: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAccessBinding:output_type -> google.analytics.admin.v1alpha.AccessBinding + 208, // 340: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateAccessBinding:output_type -> google.analytics.admin.v1alpha.AccessBinding + 219, // 341: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteAccessBinding:output_type -> google.protobuf.Empty + 110, // 342: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAccessBindings:output_type -> google.analytics.admin.v1alpha.ListAccessBindingsResponse + 113, // 343: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchCreateAccessBindings:output_type -> google.analytics.admin.v1alpha.BatchCreateAccessBindingsResponse + 108, // 344: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchGetAccessBindings:output_type -> google.analytics.admin.v1alpha.BatchGetAccessBindingsResponse + 116, // 345: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchUpdateAccessBindings:output_type -> google.analytics.admin.v1alpha.BatchUpdateAccessBindingsResponse + 219, // 346: google.analytics.admin.v1alpha.AnalyticsAdminService.BatchDeleteAccessBindings:output_type -> google.protobuf.Empty + 209, // 347: google.analytics.admin.v1alpha.AnalyticsAdminService.GetExpandedDataSet:output_type -> google.analytics.admin.v1alpha.ExpandedDataSet + 124, // 348: google.analytics.admin.v1alpha.AnalyticsAdminService.ListExpandedDataSets:output_type -> google.analytics.admin.v1alpha.ListExpandedDataSetsResponse + 209, // 349: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateExpandedDataSet:output_type -> google.analytics.admin.v1alpha.ExpandedDataSet + 209, // 350: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateExpandedDataSet:output_type -> google.analytics.admin.v1alpha.ExpandedDataSet + 219, // 351: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteExpandedDataSet:output_type -> google.protobuf.Empty + 210, // 352: google.analytics.admin.v1alpha.AnalyticsAdminService.GetChannelGroup:output_type -> google.analytics.admin.v1alpha.ChannelGroup + 130, // 353: google.analytics.admin.v1alpha.AnalyticsAdminService.ListChannelGroups:output_type -> google.analytics.admin.v1alpha.ListChannelGroupsResponse + 210, // 354: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateChannelGroup:output_type -> google.analytics.admin.v1alpha.ChannelGroup + 210, // 355: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateChannelGroup:output_type -> google.analytics.admin.v1alpha.ChannelGroup + 219, // 356: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteChannelGroup:output_type -> google.protobuf.Empty + 132, // 357: google.analytics.admin.v1alpha.AnalyticsAdminService.SetAutomatedGa4ConfigurationOptOut:output_type -> google.analytics.admin.v1alpha.SetAutomatedGa4ConfigurationOptOutResponse + 134, // 358: google.analytics.admin.v1alpha.AnalyticsAdminService.FetchAutomatedGa4ConfigurationOptOut:output_type -> google.analytics.admin.v1alpha.FetchAutomatedGa4ConfigurationOptOutResponse + 211, // 359: google.analytics.admin.v1alpha.AnalyticsAdminService.GetBigQueryLink:output_type -> google.analytics.admin.v1alpha.BigQueryLink + 137, // 360: google.analytics.admin.v1alpha.AnalyticsAdminService.ListBigQueryLinks:output_type -> google.analytics.admin.v1alpha.ListBigQueryLinksResponse + 212, // 361: google.analytics.admin.v1alpha.AnalyticsAdminService.GetEnhancedMeasurementSettings:output_type -> google.analytics.admin.v1alpha.EnhancedMeasurementSettings + 212, // 362: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateEnhancedMeasurementSettings:output_type -> google.analytics.admin.v1alpha.EnhancedMeasurementSettings + 143, // 363: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateConnectedSiteTag:output_type -> google.analytics.admin.v1alpha.CreateConnectedSiteTagResponse + 219, // 364: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteConnectedSiteTag:output_type -> google.protobuf.Empty + 146, // 365: google.analytics.admin.v1alpha.AnalyticsAdminService.ListConnectedSiteTags:output_type -> google.analytics.admin.v1alpha.ListConnectedSiteTagsResponse + 153, // 366: google.analytics.admin.v1alpha.AnalyticsAdminService.FetchConnectedGa4Property:output_type -> google.analytics.admin.v1alpha.FetchConnectedGa4PropertyResponse + 215, // 367: google.analytics.admin.v1alpha.AnalyticsAdminService.GetAdSenseLink:output_type -> google.analytics.admin.v1alpha.AdSenseLink + 215, // 368: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateAdSenseLink:output_type -> google.analytics.admin.v1alpha.AdSenseLink + 219, // 369: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteAdSenseLink:output_type -> google.protobuf.Empty + 151, // 370: google.analytics.admin.v1alpha.AnalyticsAdminService.ListAdSenseLinks:output_type -> google.analytics.admin.v1alpha.ListAdSenseLinksResponse + 216, // 371: google.analytics.admin.v1alpha.AnalyticsAdminService.GetEventCreateRule:output_type -> google.analytics.admin.v1alpha.EventCreateRule + 159, // 372: google.analytics.admin.v1alpha.AnalyticsAdminService.ListEventCreateRules:output_type -> google.analytics.admin.v1alpha.ListEventCreateRulesResponse + 216, // 373: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateEventCreateRule:output_type -> google.analytics.admin.v1alpha.EventCreateRule + 216, // 374: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateEventCreateRule:output_type -> google.analytics.admin.v1alpha.EventCreateRule + 219, // 375: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteEventCreateRule:output_type -> google.protobuf.Empty + 213, // 376: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateDataRedactionSettings:output_type -> google.analytics.admin.v1alpha.DataRedactionSettings + 213, // 377: google.analytics.admin.v1alpha.AnalyticsAdminService.GetDataRedactionSettings:output_type -> google.analytics.admin.v1alpha.DataRedactionSettings + 203, // 378: google.analytics.admin.v1alpha.AnalyticsAdminService.GetCalculatedMetric:output_type -> google.analytics.admin.v1alpha.CalculatedMetric + 203, // 379: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateCalculatedMetric:output_type -> google.analytics.admin.v1alpha.CalculatedMetric + 88, // 380: google.analytics.admin.v1alpha.AnalyticsAdminService.ListCalculatedMetrics:output_type -> google.analytics.admin.v1alpha.ListCalculatedMetricsResponse + 203, // 381: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateCalculatedMetric:output_type -> google.analytics.admin.v1alpha.CalculatedMetric + 219, // 382: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteCalculatedMetric:output_type -> google.protobuf.Empty + 161, // 383: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateRollupProperty:output_type -> google.analytics.admin.v1alpha.CreateRollupPropertyResponse + 217, // 384: google.analytics.admin.v1alpha.AnalyticsAdminService.GetRollupPropertySourceLink:output_type -> google.analytics.admin.v1alpha.RollupPropertySourceLink + 164, // 385: google.analytics.admin.v1alpha.AnalyticsAdminService.ListRollupPropertySourceLinks:output_type -> google.analytics.admin.v1alpha.ListRollupPropertySourceLinksResponse + 217, // 386: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateRollupPropertySourceLink:output_type -> google.analytics.admin.v1alpha.RollupPropertySourceLink + 219, // 387: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteRollupPropertySourceLink:output_type -> google.protobuf.Empty + 168, // 388: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSubproperty:output_type -> google.analytics.admin.v1alpha.CreateSubpropertyResponse + 218, // 389: google.analytics.admin.v1alpha.AnalyticsAdminService.CreateSubpropertyEventFilter:output_type -> google.analytics.admin.v1alpha.SubpropertyEventFilter + 218, // 390: google.analytics.admin.v1alpha.AnalyticsAdminService.GetSubpropertyEventFilter:output_type -> google.analytics.admin.v1alpha.SubpropertyEventFilter + 172, // 391: google.analytics.admin.v1alpha.AnalyticsAdminService.ListSubpropertyEventFilters:output_type -> google.analytics.admin.v1alpha.ListSubpropertyEventFiltersResponse + 218, // 392: google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateSubpropertyEventFilter:output_type -> google.analytics.admin.v1alpha.SubpropertyEventFilter + 219, // 393: google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteSubpropertyEventFilter:output_type -> google.protobuf.Empty + 258, // [258:394] is the sub-list for method output_type + 122, // [122:258] is the sub-list for method input_type + 122, // [122:122] is the sub-list for extension type_name + 122, // [122:122] is the sub-list for extension extendee + 0, // [0:122] is the sub-list for field type_name } func init() { file_google_analytics_admin_v1alpha_analytics_admin_proto_init() } @@ -15490,7 +16017,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { } } file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDataRetentionSettingsRequest); i { + switch v := v.(*CreateCalculatedMetricRequest); i { case 0: return &v.state case 1: @@ -15502,7 +16029,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { } } file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateDataRetentionSettingsRequest); i { + switch v := v.(*UpdateCalculatedMetricRequest); i { case 0: return &v.state case 1: @@ -15514,7 +16041,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { } } file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateDataStreamRequest); i { + switch v := v.(*DeleteCalculatedMetricRequest); i { case 0: return &v.state case 1: @@ -15526,7 +16053,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { } } file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteDataStreamRequest); i { + switch v := v.(*ListCalculatedMetricsRequest); i { case 0: return &v.state case 1: @@ -15538,7 +16065,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { } } file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateDataStreamRequest); i { + switch v := v.(*ListCalculatedMetricsResponse); i { case 0: return &v.state case 1: @@ -15550,7 +16077,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { } } file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDataStreamsRequest); i { + switch v := v.(*GetCalculatedMetricRequest); i { case 0: return &v.state case 1: @@ -15562,7 +16089,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { } } file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDataStreamsResponse); i { + switch v := v.(*GetDataRetentionSettingsRequest); i { case 0: return &v.state case 1: @@ -15574,7 +16101,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { } } file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDataStreamRequest); i { + switch v := v.(*UpdateDataRetentionSettingsRequest); i { case 0: return &v.state case 1: @@ -15586,7 +16113,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { } } file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAudienceRequest); i { + switch v := v.(*CreateDataStreamRequest); i { case 0: return &v.state case 1: @@ -15598,6 +16125,78 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { } } file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteDataStreamRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateDataStreamRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDataStreamsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDataStreamsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDataStreamRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAudienceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListAudiencesRequest); i { case 0: return &v.state @@ -15609,7 +16208,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListAudiencesResponse); i { case 0: return &v.state @@ -15621,7 +16220,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateAudienceRequest); i { case 0: return &v.state @@ -15633,7 +16232,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAudienceRequest); i { case 0: return &v.state @@ -15645,7 +16244,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArchiveAudienceRequest); i { case 0: return &v.state @@ -15657,7 +16256,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAttributionSettingsRequest); i { case 0: return &v.state @@ -15669,7 +16268,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAttributionSettingsRequest); i { case 0: return &v.state @@ -15681,7 +16280,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAccessBindingRequest); i { case 0: return &v.state @@ -15693,7 +16292,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BatchGetAccessBindingsRequest); i { case 0: return &v.state @@ -15705,7 +16304,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BatchGetAccessBindingsResponse); i { case 0: return &v.state @@ -15717,7 +16316,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListAccessBindingsRequest); i { case 0: return &v.state @@ -15729,7 +16328,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListAccessBindingsResponse); i { case 0: return &v.state @@ -15741,7 +16340,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateAccessBindingRequest); i { case 0: return &v.state @@ -15753,7 +16352,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BatchCreateAccessBindingsRequest); i { case 0: return &v.state @@ -15765,7 +16364,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BatchCreateAccessBindingsResponse); i { case 0: return &v.state @@ -15777,7 +16376,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAccessBindingRequest); i { case 0: return &v.state @@ -15789,7 +16388,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BatchUpdateAccessBindingsRequest); i { case 0: return &v.state @@ -15801,7 +16400,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BatchUpdateAccessBindingsResponse); i { case 0: return &v.state @@ -15813,7 +16412,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteAccessBindingRequest); i { case 0: return &v.state @@ -15825,7 +16424,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BatchDeleteAccessBindingsRequest); i { case 0: return &v.state @@ -15837,7 +16436,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateExpandedDataSetRequest); i { case 0: return &v.state @@ -15849,7 +16448,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateExpandedDataSetRequest); i { case 0: return &v.state @@ -15861,7 +16460,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteExpandedDataSetRequest); i { case 0: return &v.state @@ -15873,7 +16472,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetExpandedDataSetRequest); i { case 0: return &v.state @@ -15885,7 +16484,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListExpandedDataSetsRequest); i { case 0: return &v.state @@ -15897,7 +16496,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListExpandedDataSetsResponse); i { case 0: return &v.state @@ -15909,7 +16508,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateChannelGroupRequest); i { case 0: return &v.state @@ -15921,7 +16520,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateChannelGroupRequest); i { case 0: return &v.state @@ -15933,7 +16532,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteChannelGroupRequest); i { case 0: return &v.state @@ -15945,7 +16544,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetChannelGroupRequest); i { case 0: return &v.state @@ -15957,7 +16556,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListChannelGroupsRequest); i { case 0: return &v.state @@ -15969,7 +16568,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListChannelGroupsResponse); i { case 0: return &v.state @@ -15981,7 +16580,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetAutomatedGa4ConfigurationOptOutRequest); i { case 0: return &v.state @@ -15993,7 +16592,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetAutomatedGa4ConfigurationOptOutResponse); i { case 0: return &v.state @@ -16005,7 +16604,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FetchAutomatedGa4ConfigurationOptOutRequest); i { case 0: return &v.state @@ -16017,7 +16616,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FetchAutomatedGa4ConfigurationOptOutResponse); i { case 0: return &v.state @@ -16029,7 +16628,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBigQueryLinkRequest); i { case 0: return &v.state @@ -16041,7 +16640,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListBigQueryLinksRequest); i { case 0: return &v.state @@ -16053,7 +16652,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListBigQueryLinksResponse); i { case 0: return &v.state @@ -16065,7 +16664,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetEnhancedMeasurementSettingsRequest); i { case 0: return &v.state @@ -16077,7 +16676,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateEnhancedMeasurementSettingsRequest); i { case 0: return &v.state @@ -16089,7 +16688,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetDataRedactionSettingsRequest); i { case 0: return &v.state @@ -16101,7 +16700,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateDataRedactionSettingsRequest); i { case 0: return &v.state @@ -16113,7 +16712,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateConnectedSiteTagRequest); i { case 0: return &v.state @@ -16125,7 +16724,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateConnectedSiteTagResponse); i { case 0: return &v.state @@ -16137,7 +16736,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteConnectedSiteTagRequest); i { case 0: return &v.state @@ -16149,7 +16748,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListConnectedSiteTagsRequest); i { case 0: return &v.state @@ -16161,7 +16760,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListConnectedSiteTagsResponse); i { case 0: return &v.state @@ -16173,7 +16772,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateAdSenseLinkRequest); i { case 0: return &v.state @@ -16185,7 +16784,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAdSenseLinkRequest); i { case 0: return &v.state @@ -16197,7 +16796,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteAdSenseLinkRequest); i { case 0: return &v.state @@ -16209,7 +16808,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListAdSenseLinksRequest); i { case 0: return &v.state @@ -16221,7 +16820,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListAdSenseLinksResponse); i { case 0: return &v.state @@ -16233,7 +16832,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FetchConnectedGa4PropertyRequest); i { case 0: return &v.state @@ -16245,7 +16844,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FetchConnectedGa4PropertyResponse); i { case 0: return &v.state @@ -16257,7 +16856,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateEventCreateRuleRequest); i { case 0: return &v.state @@ -16269,7 +16868,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateEventCreateRuleRequest); i { case 0: return &v.state @@ -16281,7 +16880,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteEventCreateRuleRequest); i { case 0: return &v.state @@ -16293,7 +16892,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetEventCreateRuleRequest); i { case 0: return &v.state @@ -16305,7 +16904,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListEventCreateRulesRequest); i { case 0: return &v.state @@ -16317,7 +16916,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListEventCreateRulesResponse); i { case 0: return &v.state @@ -16329,7 +16928,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRollupPropertyRequest); i { case 0: return &v.state @@ -16341,7 +16940,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRollupPropertyResponse); i { case 0: return &v.state @@ -16353,7 +16952,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRollupPropertySourceLinkRequest); i { case 0: return &v.state @@ -16365,7 +16964,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRollupPropertySourceLinksRequest); i { case 0: return &v.state @@ -16377,7 +16976,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRollupPropertySourceLinksResponse); i { case 0: return &v.state @@ -16389,7 +16988,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRollupPropertySourceLinkRequest); i { case 0: return &v.state @@ -16401,7 +17000,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRollupPropertySourceLinkRequest); i { case 0: return &v.state @@ -16413,7 +17012,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateSubpropertyRequest); i { case 0: return &v.state @@ -16425,7 +17024,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateSubpropertyResponse); i { case 0: return &v.state @@ -16437,7 +17036,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateSubpropertyEventFilterRequest); i { case 0: return &v.state @@ -16449,7 +17048,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSubpropertyEventFilterRequest); i { case 0: return &v.state @@ -16461,7 +17060,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListSubpropertyEventFiltersRequest); i { case 0: return &v.state @@ -16473,7 +17072,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListSubpropertyEventFiltersResponse); i { case 0: return &v.state @@ -16485,7 +17084,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateSubpropertyEventFilterRequest); i { case 0: return &v.state @@ -16497,7 +17096,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { return nil } } - file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { + file_google_analytics_admin_v1alpha_analytics_admin_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteSubpropertyEventFilterRequest); i { case 0: return &v.state @@ -16516,7 +17115,7 @@ func file_google_analytics_admin_v1alpha_analytics_admin_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_analytics_admin_v1alpha_analytics_admin_proto_rawDesc, NumEnums: 0, - NumMessages: 169, + NumMessages: 175, NumExtensions: 0, NumServices: 1, }, @@ -16873,6 +17472,16 @@ type AnalyticsAdminServiceClient interface { UpdateDataRedactionSettings(ctx context.Context, in *UpdateDataRedactionSettingsRequest, opts ...grpc.CallOption) (*DataRedactionSettings, error) // Lookup for a single DataRedactionSettings. GetDataRedactionSettings(ctx context.Context, in *GetDataRedactionSettingsRequest, opts ...grpc.CallOption) (*DataRedactionSettings, error) + // Lookup for a single CalculatedMetric. + GetCalculatedMetric(ctx context.Context, in *GetCalculatedMetricRequest, opts ...grpc.CallOption) (*CalculatedMetric, error) + // Creates a CalculatedMetric. + CreateCalculatedMetric(ctx context.Context, in *CreateCalculatedMetricRequest, opts ...grpc.CallOption) (*CalculatedMetric, error) + // Lists CalculatedMetrics on a property. + ListCalculatedMetrics(ctx context.Context, in *ListCalculatedMetricsRequest, opts ...grpc.CallOption) (*ListCalculatedMetricsResponse, error) + // Updates a CalculatedMetric on a property. + UpdateCalculatedMetric(ctx context.Context, in *UpdateCalculatedMetricRequest, opts ...grpc.CallOption) (*CalculatedMetric, error) + // Deletes a CalculatedMetric on a property. + DeleteCalculatedMetric(ctx context.Context, in *DeleteCalculatedMetricRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) // Create a roll-up property and all roll-up property source links. CreateRollupProperty(ctx context.Context, in *CreateRollupPropertyRequest, opts ...grpc.CallOption) (*CreateRollupPropertyResponse, error) // Lookup for a single roll-up property source Link. @@ -17994,6 +18603,51 @@ func (c *analyticsAdminServiceClient) GetDataRedactionSettings(ctx context.Conte return out, nil } +func (c *analyticsAdminServiceClient) GetCalculatedMetric(ctx context.Context, in *GetCalculatedMetricRequest, opts ...grpc.CallOption) (*CalculatedMetric, error) { + out := new(CalculatedMetric) + err := c.cc.Invoke(ctx, "/google.analytics.admin.v1alpha.AnalyticsAdminService/GetCalculatedMetric", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *analyticsAdminServiceClient) CreateCalculatedMetric(ctx context.Context, in *CreateCalculatedMetricRequest, opts ...grpc.CallOption) (*CalculatedMetric, error) { + out := new(CalculatedMetric) + err := c.cc.Invoke(ctx, "/google.analytics.admin.v1alpha.AnalyticsAdminService/CreateCalculatedMetric", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *analyticsAdminServiceClient) ListCalculatedMetrics(ctx context.Context, in *ListCalculatedMetricsRequest, opts ...grpc.CallOption) (*ListCalculatedMetricsResponse, error) { + out := new(ListCalculatedMetricsResponse) + err := c.cc.Invoke(ctx, "/google.analytics.admin.v1alpha.AnalyticsAdminService/ListCalculatedMetrics", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *analyticsAdminServiceClient) UpdateCalculatedMetric(ctx context.Context, in *UpdateCalculatedMetricRequest, opts ...grpc.CallOption) (*CalculatedMetric, error) { + out := new(CalculatedMetric) + err := c.cc.Invoke(ctx, "/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateCalculatedMetric", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *analyticsAdminServiceClient) DeleteCalculatedMetric(ctx context.Context, in *DeleteCalculatedMetricRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/google.analytics.admin.v1alpha.AnalyticsAdminService/DeleteCalculatedMetric", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *analyticsAdminServiceClient) CreateRollupProperty(ctx context.Context, in *CreateRollupPropertyRequest, opts ...grpc.CallOption) (*CreateRollupPropertyResponse, error) { out := new(CreateRollupPropertyResponse) err := c.cc.Invoke(ctx, "/google.analytics.admin.v1alpha.AnalyticsAdminService/CreateRollupProperty", in, out, opts...) @@ -18426,6 +19080,16 @@ type AnalyticsAdminServiceServer interface { UpdateDataRedactionSettings(context.Context, *UpdateDataRedactionSettingsRequest) (*DataRedactionSettings, error) // Lookup for a single DataRedactionSettings. GetDataRedactionSettings(context.Context, *GetDataRedactionSettingsRequest) (*DataRedactionSettings, error) + // Lookup for a single CalculatedMetric. + GetCalculatedMetric(context.Context, *GetCalculatedMetricRequest) (*CalculatedMetric, error) + // Creates a CalculatedMetric. + CreateCalculatedMetric(context.Context, *CreateCalculatedMetricRequest) (*CalculatedMetric, error) + // Lists CalculatedMetrics on a property. + ListCalculatedMetrics(context.Context, *ListCalculatedMetricsRequest) (*ListCalculatedMetricsResponse, error) + // Updates a CalculatedMetric on a property. + UpdateCalculatedMetric(context.Context, *UpdateCalculatedMetricRequest) (*CalculatedMetric, error) + // Deletes a CalculatedMetric on a property. + DeleteCalculatedMetric(context.Context, *DeleteCalculatedMetricRequest) (*emptypb.Empty, error) // Create a roll-up property and all roll-up property source links. CreateRollupProperty(context.Context, *CreateRollupPropertyRequest) (*CreateRollupPropertyResponse, error) // Lookup for a single roll-up property source Link. @@ -18823,6 +19487,21 @@ func (*UnimplementedAnalyticsAdminServiceServer) UpdateDataRedactionSettings(con func (*UnimplementedAnalyticsAdminServiceServer) GetDataRedactionSettings(context.Context, *GetDataRedactionSettingsRequest) (*DataRedactionSettings, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDataRedactionSettings not implemented") } +func (*UnimplementedAnalyticsAdminServiceServer) GetCalculatedMetric(context.Context, *GetCalculatedMetricRequest) (*CalculatedMetric, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCalculatedMetric not implemented") +} +func (*UnimplementedAnalyticsAdminServiceServer) CreateCalculatedMetric(context.Context, *CreateCalculatedMetricRequest) (*CalculatedMetric, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateCalculatedMetric not implemented") +} +func (*UnimplementedAnalyticsAdminServiceServer) ListCalculatedMetrics(context.Context, *ListCalculatedMetricsRequest) (*ListCalculatedMetricsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListCalculatedMetrics not implemented") +} +func (*UnimplementedAnalyticsAdminServiceServer) UpdateCalculatedMetric(context.Context, *UpdateCalculatedMetricRequest) (*CalculatedMetric, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateCalculatedMetric not implemented") +} +func (*UnimplementedAnalyticsAdminServiceServer) DeleteCalculatedMetric(context.Context, *DeleteCalculatedMetricRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteCalculatedMetric not implemented") +} func (*UnimplementedAnalyticsAdminServiceServer) CreateRollupProperty(context.Context, *CreateRollupPropertyRequest) (*CreateRollupPropertyResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateRollupProperty not implemented") } @@ -21021,6 +21700,96 @@ func _AnalyticsAdminService_GetDataRedactionSettings_Handler(srv interface{}, ct return interceptor(ctx, in, info, handler) } +func _AnalyticsAdminService_GetCalculatedMetric_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetCalculatedMetricRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AnalyticsAdminServiceServer).GetCalculatedMetric(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.analytics.admin.v1alpha.AnalyticsAdminService/GetCalculatedMetric", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AnalyticsAdminServiceServer).GetCalculatedMetric(ctx, req.(*GetCalculatedMetricRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AnalyticsAdminService_CreateCalculatedMetric_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateCalculatedMetricRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AnalyticsAdminServiceServer).CreateCalculatedMetric(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.analytics.admin.v1alpha.AnalyticsAdminService/CreateCalculatedMetric", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AnalyticsAdminServiceServer).CreateCalculatedMetric(ctx, req.(*CreateCalculatedMetricRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AnalyticsAdminService_ListCalculatedMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListCalculatedMetricsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AnalyticsAdminServiceServer).ListCalculatedMetrics(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.analytics.admin.v1alpha.AnalyticsAdminService/ListCalculatedMetrics", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AnalyticsAdminServiceServer).ListCalculatedMetrics(ctx, req.(*ListCalculatedMetricsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AnalyticsAdminService_UpdateCalculatedMetric_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateCalculatedMetricRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AnalyticsAdminServiceServer).UpdateCalculatedMetric(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateCalculatedMetric", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AnalyticsAdminServiceServer).UpdateCalculatedMetric(ctx, req.(*UpdateCalculatedMetricRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AnalyticsAdminService_DeleteCalculatedMetric_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteCalculatedMetricRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AnalyticsAdminServiceServer).DeleteCalculatedMetric(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.analytics.admin.v1alpha.AnalyticsAdminService/DeleteCalculatedMetric", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AnalyticsAdminServiceServer).DeleteCalculatedMetric(ctx, req.(*DeleteCalculatedMetricRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _AnalyticsAdminService_CreateRollupProperty_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CreateRollupPropertyRequest) if err := dec(in); err != nil { @@ -21703,6 +22472,26 @@ var _AnalyticsAdminService_serviceDesc = grpc.ServiceDesc{ MethodName: "GetDataRedactionSettings", Handler: _AnalyticsAdminService_GetDataRedactionSettings_Handler, }, + { + MethodName: "GetCalculatedMetric", + Handler: _AnalyticsAdminService_GetCalculatedMetric_Handler, + }, + { + MethodName: "CreateCalculatedMetric", + Handler: _AnalyticsAdminService_CreateCalculatedMetric_Handler, + }, + { + MethodName: "ListCalculatedMetrics", + Handler: _AnalyticsAdminService_ListCalculatedMetrics_Handler, + }, + { + MethodName: "UpdateCalculatedMetric", + Handler: _AnalyticsAdminService_UpdateCalculatedMetric_Handler, + }, + { + MethodName: "DeleteCalculatedMetric", + Handler: _AnalyticsAdminService_DeleteCalculatedMetric_Handler, + }, { MethodName: "CreateRollupProperty", Handler: _AnalyticsAdminService_CreateRollupProperty_Handler, diff --git a/analytics/admin/apiv1alpha/adminpb/audience.pb.go b/analytics/admin/apiv1alpha/adminpb/audience.pb.go index f8ab3c557c2..a9d26d3258d 100755 --- a/analytics/admin/apiv1alpha/adminpb/audience.pb.go +++ b/analytics/admin/apiv1alpha/adminpb/audience.pb.go @@ -390,6 +390,7 @@ type AudienceDimensionOrMetricFilter struct { // One of the above filters. // // Types that are assignable to OneFilter: + // // *AudienceDimensionOrMetricFilter_StringFilter_ // *AudienceDimensionOrMetricFilter_InListFilter_ // *AudienceDimensionOrMetricFilter_NumericFilter_ @@ -622,6 +623,7 @@ type AudienceFilterExpression struct { // The expression applied to a filter. // // Types that are assignable to Expr: + // // *AudienceFilterExpression_AndGroup // *AudienceFilterExpression_OrGroup // *AudienceFilterExpression_NotExpression @@ -938,6 +940,7 @@ type AudienceFilterClause struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Filter: + // // *AudienceFilterClause_SimpleFilter // *AudienceFilterClause_SequenceFilter Filter isAudienceFilterClause_Filter `protobuf_oneof:"filter"` @@ -1338,6 +1341,7 @@ type AudienceDimensionOrMetricFilter_NumericValue struct { // One of a numeric value. // // Types that are assignable to OneValue: + // // *AudienceDimensionOrMetricFilter_NumericValue_Int64Value // *AudienceDimensionOrMetricFilter_NumericValue_DoubleValue OneValue isAudienceDimensionOrMetricFilter_NumericValue_OneValue `protobuf_oneof:"one_value"` diff --git a/analytics/admin/apiv1alpha/adminpb/channel_group.pb.go b/analytics/admin/apiv1alpha/adminpb/channel_group.pb.go index bcc11e387b5..bfb0c049c52 100755 --- a/analytics/admin/apiv1alpha/adminpb/channel_group.pb.go +++ b/analytics/admin/apiv1alpha/adminpb/channel_group.pb.go @@ -114,6 +114,7 @@ type ChannelGroupFilter struct { // A StringFilter or InListFilter that defines this filters behavior. // // Types that are assignable to ValueFilter: + // // *ChannelGroupFilter_StringFilter_ // *ChannelGroupFilter_InListFilter_ ValueFilter isChannelGroupFilter_ValueFilter `protobuf_oneof:"value_filter"` @@ -209,6 +210,7 @@ type ChannelGroupFilterExpression struct { // The expression applied to a filter. // // Types that are assignable to Expr: + // // *ChannelGroupFilterExpression_AndGroup // *ChannelGroupFilterExpression_OrGroup // *ChannelGroupFilterExpression_NotExpression diff --git a/analytics/admin/apiv1alpha/adminpb/expanded_data_set.pb.go b/analytics/admin/apiv1alpha/adminpb/expanded_data_set.pb.go index a6216a3248c..39425bcc252 100755 --- a/analytics/admin/apiv1alpha/adminpb/expanded_data_set.pb.go +++ b/analytics/admin/apiv1alpha/adminpb/expanded_data_set.pb.go @@ -99,6 +99,7 @@ type ExpandedDataSetFilter struct { // One of the above filters. // // Types that are assignable to OneFilter: + // // *ExpandedDataSetFilter_StringFilter_ // *ExpandedDataSetFilter_InListFilter_ OneFilter isExpandedDataSetFilter_OneFilter `protobuf_oneof:"one_filter"` @@ -194,6 +195,7 @@ type ExpandedDataSetFilterExpression struct { // The expression applied to a filter. // // Types that are assignable to Expr: + // // *ExpandedDataSetFilterExpression_AndGroup // *ExpandedDataSetFilterExpression_NotExpression // *ExpandedDataSetFilterExpression_Filter diff --git a/analytics/admin/apiv1alpha/adminpb/resources.pb.go b/analytics/admin/apiv1alpha/adminpb/resources.pb.go index a0f8f1c49d0..a2e074fa1aa 100755 --- a/analytics/admin/apiv1alpha/adminpb/resources.pb.go +++ b/analytics/admin/apiv1alpha/adminpb/resources.pb.go @@ -407,6 +407,8 @@ const ( ChangeHistoryResourceType_AUDIENCE ChangeHistoryResourceType = 28 // EventCreateRule resource ChangeHistoryResourceType_EVENT_CREATE_RULE ChangeHistoryResourceType = 29 + // CalculatedMetric resource + ChangeHistoryResourceType_CALCULATED_METRIC ChangeHistoryResourceType = 31 ) // Enum value maps for ChangeHistoryResourceType. @@ -436,6 +438,7 @@ var ( 27: "ADSENSE_LINK", 28: "AUDIENCE", 29: "EVENT_CREATE_RULE", + 31: "CALCULATED_METRIC", } ChangeHistoryResourceType_value = map[string]int32{ "CHANGE_HISTORY_RESOURCE_TYPE_UNSPECIFIED": 0, @@ -462,6 +465,7 @@ var ( "ADSENSE_LINK": 27, "AUDIENCE": 28, "EVENT_CREATE_RULE": 29, + "CALCULATED_METRIC": 31, } ) @@ -1209,6 +1213,145 @@ func (CustomMetric_RestrictedMetricType) EnumDescriptor() ([]byte, []int) { return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{23, 2} } +// Possible types of representing the calculated metric's value. +type CalculatedMetric_MetricUnit int32 + +const ( + // MetricUnit unspecified or missing. + CalculatedMetric_METRIC_UNIT_UNSPECIFIED CalculatedMetric_MetricUnit = 0 + // This metric uses default units. + CalculatedMetric_STANDARD CalculatedMetric_MetricUnit = 1 + // This metric measures a currency. + CalculatedMetric_CURRENCY CalculatedMetric_MetricUnit = 2 + // This metric measures feet. + CalculatedMetric_FEET CalculatedMetric_MetricUnit = 3 + // This metric measures miles. + CalculatedMetric_MILES CalculatedMetric_MetricUnit = 4 + // This metric measures meters. + CalculatedMetric_METERS CalculatedMetric_MetricUnit = 5 + // This metric measures kilometers. + CalculatedMetric_KILOMETERS CalculatedMetric_MetricUnit = 6 + // This metric measures milliseconds. + CalculatedMetric_MILLISECONDS CalculatedMetric_MetricUnit = 7 + // This metric measures seconds. + CalculatedMetric_SECONDS CalculatedMetric_MetricUnit = 8 + // This metric measures minutes. + CalculatedMetric_MINUTES CalculatedMetric_MetricUnit = 9 + // This metric measures hours. + CalculatedMetric_HOURS CalculatedMetric_MetricUnit = 10 +) + +// Enum value maps for CalculatedMetric_MetricUnit. +var ( + CalculatedMetric_MetricUnit_name = map[int32]string{ + 0: "METRIC_UNIT_UNSPECIFIED", + 1: "STANDARD", + 2: "CURRENCY", + 3: "FEET", + 4: "MILES", + 5: "METERS", + 6: "KILOMETERS", + 7: "MILLISECONDS", + 8: "SECONDS", + 9: "MINUTES", + 10: "HOURS", + } + CalculatedMetric_MetricUnit_value = map[string]int32{ + "METRIC_UNIT_UNSPECIFIED": 0, + "STANDARD": 1, + "CURRENCY": 2, + "FEET": 3, + "MILES": 4, + "METERS": 5, + "KILOMETERS": 6, + "MILLISECONDS": 7, + "SECONDS": 8, + "MINUTES": 9, + "HOURS": 10, + } +) + +func (x CalculatedMetric_MetricUnit) Enum() *CalculatedMetric_MetricUnit { + p := new(CalculatedMetric_MetricUnit) + *p = x + return p +} + +func (x CalculatedMetric_MetricUnit) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CalculatedMetric_MetricUnit) Descriptor() protoreflect.EnumDescriptor { + return file_google_analytics_admin_v1alpha_resources_proto_enumTypes[17].Descriptor() +} + +func (CalculatedMetric_MetricUnit) Type() protoreflect.EnumType { + return &file_google_analytics_admin_v1alpha_resources_proto_enumTypes[17] +} + +func (x CalculatedMetric_MetricUnit) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CalculatedMetric_MetricUnit.Descriptor instead. +func (CalculatedMetric_MetricUnit) EnumDescriptor() ([]byte, []int) { + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{24, 0} +} + +// Labels that mark the data in calculated metric used in conjunction with +// user roles that restrict access to cost and/or revenue metrics. +type CalculatedMetric_RestrictedMetricType int32 + +const ( + // Type unknown or unspecified. + CalculatedMetric_RESTRICTED_METRIC_TYPE_UNSPECIFIED CalculatedMetric_RestrictedMetricType = 0 + // Metric reports cost data. + CalculatedMetric_COST_DATA CalculatedMetric_RestrictedMetricType = 1 + // Metric reports revenue data. + CalculatedMetric_REVENUE_DATA CalculatedMetric_RestrictedMetricType = 2 +) + +// Enum value maps for CalculatedMetric_RestrictedMetricType. +var ( + CalculatedMetric_RestrictedMetricType_name = map[int32]string{ + 0: "RESTRICTED_METRIC_TYPE_UNSPECIFIED", + 1: "COST_DATA", + 2: "REVENUE_DATA", + } + CalculatedMetric_RestrictedMetricType_value = map[string]int32{ + "RESTRICTED_METRIC_TYPE_UNSPECIFIED": 0, + "COST_DATA": 1, + "REVENUE_DATA": 2, + } +) + +func (x CalculatedMetric_RestrictedMetricType) Enum() *CalculatedMetric_RestrictedMetricType { + p := new(CalculatedMetric_RestrictedMetricType) + *p = x + return p +} + +func (x CalculatedMetric_RestrictedMetricType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CalculatedMetric_RestrictedMetricType) Descriptor() protoreflect.EnumDescriptor { + return file_google_analytics_admin_v1alpha_resources_proto_enumTypes[18].Descriptor() +} + +func (CalculatedMetric_RestrictedMetricType) Type() protoreflect.EnumType { + return &file_google_analytics_admin_v1alpha_resources_proto_enumTypes[18] +} + +func (x CalculatedMetric_RestrictedMetricType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CalculatedMetric_RestrictedMetricType.Descriptor instead. +func (CalculatedMetric_RestrictedMetricType) EnumDescriptor() ([]byte, []int) { + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{24, 1} +} + // Valid values for the data retention duration. type DataRetentionSettings_RetentionDuration int32 @@ -1261,11 +1404,11 @@ func (x DataRetentionSettings_RetentionDuration) String() string { } func (DataRetentionSettings_RetentionDuration) Descriptor() protoreflect.EnumDescriptor { - return file_google_analytics_admin_v1alpha_resources_proto_enumTypes[17].Descriptor() + return file_google_analytics_admin_v1alpha_resources_proto_enumTypes[19].Descriptor() } func (DataRetentionSettings_RetentionDuration) Type() protoreflect.EnumType { - return &file_google_analytics_admin_v1alpha_resources_proto_enumTypes[17] + return &file_google_analytics_admin_v1alpha_resources_proto_enumTypes[19] } func (x DataRetentionSettings_RetentionDuration) Number() protoreflect.EnumNumber { @@ -1274,7 +1417,7 @@ func (x DataRetentionSettings_RetentionDuration) Number() protoreflect.EnumNumbe // Deprecated: Use DataRetentionSettings_RetentionDuration.Descriptor instead. func (DataRetentionSettings_RetentionDuration) EnumDescriptor() ([]byte, []int) { - return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{24, 0} + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{25, 0} } // How far back in time events should be considered for inclusion in a @@ -1316,11 +1459,11 @@ func (x AttributionSettings_AcquisitionConversionEventLookbackWindow) String() s } func (AttributionSettings_AcquisitionConversionEventLookbackWindow) Descriptor() protoreflect.EnumDescriptor { - return file_google_analytics_admin_v1alpha_resources_proto_enumTypes[18].Descriptor() + return file_google_analytics_admin_v1alpha_resources_proto_enumTypes[20].Descriptor() } func (AttributionSettings_AcquisitionConversionEventLookbackWindow) Type() protoreflect.EnumType { - return &file_google_analytics_admin_v1alpha_resources_proto_enumTypes[18] + return &file_google_analytics_admin_v1alpha_resources_proto_enumTypes[20] } func (x AttributionSettings_AcquisitionConversionEventLookbackWindow) Number() protoreflect.EnumNumber { @@ -1329,7 +1472,7 @@ func (x AttributionSettings_AcquisitionConversionEventLookbackWindow) Number() p // Deprecated: Use AttributionSettings_AcquisitionConversionEventLookbackWindow.Descriptor instead. func (AttributionSettings_AcquisitionConversionEventLookbackWindow) EnumDescriptor() ([]byte, []int) { - return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{25, 0} + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{26, 0} } // How far back in time events should be considered for inclusion in a @@ -1375,11 +1518,11 @@ func (x AttributionSettings_OtherConversionEventLookbackWindow) String() string } func (AttributionSettings_OtherConversionEventLookbackWindow) Descriptor() protoreflect.EnumDescriptor { - return file_google_analytics_admin_v1alpha_resources_proto_enumTypes[19].Descriptor() + return file_google_analytics_admin_v1alpha_resources_proto_enumTypes[21].Descriptor() } func (AttributionSettings_OtherConversionEventLookbackWindow) Type() protoreflect.EnumType { - return &file_google_analytics_admin_v1alpha_resources_proto_enumTypes[19] + return &file_google_analytics_admin_v1alpha_resources_proto_enumTypes[21] } func (x AttributionSettings_OtherConversionEventLookbackWindow) Number() protoreflect.EnumNumber { @@ -1388,7 +1531,7 @@ func (x AttributionSettings_OtherConversionEventLookbackWindow) Number() protore // Deprecated: Use AttributionSettings_OtherConversionEventLookbackWindow.Descriptor instead. func (AttributionSettings_OtherConversionEventLookbackWindow) EnumDescriptor() ([]byte, []int) { - return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{25, 1} + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{26, 1} } // The reporting attribution model used to calculate conversion credit in this @@ -1441,11 +1584,11 @@ func (x AttributionSettings_ReportingAttributionModel) String() string { } func (AttributionSettings_ReportingAttributionModel) Descriptor() protoreflect.EnumDescriptor { - return file_google_analytics_admin_v1alpha_resources_proto_enumTypes[20].Descriptor() + return file_google_analytics_admin_v1alpha_resources_proto_enumTypes[22].Descriptor() } func (AttributionSettings_ReportingAttributionModel) Type() protoreflect.EnumType { - return &file_google_analytics_admin_v1alpha_resources_proto_enumTypes[20] + return &file_google_analytics_admin_v1alpha_resources_proto_enumTypes[22] } func (x AttributionSettings_ReportingAttributionModel) Number() protoreflect.EnumNumber { @@ -1454,7 +1597,7 @@ func (x AttributionSettings_ReportingAttributionModel) Number() protoreflect.Enu // Deprecated: Use AttributionSettings_ReportingAttributionModel.Descriptor instead. func (AttributionSettings_ReportingAttributionModel) EnumDescriptor() ([]byte, []int) { - return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{25, 2} + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{26, 2} } // The Conversion Export Scope for data exported to linked Ads Accounts. @@ -1504,11 +1647,11 @@ func (x AttributionSettings_AdsWebConversionDataExportScope) String() string { } func (AttributionSettings_AdsWebConversionDataExportScope) Descriptor() protoreflect.EnumDescriptor { - return file_google_analytics_admin_v1alpha_resources_proto_enumTypes[21].Descriptor() + return file_google_analytics_admin_v1alpha_resources_proto_enumTypes[23].Descriptor() } func (AttributionSettings_AdsWebConversionDataExportScope) Type() protoreflect.EnumType { - return &file_google_analytics_admin_v1alpha_resources_proto_enumTypes[21] + return &file_google_analytics_admin_v1alpha_resources_proto_enumTypes[23] } func (x AttributionSettings_AdsWebConversionDataExportScope) Number() protoreflect.EnumNumber { @@ -1517,7 +1660,7 @@ func (x AttributionSettings_AdsWebConversionDataExportScope) Number() protorefle // Deprecated: Use AttributionSettings_AdsWebConversionDataExportScope.Descriptor instead. func (AttributionSettings_AdsWebConversionDataExportScope) EnumDescriptor() ([]byte, []int) { - return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{25, 3} + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{26, 3} } // A resource message representing a Google Analytics account. @@ -1660,7 +1803,6 @@ type Property struct { TimeZone string `protobuf:"bytes,7,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"` // The currency type used in reports involving monetary values. // - // // Format: https://en.wikipedia.org/wiki/ISO_4217 // Examples: "USD", "EUR", "JPY" CurrencyCode string `protobuf:"bytes,8,opt,name=currency_code,json=currencyCode,proto3" json:"currency_code,omitempty"` @@ -1813,6 +1955,7 @@ type DataStream struct { // set corresponds to the type of this stream. // // Types that are assignable to StreamData: + // // *DataStream_WebStreamData_ // *DataStream_AndroidAppStreamData_ // *DataStream_IosAppStreamData_ @@ -3918,6 +4061,134 @@ func (x *CustomMetric) GetRestrictedMetricType() []CustomMetric_RestrictedMetric return nil } +// A definition for a calculated metric. +type CalculatedMetric struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Resource name for this CalculatedMetric. + // Format: 'properties/{property_id}/calculatedMetrics/{calculated_metric_id}' + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. Description for this calculated metric. + // Max length of 4096 characters. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Required. Display name for this calculated metric as shown in the + // Google Analytics UI. Max length 82 characters. + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. The ID to use for the calculated metric. In the UI, this is + // referred to as the "API name." + // + // The calculated_metric_id is used when referencing this calculated metric + // from external APIs. For example, "calcMetric:{calculated_metric_id}". + CalculatedMetricId string `protobuf:"bytes,4,opt,name=calculated_metric_id,json=calculatedMetricId,proto3" json:"calculated_metric_id,omitempty"` + // Required. The type for the calculated metric's value. + MetricUnit CalculatedMetric_MetricUnit `protobuf:"varint,5,opt,name=metric_unit,json=metricUnit,proto3,enum=google.analytics.admin.v1alpha.CalculatedMetric_MetricUnit" json:"metric_unit,omitempty"` + // Output only. Types of restricted data that this metric contains. + RestrictedMetricType []CalculatedMetric_RestrictedMetricType `protobuf:"varint,6,rep,packed,name=restricted_metric_type,json=restrictedMetricType,proto3,enum=google.analytics.admin.v1alpha.CalculatedMetric_RestrictedMetricType" json:"restricted_metric_type,omitempty"` + // Required. The calculated metric's definition. Maximum number of unique + // referenced custom metrics is 5. Formulas supports the following operations: + // + (addition), - (subtraction), - (negative), * (multiplication), / + // (division), () (parenthesis). Any valid real numbers are acceptable that + // fit in a Long (64bit integer) or a Double (64 bit floating point number). + // Example formula: + // + // "( customEvent:parameter_name + cartPurchaseQuantity ) / 2.0" + Formula string `protobuf:"bytes,7,opt,name=formula,proto3" json:"formula,omitempty"` + // Output only. If true, this calculated metric has a invalid metric + // reference. Anything using a calculated metric with invalid_metric_reference + // set to true may fail, produce warnings, or produce unexpected results. + InvalidMetricReference bool `protobuf:"varint,9,opt,name=invalid_metric_reference,json=invalidMetricReference,proto3" json:"invalid_metric_reference,omitempty"` +} + +func (x *CalculatedMetric) Reset() { + *x = CalculatedMetric{} + if protoimpl.UnsafeEnabled { + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CalculatedMetric) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CalculatedMetric) ProtoMessage() {} + +func (x *CalculatedMetric) ProtoReflect() protoreflect.Message { + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CalculatedMetric.ProtoReflect.Descriptor instead. +func (*CalculatedMetric) Descriptor() ([]byte, []int) { + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{24} +} + +func (x *CalculatedMetric) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CalculatedMetric) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CalculatedMetric) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *CalculatedMetric) GetCalculatedMetricId() string { + if x != nil { + return x.CalculatedMetricId + } + return "" +} + +func (x *CalculatedMetric) GetMetricUnit() CalculatedMetric_MetricUnit { + if x != nil { + return x.MetricUnit + } + return CalculatedMetric_METRIC_UNIT_UNSPECIFIED +} + +func (x *CalculatedMetric) GetRestrictedMetricType() []CalculatedMetric_RestrictedMetricType { + if x != nil { + return x.RestrictedMetricType + } + return nil +} + +func (x *CalculatedMetric) GetFormula() string { + if x != nil { + return x.Formula + } + return "" +} + +func (x *CalculatedMetric) GetInvalidMetricReference() bool { + if x != nil { + return x.InvalidMetricReference + } + return false +} + // Settings values for data retention. This is a singleton resource. type DataRetentionSettings struct { state protoimpl.MessageState @@ -3937,7 +4208,7 @@ type DataRetentionSettings struct { func (x *DataRetentionSettings) Reset() { *x = DataRetentionSettings{} if protoimpl.UnsafeEnabled { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[24] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3950,7 +4221,7 @@ func (x *DataRetentionSettings) String() string { func (*DataRetentionSettings) ProtoMessage() {} func (x *DataRetentionSettings) ProtoReflect() protoreflect.Message { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[24] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3963,7 +4234,7 @@ func (x *DataRetentionSettings) ProtoReflect() protoreflect.Message { // Deprecated: Use DataRetentionSettings.ProtoReflect.Descriptor instead. func (*DataRetentionSettings) Descriptor() ([]byte, []int) { - return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{24} + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{25} } func (x *DataRetentionSettings) GetName() string { @@ -4019,7 +4290,7 @@ type AttributionSettings struct { func (x *AttributionSettings) Reset() { *x = AttributionSettings{} if protoimpl.UnsafeEnabled { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[25] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4032,7 +4303,7 @@ func (x *AttributionSettings) String() string { func (*AttributionSettings) ProtoMessage() {} func (x *AttributionSettings) ProtoReflect() protoreflect.Message { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[25] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4045,7 +4316,7 @@ func (x *AttributionSettings) ProtoReflect() protoreflect.Message { // Deprecated: Use AttributionSettings.ProtoReflect.Descriptor instead. func (*AttributionSettings) Descriptor() ([]byte, []int) { - return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{25} + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{26} } func (x *AttributionSettings) GetName() string { @@ -4092,6 +4363,7 @@ type AccessBinding struct { // The target for which to set roles for. // // Types that are assignable to AccessTarget: + // // *AccessBinding_User AccessTarget isAccessBinding_AccessTarget `protobuf_oneof:"access_target"` // Output only. Resource name of this binding. @@ -4120,7 +4392,7 @@ type AccessBinding struct { func (x *AccessBinding) Reset() { *x = AccessBinding{} if protoimpl.UnsafeEnabled { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[26] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4133,7 +4405,7 @@ func (x *AccessBinding) String() string { func (*AccessBinding) ProtoMessage() {} func (x *AccessBinding) ProtoReflect() protoreflect.Message { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[26] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4146,7 +4418,7 @@ func (x *AccessBinding) ProtoReflect() protoreflect.Message { // Deprecated: Use AccessBinding.ProtoReflect.Descriptor instead. func (*AccessBinding) Descriptor() ([]byte, []int) { - return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{26} + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{27} } func (m *AccessBinding) GetAccessTarget() isAccessBinding_AccessTarget { @@ -4229,7 +4501,7 @@ type BigQueryLink struct { func (x *BigQueryLink) Reset() { *x = BigQueryLink{} if protoimpl.UnsafeEnabled { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[27] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4242,7 +4514,7 @@ func (x *BigQueryLink) String() string { func (*BigQueryLink) ProtoMessage() {} func (x *BigQueryLink) ProtoReflect() protoreflect.Message { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[27] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4255,7 +4527,7 @@ func (x *BigQueryLink) ProtoReflect() protoreflect.Message { // Deprecated: Use BigQueryLink.ProtoReflect.Descriptor instead. func (*BigQueryLink) Descriptor() ([]byte, []int) { - return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{27} + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{28} } func (x *BigQueryLink) GetName() string { @@ -4372,7 +4644,7 @@ type EnhancedMeasurementSettings struct { func (x *EnhancedMeasurementSettings) Reset() { *x = EnhancedMeasurementSettings{} if protoimpl.UnsafeEnabled { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[28] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4385,7 +4657,7 @@ func (x *EnhancedMeasurementSettings) String() string { func (*EnhancedMeasurementSettings) ProtoMessage() {} func (x *EnhancedMeasurementSettings) ProtoReflect() protoreflect.Message { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[28] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4398,7 +4670,7 @@ func (x *EnhancedMeasurementSettings) ProtoReflect() protoreflect.Message { // Deprecated: Use EnhancedMeasurementSettings.ProtoReflect.Descriptor instead. func (*EnhancedMeasurementSettings) Descriptor() ([]byte, []int) { - return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{28} + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{29} } func (x *EnhancedMeasurementSettings) GetName() string { @@ -4495,7 +4767,7 @@ type ConnectedSiteTag struct { func (x *ConnectedSiteTag) Reset() { *x = ConnectedSiteTag{} if protoimpl.UnsafeEnabled { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[29] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4508,7 +4780,7 @@ func (x *ConnectedSiteTag) String() string { func (*ConnectedSiteTag) ProtoMessage() {} func (x *ConnectedSiteTag) ProtoReflect() protoreflect.Message { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[29] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4521,7 +4793,7 @@ func (x *ConnectedSiteTag) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectedSiteTag.ProtoReflect.Descriptor instead. func (*ConnectedSiteTag) Descriptor() ([]byte, []int) { - return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{29} + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{30} } func (x *ConnectedSiteTag) GetDisplayName() string { @@ -4570,7 +4842,7 @@ type DataRedactionSettings struct { func (x *DataRedactionSettings) Reset() { *x = DataRedactionSettings{} if protoimpl.UnsafeEnabled { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[30] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4583,7 +4855,7 @@ func (x *DataRedactionSettings) String() string { func (*DataRedactionSettings) ProtoMessage() {} func (x *DataRedactionSettings) ProtoReflect() protoreflect.Message { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[30] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4596,7 +4868,7 @@ func (x *DataRedactionSettings) ProtoReflect() protoreflect.Message { // Deprecated: Use DataRedactionSettings.ProtoReflect.Descriptor instead. func (*DataRedactionSettings) Descriptor() ([]byte, []int) { - return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{30} + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{31} } func (x *DataRedactionSettings) GetName() string { @@ -4645,7 +4917,7 @@ type AdSenseLink struct { func (x *AdSenseLink) Reset() { *x = AdSenseLink{} if protoimpl.UnsafeEnabled { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[31] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4658,7 +4930,7 @@ func (x *AdSenseLink) String() string { func (*AdSenseLink) ProtoMessage() {} func (x *AdSenseLink) ProtoReflect() protoreflect.Message { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[31] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4671,7 +4943,7 @@ func (x *AdSenseLink) ProtoReflect() protoreflect.Message { // Deprecated: Use AdSenseLink.ProtoReflect.Descriptor instead. func (*AdSenseLink) Descriptor() ([]byte, []int) { - return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{31} + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{32} } func (x *AdSenseLink) GetName() string { @@ -4708,7 +4980,7 @@ type RollupPropertySourceLink struct { func (x *RollupPropertySourceLink) Reset() { *x = RollupPropertySourceLink{} if protoimpl.UnsafeEnabled { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[32] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4721,7 +4993,7 @@ func (x *RollupPropertySourceLink) String() string { func (*RollupPropertySourceLink) ProtoMessage() {} func (x *RollupPropertySourceLink) ProtoReflect() protoreflect.Message { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[32] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4734,7 +5006,7 @@ func (x *RollupPropertySourceLink) ProtoReflect() protoreflect.Message { // Deprecated: Use RollupPropertySourceLink.ProtoReflect.Descriptor instead. func (*RollupPropertySourceLink) Descriptor() ([]byte, []int) { - return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{32} + return file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP(), []int{33} } func (x *RollupPropertySourceLink) GetName() string { @@ -4772,7 +5044,7 @@ type DataStream_WebStreamData struct { func (x *DataStream_WebStreamData) Reset() { *x = DataStream_WebStreamData{} if protoimpl.UnsafeEnabled { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[33] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4785,7 +5057,7 @@ func (x *DataStream_WebStreamData) String() string { func (*DataStream_WebStreamData) ProtoMessage() {} func (x *DataStream_WebStreamData) ProtoReflect() protoreflect.Message { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[33] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4839,7 +5111,7 @@ type DataStream_AndroidAppStreamData struct { func (x *DataStream_AndroidAppStreamData) Reset() { *x = DataStream_AndroidAppStreamData{} if protoimpl.UnsafeEnabled { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[34] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4852,7 +5124,7 @@ func (x *DataStream_AndroidAppStreamData) String() string { func (*DataStream_AndroidAppStreamData) ProtoMessage() {} func (x *DataStream_AndroidAppStreamData) ProtoReflect() protoreflect.Message { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[34] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4899,7 +5171,7 @@ type DataStream_IosAppStreamData struct { func (x *DataStream_IosAppStreamData) Reset() { *x = DataStream_IosAppStreamData{} if protoimpl.UnsafeEnabled { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[35] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4912,7 +5184,7 @@ func (x *DataStream_IosAppStreamData) String() string { func (*DataStream_IosAppStreamData) ProtoMessage() {} func (x *DataStream_IosAppStreamData) ProtoReflect() protoreflect.Message { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[35] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4950,6 +5222,7 @@ type ChangeHistoryChange_ChangeHistoryResource struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Resource: + // // *ChangeHistoryChange_ChangeHistoryResource_Account // *ChangeHistoryChange_ChangeHistoryResource_Property // *ChangeHistoryChange_ChangeHistoryResource_FirebaseLink @@ -4974,13 +5247,14 @@ type ChangeHistoryChange_ChangeHistoryResource struct { // *ChangeHistoryChange_ChangeHistoryResource_AdsenseLink // *ChangeHistoryChange_ChangeHistoryResource_Audience // *ChangeHistoryChange_ChangeHistoryResource_EventCreateRule + // *ChangeHistoryChange_ChangeHistoryResource_CalculatedMetric Resource isChangeHistoryChange_ChangeHistoryResource_Resource `protobuf_oneof:"resource"` } func (x *ChangeHistoryChange_ChangeHistoryResource) Reset() { *x = ChangeHistoryChange_ChangeHistoryResource{} if protoimpl.UnsafeEnabled { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[36] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4993,7 +5267,7 @@ func (x *ChangeHistoryChange_ChangeHistoryResource) String() string { func (*ChangeHistoryChange_ChangeHistoryResource) ProtoMessage() {} func (x *ChangeHistoryChange_ChangeHistoryResource) ProtoReflect() protoreflect.Message { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[36] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5184,6 +5458,13 @@ func (x *ChangeHistoryChange_ChangeHistoryResource) GetEventCreateRule() *EventC return nil } +func (x *ChangeHistoryChange_ChangeHistoryResource) GetCalculatedMetric() *CalculatedMetric { + if x, ok := x.GetResource().(*ChangeHistoryChange_ChangeHistoryResource_CalculatedMetric); ok { + return x.CalculatedMetric + } + return nil +} + type isChangeHistoryChange_ChangeHistoryResource_Resource interface { isChangeHistoryChange_ChangeHistoryResource_Resource() } @@ -5311,6 +5592,11 @@ type ChangeHistoryChange_ChangeHistoryResource_EventCreateRule struct { EventCreateRule *EventCreateRule `protobuf:"bytes,29,opt,name=event_create_rule,json=eventCreateRule,proto3,oneof"` } +type ChangeHistoryChange_ChangeHistoryResource_CalculatedMetric struct { + // A snapshot of a CalculatedMetric resource in change history. + CalculatedMetric *CalculatedMetric `protobuf:"bytes,31,opt,name=calculated_metric,json=calculatedMetric,proto3,oneof"` +} + func (*ChangeHistoryChange_ChangeHistoryResource_Account) isChangeHistoryChange_ChangeHistoryResource_Resource() { } @@ -5383,6 +5669,9 @@ func (*ChangeHistoryChange_ChangeHistoryResource_Audience) isChangeHistoryChange func (*ChangeHistoryChange_ChangeHistoryResource_EventCreateRule) isChangeHistoryChange_ChangeHistoryResource_Resource() { } +func (*ChangeHistoryChange_ChangeHistoryResource_CalculatedMetric) isChangeHistoryChange_ChangeHistoryResource_Resource() { +} + // Defines a default value/currency for a conversion event. Both value and // currency must be provided. type ConversionEvent_DefaultConversionValue struct { @@ -5396,14 +5685,14 @@ type ConversionEvent_DefaultConversionValue struct { // When a conversion event for this event_name has no set currency, // this currency will be applied as the default. Must be in ISO 4217 // currency code format. See https://en.wikipedia.org/wiki/ISO_4217 for - // more. + // more information. CurrencyCode *string `protobuf:"bytes,2,opt,name=currency_code,json=currencyCode,proto3,oneof" json:"currency_code,omitempty"` } func (x *ConversionEvent_DefaultConversionValue) Reset() { *x = ConversionEvent_DefaultConversionValue{} if protoimpl.UnsafeEnabled { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[37] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5416,7 +5705,7 @@ func (x *ConversionEvent_DefaultConversionValue) String() string { func (*ConversionEvent_DefaultConversionValue) ProtoMessage() {} func (x *ConversionEvent_DefaultConversionValue) ProtoReflect() protoreflect.Message { - mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[37] + mi := &file_google_analytics_admin_v1alpha_resources_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5882,7 +6171,7 @@ var file_google_analytics_admin_v1alpha_resources_proto_rawDesc = []byte{ 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x07, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x9e, 0x16, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0xff, 0x16, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x06, 0x61, 0x63, @@ -5905,8 +6194,8 @@ var file_google_analytics_admin_v1alpha_resources_proto_rawDesc = []byte{ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0xa6, - 0x13, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x72, 0x63, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x87, + 0x14, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, @@ -6059,763 +6348,828 @@ var file_google_analytics_admin_v1alpha_resources_proto_rawDesc = []byte{ 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd9, 0x04, 0x0a, 0x1d, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, - 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0c, - 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x17, - 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x52, 0x15, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x1b, 0x61, 0x64, 0x73, - 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x61, 0x64, 0x73, 0x50, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x62, 0x0a, 0x1d, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, - 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x1a, 0x63, - 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, - 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5a, 0x0a, 0x19, 0x63, 0x6f, 0x73, - 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, - 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x16, 0x63, - 0x6f, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x9b, 0x01, 0xea, 0x41, 0x97, 0x01, 0x0a, 0x3b, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, - 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x58, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, - 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, - 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, - 0x7b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x33, - 0x36, 0x30, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x7d, 0x22, 0xb0, 0x06, 0x0a, 0x25, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, - 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x17, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, - 0x69, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x05, 0x52, 0x0c, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x7f, 0x0a, 0x1c, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, - 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x5f, 0x0a, 0x11, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, - 0x6f, 0x73, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x19, 0x6c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, - 0x6f, 0x73, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x12, 0x3b, 0x0a, 0x17, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, - 0x73, 0x65, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, - 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x04, 0x52, 0x0f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x5f, - 0x0a, 0x1b, 0x61, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, - 0x03, 0xe0, 0x41, 0x05, 0x52, 0x19, 0x61, 0x64, 0x73, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x00, 0x52, 0x10, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x42, 0x0a, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd9, 0x04, 0x0a, 0x1d, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, + 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, + 0x0c, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3b, 0x0a, + 0x17, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x15, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x44, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x1b, 0x61, 0x64, + 0x73, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x61, 0x64, 0x73, + 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x62, 0x0a, 0x1d, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, + 0x67, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x1a, + 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, 0x72, + 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5a, 0x0a, 0x19, 0x63, 0x6f, + 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x16, + 0x63, 0x6f, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x9b, 0x01, 0xea, 0x41, 0x97, 0x01, 0x0a, 0x3b, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, + 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x58, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, + 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x73, + 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, + 0x33, 0x36, 0x30, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x7d, 0x22, 0xb0, 0x06, 0x0a, 0x25, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x64, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x05, 0x52, 0x0c, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x7f, 0x0a, 0x1c, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, + 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x19, 0x6c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, + 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x17, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, + 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, + 0x69, 0x73, 0x65, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x2e, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x04, 0x52, 0x0f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, + 0x5f, 0x0a, 0x1b, 0x61, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x19, 0x61, 0x64, 0x73, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x12, 0x62, 0x0a, 0x1d, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x1a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, + 0x67, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5a, 0x0a, 0x19, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x16, 0x63, 0x6f, 0x73, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x3a, 0xb4, 0x01, 0xea, 0x41, 0xb0, 0x01, 0x0a, 0x43, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, + 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x69, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, + 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x61, 0x64, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x7d, 0x22, 0xfb, 0x04, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x05, 0x52, 0x0c, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x62, 0x0a, 0x1d, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x1a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5a, 0x0a, 0x19, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x16, 0x63, 0x6f, 0x73, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, - 0xb4, 0x01, 0xea, 0x41, 0xb0, 0x01, 0x0a, 0x43, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, + 0x3b, 0x0a, 0x17, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, + 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x1b, + 0x61, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x61, + 0x64, 0x73, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x57, 0x0a, 0x1a, 0x73, 0x69, 0x74, 0x65, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, + 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x73, 0x69, 0x74, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x3a, 0x72, 0xea, 0x41, 0x6f, 0x0a, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, - 0x65, 0x6f, 0x33, 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, - 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x69, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x33, - 0x36, 0x30, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, - 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x61, 0x64, 0x76, - 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x7d, 0x22, 0xfb, 0x04, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, + 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, + 0x7b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x33, 0x36, 0x30, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x7d, 0x22, 0xbf, 0x02, 0x0a, 0x19, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x8b, 0x01, 0x0a, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x72, 0x6f, + 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x1d, 0x6c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, + 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x5f, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, + 0x66, 0x0a, 0x13, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, + 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x6c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xce, 0x06, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, - 0x52, 0x0c, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x62, - 0x0a, 0x1d, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x1a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x12, 0x5a, 0x0a, 0x19, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x16, 0x63, 0x6f, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3b, - 0x0a, 0x17, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x1b, 0x61, - 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x61, 0x64, - 0x73, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x57, 0x0a, 0x1a, 0x73, 0x69, 0x74, 0x65, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, - 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x73, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x3a, 0x72, 0xea, 0x41, 0x6f, 0x0a, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, - 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x3d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x41, 0x64, 0x73, 0x33, 0x36, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x7b, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x7d, 0x22, 0xbf, 0x02, 0x0a, 0x19, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x12, 0x8b, 0x01, 0x0a, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x70, - 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, - 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, - 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x1d, 0x6c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x12, 0x2c, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x66, - 0x0a, 0x13, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x09, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, + 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x76, 0x0a, 0x0f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x12, 0x8a, 0x01, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x1a, + 0x79, 0x0a, 0x16, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x70, 0x0a, 0x18, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, + 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, + 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x45, + 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x4e, 0x43, 0x45, 0x5f, 0x50, + 0x45, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x3a, 0x6d, 0xea, 0x41, + 0x6a, 0x0a, 0x2d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x12, 0x39, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x7d, 0x42, 0x1b, 0x0a, 0x19, 0x5f, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb6, 0x02, 0x0a, 0x15, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x53, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x3a, 0x65, 0xea, 0x41, 0x62, 0x0a, + 0x33, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x22, 0x8e, 0x04, 0x0a, 0x0f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, + 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0d, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x05, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x6e, - 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x11, 0x6c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, - 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xce, 0x06, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x09, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x06, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x76, 0x0a, 0x0f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x12, 0x8a, 0x01, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x6d, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x42, 0x06, 0xe0, 0x41, 0x02, + 0xe0, 0x41, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x1c, 0x64, 0x69, + 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1a, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, + 0x64, 0x73, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x50, 0x0a, 0x0e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, + 0x6f, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x49, 0x4d, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, + 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, + 0x08, 0x0a, 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x54, 0x45, + 0x4d, 0x10, 0x03, 0x3a, 0x6d, 0xea, 0x41, 0x6a, 0x0a, 0x2d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, + 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x7d, 0x22, 0xa2, 0x07, 0x0a, 0x0c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x0e, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0d, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x10, 0x6d, 0x65, + 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x48, 0x00, 0x52, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x79, - 0x0a, 0x16, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x70, 0x0a, 0x18, 0x43, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, - 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x45, 0x54, - 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x45, - 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x3a, 0x6d, 0xea, 0x41, 0x6a, - 0x0a, 0x2d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, - 0x39, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x7d, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb6, 0x02, 0x0a, 0x15, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x53, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x69, 0x67, - 0x6e, 0x61, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x3a, 0x65, 0xea, 0x41, 0x62, 0x0a, 0x33, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x12, 0x2b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x22, 0x8e, 0x04, 0x0a, 0x0f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, - 0x0e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0d, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x6e, + 0x69, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x56, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x63, 0x6f, 0x70, + 0x65, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x12, 0x7c, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0e, + 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x52, + 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, + 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, + 0x63, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb7, + 0x01, 0x0a, 0x0f, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x6e, + 0x69, 0x74, 0x12, 0x20, 0x0a, 0x1c, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x4d, 0x45, 0x4e, + 0x54, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, + 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x02, + 0x12, 0x08, 0x0a, 0x04, 0x46, 0x45, 0x45, 0x54, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, + 0x54, 0x45, 0x52, 0x53, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x4b, 0x49, 0x4c, 0x4f, 0x4d, 0x45, + 0x54, 0x45, 0x52, 0x53, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x49, 0x4c, 0x45, 0x53, 0x10, + 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, + 0x53, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x08, + 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x53, 0x10, 0x09, 0x12, 0x09, 0x0a, + 0x05, 0x48, 0x4f, 0x55, 0x52, 0x53, 0x10, 0x0a, 0x22, 0x36, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x45, 0x54, 0x52, 0x49, + 0x43, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x01, + 0x22, 0x5f, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x22, 0x52, 0x45, 0x53, 0x54, + 0x52, 0x49, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x01, 0x12, + 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x56, 0x45, 0x4e, 0x55, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, + 0x02, 0x3a, 0x64, 0xea, 0x41, 0x61, 0x0a, 0x2a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x12, 0x33, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x7d, 0x22, 0x9f, 0x07, 0x0a, 0x10, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x05, 0x73, - 0x63, 0x6f, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x6d, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, - 0x41, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x1c, 0x64, 0x69, 0x73, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1a, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x64, - 0x73, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x50, 0x0a, 0x0e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, - 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x49, 0x4d, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x5f, - 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x08, - 0x0a, 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x54, 0x45, 0x4d, - 0x10, 0x03, 0x3a, 0x6d, 0xea, 0x41, 0x6a, 0x0a, 0x2d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x7d, 0x22, 0xa2, 0x07, 0x0a, 0x0c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x0e, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0d, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x10, 0x6d, 0x65, 0x61, - 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, - 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x56, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x63, 0x6f, 0x70, 0x65, - 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, - 0x7c, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0e, 0x32, - 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x14, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x64, 0x12, 0x61, 0x0a, 0x0b, 0x6d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x55, 0x6e, 0x69, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x80, + 0x01, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, + 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x52, 0x65, - 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, - 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, - 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb7, 0x01, - 0x0a, 0x0f, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, - 0x74, 0x12, 0x20, 0x0a, 0x1c, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, - 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, - 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x02, 0x12, - 0x08, 0x0a, 0x04, 0x46, 0x45, 0x45, 0x54, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x54, - 0x45, 0x52, 0x53, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x4b, 0x49, 0x4c, 0x4f, 0x4d, 0x45, 0x54, - 0x45, 0x52, 0x53, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x49, 0x4c, 0x45, 0x53, 0x10, 0x06, - 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, - 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x08, 0x12, - 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x53, 0x10, 0x09, 0x12, 0x09, 0x0a, 0x05, - 0x48, 0x4f, 0x55, 0x52, 0x53, 0x10, 0x0a, 0x22, 0x36, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, - 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x22, + 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x72, 0x65, 0x73, + 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, + 0x12, 0x3d, 0x0a, 0x18, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, + 0xad, 0x01, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x1b, + 0x0a, 0x17, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, + 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x55, 0x52, + 0x52, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x45, 0x45, 0x54, 0x10, + 0x03, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x49, 0x4c, 0x45, 0x53, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, + 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x4b, 0x49, 0x4c, 0x4f, + 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x49, 0x4c, 0x4c, + 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, + 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4e, 0x55, 0x54, + 0x45, 0x53, 0x10, 0x09, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x4f, 0x55, 0x52, 0x53, 0x10, 0x0a, 0x22, 0x5f, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x22, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x56, 0x45, 0x4e, 0x55, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x02, - 0x3a, 0x64, 0xea, 0x41, 0x61, 0x0a, 0x2a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x12, 0x33, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x7d, 0x22, 0xf8, 0x03, 0x0a, 0x15, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x79, 0x0a, 0x14, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, - 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x52, - 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x12, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x1f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x72, - 0x65, 0x73, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x6e, 0x4e, 0x65, - 0x77, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, 0x9e, 0x01, 0x0a, 0x11, 0x52, 0x65, - 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x22, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x55, 0x52, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x57, 0x4f, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, - 0x53, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x46, 0x4f, 0x55, 0x52, 0x54, 0x45, 0x45, 0x4e, 0x5f, - 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x53, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x57, 0x45, 0x4e, - 0x54, 0x59, 0x5f, 0x53, 0x49, 0x58, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x53, 0x10, 0x04, 0x12, - 0x17, 0x0a, 0x13, 0x54, 0x48, 0x49, 0x52, 0x54, 0x59, 0x5f, 0x45, 0x49, 0x47, 0x48, 0x54, 0x5f, - 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x53, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x49, 0x46, 0x54, - 0x59, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x53, 0x10, 0x06, 0x3a, 0x65, 0xea, 0x41, 0x62, 0x0a, - 0x33, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x3a, 0x96, 0x01, 0xea, 0x41, 0x92, 0x01, 0x0a, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x3b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x2f, 0x7b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x7d, 0x2a, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x32, 0x10, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0xf8, 0x03, 0x0a, 0x15, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x79, 0x0a, 0x14, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x22, 0x8d, 0x0d, 0x0a, 0x13, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0xc1, 0x01, 0x0a, 0x2c, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x77, 0x69, 0x6e, - 0x64, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x41, - 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x62, 0x61, 0x63, - 0x6b, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x28, 0x61, 0x63, - 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x62, 0x61, 0x63, 0x6b, - 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0xaf, 0x01, 0x0a, 0x26, 0x6f, 0x74, 0x68, 0x65, 0x72, - 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, - 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x4f, 0x74, 0x68, - 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x62, 0x61, 0x63, 0x6b, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x22, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x62, 0x61, - 0x63, 0x6b, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x92, 0x01, 0x0a, 0x1b, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x19, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0xa7, 0x01, - 0x0a, 0x24, 0x61, 0x64, 0x73, 0x5f, 0x77, 0x65, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x53, 0x2e, 0x67, + 0x73, 0x2e, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x1f, 0x72, 0x65, 0x73, 0x65, 0x74, + 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, + 0x77, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x1a, 0x72, 0x65, 0x73, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, + 0x6e, 0x4e, 0x65, 0x77, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, 0x9e, 0x01, 0x0a, + 0x11, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x44, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x57, 0x4f, 0x5f, 0x4d, 0x4f, + 0x4e, 0x54, 0x48, 0x53, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x46, 0x4f, 0x55, 0x52, 0x54, 0x45, + 0x45, 0x4e, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x53, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x54, + 0x57, 0x45, 0x4e, 0x54, 0x59, 0x5f, 0x53, 0x49, 0x58, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x53, + 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x48, 0x49, 0x52, 0x54, 0x59, 0x5f, 0x45, 0x49, 0x47, + 0x48, 0x54, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x53, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x46, + 0x49, 0x46, 0x54, 0x59, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x53, 0x10, 0x06, 0x3a, 0x65, 0xea, + 0x41, 0x62, 0x0a, 0x33, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x22, 0x8d, 0x0d, 0x0a, 0x13, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc1, 0x01, 0x0a, 0x2c, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x62, 0x61, 0x63, 0x6b, 0x5f, + 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x2e, 0x41, 0x64, 0x73, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x63, 0x6f, 0x70, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1f, 0x61, 0x64, 0x73, 0x57, 0x65, 0x62, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x28, 0x41, 0x63, 0x71, 0x75, - 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x62, 0x61, 0x63, 0x6b, 0x57, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x3c, 0x0a, 0x38, 0x41, 0x43, 0x51, 0x55, 0x49, 0x53, 0x49, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, - 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x57, 0x49, - 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x37, 0x0a, 0x33, 0x41, 0x43, 0x51, 0x55, 0x49, 0x53, 0x49, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x57, 0x49, 0x4e, 0x44, - 0x4f, 0x57, 0x5f, 0x37, 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10, 0x01, 0x12, 0x38, 0x0a, 0x34, 0x41, - 0x43, 0x51, 0x55, 0x49, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, - 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, - 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x33, 0x30, 0x5f, 0x44, - 0x41, 0x59, 0x53, 0x10, 0x02, 0x22, 0xf8, 0x01, 0x0a, 0x22, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, - 0x6f, 0x6b, 0x62, 0x61, 0x63, 0x6b, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x36, 0x0a, 0x32, - 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, - 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x42, 0x41, 0x43, 0x4b, 0x5f, - 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x32, 0x0a, 0x2e, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x43, 0x4f, + 0x73, 0x2e, 0x41, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, + 0x62, 0x61, 0x63, 0x6b, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x28, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x62, + 0x61, 0x63, 0x6b, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0xaf, 0x01, 0x0a, 0x26, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x77, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, + 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x62, 0x61, 0x63, 0x6b, 0x57, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x22, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x6f, + 0x6b, 0x62, 0x61, 0x63, 0x6b, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x92, 0x01, 0x0a, 0x1b, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x19, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x12, 0xa7, 0x01, 0x0a, 0x24, 0x61, 0x64, 0x73, 0x5f, 0x77, 0x65, 0x62, 0x5f, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x41, 0x64, 0x73, 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1f, 0x61, 0x64, 0x73, 0x57, 0x65, + 0x62, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x28, 0x41, + 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x62, 0x61, 0x63, + 0x6b, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x3c, 0x0a, 0x38, 0x41, 0x43, 0x51, 0x55, 0x49, + 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, + 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x42, 0x41, 0x43, 0x4b, + 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x37, 0x0a, 0x33, 0x41, 0x43, 0x51, 0x55, 0x49, 0x53, 0x49, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x57, + 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x37, 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10, 0x01, 0x12, 0x38, + 0x0a, 0x34, 0x41, 0x43, 0x51, 0x55, 0x49, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x33, - 0x30, 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10, 0x01, 0x12, 0x32, 0x0a, 0x2e, 0x4f, 0x54, 0x48, 0x45, - 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x57, 0x49, 0x4e, 0x44, - 0x4f, 0x57, 0x5f, 0x36, 0x30, 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10, 0x02, 0x12, 0x32, 0x0a, 0x2e, - 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, - 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x42, 0x41, 0x43, 0x4b, 0x5f, - 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x39, 0x30, 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10, 0x03, - 0x22, 0xc2, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2b, - 0x0a, 0x27, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x50, - 0x41, 0x49, 0x44, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x43, 0x5f, - 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x44, 0x52, - 0x49, 0x56, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x41, 0x49, 0x44, 0x5f, 0x41, - 0x4e, 0x44, 0x5f, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x43, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, - 0x45, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x10, 0x02, - 0x12, 0x23, 0x0a, 0x1f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x49, 0x44, 0x5f, - 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x43, 0x4c, - 0x49, 0x43, 0x4b, 0x10, 0x07, 0x22, 0xa6, 0x01, 0x0a, 0x1f, 0x41, 0x64, 0x73, 0x57, 0x65, 0x62, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x30, 0x41, 0x44, 0x53, - 0x5f, 0x57, 0x45, 0x42, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x43, 0x4f, 0x50, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x14, 0x0a, 0x10, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, - 0x59, 0x45, 0x54, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x41, 0x49, 0x44, 0x5f, 0x41, 0x4e, - 0x44, 0x5f, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x43, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, - 0x4c, 0x53, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x50, - 0x41, 0x49, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x10, 0x03, 0x3a, 0x61, - 0xea, 0x41, 0x5e, 0x0a, 0x31, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x29, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x22, 0x84, 0x02, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x3a, 0x9c, 0x01, 0xea, 0x41, 0x98, 0x01, 0x0a, - 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x7d, - 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, - 0x7b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x7d, - 0x12, 0x35, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, - 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x7d, 0x42, 0x0f, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x9d, 0x04, 0x0a, 0x0c, 0x42, 0x69, 0x67, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x65, 0x78, 0x70, - 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x12, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, - 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, - 0x6e, 0x67, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, - 0x3b, 0x0a, 0x1a, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x65, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x17, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x45, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, - 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x69, 0x6e, 0x67, - 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x3a, 0x64, 0xea, 0x41, 0x61, 0x0a, 0x2a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, - 0x69, 0x6e, 0x6b, 0x12, 0x33, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x62, 0x69, 0x67, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x7b, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x7d, 0x22, 0xc6, 0x05, 0x0a, 0x1b, 0x45, 0x6e, 0x68, - 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x63, 0x72, 0x6f, - 0x6c, 0x6c, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0e, 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x6c, - 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x15, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6c, 0x69, 0x63, - 0x6b, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x69, 0x74, - 0x65, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x69, 0x74, 0x65, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x18, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x5f, 0x65, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x45, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x14, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x70, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x19, 0x66, - 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, - 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x16, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x72, 0x69, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x75, 0x72, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x3a, 0x8c, 0x01, 0xea, 0x41, 0x88, 0x01, 0x0a, 0x39, 0x61, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, - 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x7d, 0x2f, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, - 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x22, 0x56, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x69, - 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, - 0x06, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x22, 0xe6, 0x02, 0x0a, 0x15, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x17, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x12, 0x49, 0x0a, 0x21, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x1e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, - 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, - 0x30, 0x0a, 0x14, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, - 0x73, 0x3a, 0x7f, 0xea, 0x41, 0x7c, 0x0a, 0x33, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x30, 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10, 0x02, 0x22, 0xf8, 0x01, 0x0a, 0x22, 0x4f, 0x74, 0x68, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x62, 0x61, 0x63, 0x6b, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, + 0x36, 0x0a, 0x32, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x42, 0x41, + 0x43, 0x4b, 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x32, 0x0a, 0x2e, 0x4f, 0x54, 0x48, 0x45, 0x52, + 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, + 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x4f, + 0x57, 0x5f, 0x33, 0x30, 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10, 0x01, 0x12, 0x32, 0x0a, 0x2e, 0x4f, + 0x54, 0x48, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x57, + 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x36, 0x30, 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10, 0x02, 0x12, + 0x32, 0x0a, 0x2e, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x42, 0x41, + 0x43, 0x4b, 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x39, 0x30, 0x5f, 0x44, 0x41, 0x59, + 0x53, 0x10, 0x03, 0x22, 0xc2, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, + 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x12, 0x2b, 0x0a, 0x27, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x29, + 0x0a, 0x25, 0x50, 0x41, 0x49, 0x44, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4f, 0x52, 0x47, 0x41, 0x4e, + 0x49, 0x43, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x44, 0x52, 0x49, 0x56, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x41, 0x49, + 0x44, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x43, 0x5f, 0x43, 0x48, + 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x43, 0x4c, 0x49, 0x43, + 0x4b, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x50, 0x41, + 0x49, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x53, 0x54, + 0x5f, 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x10, 0x07, 0x22, 0xa6, 0x01, 0x0a, 0x1f, 0x41, 0x64, 0x73, + 0x57, 0x65, 0x62, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, + 0x61, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x30, + 0x41, 0x44, 0x53, 0x5f, 0x57, 0x45, 0x42, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, + 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, + 0x45, 0x44, 0x5f, 0x59, 0x45, 0x54, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x41, 0x49, 0x44, + 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x43, 0x5f, 0x43, 0x48, 0x41, + 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x47, 0x4f, 0x4f, 0x47, 0x4c, + 0x45, 0x5f, 0x50, 0x41, 0x49, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x10, + 0x03, 0x3a, 0x61, 0xea, 0x41, 0x5e, 0x0a, 0x31, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x45, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x7b, - 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x7d, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x22, 0xb4, 0x01, 0x0a, 0x0b, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, - 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0e, 0x61, - 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0c, 0x61, 0x64, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x3a, 0x61, 0xea, 0x41, 0x5e, 0x0a, 0x29, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, 0x53, 0x65, 0x6e, - 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x31, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x61, 0x64, - 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x73, 0x65, - 0x6e, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x7d, 0x22, 0xa4, 0x02, 0x0a, 0x18, 0x52, 0x6f, - 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x29, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, + 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x22, 0x84, 0x02, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x3a, 0x9c, 0x01, 0xea, 0x41, + 0x98, 0x01, 0x0a, 0x2b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, + 0x32, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x7d, 0x12, 0x35, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x7d, 0x42, 0x0f, 0x0a, 0x0d, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x9d, 0x04, 0x0a, 0x0c, + 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, + 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x61, 0x69, 0x6c, + 0x79, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x61, 0x69, + 0x6c, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, + 0x34, 0x0a, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x0a, 0x0f, + 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x64, 0xea, 0x41, 0x61, 0x0a, 0x2a, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x33, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x62, 0x69, + 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x7b, 0x62, 0x69, 0x67, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x7d, 0x22, 0xc6, 0x05, 0x0a, 0x1b, + 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, + 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x73, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, + 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, + 0x73, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x69, 0x74, 0x65, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x18, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x65, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x45, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x64, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x70, 0x61, 0x67, 0x65, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3a, + 0x0a, 0x19, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x17, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x16, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x14, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x72, 0x69, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x75, 0x72, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x3a, 0x8c, 0x01, 0xea, 0x41, 0x88, 0x01, 0x0a, 0x39, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x68, 0x61, + 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x7d, 0x2f, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, + 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x53, 0x69, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x06, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x22, 0xe6, 0x02, 0x0a, + 0x15, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x2c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0e, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3a, 0xc0, 0x01, - 0xea, 0x41, 0xbc, 0x01, 0x0a, 0x36, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x4d, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x7b, 0x72, - 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x5f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x7d, 0x2a, 0x19, 0x72, 0x6f, 0x6c, - 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x32, 0x18, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, - 0x2a, 0xaa, 0x04, 0x0a, 0x10, 0x49, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, 0x43, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x49, 0x4e, 0x44, 0x55, 0x53, 0x54, 0x52, - 0x59, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x55, 0x54, 0x4f, - 0x4d, 0x4f, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x55, 0x53, 0x49, - 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x55, 0x53, 0x54, 0x52, - 0x49, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x45, 0x54, 0x53, 0x10, 0x02, 0x12, 0x0b, 0x0a, - 0x07, 0x46, 0x49, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x48, 0x45, - 0x41, 0x4c, 0x54, 0x48, 0x43, 0x41, 0x52, 0x45, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x45, - 0x43, 0x48, 0x4e, 0x4f, 0x4c, 0x4f, 0x47, 0x59, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x52, - 0x41, 0x56, 0x45, 0x4c, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, - 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x52, 0x54, 0x53, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x45, 0x4e, - 0x54, 0x45, 0x52, 0x54, 0x41, 0x49, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x08, 0x12, 0x16, 0x0a, - 0x12, 0x42, 0x45, 0x41, 0x55, 0x54, 0x59, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x54, 0x4e, - 0x45, 0x53, 0x53, 0x10, 0x09, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x4f, 0x4f, 0x4b, 0x53, 0x5f, 0x41, - 0x4e, 0x44, 0x5f, 0x4c, 0x49, 0x54, 0x45, 0x52, 0x41, 0x54, 0x55, 0x52, 0x45, 0x10, 0x0a, 0x12, - 0x12, 0x0a, 0x0e, 0x46, 0x4f, 0x4f, 0x44, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x44, 0x52, 0x49, 0x4e, - 0x4b, 0x10, 0x0b, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x41, 0x4d, 0x45, 0x53, 0x10, 0x0c, 0x12, 0x17, - 0x0a, 0x13, 0x48, 0x4f, 0x42, 0x42, 0x49, 0x45, 0x53, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4c, 0x45, - 0x49, 0x53, 0x55, 0x52, 0x45, 0x10, 0x0d, 0x12, 0x13, 0x0a, 0x0f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, - 0x41, 0x4e, 0x44, 0x5f, 0x47, 0x41, 0x52, 0x44, 0x45, 0x4e, 0x10, 0x0e, 0x12, 0x18, 0x0a, 0x14, - 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x45, 0x54, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x54, 0x45, 0x4c, - 0x45, 0x43, 0x4f, 0x4d, 0x10, 0x0f, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x41, 0x57, 0x5f, 0x41, 0x4e, - 0x44, 0x5f, 0x47, 0x4f, 0x56, 0x45, 0x52, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x10, 0x12, 0x08, - 0x0a, 0x04, 0x4e, 0x45, 0x57, 0x53, 0x10, 0x11, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x4e, 0x4c, 0x49, - 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x49, 0x45, 0x53, 0x10, 0x12, - 0x12, 0x16, 0x0a, 0x12, 0x50, 0x45, 0x4f, 0x50, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x53, - 0x4f, 0x43, 0x49, 0x45, 0x54, 0x59, 0x10, 0x13, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x45, 0x54, 0x53, - 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x53, 0x10, 0x14, 0x12, 0x0f, - 0x0a, 0x0b, 0x52, 0x45, 0x41, 0x4c, 0x5f, 0x45, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x15, 0x12, - 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x16, 0x12, 0x0b, - 0x0a, 0x07, 0x53, 0x43, 0x49, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x17, 0x12, 0x0a, 0x0a, 0x06, 0x53, - 0x50, 0x4f, 0x52, 0x54, 0x53, 0x10, 0x18, 0x12, 0x16, 0x0a, 0x12, 0x4a, 0x4f, 0x42, 0x53, 0x5f, - 0x41, 0x4e, 0x44, 0x5f, 0x45, 0x44, 0x55, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x19, 0x12, - 0x0c, 0x0a, 0x08, 0x53, 0x48, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x1a, 0x2a, 0x66, 0x0a, - 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a, - 0x19, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, - 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x54, 0x49, 0x43, 0x53, - 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x47, - 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x54, 0x49, 0x43, 0x53, 0x5f, - 0x33, 0x36, 0x30, 0x10, 0x02, 0x2a, 0x4a, 0x0a, 0x09, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, - 0x0a, 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x59, 0x53, 0x54, - 0x45, 0x4d, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, - 0x03, 0x2a, 0x50, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1b, 0x0a, 0x17, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, - 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, - 0x44, 0x10, 0x03, 0x2a, 0x8b, 0x05, 0x0a, 0x19, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x49, 0x53, 0x54, - 0x4f, 0x52, 0x59, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, + 0x36, 0x0a, 0x17, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x15, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x49, 0x0a, 0x21, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x64, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x1e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x12, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x4b, 0x65, 0x79, 0x73, 0x3a, 0x7f, 0xea, 0x41, 0x7c, 0x0a, 0x33, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x45, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x7d, 0x2f, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xb4, 0x01, 0x0a, 0x0b, 0x41, 0x64, 0x53, 0x65, 0x6e, 0x73, + 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, + 0x0a, 0x0e, 0x61, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0c, 0x61, 0x64, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x3a, 0x61, 0xea, 0x41, 0x5e, 0x0a, 0x29, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x64, + 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x31, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, + 0x2f, 0x61, 0x64, 0x53, 0x65, 0x6e, 0x73, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x7b, 0x61, + 0x64, 0x73, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x7d, 0x22, 0xa4, 0x02, 0x0a, + 0x18, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, + 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3a, 0xc0, 0x01, 0xea, 0x41, 0xbc, 0x01, 0x0a, 0x36, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, + 0x4d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, + 0x2f, 0x7b, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x7d, 0x2a, 0x19, + 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x32, 0x18, 0x72, 0x6f, 0x6c, 0x6c, 0x75, + 0x70, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, + 0x69, 0x6e, 0x6b, 0x2a, 0xaa, 0x04, 0x0a, 0x10, 0x49, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, + 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x49, 0x4e, 0x44, 0x55, + 0x53, 0x54, 0x52, 0x59, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x41, + 0x55, 0x54, 0x4f, 0x4d, 0x4f, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x42, + 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x55, + 0x53, 0x54, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x45, 0x54, 0x53, 0x10, 0x02, + 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x49, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x12, 0x0e, 0x0a, + 0x0a, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x43, 0x41, 0x52, 0x45, 0x10, 0x04, 0x12, 0x0e, 0x0a, + 0x0a, 0x54, 0x45, 0x43, 0x48, 0x4e, 0x4f, 0x4c, 0x4f, 0x47, 0x59, 0x10, 0x05, 0x12, 0x0a, 0x0a, + 0x06, 0x54, 0x52, 0x41, 0x56, 0x45, 0x4c, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, + 0x45, 0x52, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x52, 0x54, 0x53, 0x5f, 0x41, 0x4e, 0x44, + 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x54, 0x41, 0x49, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x08, + 0x12, 0x16, 0x0a, 0x12, 0x42, 0x45, 0x41, 0x55, 0x54, 0x59, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x46, + 0x49, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x10, 0x09, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x4f, 0x4f, 0x4b, + 0x53, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4c, 0x49, 0x54, 0x45, 0x52, 0x41, 0x54, 0x55, 0x52, 0x45, + 0x10, 0x0a, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x4f, 0x4f, 0x44, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x44, + 0x52, 0x49, 0x4e, 0x4b, 0x10, 0x0b, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x41, 0x4d, 0x45, 0x53, 0x10, + 0x0c, 0x12, 0x17, 0x0a, 0x13, 0x48, 0x4f, 0x42, 0x42, 0x49, 0x45, 0x53, 0x5f, 0x41, 0x4e, 0x44, + 0x5f, 0x4c, 0x45, 0x49, 0x53, 0x55, 0x52, 0x45, 0x10, 0x0d, 0x12, 0x13, 0x0a, 0x0f, 0x48, 0x4f, + 0x4d, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x47, 0x41, 0x52, 0x44, 0x45, 0x4e, 0x10, 0x0e, 0x12, + 0x18, 0x0a, 0x14, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x45, 0x54, 0x5f, 0x41, 0x4e, 0x44, 0x5f, + 0x54, 0x45, 0x4c, 0x45, 0x43, 0x4f, 0x4d, 0x10, 0x0f, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x41, 0x57, + 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x47, 0x4f, 0x56, 0x45, 0x52, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, + 0x10, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x45, 0x57, 0x53, 0x10, 0x11, 0x12, 0x16, 0x0a, 0x12, 0x4f, + 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x49, 0x45, + 0x53, 0x10, 0x12, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x45, 0x4f, 0x50, 0x4c, 0x45, 0x5f, 0x41, 0x4e, + 0x44, 0x5f, 0x53, 0x4f, 0x43, 0x49, 0x45, 0x54, 0x59, 0x10, 0x13, 0x12, 0x14, 0x0a, 0x10, 0x50, + 0x45, 0x54, 0x53, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x53, 0x10, + 0x14, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x45, 0x41, 0x4c, 0x5f, 0x45, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x10, 0x15, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x10, + 0x16, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x43, 0x49, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x17, 0x12, 0x0a, + 0x0a, 0x06, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x53, 0x10, 0x18, 0x12, 0x16, 0x0a, 0x12, 0x4a, 0x4f, + 0x42, 0x53, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x45, 0x44, 0x55, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0x19, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x48, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x1a, + 0x2a, 0x66, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, + 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x1d, 0x0a, 0x19, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x54, + 0x49, 0x43, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x18, + 0x0a, 0x14, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x54, 0x49, + 0x43, 0x53, 0x5f, 0x33, 0x36, 0x30, 0x10, 0x02, 0x2a, 0x4a, 0x0a, 0x09, 0x41, 0x63, 0x74, 0x6f, + 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, + 0x59, 0x53, 0x54, 0x45, 0x4d, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x50, 0x50, 0x4f, + 0x52, 0x54, 0x10, 0x03, 0x2a, 0x50, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x0b, 0x0a, 0x07, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, - 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x59, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x49, - 0x52, 0x45, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x06, 0x12, 0x13, 0x0a, - 0x0f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x44, 0x53, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, - 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, - 0x4e, 0x41, 0x4c, 0x53, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x53, 0x10, 0x08, 0x12, - 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x10, 0x09, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, - 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x45, - 0x43, 0x52, 0x45, 0x54, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, - 0x5f, 0x44, 0x49, 0x4d, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, - 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x10, 0x0c, 0x12, - 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x53, 0x10, 0x0d, 0x12, 0x25, 0x0a, 0x21, - 0x44, 0x49, 0x53, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x33, 0x36, - 0x30, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x4e, - 0x4b, 0x10, 0x0e, 0x12, 0x2e, 0x0a, 0x2a, 0x44, 0x49, 0x53, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x56, - 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, - 0x53, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, - 0x4c, 0x10, 0x0f, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x41, 0x44, - 0x53, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x10, 0x12, 0x0f, 0x0a, 0x0b, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x10, 0x12, 0x12, 0x18, 0x0a, - 0x14, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x54, - 0x54, 0x49, 0x4e, 0x47, 0x53, 0x10, 0x14, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x58, 0x50, 0x41, 0x4e, - 0x44, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x15, 0x12, 0x11, - 0x0a, 0x0d, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, - 0x16, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x4e, 0x48, 0x41, 0x4e, 0x43, 0x45, 0x44, 0x5f, 0x4d, 0x45, - 0x41, 0x53, 0x55, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, - 0x47, 0x53, 0x10, 0x18, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x44, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x53, 0x10, - 0x19, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x4b, 0x41, 0x44, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, - 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x55, - 0x45, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x1a, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x44, - 0x53, 0x45, 0x4e, 0x53, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x1b, 0x12, 0x0c, 0x0a, 0x08, - 0x41, 0x55, 0x44, 0x49, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x1c, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, - 0x1d, 0x2a, 0x73, 0x0a, 0x12, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x6c, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x47, 0x4f, 0x4f, 0x47, 0x4c, - 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, - 0x16, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x53, 0x5f, - 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x4f, 0x4f, - 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x53, 0x5f, 0x44, 0x49, 0x53, 0x41, - 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x8e, 0x01, 0x0a, 0x14, 0x47, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x12, - 0x26, 0x0a, 0x22, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, - 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x47, 0x4f, 0x4f, 0x47, 0x4c, + 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, + 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, + 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x2a, 0xa2, 0x05, 0x0a, 0x19, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, + 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x01, 0x12, + 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x59, 0x10, 0x02, 0x12, 0x11, 0x0a, + 0x0d, 0x46, 0x49, 0x52, 0x45, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x06, + 0x12, 0x13, 0x0a, 0x0f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x44, 0x53, 0x5f, 0x4c, + 0x49, 0x4e, 0x4b, 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, + 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x53, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x53, + 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x09, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x45, 0x41, 0x53, + 0x55, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, + 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x55, 0x53, + 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x49, 0x4d, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x0b, 0x12, + 0x11, 0x0a, 0x0d, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, + 0x10, 0x0c, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x54, 0x45, 0x4e, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x53, 0x10, 0x0d, 0x12, + 0x25, 0x0a, 0x21, 0x44, 0x49, 0x53, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, + 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x52, 0x5f, + 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x0e, 0x12, 0x2e, 0x0a, 0x2a, 0x44, 0x49, 0x53, 0x50, 0x4c, 0x41, + 0x59, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x41, 0x44, 0x56, 0x45, + 0x52, 0x54, 0x49, 0x53, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x52, 0x4f, 0x50, + 0x4f, 0x53, 0x41, 0x4c, 0x10, 0x0f, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, + 0x5f, 0x41, 0x44, 0x53, 0x5f, 0x33, 0x36, 0x30, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x10, 0x12, + 0x0f, 0x0a, 0x0b, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x10, 0x12, + 0x12, 0x18, 0x0a, 0x14, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x53, 0x10, 0x14, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x58, + 0x50, 0x41, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x45, 0x54, 0x10, + 0x15, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x47, 0x52, 0x4f, + 0x55, 0x50, 0x10, 0x16, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x4e, 0x48, 0x41, 0x4e, 0x43, 0x45, 0x44, + 0x5f, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, + 0x54, 0x49, 0x4e, 0x47, 0x53, 0x10, 0x18, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x5f, + 0x52, 0x45, 0x44, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, + 0x47, 0x53, 0x10, 0x19, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x4b, 0x41, 0x44, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x56, + 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x1a, 0x12, 0x10, 0x0a, + 0x0c, 0x41, 0x44, 0x53, 0x45, 0x4e, 0x53, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x1b, 0x12, + 0x0c, 0x0a, 0x08, 0x41, 0x55, 0x44, 0x49, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x1c, 0x12, 0x15, 0x0a, + 0x11, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x55, + 0x4c, 0x45, 0x10, 0x1d, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x41, 0x4c, 0x43, 0x55, 0x4c, 0x41, 0x54, + 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x10, 0x1f, 0x2a, 0x73, 0x0a, 0x12, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x24, 0x0a, 0x20, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, + 0x41, 0x4c, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x47, 0x4f, 0x4f, 0x47, 0x4c, + 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x53, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, + 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x49, + 0x47, 0x4e, 0x41, 0x4c, 0x53, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, + 0x2a, 0x8e, 0x01, 0x0a, 0x14, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x22, 0x47, 0x4f, 0x4f, + 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x53, + 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x24, 0x0a, 0x20, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, + 0x41, 0x4c, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x53, + 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, - 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x28, 0x0a, - 0x24, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x53, 0x5f, - 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x53, - 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x01, 0x2a, 0x7b, 0x0a, 0x1d, 0x4c, 0x69, 0x6e, 0x6b, 0x50, - 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x30, 0x0a, 0x2c, 0x4c, 0x49, 0x4e, 0x4b, - 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, - 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x4f, - 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x54, 0x49, 0x43, 0x53, 0x10, 0x01, - 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x49, 0x4e, 0x4b, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, - 0x43, 0x54, 0x10, 0x02, 0x2a, 0xc4, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x4c, 0x49, - 0x4e, 0x4b, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x29, 0x0a, 0x25, 0x41, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x56, 0x49, - 0x45, 0x57, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, - 0x4e, 0x41, 0x4c, 0x59, 0x54, 0x49, 0x43, 0x53, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x41, 0x57, - 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x46, 0x52, - 0x4f, 0x4d, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, - 0x54, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x4e, - 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x04, - 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0c, 0x0a, - 0x08, 0x4f, 0x42, 0x53, 0x4f, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x06, 0x2a, 0x82, 0x01, 0x0a, 0x0c, - 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, - 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x50, - 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x52, 0x44, - 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x50, 0x45, - 0x52, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x50, 0x52, 0x4f, 0x50, - 0x45, 0x52, 0x54, 0x59, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, - 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x55, 0x50, 0x10, 0x03, - 0x2a, 0x71, 0x0a, 0x0b, 0x43, 0x6f, 0x61, 0x72, 0x73, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x1c, 0x0a, 0x18, 0x43, 0x4f, 0x41, 0x52, 0x53, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, - 0x10, 0x43, 0x4f, 0x41, 0x52, 0x53, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4c, 0x4f, - 0x57, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x41, 0x52, 0x53, 0x45, 0x5f, 0x56, 0x41, - 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, - 0x43, 0x4f, 0x41, 0x52, 0x53, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x48, 0x49, 0x47, - 0x48, 0x10, 0x03, 0x42, 0x76, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, - 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x70, 0x62, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, + 0x01, 0x2a, 0x7b, 0x0a, 0x1d, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, + 0x6c, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x12, 0x30, 0x0a, 0x2c, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, + 0x53, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x50, + 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, + 0x4e, 0x41, 0x4c, 0x59, 0x54, 0x49, 0x43, 0x53, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x49, + 0x4e, 0x4b, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x10, 0x02, 0x2a, 0xc4, + 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x52, 0x4f, + 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x57, 0x41, + 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x46, 0x52, 0x4f, + 0x4d, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x54, 0x49, + 0x43, 0x53, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x41, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, + 0x5f, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x4c, 0x49, 0x4e, + 0x4b, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x10, 0x02, 0x12, 0x0d, 0x0a, + 0x09, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x4e, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, + 0x44, 0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, + 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x42, 0x53, 0x4f, 0x4c, + 0x45, 0x54, 0x45, 0x10, 0x06, 0x2a, 0x82, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, + 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, + 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x52, 0x44, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, + 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x59, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x59, 0x10, 0x02, + 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x55, 0x50, 0x10, 0x03, 0x2a, 0x71, 0x0a, 0x0b, 0x43, 0x6f, + 0x61, 0x72, 0x73, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x4f, 0x41, + 0x52, 0x53, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x41, 0x52, 0x53, + 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x17, 0x0a, + 0x13, 0x43, 0x4f, 0x41, 0x52, 0x53, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x45, + 0x44, 0x49, 0x55, 0x4d, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x41, 0x52, 0x53, 0x45, + 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x03, 0x42, 0x76, 0x0a, + 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x70, 0x62, 0x3b, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -6830,167 +7184,173 @@ func file_google_analytics_admin_v1alpha_resources_proto_rawDescGZIP() []byte { return file_google_analytics_admin_v1alpha_resources_proto_rawDescData } -var file_google_analytics_admin_v1alpha_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 22) -var file_google_analytics_admin_v1alpha_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 38) +var file_google_analytics_admin_v1alpha_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 24) +var file_google_analytics_admin_v1alpha_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 39) var file_google_analytics_admin_v1alpha_resources_proto_goTypes = []interface{}{ - (IndustryCategory)(0), // 0: google.analytics.admin.v1alpha.IndustryCategory - (ServiceLevel)(0), // 1: google.analytics.admin.v1alpha.ServiceLevel - (ActorType)(0), // 2: google.analytics.admin.v1alpha.ActorType - (ActionType)(0), // 3: google.analytics.admin.v1alpha.ActionType - (ChangeHistoryResourceType)(0), // 4: google.analytics.admin.v1alpha.ChangeHistoryResourceType - (GoogleSignalsState)(0), // 5: google.analytics.admin.v1alpha.GoogleSignalsState - (GoogleSignalsConsent)(0), // 6: google.analytics.admin.v1alpha.GoogleSignalsConsent - (LinkProposalInitiatingProduct)(0), // 7: google.analytics.admin.v1alpha.LinkProposalInitiatingProduct - (LinkProposalState)(0), // 8: google.analytics.admin.v1alpha.LinkProposalState - (PropertyType)(0), // 9: google.analytics.admin.v1alpha.PropertyType - (CoarseValue)(0), // 10: google.analytics.admin.v1alpha.CoarseValue - (DataStream_DataStreamType)(0), // 11: google.analytics.admin.v1alpha.DataStream.DataStreamType - (ConversionEvent_ConversionCountingMethod)(0), // 12: google.analytics.admin.v1alpha.ConversionEvent.ConversionCountingMethod - (CustomDimension_DimensionScope)(0), // 13: google.analytics.admin.v1alpha.CustomDimension.DimensionScope - (CustomMetric_MeasurementUnit)(0), // 14: google.analytics.admin.v1alpha.CustomMetric.MeasurementUnit - (CustomMetric_MetricScope)(0), // 15: google.analytics.admin.v1alpha.CustomMetric.MetricScope - (CustomMetric_RestrictedMetricType)(0), // 16: google.analytics.admin.v1alpha.CustomMetric.RestrictedMetricType - (DataRetentionSettings_RetentionDuration)(0), // 17: google.analytics.admin.v1alpha.DataRetentionSettings.RetentionDuration - (AttributionSettings_AcquisitionConversionEventLookbackWindow)(0), // 18: google.analytics.admin.v1alpha.AttributionSettings.AcquisitionConversionEventLookbackWindow - (AttributionSettings_OtherConversionEventLookbackWindow)(0), // 19: google.analytics.admin.v1alpha.AttributionSettings.OtherConversionEventLookbackWindow - (AttributionSettings_ReportingAttributionModel)(0), // 20: google.analytics.admin.v1alpha.AttributionSettings.ReportingAttributionModel - (AttributionSettings_AdsWebConversionDataExportScope)(0), // 21: google.analytics.admin.v1alpha.AttributionSettings.AdsWebConversionDataExportScope - (*Account)(nil), // 22: google.analytics.admin.v1alpha.Account - (*Property)(nil), // 23: google.analytics.admin.v1alpha.Property - (*DataStream)(nil), // 24: google.analytics.admin.v1alpha.DataStream - (*FirebaseLink)(nil), // 25: google.analytics.admin.v1alpha.FirebaseLink - (*GlobalSiteTag)(nil), // 26: google.analytics.admin.v1alpha.GlobalSiteTag - (*GoogleAdsLink)(nil), // 27: google.analytics.admin.v1alpha.GoogleAdsLink - (*DataSharingSettings)(nil), // 28: google.analytics.admin.v1alpha.DataSharingSettings - (*AccountSummary)(nil), // 29: google.analytics.admin.v1alpha.AccountSummary - (*PropertySummary)(nil), // 30: google.analytics.admin.v1alpha.PropertySummary - (*MeasurementProtocolSecret)(nil), // 31: google.analytics.admin.v1alpha.MeasurementProtocolSecret - (*SKAdNetworkConversionValueSchema)(nil), // 32: google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema - (*PostbackWindow)(nil), // 33: google.analytics.admin.v1alpha.PostbackWindow - (*ConversionValues)(nil), // 34: google.analytics.admin.v1alpha.ConversionValues - (*EventMapping)(nil), // 35: google.analytics.admin.v1alpha.EventMapping - (*ChangeHistoryEvent)(nil), // 36: google.analytics.admin.v1alpha.ChangeHistoryEvent - (*ChangeHistoryChange)(nil), // 37: google.analytics.admin.v1alpha.ChangeHistoryChange - (*DisplayVideo360AdvertiserLink)(nil), // 38: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink - (*DisplayVideo360AdvertiserLinkProposal)(nil), // 39: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal - (*SearchAds360Link)(nil), // 40: google.analytics.admin.v1alpha.SearchAds360Link - (*LinkProposalStatusDetails)(nil), // 41: google.analytics.admin.v1alpha.LinkProposalStatusDetails - (*ConversionEvent)(nil), // 42: google.analytics.admin.v1alpha.ConversionEvent - (*GoogleSignalsSettings)(nil), // 43: google.analytics.admin.v1alpha.GoogleSignalsSettings - (*CustomDimension)(nil), // 44: google.analytics.admin.v1alpha.CustomDimension - (*CustomMetric)(nil), // 45: google.analytics.admin.v1alpha.CustomMetric - (*DataRetentionSettings)(nil), // 46: google.analytics.admin.v1alpha.DataRetentionSettings - (*AttributionSettings)(nil), // 47: google.analytics.admin.v1alpha.AttributionSettings - (*AccessBinding)(nil), // 48: google.analytics.admin.v1alpha.AccessBinding - (*BigQueryLink)(nil), // 49: google.analytics.admin.v1alpha.BigQueryLink - (*EnhancedMeasurementSettings)(nil), // 50: google.analytics.admin.v1alpha.EnhancedMeasurementSettings - (*ConnectedSiteTag)(nil), // 51: google.analytics.admin.v1alpha.ConnectedSiteTag - (*DataRedactionSettings)(nil), // 52: google.analytics.admin.v1alpha.DataRedactionSettings - (*AdSenseLink)(nil), // 53: google.analytics.admin.v1alpha.AdSenseLink - (*RollupPropertySourceLink)(nil), // 54: google.analytics.admin.v1alpha.RollupPropertySourceLink - (*DataStream_WebStreamData)(nil), // 55: google.analytics.admin.v1alpha.DataStream.WebStreamData - (*DataStream_AndroidAppStreamData)(nil), // 56: google.analytics.admin.v1alpha.DataStream.AndroidAppStreamData - (*DataStream_IosAppStreamData)(nil), // 57: google.analytics.admin.v1alpha.DataStream.IosAppStreamData - (*ChangeHistoryChange_ChangeHistoryResource)(nil), // 58: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource - (*ConversionEvent_DefaultConversionValue)(nil), // 59: google.analytics.admin.v1alpha.ConversionEvent.DefaultConversionValue - (*timestamppb.Timestamp)(nil), // 60: google.protobuf.Timestamp - (*wrapperspb.BoolValue)(nil), // 61: google.protobuf.BoolValue - (*ExpandedDataSet)(nil), // 62: google.analytics.admin.v1alpha.ExpandedDataSet - (*ChannelGroup)(nil), // 63: google.analytics.admin.v1alpha.ChannelGroup - (*Audience)(nil), // 64: google.analytics.admin.v1alpha.Audience - (*EventCreateRule)(nil), // 65: google.analytics.admin.v1alpha.EventCreateRule + (IndustryCategory)(0), // 0: google.analytics.admin.v1alpha.IndustryCategory + (ServiceLevel)(0), // 1: google.analytics.admin.v1alpha.ServiceLevel + (ActorType)(0), // 2: google.analytics.admin.v1alpha.ActorType + (ActionType)(0), // 3: google.analytics.admin.v1alpha.ActionType + (ChangeHistoryResourceType)(0), // 4: google.analytics.admin.v1alpha.ChangeHistoryResourceType + (GoogleSignalsState)(0), // 5: google.analytics.admin.v1alpha.GoogleSignalsState + (GoogleSignalsConsent)(0), // 6: google.analytics.admin.v1alpha.GoogleSignalsConsent + (LinkProposalInitiatingProduct)(0), // 7: google.analytics.admin.v1alpha.LinkProposalInitiatingProduct + (LinkProposalState)(0), // 8: google.analytics.admin.v1alpha.LinkProposalState + (PropertyType)(0), // 9: google.analytics.admin.v1alpha.PropertyType + (CoarseValue)(0), // 10: google.analytics.admin.v1alpha.CoarseValue + (DataStream_DataStreamType)(0), // 11: google.analytics.admin.v1alpha.DataStream.DataStreamType + (ConversionEvent_ConversionCountingMethod)(0), // 12: google.analytics.admin.v1alpha.ConversionEvent.ConversionCountingMethod + (CustomDimension_DimensionScope)(0), // 13: google.analytics.admin.v1alpha.CustomDimension.DimensionScope + (CustomMetric_MeasurementUnit)(0), // 14: google.analytics.admin.v1alpha.CustomMetric.MeasurementUnit + (CustomMetric_MetricScope)(0), // 15: google.analytics.admin.v1alpha.CustomMetric.MetricScope + (CustomMetric_RestrictedMetricType)(0), // 16: google.analytics.admin.v1alpha.CustomMetric.RestrictedMetricType + (CalculatedMetric_MetricUnit)(0), // 17: google.analytics.admin.v1alpha.CalculatedMetric.MetricUnit + (CalculatedMetric_RestrictedMetricType)(0), // 18: google.analytics.admin.v1alpha.CalculatedMetric.RestrictedMetricType + (DataRetentionSettings_RetentionDuration)(0), // 19: google.analytics.admin.v1alpha.DataRetentionSettings.RetentionDuration + (AttributionSettings_AcquisitionConversionEventLookbackWindow)(0), // 20: google.analytics.admin.v1alpha.AttributionSettings.AcquisitionConversionEventLookbackWindow + (AttributionSettings_OtherConversionEventLookbackWindow)(0), // 21: google.analytics.admin.v1alpha.AttributionSettings.OtherConversionEventLookbackWindow + (AttributionSettings_ReportingAttributionModel)(0), // 22: google.analytics.admin.v1alpha.AttributionSettings.ReportingAttributionModel + (AttributionSettings_AdsWebConversionDataExportScope)(0), // 23: google.analytics.admin.v1alpha.AttributionSettings.AdsWebConversionDataExportScope + (*Account)(nil), // 24: google.analytics.admin.v1alpha.Account + (*Property)(nil), // 25: google.analytics.admin.v1alpha.Property + (*DataStream)(nil), // 26: google.analytics.admin.v1alpha.DataStream + (*FirebaseLink)(nil), // 27: google.analytics.admin.v1alpha.FirebaseLink + (*GlobalSiteTag)(nil), // 28: google.analytics.admin.v1alpha.GlobalSiteTag + (*GoogleAdsLink)(nil), // 29: google.analytics.admin.v1alpha.GoogleAdsLink + (*DataSharingSettings)(nil), // 30: google.analytics.admin.v1alpha.DataSharingSettings + (*AccountSummary)(nil), // 31: google.analytics.admin.v1alpha.AccountSummary + (*PropertySummary)(nil), // 32: google.analytics.admin.v1alpha.PropertySummary + (*MeasurementProtocolSecret)(nil), // 33: google.analytics.admin.v1alpha.MeasurementProtocolSecret + (*SKAdNetworkConversionValueSchema)(nil), // 34: google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema + (*PostbackWindow)(nil), // 35: google.analytics.admin.v1alpha.PostbackWindow + (*ConversionValues)(nil), // 36: google.analytics.admin.v1alpha.ConversionValues + (*EventMapping)(nil), // 37: google.analytics.admin.v1alpha.EventMapping + (*ChangeHistoryEvent)(nil), // 38: google.analytics.admin.v1alpha.ChangeHistoryEvent + (*ChangeHistoryChange)(nil), // 39: google.analytics.admin.v1alpha.ChangeHistoryChange + (*DisplayVideo360AdvertiserLink)(nil), // 40: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink + (*DisplayVideo360AdvertiserLinkProposal)(nil), // 41: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal + (*SearchAds360Link)(nil), // 42: google.analytics.admin.v1alpha.SearchAds360Link + (*LinkProposalStatusDetails)(nil), // 43: google.analytics.admin.v1alpha.LinkProposalStatusDetails + (*ConversionEvent)(nil), // 44: google.analytics.admin.v1alpha.ConversionEvent + (*GoogleSignalsSettings)(nil), // 45: google.analytics.admin.v1alpha.GoogleSignalsSettings + (*CustomDimension)(nil), // 46: google.analytics.admin.v1alpha.CustomDimension + (*CustomMetric)(nil), // 47: google.analytics.admin.v1alpha.CustomMetric + (*CalculatedMetric)(nil), // 48: google.analytics.admin.v1alpha.CalculatedMetric + (*DataRetentionSettings)(nil), // 49: google.analytics.admin.v1alpha.DataRetentionSettings + (*AttributionSettings)(nil), // 50: google.analytics.admin.v1alpha.AttributionSettings + (*AccessBinding)(nil), // 51: google.analytics.admin.v1alpha.AccessBinding + (*BigQueryLink)(nil), // 52: google.analytics.admin.v1alpha.BigQueryLink + (*EnhancedMeasurementSettings)(nil), // 53: google.analytics.admin.v1alpha.EnhancedMeasurementSettings + (*ConnectedSiteTag)(nil), // 54: google.analytics.admin.v1alpha.ConnectedSiteTag + (*DataRedactionSettings)(nil), // 55: google.analytics.admin.v1alpha.DataRedactionSettings + (*AdSenseLink)(nil), // 56: google.analytics.admin.v1alpha.AdSenseLink + (*RollupPropertySourceLink)(nil), // 57: google.analytics.admin.v1alpha.RollupPropertySourceLink + (*DataStream_WebStreamData)(nil), // 58: google.analytics.admin.v1alpha.DataStream.WebStreamData + (*DataStream_AndroidAppStreamData)(nil), // 59: google.analytics.admin.v1alpha.DataStream.AndroidAppStreamData + (*DataStream_IosAppStreamData)(nil), // 60: google.analytics.admin.v1alpha.DataStream.IosAppStreamData + (*ChangeHistoryChange_ChangeHistoryResource)(nil), // 61: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource + (*ConversionEvent_DefaultConversionValue)(nil), // 62: google.analytics.admin.v1alpha.ConversionEvent.DefaultConversionValue + (*timestamppb.Timestamp)(nil), // 63: google.protobuf.Timestamp + (*wrapperspb.BoolValue)(nil), // 64: google.protobuf.BoolValue + (*ExpandedDataSet)(nil), // 65: google.analytics.admin.v1alpha.ExpandedDataSet + (*ChannelGroup)(nil), // 66: google.analytics.admin.v1alpha.ChannelGroup + (*Audience)(nil), // 67: google.analytics.admin.v1alpha.Audience + (*EventCreateRule)(nil), // 68: google.analytics.admin.v1alpha.EventCreateRule } var file_google_analytics_admin_v1alpha_resources_proto_depIdxs = []int32{ - 60, // 0: google.analytics.admin.v1alpha.Account.create_time:type_name -> google.protobuf.Timestamp - 60, // 1: google.analytics.admin.v1alpha.Account.update_time:type_name -> google.protobuf.Timestamp + 63, // 0: google.analytics.admin.v1alpha.Account.create_time:type_name -> google.protobuf.Timestamp + 63, // 1: google.analytics.admin.v1alpha.Account.update_time:type_name -> google.protobuf.Timestamp 9, // 2: google.analytics.admin.v1alpha.Property.property_type:type_name -> google.analytics.admin.v1alpha.PropertyType - 60, // 3: google.analytics.admin.v1alpha.Property.create_time:type_name -> google.protobuf.Timestamp - 60, // 4: google.analytics.admin.v1alpha.Property.update_time:type_name -> google.protobuf.Timestamp + 63, // 3: google.analytics.admin.v1alpha.Property.create_time:type_name -> google.protobuf.Timestamp + 63, // 4: google.analytics.admin.v1alpha.Property.update_time:type_name -> google.protobuf.Timestamp 0, // 5: google.analytics.admin.v1alpha.Property.industry_category:type_name -> google.analytics.admin.v1alpha.IndustryCategory 1, // 6: google.analytics.admin.v1alpha.Property.service_level:type_name -> google.analytics.admin.v1alpha.ServiceLevel - 60, // 7: google.analytics.admin.v1alpha.Property.delete_time:type_name -> google.protobuf.Timestamp - 60, // 8: google.analytics.admin.v1alpha.Property.expire_time:type_name -> google.protobuf.Timestamp - 55, // 9: google.analytics.admin.v1alpha.DataStream.web_stream_data:type_name -> google.analytics.admin.v1alpha.DataStream.WebStreamData - 56, // 10: google.analytics.admin.v1alpha.DataStream.android_app_stream_data:type_name -> google.analytics.admin.v1alpha.DataStream.AndroidAppStreamData - 57, // 11: google.analytics.admin.v1alpha.DataStream.ios_app_stream_data:type_name -> google.analytics.admin.v1alpha.DataStream.IosAppStreamData + 63, // 7: google.analytics.admin.v1alpha.Property.delete_time:type_name -> google.protobuf.Timestamp + 63, // 8: google.analytics.admin.v1alpha.Property.expire_time:type_name -> google.protobuf.Timestamp + 58, // 9: google.analytics.admin.v1alpha.DataStream.web_stream_data:type_name -> google.analytics.admin.v1alpha.DataStream.WebStreamData + 59, // 10: google.analytics.admin.v1alpha.DataStream.android_app_stream_data:type_name -> google.analytics.admin.v1alpha.DataStream.AndroidAppStreamData + 60, // 11: google.analytics.admin.v1alpha.DataStream.ios_app_stream_data:type_name -> google.analytics.admin.v1alpha.DataStream.IosAppStreamData 11, // 12: google.analytics.admin.v1alpha.DataStream.type:type_name -> google.analytics.admin.v1alpha.DataStream.DataStreamType - 60, // 13: google.analytics.admin.v1alpha.DataStream.create_time:type_name -> google.protobuf.Timestamp - 60, // 14: google.analytics.admin.v1alpha.DataStream.update_time:type_name -> google.protobuf.Timestamp - 60, // 15: google.analytics.admin.v1alpha.FirebaseLink.create_time:type_name -> google.protobuf.Timestamp - 61, // 16: google.analytics.admin.v1alpha.GoogleAdsLink.ads_personalization_enabled:type_name -> google.protobuf.BoolValue - 60, // 17: google.analytics.admin.v1alpha.GoogleAdsLink.create_time:type_name -> google.protobuf.Timestamp - 60, // 18: google.analytics.admin.v1alpha.GoogleAdsLink.update_time:type_name -> google.protobuf.Timestamp - 30, // 19: google.analytics.admin.v1alpha.AccountSummary.property_summaries:type_name -> google.analytics.admin.v1alpha.PropertySummary + 63, // 13: google.analytics.admin.v1alpha.DataStream.create_time:type_name -> google.protobuf.Timestamp + 63, // 14: google.analytics.admin.v1alpha.DataStream.update_time:type_name -> google.protobuf.Timestamp + 63, // 15: google.analytics.admin.v1alpha.FirebaseLink.create_time:type_name -> google.protobuf.Timestamp + 64, // 16: google.analytics.admin.v1alpha.GoogleAdsLink.ads_personalization_enabled:type_name -> google.protobuf.BoolValue + 63, // 17: google.analytics.admin.v1alpha.GoogleAdsLink.create_time:type_name -> google.protobuf.Timestamp + 63, // 18: google.analytics.admin.v1alpha.GoogleAdsLink.update_time:type_name -> google.protobuf.Timestamp + 32, // 19: google.analytics.admin.v1alpha.AccountSummary.property_summaries:type_name -> google.analytics.admin.v1alpha.PropertySummary 9, // 20: google.analytics.admin.v1alpha.PropertySummary.property_type:type_name -> google.analytics.admin.v1alpha.PropertyType - 33, // 21: google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema.postback_window_one:type_name -> google.analytics.admin.v1alpha.PostbackWindow - 33, // 22: google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema.postback_window_two:type_name -> google.analytics.admin.v1alpha.PostbackWindow - 33, // 23: google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema.postback_window_three:type_name -> google.analytics.admin.v1alpha.PostbackWindow - 34, // 24: google.analytics.admin.v1alpha.PostbackWindow.conversion_values:type_name -> google.analytics.admin.v1alpha.ConversionValues + 35, // 21: google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema.postback_window_one:type_name -> google.analytics.admin.v1alpha.PostbackWindow + 35, // 22: google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema.postback_window_two:type_name -> google.analytics.admin.v1alpha.PostbackWindow + 35, // 23: google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema.postback_window_three:type_name -> google.analytics.admin.v1alpha.PostbackWindow + 36, // 24: google.analytics.admin.v1alpha.PostbackWindow.conversion_values:type_name -> google.analytics.admin.v1alpha.ConversionValues 10, // 25: google.analytics.admin.v1alpha.ConversionValues.coarse_value:type_name -> google.analytics.admin.v1alpha.CoarseValue - 35, // 26: google.analytics.admin.v1alpha.ConversionValues.event_mappings:type_name -> google.analytics.admin.v1alpha.EventMapping - 60, // 27: google.analytics.admin.v1alpha.ChangeHistoryEvent.change_time:type_name -> google.protobuf.Timestamp + 37, // 26: google.analytics.admin.v1alpha.ConversionValues.event_mappings:type_name -> google.analytics.admin.v1alpha.EventMapping + 63, // 27: google.analytics.admin.v1alpha.ChangeHistoryEvent.change_time:type_name -> google.protobuf.Timestamp 2, // 28: google.analytics.admin.v1alpha.ChangeHistoryEvent.actor_type:type_name -> google.analytics.admin.v1alpha.ActorType - 37, // 29: google.analytics.admin.v1alpha.ChangeHistoryEvent.changes:type_name -> google.analytics.admin.v1alpha.ChangeHistoryChange + 39, // 29: google.analytics.admin.v1alpha.ChangeHistoryEvent.changes:type_name -> google.analytics.admin.v1alpha.ChangeHistoryChange 3, // 30: google.analytics.admin.v1alpha.ChangeHistoryChange.action:type_name -> google.analytics.admin.v1alpha.ActionType - 58, // 31: google.analytics.admin.v1alpha.ChangeHistoryChange.resource_before_change:type_name -> google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource - 58, // 32: google.analytics.admin.v1alpha.ChangeHistoryChange.resource_after_change:type_name -> google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource - 61, // 33: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink.ads_personalization_enabled:type_name -> google.protobuf.BoolValue - 61, // 34: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink.campaign_data_sharing_enabled:type_name -> google.protobuf.BoolValue - 61, // 35: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink.cost_data_sharing_enabled:type_name -> google.protobuf.BoolValue - 41, // 36: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal.link_proposal_status_details:type_name -> google.analytics.admin.v1alpha.LinkProposalStatusDetails - 61, // 37: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal.ads_personalization_enabled:type_name -> google.protobuf.BoolValue - 61, // 38: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal.campaign_data_sharing_enabled:type_name -> google.protobuf.BoolValue - 61, // 39: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal.cost_data_sharing_enabled:type_name -> google.protobuf.BoolValue - 61, // 40: google.analytics.admin.v1alpha.SearchAds360Link.campaign_data_sharing_enabled:type_name -> google.protobuf.BoolValue - 61, // 41: google.analytics.admin.v1alpha.SearchAds360Link.cost_data_sharing_enabled:type_name -> google.protobuf.BoolValue - 61, // 42: google.analytics.admin.v1alpha.SearchAds360Link.ads_personalization_enabled:type_name -> google.protobuf.BoolValue - 61, // 43: google.analytics.admin.v1alpha.SearchAds360Link.site_stats_sharing_enabled:type_name -> google.protobuf.BoolValue + 61, // 31: google.analytics.admin.v1alpha.ChangeHistoryChange.resource_before_change:type_name -> google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource + 61, // 32: google.analytics.admin.v1alpha.ChangeHistoryChange.resource_after_change:type_name -> google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource + 64, // 33: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink.ads_personalization_enabled:type_name -> google.protobuf.BoolValue + 64, // 34: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink.campaign_data_sharing_enabled:type_name -> google.protobuf.BoolValue + 64, // 35: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink.cost_data_sharing_enabled:type_name -> google.protobuf.BoolValue + 43, // 36: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal.link_proposal_status_details:type_name -> google.analytics.admin.v1alpha.LinkProposalStatusDetails + 64, // 37: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal.ads_personalization_enabled:type_name -> google.protobuf.BoolValue + 64, // 38: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal.campaign_data_sharing_enabled:type_name -> google.protobuf.BoolValue + 64, // 39: google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal.cost_data_sharing_enabled:type_name -> google.protobuf.BoolValue + 64, // 40: google.analytics.admin.v1alpha.SearchAds360Link.campaign_data_sharing_enabled:type_name -> google.protobuf.BoolValue + 64, // 41: google.analytics.admin.v1alpha.SearchAds360Link.cost_data_sharing_enabled:type_name -> google.protobuf.BoolValue + 64, // 42: google.analytics.admin.v1alpha.SearchAds360Link.ads_personalization_enabled:type_name -> google.protobuf.BoolValue + 64, // 43: google.analytics.admin.v1alpha.SearchAds360Link.site_stats_sharing_enabled:type_name -> google.protobuf.BoolValue 7, // 44: google.analytics.admin.v1alpha.LinkProposalStatusDetails.link_proposal_initiating_product:type_name -> google.analytics.admin.v1alpha.LinkProposalInitiatingProduct 8, // 45: google.analytics.admin.v1alpha.LinkProposalStatusDetails.link_proposal_state:type_name -> google.analytics.admin.v1alpha.LinkProposalState - 60, // 46: google.analytics.admin.v1alpha.ConversionEvent.create_time:type_name -> google.protobuf.Timestamp + 63, // 46: google.analytics.admin.v1alpha.ConversionEvent.create_time:type_name -> google.protobuf.Timestamp 12, // 47: google.analytics.admin.v1alpha.ConversionEvent.counting_method:type_name -> google.analytics.admin.v1alpha.ConversionEvent.ConversionCountingMethod - 59, // 48: google.analytics.admin.v1alpha.ConversionEvent.default_conversion_value:type_name -> google.analytics.admin.v1alpha.ConversionEvent.DefaultConversionValue + 62, // 48: google.analytics.admin.v1alpha.ConversionEvent.default_conversion_value:type_name -> google.analytics.admin.v1alpha.ConversionEvent.DefaultConversionValue 5, // 49: google.analytics.admin.v1alpha.GoogleSignalsSettings.state:type_name -> google.analytics.admin.v1alpha.GoogleSignalsState 6, // 50: google.analytics.admin.v1alpha.GoogleSignalsSettings.consent:type_name -> google.analytics.admin.v1alpha.GoogleSignalsConsent 13, // 51: google.analytics.admin.v1alpha.CustomDimension.scope:type_name -> google.analytics.admin.v1alpha.CustomDimension.DimensionScope 14, // 52: google.analytics.admin.v1alpha.CustomMetric.measurement_unit:type_name -> google.analytics.admin.v1alpha.CustomMetric.MeasurementUnit 15, // 53: google.analytics.admin.v1alpha.CustomMetric.scope:type_name -> google.analytics.admin.v1alpha.CustomMetric.MetricScope 16, // 54: google.analytics.admin.v1alpha.CustomMetric.restricted_metric_type:type_name -> google.analytics.admin.v1alpha.CustomMetric.RestrictedMetricType - 17, // 55: google.analytics.admin.v1alpha.DataRetentionSettings.event_data_retention:type_name -> google.analytics.admin.v1alpha.DataRetentionSettings.RetentionDuration - 18, // 56: google.analytics.admin.v1alpha.AttributionSettings.acquisition_conversion_event_lookback_window:type_name -> google.analytics.admin.v1alpha.AttributionSettings.AcquisitionConversionEventLookbackWindow - 19, // 57: google.analytics.admin.v1alpha.AttributionSettings.other_conversion_event_lookback_window:type_name -> google.analytics.admin.v1alpha.AttributionSettings.OtherConversionEventLookbackWindow - 20, // 58: google.analytics.admin.v1alpha.AttributionSettings.reporting_attribution_model:type_name -> google.analytics.admin.v1alpha.AttributionSettings.ReportingAttributionModel - 21, // 59: google.analytics.admin.v1alpha.AttributionSettings.ads_web_conversion_data_export_scope:type_name -> google.analytics.admin.v1alpha.AttributionSettings.AdsWebConversionDataExportScope - 60, // 60: google.analytics.admin.v1alpha.BigQueryLink.create_time:type_name -> google.protobuf.Timestamp - 22, // 61: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.account:type_name -> google.analytics.admin.v1alpha.Account - 23, // 62: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.property:type_name -> google.analytics.admin.v1alpha.Property - 25, // 63: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.firebase_link:type_name -> google.analytics.admin.v1alpha.FirebaseLink - 27, // 64: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.google_ads_link:type_name -> google.analytics.admin.v1alpha.GoogleAdsLink - 43, // 65: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.google_signals_settings:type_name -> google.analytics.admin.v1alpha.GoogleSignalsSettings - 38, // 66: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.display_video_360_advertiser_link:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink - 39, // 67: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.display_video_360_advertiser_link_proposal:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal - 42, // 68: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.conversion_event:type_name -> google.analytics.admin.v1alpha.ConversionEvent - 31, // 69: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.measurement_protocol_secret:type_name -> google.analytics.admin.v1alpha.MeasurementProtocolSecret - 44, // 70: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.custom_dimension:type_name -> google.analytics.admin.v1alpha.CustomDimension - 45, // 71: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.custom_metric:type_name -> google.analytics.admin.v1alpha.CustomMetric - 46, // 72: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.data_retention_settings:type_name -> google.analytics.admin.v1alpha.DataRetentionSettings - 40, // 73: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.search_ads_360_link:type_name -> google.analytics.admin.v1alpha.SearchAds360Link - 24, // 74: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.data_stream:type_name -> google.analytics.admin.v1alpha.DataStream - 47, // 75: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.attribution_settings:type_name -> google.analytics.admin.v1alpha.AttributionSettings - 62, // 76: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.expanded_data_set:type_name -> google.analytics.admin.v1alpha.ExpandedDataSet - 63, // 77: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.channel_group:type_name -> google.analytics.admin.v1alpha.ChannelGroup - 49, // 78: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.bigquery_link:type_name -> google.analytics.admin.v1alpha.BigQueryLink - 50, // 79: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.enhanced_measurement_settings:type_name -> google.analytics.admin.v1alpha.EnhancedMeasurementSettings - 52, // 80: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.data_redaction_settings:type_name -> google.analytics.admin.v1alpha.DataRedactionSettings - 32, // 81: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.skadnetwork_conversion_value_schema:type_name -> google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema - 53, // 82: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.adsense_link:type_name -> google.analytics.admin.v1alpha.AdSenseLink - 64, // 83: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.audience:type_name -> google.analytics.admin.v1alpha.Audience - 65, // 84: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.event_create_rule:type_name -> google.analytics.admin.v1alpha.EventCreateRule - 85, // [85:85] is the sub-list for method output_type - 85, // [85:85] is the sub-list for method input_type - 85, // [85:85] is the sub-list for extension type_name - 85, // [85:85] is the sub-list for extension extendee - 0, // [0:85] is the sub-list for field type_name + 17, // 55: google.analytics.admin.v1alpha.CalculatedMetric.metric_unit:type_name -> google.analytics.admin.v1alpha.CalculatedMetric.MetricUnit + 18, // 56: google.analytics.admin.v1alpha.CalculatedMetric.restricted_metric_type:type_name -> google.analytics.admin.v1alpha.CalculatedMetric.RestrictedMetricType + 19, // 57: google.analytics.admin.v1alpha.DataRetentionSettings.event_data_retention:type_name -> google.analytics.admin.v1alpha.DataRetentionSettings.RetentionDuration + 20, // 58: google.analytics.admin.v1alpha.AttributionSettings.acquisition_conversion_event_lookback_window:type_name -> google.analytics.admin.v1alpha.AttributionSettings.AcquisitionConversionEventLookbackWindow + 21, // 59: google.analytics.admin.v1alpha.AttributionSettings.other_conversion_event_lookback_window:type_name -> google.analytics.admin.v1alpha.AttributionSettings.OtherConversionEventLookbackWindow + 22, // 60: google.analytics.admin.v1alpha.AttributionSettings.reporting_attribution_model:type_name -> google.analytics.admin.v1alpha.AttributionSettings.ReportingAttributionModel + 23, // 61: google.analytics.admin.v1alpha.AttributionSettings.ads_web_conversion_data_export_scope:type_name -> google.analytics.admin.v1alpha.AttributionSettings.AdsWebConversionDataExportScope + 63, // 62: google.analytics.admin.v1alpha.BigQueryLink.create_time:type_name -> google.protobuf.Timestamp + 24, // 63: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.account:type_name -> google.analytics.admin.v1alpha.Account + 25, // 64: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.property:type_name -> google.analytics.admin.v1alpha.Property + 27, // 65: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.firebase_link:type_name -> google.analytics.admin.v1alpha.FirebaseLink + 29, // 66: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.google_ads_link:type_name -> google.analytics.admin.v1alpha.GoogleAdsLink + 45, // 67: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.google_signals_settings:type_name -> google.analytics.admin.v1alpha.GoogleSignalsSettings + 40, // 68: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.display_video_360_advertiser_link:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLink + 41, // 69: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.display_video_360_advertiser_link_proposal:type_name -> google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposal + 44, // 70: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.conversion_event:type_name -> google.analytics.admin.v1alpha.ConversionEvent + 33, // 71: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.measurement_protocol_secret:type_name -> google.analytics.admin.v1alpha.MeasurementProtocolSecret + 46, // 72: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.custom_dimension:type_name -> google.analytics.admin.v1alpha.CustomDimension + 47, // 73: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.custom_metric:type_name -> google.analytics.admin.v1alpha.CustomMetric + 49, // 74: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.data_retention_settings:type_name -> google.analytics.admin.v1alpha.DataRetentionSettings + 42, // 75: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.search_ads_360_link:type_name -> google.analytics.admin.v1alpha.SearchAds360Link + 26, // 76: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.data_stream:type_name -> google.analytics.admin.v1alpha.DataStream + 50, // 77: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.attribution_settings:type_name -> google.analytics.admin.v1alpha.AttributionSettings + 65, // 78: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.expanded_data_set:type_name -> google.analytics.admin.v1alpha.ExpandedDataSet + 66, // 79: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.channel_group:type_name -> google.analytics.admin.v1alpha.ChannelGroup + 52, // 80: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.bigquery_link:type_name -> google.analytics.admin.v1alpha.BigQueryLink + 53, // 81: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.enhanced_measurement_settings:type_name -> google.analytics.admin.v1alpha.EnhancedMeasurementSettings + 55, // 82: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.data_redaction_settings:type_name -> google.analytics.admin.v1alpha.DataRedactionSettings + 34, // 83: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.skadnetwork_conversion_value_schema:type_name -> google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchema + 56, // 84: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.adsense_link:type_name -> google.analytics.admin.v1alpha.AdSenseLink + 67, // 85: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.audience:type_name -> google.analytics.admin.v1alpha.Audience + 68, // 86: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.event_create_rule:type_name -> google.analytics.admin.v1alpha.EventCreateRule + 48, // 87: google.analytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource.calculated_metric:type_name -> google.analytics.admin.v1alpha.CalculatedMetric + 88, // [88:88] is the sub-list for method output_type + 88, // [88:88] is the sub-list for method input_type + 88, // [88:88] is the sub-list for extension type_name + 88, // [88:88] is the sub-list for extension extendee + 0, // [0:88] is the sub-list for field type_name } func init() { file_google_analytics_admin_v1alpha_resources_proto_init() } @@ -7292,7 +7652,7 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { } } file_google_analytics_admin_v1alpha_resources_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataRetentionSettings); i { + switch v := v.(*CalculatedMetric); i { case 0: return &v.state case 1: @@ -7304,7 +7664,7 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { } } file_google_analytics_admin_v1alpha_resources_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttributionSettings); i { + switch v := v.(*DataRetentionSettings); i { case 0: return &v.state case 1: @@ -7316,7 +7676,7 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { } } file_google_analytics_admin_v1alpha_resources_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccessBinding); i { + switch v := v.(*AttributionSettings); i { case 0: return &v.state case 1: @@ -7328,7 +7688,7 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { } } file_google_analytics_admin_v1alpha_resources_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BigQueryLink); i { + switch v := v.(*AccessBinding); i { case 0: return &v.state case 1: @@ -7340,7 +7700,7 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { } } file_google_analytics_admin_v1alpha_resources_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnhancedMeasurementSettings); i { + switch v := v.(*BigQueryLink); i { case 0: return &v.state case 1: @@ -7352,7 +7712,7 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { } } file_google_analytics_admin_v1alpha_resources_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConnectedSiteTag); i { + switch v := v.(*EnhancedMeasurementSettings); i { case 0: return &v.state case 1: @@ -7364,7 +7724,7 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { } } file_google_analytics_admin_v1alpha_resources_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataRedactionSettings); i { + switch v := v.(*ConnectedSiteTag); i { case 0: return &v.state case 1: @@ -7376,7 +7736,7 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { } } file_google_analytics_admin_v1alpha_resources_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdSenseLink); i { + switch v := v.(*DataRedactionSettings); i { case 0: return &v.state case 1: @@ -7388,7 +7748,7 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { } } file_google_analytics_admin_v1alpha_resources_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RollupPropertySourceLink); i { + switch v := v.(*AdSenseLink); i { case 0: return &v.state case 1: @@ -7400,7 +7760,7 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { } } file_google_analytics_admin_v1alpha_resources_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataStream_WebStreamData); i { + switch v := v.(*RollupPropertySourceLink); i { case 0: return &v.state case 1: @@ -7412,7 +7772,7 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { } } file_google_analytics_admin_v1alpha_resources_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataStream_AndroidAppStreamData); i { + switch v := v.(*DataStream_WebStreamData); i { case 0: return &v.state case 1: @@ -7424,7 +7784,7 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { } } file_google_analytics_admin_v1alpha_resources_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataStream_IosAppStreamData); i { + switch v := v.(*DataStream_AndroidAppStreamData); i { case 0: return &v.state case 1: @@ -7436,7 +7796,7 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { } } file_google_analytics_admin_v1alpha_resources_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChangeHistoryChange_ChangeHistoryResource); i { + switch v := v.(*DataStream_IosAppStreamData); i { case 0: return &v.state case 1: @@ -7448,6 +7808,18 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { } } file_google_analytics_admin_v1alpha_resources_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChangeHistoryChange_ChangeHistoryResource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_analytics_admin_v1alpha_resources_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConversionEvent_DefaultConversionValue); i { case 0: return &v.state @@ -7468,10 +7840,10 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { file_google_analytics_admin_v1alpha_resources_proto_msgTypes[12].OneofWrappers = []interface{}{} file_google_analytics_admin_v1alpha_resources_proto_msgTypes[13].OneofWrappers = []interface{}{} file_google_analytics_admin_v1alpha_resources_proto_msgTypes[20].OneofWrappers = []interface{}{} - file_google_analytics_admin_v1alpha_resources_proto_msgTypes[26].OneofWrappers = []interface{}{ + file_google_analytics_admin_v1alpha_resources_proto_msgTypes[27].OneofWrappers = []interface{}{ (*AccessBinding_User)(nil), } - file_google_analytics_admin_v1alpha_resources_proto_msgTypes[36].OneofWrappers = []interface{}{ + file_google_analytics_admin_v1alpha_resources_proto_msgTypes[37].OneofWrappers = []interface{}{ (*ChangeHistoryChange_ChangeHistoryResource_Account)(nil), (*ChangeHistoryChange_ChangeHistoryResource_Property)(nil), (*ChangeHistoryChange_ChangeHistoryResource_FirebaseLink)(nil), @@ -7496,15 +7868,16 @@ func file_google_analytics_admin_v1alpha_resources_proto_init() { (*ChangeHistoryChange_ChangeHistoryResource_AdsenseLink)(nil), (*ChangeHistoryChange_ChangeHistoryResource_Audience)(nil), (*ChangeHistoryChange_ChangeHistoryResource_EventCreateRule)(nil), + (*ChangeHistoryChange_ChangeHistoryResource_CalculatedMetric)(nil), } - file_google_analytics_admin_v1alpha_resources_proto_msgTypes[37].OneofWrappers = []interface{}{} + file_google_analytics_admin_v1alpha_resources_proto_msgTypes[38].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_analytics_admin_v1alpha_resources_proto_rawDesc, - NumEnums: 22, - NumMessages: 38, + NumEnums: 24, + NumMessages: 39, NumExtensions: 0, NumServices: 0, }, diff --git a/analytics/admin/apiv1alpha/adminpb/subproperty_event_filter.pb.go b/analytics/admin/apiv1alpha/adminpb/subproperty_event_filter.pb.go index 08b16ac19b5..ae7031ce092 100755 --- a/analytics/admin/apiv1alpha/adminpb/subproperty_event_filter.pb.go +++ b/analytics/admin/apiv1alpha/adminpb/subproperty_event_filter.pb.go @@ -166,6 +166,7 @@ type SubpropertyEventFilterCondition struct { unknownFields protoimpl.UnknownFields // Types that are assignable to OneFilter: + // // *SubpropertyEventFilterCondition_NullFilter // *SubpropertyEventFilterCondition_StringFilter_ OneFilter isSubpropertyEventFilterCondition_OneFilter `protobuf_oneof:"one_filter"` @@ -260,6 +261,7 @@ type SubpropertyEventFilterExpression struct { // The expression applied to a filter. // // Types that are assignable to Expr: + // // *SubpropertyEventFilterExpression_OrGroup // *SubpropertyEventFilterExpression_NotExpression // *SubpropertyEventFilterExpression_FilterCondition diff --git a/analytics/admin/apiv1alpha/analytics_admin_client.go b/analytics/admin/apiv1alpha/analytics_admin_client.go index 998d58cd4aa..45b1c33450e 100755 --- a/analytics/admin/apiv1alpha/analytics_admin_client.go +++ b/analytics/admin/apiv1alpha/analytics_admin_client.go @@ -164,6 +164,11 @@ type AnalyticsAdminCallOptions struct { DeleteEventCreateRule []gax.CallOption UpdateDataRedactionSettings []gax.CallOption GetDataRedactionSettings []gax.CallOption + GetCalculatedMetric []gax.CallOption + CreateCalculatedMetric []gax.CallOption + ListCalculatedMetrics []gax.CallOption + UpdateCalculatedMetric []gax.CallOption + DeleteCalculatedMetric []gax.CallOption CreateRollupProperty []gax.CallOption GetRollupPropertySourceLink []gax.CallOption ListRollupPropertySourceLinks []gax.CallOption @@ -1551,6 +1556,71 @@ func defaultAnalyticsAdminCallOptions() *AnalyticsAdminCallOptions { }) }), }, + GetCalculatedMetric: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + codes.Unknown, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateCalculatedMetric: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + codes.Unknown, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListCalculatedMetrics: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + codes.Unknown, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + UpdateCalculatedMetric: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + codes.Unknown, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteCalculatedMetric: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + codes.Unknown, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, CreateRollupProperty: []gax.CallOption{ gax.WithTimeout(60000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { @@ -2959,6 +3029,66 @@ func defaultAnalyticsAdminRESTCallOptions() *AnalyticsAdminCallOptions { http.StatusInternalServerError) }), }, + GetCalculatedMetric: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable, + http.StatusInternalServerError) + }), + }, + CreateCalculatedMetric: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable, + http.StatusInternalServerError) + }), + }, + ListCalculatedMetrics: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable, + http.StatusInternalServerError) + }), + }, + UpdateCalculatedMetric: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable, + http.StatusInternalServerError) + }), + }, + DeleteCalculatedMetric: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable, + http.StatusInternalServerError) + }), + }, CreateRollupProperty: []gax.CallOption{ gax.WithTimeout(60000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { @@ -3219,6 +3349,11 @@ type internalAnalyticsAdminClient interface { DeleteEventCreateRule(context.Context, *adminpb.DeleteEventCreateRuleRequest, ...gax.CallOption) error UpdateDataRedactionSettings(context.Context, *adminpb.UpdateDataRedactionSettingsRequest, ...gax.CallOption) (*adminpb.DataRedactionSettings, error) GetDataRedactionSettings(context.Context, *adminpb.GetDataRedactionSettingsRequest, ...gax.CallOption) (*adminpb.DataRedactionSettings, error) + GetCalculatedMetric(context.Context, *adminpb.GetCalculatedMetricRequest, ...gax.CallOption) (*adminpb.CalculatedMetric, error) + CreateCalculatedMetric(context.Context, *adminpb.CreateCalculatedMetricRequest, ...gax.CallOption) (*adminpb.CalculatedMetric, error) + ListCalculatedMetrics(context.Context, *adminpb.ListCalculatedMetricsRequest, ...gax.CallOption) *CalculatedMetricIterator + UpdateCalculatedMetric(context.Context, *adminpb.UpdateCalculatedMetricRequest, ...gax.CallOption) (*adminpb.CalculatedMetric, error) + DeleteCalculatedMetric(context.Context, *adminpb.DeleteCalculatedMetricRequest, ...gax.CallOption) error CreateRollupProperty(context.Context, *adminpb.CreateRollupPropertyRequest, ...gax.CallOption) (*adminpb.CreateRollupPropertyResponse, error) GetRollupPropertySourceLink(context.Context, *adminpb.GetRollupPropertySourceLinkRequest, ...gax.CallOption) (*adminpb.RollupPropertySourceLink, error) ListRollupPropertySourceLinks(context.Context, *adminpb.ListRollupPropertySourceLinksRequest, ...gax.CallOption) *RollupPropertySourceLinkIterator @@ -3960,6 +4095,31 @@ func (c *AnalyticsAdminClient) GetDataRedactionSettings(ctx context.Context, req return c.internalClient.GetDataRedactionSettings(ctx, req, opts...) } +// GetCalculatedMetric lookup for a single CalculatedMetric. +func (c *AnalyticsAdminClient) GetCalculatedMetric(ctx context.Context, req *adminpb.GetCalculatedMetricRequest, opts ...gax.CallOption) (*adminpb.CalculatedMetric, error) { + return c.internalClient.GetCalculatedMetric(ctx, req, opts...) +} + +// CreateCalculatedMetric creates a CalculatedMetric. +func (c *AnalyticsAdminClient) CreateCalculatedMetric(ctx context.Context, req *adminpb.CreateCalculatedMetricRequest, opts ...gax.CallOption) (*adminpb.CalculatedMetric, error) { + return c.internalClient.CreateCalculatedMetric(ctx, req, opts...) +} + +// ListCalculatedMetrics lists CalculatedMetrics on a property. +func (c *AnalyticsAdminClient) ListCalculatedMetrics(ctx context.Context, req *adminpb.ListCalculatedMetricsRequest, opts ...gax.CallOption) *CalculatedMetricIterator { + return c.internalClient.ListCalculatedMetrics(ctx, req, opts...) +} + +// UpdateCalculatedMetric updates a CalculatedMetric on a property. +func (c *AnalyticsAdminClient) UpdateCalculatedMetric(ctx context.Context, req *adminpb.UpdateCalculatedMetricRequest, opts ...gax.CallOption) (*adminpb.CalculatedMetric, error) { + return c.internalClient.UpdateCalculatedMetric(ctx, req, opts...) +} + +// DeleteCalculatedMetric deletes a CalculatedMetric on a property. +func (c *AnalyticsAdminClient) DeleteCalculatedMetric(ctx context.Context, req *adminpb.DeleteCalculatedMetricRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteCalculatedMetric(ctx, req, opts...) +} + // CreateRollupProperty create a roll-up property and all roll-up property source links. func (c *AnalyticsAdminClient) CreateRollupProperty(ctx context.Context, req *adminpb.CreateRollupPropertyRequest, opts ...gax.CallOption) (*adminpb.CreateRollupPropertyResponse, error) { return c.internalClient.CreateRollupProperty(ctx, req, opts...) @@ -6827,6 +6987,120 @@ func (c *analyticsAdminGRPCClient) GetDataRedactionSettings(ctx context.Context, return resp, nil } +func (c *analyticsAdminGRPCClient) GetCalculatedMetric(ctx context.Context, req *adminpb.GetCalculatedMetricRequest, opts ...gax.CallOption) (*adminpb.CalculatedMetric, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetCalculatedMetric[0:len((*c.CallOptions).GetCalculatedMetric):len((*c.CallOptions).GetCalculatedMetric)], opts...) + var resp *adminpb.CalculatedMetric + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.analyticsAdminClient.GetCalculatedMetric(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *analyticsAdminGRPCClient) CreateCalculatedMetric(ctx context.Context, req *adminpb.CreateCalculatedMetricRequest, opts ...gax.CallOption) (*adminpb.CalculatedMetric, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateCalculatedMetric[0:len((*c.CallOptions).CreateCalculatedMetric):len((*c.CallOptions).CreateCalculatedMetric)], opts...) + var resp *adminpb.CalculatedMetric + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.analyticsAdminClient.CreateCalculatedMetric(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *analyticsAdminGRPCClient) ListCalculatedMetrics(ctx context.Context, req *adminpb.ListCalculatedMetricsRequest, opts ...gax.CallOption) *CalculatedMetricIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListCalculatedMetrics[0:len((*c.CallOptions).ListCalculatedMetrics):len((*c.CallOptions).ListCalculatedMetrics)], opts...) + it := &CalculatedMetricIterator{} + req = proto.Clone(req).(*adminpb.ListCalculatedMetricsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.CalculatedMetric, string, error) { + resp := &adminpb.ListCalculatedMetricsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.analyticsAdminClient.ListCalculatedMetrics(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetCalculatedMetrics(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *analyticsAdminGRPCClient) UpdateCalculatedMetric(ctx context.Context, req *adminpb.UpdateCalculatedMetricRequest, opts ...gax.CallOption) (*adminpb.CalculatedMetric, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "calculated_metric.name", url.QueryEscape(req.GetCalculatedMetric().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateCalculatedMetric[0:len((*c.CallOptions).UpdateCalculatedMetric):len((*c.CallOptions).UpdateCalculatedMetric)], opts...) + var resp *adminpb.CalculatedMetric + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.analyticsAdminClient.UpdateCalculatedMetric(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *analyticsAdminGRPCClient) DeleteCalculatedMetric(ctx context.Context, req *adminpb.DeleteCalculatedMetricRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteCalculatedMetric[0:len((*c.CallOptions).DeleteCalculatedMetric):len((*c.CallOptions).DeleteCalculatedMetric)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = c.analyticsAdminClient.DeleteCalculatedMetric(ctx, req, settings.GRPC...) + return err + }, opts...) + return err +} + func (c *analyticsAdminGRPCClient) CreateRollupProperty(ctx context.Context, req *adminpb.CreateRollupPropertyRequest, opts ...gax.CallOption) (*adminpb.CreateRollupPropertyResponse, error) { ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...) opts = append((*c.CallOptions).CreateRollupProperty[0:len((*c.CallOptions).CreateRollupProperty):len((*c.CallOptions).CreateRollupProperty)], opts...) @@ -15136,6 +15410,339 @@ func (c *analyticsAdminRESTClient) GetDataRedactionSettings(ctx context.Context, return resp, nil } +// GetCalculatedMetric lookup for a single CalculatedMetric. +func (c *analyticsAdminRESTClient) GetCalculatedMetric(ctx context.Context, req *adminpb.GetCalculatedMetricRequest, opts ...gax.CallOption) (*adminpb.CalculatedMetric, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1alpha/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetCalculatedMetric[0:len((*c.CallOptions).GetCalculatedMetric):len((*c.CallOptions).GetCalculatedMetric)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &adminpb.CalculatedMetric{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateCalculatedMetric creates a CalculatedMetric. +func (c *analyticsAdminRESTClient) CreateCalculatedMetric(ctx context.Context, req *adminpb.CreateCalculatedMetricRequest, opts ...gax.CallOption) (*adminpb.CalculatedMetric, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetCalculatedMetric() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1alpha/%v/calculatedMetrics", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + params.Add("calculatedMetricId", fmt.Sprintf("%v", req.GetCalculatedMetricId())) + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).CreateCalculatedMetric[0:len((*c.CallOptions).CreateCalculatedMetric):len((*c.CallOptions).CreateCalculatedMetric)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &adminpb.CalculatedMetric{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListCalculatedMetrics lists CalculatedMetrics on a property. +func (c *analyticsAdminRESTClient) ListCalculatedMetrics(ctx context.Context, req *adminpb.ListCalculatedMetricsRequest, opts ...gax.CallOption) *CalculatedMetricIterator { + it := &CalculatedMetricIterator{} + req = proto.Clone(req).(*adminpb.ListCalculatedMetricsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.CalculatedMetric, string, error) { + resp := &adminpb.ListCalculatedMetricsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1alpha/%v/calculatedMetrics", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetCalculatedMetrics(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// UpdateCalculatedMetric updates a CalculatedMetric on a property. +func (c *analyticsAdminRESTClient) UpdateCalculatedMetric(ctx context.Context, req *adminpb.UpdateCalculatedMetricRequest, opts ...gax.CallOption) (*adminpb.CalculatedMetric, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetCalculatedMetric() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1alpha/%v", req.GetCalculatedMetric().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "calculated_metric.name", url.QueryEscape(req.GetCalculatedMetric().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateCalculatedMetric[0:len((*c.CallOptions).UpdateCalculatedMetric):len((*c.CallOptions).UpdateCalculatedMetric)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &adminpb.CalculatedMetric{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// DeleteCalculatedMetric deletes a CalculatedMetric on a property. +func (c *analyticsAdminRESTClient) DeleteCalculatedMetric(ctx context.Context, req *adminpb.DeleteCalculatedMetricRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1alpha/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + // Returns nil if there is no error, otherwise wraps + // the response code and body into a non-nil error + return googleapi.CheckResponse(httpRsp) + }, opts...) +} + // CreateRollupProperty create a roll-up property and all roll-up property source links. func (c *analyticsAdminRESTClient) CreateRollupProperty(ctx context.Context, req *adminpb.CreateRollupPropertyRequest, opts ...gax.CallOption) (*adminpb.CreateRollupPropertyResponse, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} diff --git a/analytics/admin/apiv1alpha/analytics_admin_client_example_test.go b/analytics/admin/apiv1alpha/analytics_admin_client_example_test.go index e677f12c5f8..b43ce488771 100644 --- a/analytics/admin/apiv1alpha/analytics_admin_client_example_test.go +++ b/analytics/admin/apiv1alpha/analytics_admin_client_example_test.go @@ -375,6 +375,31 @@ func ExampleAnalyticsAdminClient_CreateAudience() { _ = resp } +func ExampleAnalyticsAdminClient_CreateCalculatedMetric() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := admin.NewAnalyticsAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.CreateCalculatedMetricRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/analytics/admin/apiv1alpha/adminpb#CreateCalculatedMetricRequest. + } + resp, err := c.CreateCalculatedMetric(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + func ExampleAnalyticsAdminClient_CreateChannelGroup() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. @@ -944,6 +969,29 @@ func ExampleAnalyticsAdminClient_DeleteAdSenseLink() { } } +func ExampleAnalyticsAdminClient_DeleteCalculatedMetric() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := admin.NewAnalyticsAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.DeleteCalculatedMetricRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/analytics/admin/apiv1alpha/adminpb#DeleteCalculatedMetricRequest. + } + err = c.DeleteCalculatedMetric(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + func ExampleAnalyticsAdminClient_DeleteChannelGroup() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. @@ -1514,6 +1562,31 @@ func ExampleAnalyticsAdminClient_GetBigQueryLink() { _ = resp } +func ExampleAnalyticsAdminClient_GetCalculatedMetric() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := admin.NewAnalyticsAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.GetCalculatedMetricRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/analytics/admin/apiv1alpha/adminpb#GetCalculatedMetricRequest. + } + resp, err := c.GetCalculatedMetric(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + func ExampleAnalyticsAdminClient_GetChannelGroup() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. @@ -2225,6 +2298,37 @@ func ExampleAnalyticsAdminClient_ListBigQueryLinks() { } } +func ExampleAnalyticsAdminClient_ListCalculatedMetrics() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := admin.NewAnalyticsAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.ListCalculatedMetricsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/analytics/admin/apiv1alpha/adminpb#ListCalculatedMetricsRequest. + } + it := c.ListCalculatedMetrics(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + func ExampleAnalyticsAdminClient_ListChannelGroups() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. @@ -2983,6 +3087,31 @@ func ExampleAnalyticsAdminClient_UpdateAudience() { _ = resp } +func ExampleAnalyticsAdminClient_UpdateCalculatedMetric() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := admin.NewAnalyticsAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.UpdateCalculatedMetricRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/analytics/admin/apiv1alpha/adminpb#UpdateCalculatedMetricRequest. + } + resp, err := c.UpdateCalculatedMetric(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + func ExampleAnalyticsAdminClient_UpdateChannelGroup() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. diff --git a/analytics/admin/apiv1alpha/auxiliary.go b/analytics/admin/apiv1alpha/auxiliary.go index cc5e9cd3151..49961f29b06 100755 --- a/analytics/admin/apiv1alpha/auxiliary.go +++ b/analytics/admin/apiv1alpha/auxiliary.go @@ -303,6 +303,53 @@ func (it *BigQueryLinkIterator) takeBuf() interface{} { return b } +// CalculatedMetricIterator manages a stream of *adminpb.CalculatedMetric. +type CalculatedMetricIterator struct { + items []*adminpb.CalculatedMetric + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*adminpb.CalculatedMetric, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *CalculatedMetricIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *CalculatedMetricIterator) Next() (*adminpb.CalculatedMetric, error) { + var item *adminpb.CalculatedMetric + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *CalculatedMetricIterator) bufLen() int { + return len(it.items) +} + +func (it *CalculatedMetricIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + // ChangeHistoryEventIterator manages a stream of *adminpb.ChangeHistoryEvent. type ChangeHistoryEventIterator struct { items []*adminpb.ChangeHistoryEvent diff --git a/analytics/admin/apiv1alpha/gapic_metadata.json b/analytics/admin/apiv1alpha/gapic_metadata.json index ed9502e4db8..53db35c99f2 100644 --- a/analytics/admin/apiv1alpha/gapic_metadata.json +++ b/analytics/admin/apiv1alpha/gapic_metadata.json @@ -75,6 +75,11 @@ "CreateAudience" ] }, + "CreateCalculatedMetric": { + "methods": [ + "CreateCalculatedMetric" + ] + }, "CreateChannelGroup": { "methods": [ "CreateChannelGroup" @@ -190,6 +195,11 @@ "DeleteAdSenseLink" ] }, + "DeleteCalculatedMetric": { + "methods": [ + "DeleteCalculatedMetric" + ] + }, "DeleteChannelGroup": { "methods": [ "DeleteChannelGroup" @@ -310,6 +320,11 @@ "GetBigQueryLink" ] }, + "GetCalculatedMetric": { + "methods": [ + "GetCalculatedMetric" + ] + }, "GetChannelGroup": { "methods": [ "GetChannelGroup" @@ -445,6 +460,11 @@ "ListBigQueryLinks" ] }, + "ListCalculatedMetrics": { + "methods": [ + "ListCalculatedMetrics" + ] + }, "ListChannelGroups": { "methods": [ "ListChannelGroups" @@ -575,6 +595,11 @@ "UpdateAudience" ] }, + "UpdateCalculatedMetric": { + "methods": [ + "UpdateCalculatedMetric" + ] + }, "UpdateChannelGroup": { "methods": [ "UpdateChannelGroup" @@ -735,6 +760,11 @@ "CreateAudience" ] }, + "CreateCalculatedMetric": { + "methods": [ + "CreateCalculatedMetric" + ] + }, "CreateChannelGroup": { "methods": [ "CreateChannelGroup" @@ -850,6 +880,11 @@ "DeleteAdSenseLink" ] }, + "DeleteCalculatedMetric": { + "methods": [ + "DeleteCalculatedMetric" + ] + }, "DeleteChannelGroup": { "methods": [ "DeleteChannelGroup" @@ -970,6 +1005,11 @@ "GetBigQueryLink" ] }, + "GetCalculatedMetric": { + "methods": [ + "GetCalculatedMetric" + ] + }, "GetChannelGroup": { "methods": [ "GetChannelGroup" @@ -1105,6 +1145,11 @@ "ListBigQueryLinks" ] }, + "ListCalculatedMetrics": { + "methods": [ + "ListCalculatedMetrics" + ] + }, "ListChannelGroups": { "methods": [ "ListChannelGroups" @@ -1235,6 +1280,11 @@ "UpdateAudience" ] }, + "UpdateCalculatedMetric": { + "methods": [ + "UpdateCalculatedMetric" + ] + }, "UpdateChannelGroup": { "methods": [ "UpdateChannelGroup" diff --git a/apigeeconnect/apiv1/apigeeconnectpb/connection.pb.go b/apigeeconnect/apiv1/apigeeconnectpb/connection.pb.go index 7bae33a1222..23982f506dd 100755 --- a/apigeeconnect/apiv1/apigeeconnectpb/connection.pb.go +++ b/apigeeconnect/apiv1/apigeeconnectpb/connection.pb.go @@ -47,7 +47,8 @@ type ListConnectionsRequest struct { unknownFields protoimpl.UnknownFields // Required. Parent name of the form: - // `projects/{project_number or project_id}/endpoints/{endpoint}`. + // + // `projects/{project_number or project_id}/endpoints/{endpoint}`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The maximum number of connections to return. The service may return fewer // than this value. If unspecified, at most 100 connections will be returned. diff --git a/apigeeconnect/apiv1/apigeeconnectpb/tether.pb.go b/apigeeconnect/apiv1/apigeeconnectpb/tether.pb.go index 96d7922fff5..2fcd0828587 100755 --- a/apigeeconnect/apiv1/apigeeconnectpb/tether.pb.go +++ b/apigeeconnect/apiv1/apigeeconnectpb/tether.pb.go @@ -301,6 +301,7 @@ type Payload struct { // The kind of payload. // // Types that are assignable to Kind: + // // *Payload_HttpRequest // *Payload_StreamInfo // *Payload_Action diff --git a/apigeeregistry/apiv1/apigeeregistrypb/registry_service.pb.go b/apigeeregistry/apiv1/apigeeregistrypb/registry_service.pb.go index 102abc43cff..19202ddd963 100755 --- a/apigeeregistry/apiv1/apigeeregistrypb/registry_service.pb.go +++ b/apigeeregistry/apiv1/apigeeregistrypb/registry_service.pb.go @@ -1496,7 +1496,7 @@ type RollbackApiSpecRequest struct { // Required. The revision ID to roll back to. // It must be a revision of the same spec. // - // Example: `c7cfa2a8` + // Example: `c7cfa2a8` RevisionId string `protobuf:"bytes,2,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"` } @@ -2198,7 +2198,7 @@ type RollbackApiDeploymentRequest struct { // Required. The revision ID to roll back to. // It must be a revision of the same deployment. // - // Example: `c7cfa2a8` + // Example: `c7cfa2a8` RevisionId string `protobuf:"bytes,2,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"` } diff --git a/apikeys/apiv2/apikeyspb/resources.pb.go b/apikeys/apiv2/apikeyspb/resources.pb.go index 73db8978d08..42bbb6c1a52 100755 --- a/apikeys/apiv2/apikeyspb/resources.pb.go +++ b/apikeys/apiv2/apikeyspb/resources.pb.go @@ -195,6 +195,7 @@ type Restrictions struct { // restrictions per key. // // Types that are assignable to ClientRestrictions: + // // *Restrictions_BrowserKeyRestrictions // *Restrictions_ServerKeyRestrictions // *Restrictions_AndroidKeyRestrictions @@ -589,10 +590,11 @@ type ApiTarget struct { // If empty, all methods for the service are allowed. A wildcard // (*) can be used as the last symbol. // Valid examples: - // `google.cloud.translate.v2.TranslateService.GetSupportedLanguage` - // `TranslateText` - // `Get*` - // `translate.googleapis.com.Get*` + // + // `google.cloud.translate.v2.TranslateService.GetSupportedLanguage` + // `TranslateText` + // `Get*` + // `translate.googleapis.com.Get*` Methods []string `protobuf:"bytes,2,rep,name=methods,proto3" json:"methods,omitempty"` } diff --git a/appengine/apiv1/appenginepb/app_yaml.pb.go b/appengine/apiv1/appenginepb/app_yaml.pb.go index 6a0249a087f..66e113ea8a6 100755 --- a/appengine/apiv1/appenginepb/app_yaml.pb.go +++ b/appengine/apiv1/appenginepb/app_yaml.pb.go @@ -515,6 +515,7 @@ type UrlMap struct { // Type of handler for this URL pattern. // // Types that are assignable to HandlerType: + // // *UrlMap_StaticFiles // *UrlMap_Script // *UrlMap_ApiEndpoint diff --git a/appengine/apiv1/appenginepb/audit_data.pb.go b/appengine/apiv1/appenginepb/audit_data.pb.go index c5265c7e1e6..0a973ccdeec 100755 --- a/appengine/apiv1/appenginepb/audit_data.pb.go +++ b/appengine/apiv1/appenginepb/audit_data.pb.go @@ -47,6 +47,7 @@ type AuditData struct { // included in parent audit log message. // // Types that are assignable to Method: + // // *AuditData_UpdateService // *AuditData_CreateVersion Method isAuditData_Method `protobuf_oneof:"method"` diff --git a/appengine/apiv1/appenginepb/firewall.pb.go b/appengine/apiv1/appenginepb/firewall.pb.go index b24554c8bbc..b84e102604c 100755 --- a/appengine/apiv1/appenginepb/firewall.pb.go +++ b/appengine/apiv1/appenginepb/firewall.pb.go @@ -107,8 +107,8 @@ type FirewallRule struct { // rule applies to. You can use the wildcard character "*" to match all IPs // equivalent to "0/0" and "::/0" together. // Examples: `192.168.1.1` or `192.168.0.0/16` or `2001:db8::/32` - // or `2001:0db8:0000:0042:0000:8a2e:0370:7334`. // + // or `2001:0db8:0000:0042:0000:8a2e:0370:7334`. // //

Truncation will be silently performed on addresses which are not // properly truncated. For example, `1.2.3.4/24` is accepted as the same diff --git a/appengine/apiv1/appenginepb/operation.pb.go b/appengine/apiv1/appenginepb/operation.pb.go index 2faf6dcdb5c..c28268eb191 100755 --- a/appengine/apiv1/appenginepb/operation.pb.go +++ b/appengine/apiv1/appenginepb/operation.pb.go @@ -74,6 +74,7 @@ type OperationMetadataV1 struct { // @OutputOnly // // Types that are assignable to MethodMetadata: + // // *OperationMetadataV1_CreateVersionMetadata MethodMetadata isOperationMetadataV1_MethodMetadata `protobuf_oneof:"method_metadata"` } diff --git a/appengine/apiv1/appenginepb/version.pb.go b/appengine/apiv1/appenginepb/version.pb.go index 5fa9cb14a25..cd586f25c93 100755 --- a/appengine/apiv1/appenginepb/version.pb.go +++ b/appengine/apiv1/appenginepb/version.pb.go @@ -301,6 +301,7 @@ type Version struct { // Defaults to `AutomaticScaling`. // // Types that are assignable to Scaling: + // // *Version_AutomaticScaling // *Version_BasicScaling // *Version_ManualScaling @@ -1865,6 +1866,7 @@ type Entrypoint struct { // The command to run. // // Types that are assignable to Command: + // // *Entrypoint_Shell Command isEntrypoint_Command `protobuf_oneof:"command"` } diff --git a/apps/meet/apiv2beta/meetpb/resource.pb.go b/apps/meet/apiv2beta/meetpb/resource.pb.go index 50e66375e4c..8c18af96923 100755 --- a/apps/meet/apiv2beta/meetpb/resource.pb.go +++ b/apps/meet/apiv2beta/meetpb/resource.pb.go @@ -573,6 +573,7 @@ type Participant struct { unknownFields protoimpl.UnknownFields // Types that are assignable to User: + // // *Participant_SignedinUser // *Participant_AnonymousUser // *Participant_PhoneUser @@ -938,6 +939,7 @@ type Recording struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Destination: + // // *Recording_DriveDestination Destination isRecording_Destination `protobuf_oneof:"destination"` // Output only. Resource name of the recording. @@ -1112,6 +1114,7 @@ type Transcript struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Destination: + // // *Transcript_DocsDestination Destination isTranscript_Destination `protobuf_oneof:"destination"` // Output only. Resource name of the transcript. diff --git a/artifactregistry/apiv1/artifactregistrypb/apt_artifact.pb.go b/artifactregistry/apiv1/artifactregistrypb/apt_artifact.pb.go index deee8ec26e9..71b1eacd422 100755 --- a/artifactregistry/apiv1/artifactregistrypb/apt_artifact.pb.go +++ b/artifactregistry/apiv1/artifactregistrypb/apt_artifact.pb.go @@ -253,6 +253,7 @@ type ImportAptArtifactsRequest struct { // The source location of the package binaries. // // Types that are assignable to Source: + // // *ImportAptArtifactsRequest_GcsSource Source isImportAptArtifactsRequest_Source `protobuf_oneof:"source"` // The name of the parent resource where the artifacts will be imported. @@ -332,6 +333,7 @@ type ImportAptArtifactsErrorInfo struct { // The source that was not imported. // // Types that are assignable to Source: + // // *ImportAptArtifactsErrorInfo_GcsSource Source isImportAptArtifactsErrorInfo_Source `protobuf_oneof:"source"` // The detailed error status. diff --git a/artifactregistry/apiv1/artifactregistrypb/file.pb.go b/artifactregistry/apiv1/artifactregistrypb/file.pb.go index 4b04eb9a521..71ac0e6a5fa 100755 --- a/artifactregistry/apiv1/artifactregistrypb/file.pb.go +++ b/artifactregistry/apiv1/artifactregistrypb/file.pb.go @@ -266,15 +266,17 @@ type ListFilesRequest struct { // An expression for filtering the results of the request. Filter rules are // case insensitive. The fields eligible for filtering are: // - // * `name` - // * `owner` + // - `name` // - // An example of using a filter: + // - `owner` // - // * `name="projects/p1/locations/us-central1/repositories/repo1/files/a/b/*"` --> Files with an - // ID starting with "a/b/". - // * `owner="projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0"` --> - // Files owned by the version `1.0` in package `pkg1`. + // An example of using a filter: + // + // - `name="projects/p1/locations/us-central1/repositories/repo1/files/a/b/*"` --> Files with an + // ID starting with "a/b/". + // + // - `owner="projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0"` --> + // Files owned by the version `1.0` in package `pkg1`. Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of files to return. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` diff --git a/artifactregistry/apiv1/artifactregistrypb/repository.pb.go b/artifactregistry/apiv1/artifactregistrypb/repository.pb.go index 01acad80f92..c7673d30966 100755 --- a/artifactregistry/apiv1/artifactregistrypb/repository.pb.go +++ b/artifactregistry/apiv1/artifactregistrypb/repository.pb.go @@ -889,6 +889,7 @@ type CleanupPolicy struct { unknownFields protoimpl.UnknownFields // Types that are assignable to ConditionType: + // // *CleanupPolicy_Condition // *CleanupPolicy_MostRecentVersions ConditionType isCleanupPolicy_ConditionType `protobuf_oneof:"condition_type"` @@ -1043,6 +1044,7 @@ type RemoteRepositoryConfig struct { // Settings specific to the remote repository. // // Types that are assignable to RemoteSource: + // // *RemoteRepositoryConfig_DockerRepository_ // *RemoteRepositoryConfig_MavenRepository_ // *RemoteRepositoryConfig_NpmRepository_ @@ -1206,6 +1208,7 @@ type Repository struct { // Repository-specific configurations. // // Types that are assignable to FormatConfig: + // // *Repository_MavenConfig // *Repository_DockerConfig FormatConfig isRepository_FormatConfig `protobuf_oneof:"format_config"` @@ -1213,6 +1216,7 @@ type Repository struct { // or Virtual) // // Types that are assignable to ModeConfig: + // // *Repository_VirtualRepositoryConfig // *Repository_RemoteRepositoryConfig ModeConfig isRepository_ModeConfig `protobuf_oneof:"mode_config"` @@ -1247,7 +1251,8 @@ type Repository struct { CleanupPolicies map[string]*CleanupPolicy `protobuf:"bytes,12,rep,name=cleanup_policies,json=cleanupPolicies,proto3" json:"cleanup_policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Output only. The size, in bytes, of all artifact storage in this // repository. Repositories that are generally available or in public preview - // use this to calculate storage costs. + // + // use this to calculate storage costs. SizeBytes int64 `protobuf:"varint,13,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"` // Output only. If set, the repository satisfies physical zone separation. SatisfiesPzs bool `protobuf:"varint,16,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"` @@ -1812,6 +1817,7 @@ type RemoteRepositoryConfig_UpstreamCredentials struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Credentials: + // // *RemoteRepositoryConfig_UpstreamCredentials_UsernamePasswordCredentials_ Credentials isRemoteRepositoryConfig_UpstreamCredentials_Credentials `protobuf_oneof:"credentials"` } @@ -1883,6 +1889,7 @@ type RemoteRepositoryConfig_DockerRepository struct { // Address of the remote repository. // // Types that are assignable to Upstream: + // // *RemoteRepositoryConfig_DockerRepository_PublicRepository_ Upstream isRemoteRepositoryConfig_DockerRepository_Upstream `protobuf_oneof:"upstream"` } @@ -1955,6 +1962,7 @@ type RemoteRepositoryConfig_MavenRepository struct { // Address of the remote repository. // // Types that are assignable to Upstream: + // // *RemoteRepositoryConfig_MavenRepository_PublicRepository_ Upstream isRemoteRepositoryConfig_MavenRepository_Upstream `protobuf_oneof:"upstream"` } @@ -2027,6 +2035,7 @@ type RemoteRepositoryConfig_NpmRepository struct { // Address of the remote repository // // Types that are assignable to Upstream: + // // *RemoteRepositoryConfig_NpmRepository_PublicRepository_ Upstream isRemoteRepositoryConfig_NpmRepository_Upstream `protobuf_oneof:"upstream"` } @@ -2099,6 +2108,7 @@ type RemoteRepositoryConfig_PythonRepository struct { // Address of the remote repository. // // Types that are assignable to Upstream: + // // *RemoteRepositoryConfig_PythonRepository_PublicRepository_ Upstream isRemoteRepositoryConfig_PythonRepository_Upstream `protobuf_oneof:"upstream"` } @@ -2171,6 +2181,7 @@ type RemoteRepositoryConfig_AptRepository struct { // Address of the remote repository. // // Types that are assignable to Upstream: + // // *RemoteRepositoryConfig_AptRepository_PublicRepository_ Upstream isRemoteRepositoryConfig_AptRepository_Upstream `protobuf_oneof:"upstream"` } @@ -2243,6 +2254,7 @@ type RemoteRepositoryConfig_YumRepository struct { // Address of the remote repository. // // Types that are assignable to Upstream: + // // *RemoteRepositoryConfig_YumRepository_PublicRepository_ Upstream isRemoteRepositoryConfig_YumRepository_Upstream `protobuf_oneof:"upstream"` } diff --git a/artifactregistry/apiv1/artifactregistrypb/tag.pb.go b/artifactregistry/apiv1/artifactregistrypb/tag.pb.go index f43bfa35774..c678c478a27 100755 --- a/artifactregistry/apiv1/artifactregistrypb/tag.pb.go +++ b/artifactregistry/apiv1/artifactregistrypb/tag.pb.go @@ -116,12 +116,12 @@ type ListTagsRequest struct { // An expression for filtering the results of the request. Filter rules are // case insensitive. The fields eligible for filtering are: // - // * `version` + // - `version` // - // An example of using a filter: + // An example of using a filter: // - // * `version="projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0"` - // --> Tags that are applied to the version `1.0` in package `pkg1`. + // - `version="projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0"` + // --> Tags that are applied to the version `1.0` in package `pkg1`. Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of tags to return. Maximum page size is 10,000. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` diff --git a/artifactregistry/apiv1/artifactregistrypb/yum_artifact.pb.go b/artifactregistry/apiv1/artifactregistrypb/yum_artifact.pb.go index d954a6fe067..1faed2b9b14 100755 --- a/artifactregistry/apiv1/artifactregistrypb/yum_artifact.pb.go +++ b/artifactregistry/apiv1/artifactregistrypb/yum_artifact.pb.go @@ -233,6 +233,7 @@ type ImportYumArtifactsRequest struct { // The source location of the package binaries. // // Types that are assignable to Source: + // // *ImportYumArtifactsRequest_GcsSource Source isImportYumArtifactsRequest_Source `protobuf_oneof:"source"` // The name of the parent resource where the artifacts will be imported. @@ -312,6 +313,7 @@ type ImportYumArtifactsErrorInfo struct { // The source that was not imported. // // Types that are assignable to Source: + // // *ImportYumArtifactsErrorInfo_GcsSource Source isImportYumArtifactsErrorInfo_Source `protobuf_oneof:"source"` // The detailed error status. diff --git a/artifactregistry/apiv1beta2/artifactregistrypb/apt_artifact.pb.go b/artifactregistry/apiv1beta2/artifactregistrypb/apt_artifact.pb.go index 59e84f6b31b..de6442ea3f8 100755 --- a/artifactregistry/apiv1beta2/artifactregistrypb/apt_artifact.pb.go +++ b/artifactregistry/apiv1beta2/artifactregistrypb/apt_artifact.pb.go @@ -253,6 +253,7 @@ type ImportAptArtifactsRequest struct { // The source location of the package binaries. // // Types that are assignable to Source: + // // *ImportAptArtifactsRequest_GcsSource Source isImportAptArtifactsRequest_Source `protobuf_oneof:"source"` // The name of the parent resource where the artifacts will be imported. @@ -332,6 +333,7 @@ type ImportAptArtifactsErrorInfo struct { // The source that was not imported. // // Types that are assignable to Source: + // // *ImportAptArtifactsErrorInfo_GcsSource Source isImportAptArtifactsErrorInfo_Source `protobuf_oneof:"source"` // The detailed error status. diff --git a/artifactregistry/apiv1beta2/artifactregistrypb/file.pb.go b/artifactregistry/apiv1beta2/artifactregistrypb/file.pb.go index 1722fe588b3..2ff4ffa8456 100755 --- a/artifactregistry/apiv1beta2/artifactregistrypb/file.pb.go +++ b/artifactregistry/apiv1beta2/artifactregistrypb/file.pb.go @@ -256,15 +256,17 @@ type ListFilesRequest struct { // An expression for filtering the results of the request. Filter rules are // case insensitive. The fields eligible for filtering are: // - // * `name` - // * `owner` + // - `name` // - // An example of using a filter: + // - `owner` // - // * `name="projects/p1/locations/us-central1/repositories/repo1/files/a/b/*"` --> Files with an - // ID starting with "a/b/". - // * `owner="projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0"` --> - // Files owned by the version `1.0` in package `pkg1`. + // An example of using a filter: + // + // - `name="projects/p1/locations/us-central1/repositories/repo1/files/a/b/*"` --> Files with an + // ID starting with "a/b/". + // + // - `owner="projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0"` --> + // Files owned by the version `1.0` in package `pkg1`. Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of files to return. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` diff --git a/artifactregistry/apiv1beta2/artifactregistrypb/repository.pb.go b/artifactregistry/apiv1beta2/artifactregistrypb/repository.pb.go index 3af5b508285..d0eb513ed85 100755 --- a/artifactregistry/apiv1beta2/artifactregistrypb/repository.pb.go +++ b/artifactregistry/apiv1beta2/artifactregistrypb/repository.pb.go @@ -171,6 +171,7 @@ type Repository struct { // Repository-specific configurations. // // Types that are assignable to FormatConfig: + // // *Repository_MavenConfig FormatConfig isRepository_FormatConfig `protobuf_oneof:"format_config"` // The name of the repository, for example: diff --git a/artifactregistry/apiv1beta2/artifactregistrypb/tag.pb.go b/artifactregistry/apiv1beta2/artifactregistrypb/tag.pb.go index 34528e73989..db4a74c13dd 100755 --- a/artifactregistry/apiv1beta2/artifactregistrypb/tag.pb.go +++ b/artifactregistry/apiv1beta2/artifactregistrypb/tag.pb.go @@ -114,12 +114,12 @@ type ListTagsRequest struct { // An expression for filtering the results of the request. Filter rules are // case insensitive. The fields eligible for filtering are: // - // * `version` + // - `version` // - // An example of using a filter: + // An example of using a filter: // - // * `version="projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0"` - // --> Tags that are applied to the version `1.0` in package `pkg1`. + // - `version="projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0"` + // --> Tags that are applied to the version `1.0` in package `pkg1`. Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of tags to return. Maximum page size is 10,000. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` diff --git a/artifactregistry/apiv1beta2/artifactregistrypb/yum_artifact.pb.go b/artifactregistry/apiv1beta2/artifactregistrypb/yum_artifact.pb.go index e835b3616d4..0e90ca3de15 100755 --- a/artifactregistry/apiv1beta2/artifactregistrypb/yum_artifact.pb.go +++ b/artifactregistry/apiv1beta2/artifactregistrypb/yum_artifact.pb.go @@ -233,6 +233,7 @@ type ImportYumArtifactsRequest struct { // The source location of the package binaries. // // Types that are assignable to Source: + // // *ImportYumArtifactsRequest_GcsSource Source isImportYumArtifactsRequest_Source `protobuf_oneof:"source"` // The name of the parent resource where the artifacts will be imported. @@ -312,6 +313,7 @@ type ImportYumArtifactsErrorInfo struct { // The source that was not imported. // // Types that are assignable to Source: + // // *ImportYumArtifactsErrorInfo_GcsSource Source isImportYumArtifactsErrorInfo_Source `protobuf_oneof:"source"` // The detailed error status. diff --git a/asset/apiv1/assetpb/asset_service.pb.go b/asset/apiv1/assetpb/asset_service.pb.go index 572d544fa73..0d4f7fa54cb 100755 --- a/asset/apiv1/assetpb/asset_service.pb.go +++ b/asset/apiv1/assetpb/asset_service.pb.go @@ -1450,6 +1450,7 @@ type OutputConfig struct { // Asset export destination. // // Types that are assignable to Destination: + // // *OutputConfig_GcsDestination // *OutputConfig_BigqueryDestination Destination isOutputConfig_Destination `protobuf_oneof:"destination"` @@ -1536,6 +1537,7 @@ type OutputResult struct { // Asset export result. // // Types that are assignable to Result: + // // *OutputResult_GcsResult Result isOutputResult_Result `protobuf_oneof:"result"` } @@ -1656,6 +1658,7 @@ type GcsDestination struct { // Required. // // Types that are assignable to ObjectUri: + // // *GcsDestination_Uri // *GcsDestination_UriPrefix ObjectUri isGcsDestination_ObjectUri `protobuf_oneof:"object_uri"` @@ -1995,6 +1998,7 @@ type FeedOutputConfig struct { // Asset feed destination. // // Types that are assignable to Destination: + // // *FeedOutputConfig_PubsubDestination Destination isFeedOutputConfig_Destination `protobuf_oneof:"destination"` } @@ -2235,79 +2239,79 @@ type SearchAllResourcesRequest struct { // // Examples: // - // * `name:Important` to find Google Cloud resources whose name contains - // `Important` as a word. - // * `name=Important` to find the Google Cloud resource whose name is exactly - // `Important`. - // * `displayName:Impor*` to find Google Cloud resources whose display name - // contains `Impor` as a prefix of any word in the field. - // * `location:us-west*` to find Google Cloud resources whose location - // contains both `us` and `west` as prefixes. - // * `labels:prod` to find Google Cloud resources whose labels contain `prod` - // as a key or value. - // * `labels.env:prod` to find Google Cloud resources that have a label `env` - // and its value is `prod`. - // * `labels.env:*` to find Google Cloud resources that have a label `env`. - // * `tagKeys:env` to find Google Cloud resources that have directly - // attached tags where the - // [`TagKey.namespacedName`](https://cloud.google.com/resource-manager/reference/rest/v3/tagKeys#resource:-tagkey) - // contains `env`. - // * `tagValues:prod*` to find Google Cloud resources that have directly - // attached tags where the - // [`TagValue.namespacedName`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) - // contains a word prefixed by `prod`. - // * `tagValueIds=tagValues/123` to find Google Cloud resources that have - // directly attached tags where the - // [`TagValue.name`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) - // is exactly `tagValues/123`. - // * `effectiveTagKeys:env` to find Google Cloud resources that have - // directly attached or inherited tags where the - // [`TagKey.namespacedName`](https://cloud.google.com/resource-manager/reference/rest/v3/tagKeys#resource:-tagkey) - // contains `env`. - // * `effectiveTagValues:prod*` to find Google Cloud resources that have - // directly attached or inherited tags where the - // [`TagValue.namespacedName`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) - // contains a word prefixed by `prod`. - // * `effectiveTagValueIds=tagValues/123` to find Google Cloud resources that - // have directly attached or inherited tags where the - // [`TagValue.name`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) - // is exactly `tagValues/123`. - // * `kmsKey:key` to find Google Cloud resources encrypted with a - // customer-managed encryption key whose name contains `key` as a word. This - // field is deprecated. Use the `kmsKeys` field to retrieve Cloud KMS - // key information. - // * `kmsKeys:key` to find Google Cloud resources encrypted with - // customer-managed encryption keys whose name contains the word `key`. - // * `relationships:instance-group-1` to find Google Cloud resources that have - // relationships with `instance-group-1` in the related resource name. - // * `relationships:INSTANCE_TO_INSTANCEGROUP` to find Compute Engine - // instances that have relationships of type `INSTANCE_TO_INSTANCEGROUP`. - // * `relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1` to find - // Compute Engine instances that have relationships with `instance-group-1` - // in the Compute Engine instance group resource name, for relationship type - // `INSTANCE_TO_INSTANCEGROUP`. - // * `sccSecurityMarks.key=value` to find Cloud resources that are attached - // with security marks whose key is `key` and value is `value`. - // * `sccSecurityMarks.key:*` to find Cloud resources that are attached with - // security marks whose key is `key`. - // * `state:ACTIVE` to find Google Cloud resources whose state contains - // `ACTIVE` as a word. - // * `NOT state:ACTIVE` to find Google Cloud resources whose state doesn't - // contain `ACTIVE` as a word. - // * `createTime<1609459200` to find Google Cloud resources that were created - // before `2021-01-01 00:00:00 UTC`. `1609459200` is the epoch timestamp of - // `2021-01-01 00:00:00 UTC` in seconds. - // * `updateTime>1609459200` to find Google Cloud resources that were updated - // after `2021-01-01 00:00:00 UTC`. `1609459200` is the epoch timestamp of - // `2021-01-01 00:00:00 UTC` in seconds. - // * `Important` to find Google Cloud resources that contain `Important` as a - // word in any of the searchable fields. - // * `Impor*` to find Google Cloud resources that contain `Impor` as a prefix - // of any word in any of the searchable fields. - // * `Important location:(us-west1 OR global)` to find Google Cloud - // resources that contain `Important` as a word in any of the searchable - // fields and are also located in the `us-west1` region or the `global` - // location. + // - `name:Important` to find Google Cloud resources whose name contains + // `Important` as a word. + // - `name=Important` to find the Google Cloud resource whose name is exactly + // `Important`. + // - `displayName:Impor*` to find Google Cloud resources whose display name + // contains `Impor` as a prefix of any word in the field. + // - `location:us-west*` to find Google Cloud resources whose location + // contains both `us` and `west` as prefixes. + // - `labels:prod` to find Google Cloud resources whose labels contain `prod` + // as a key or value. + // - `labels.env:prod` to find Google Cloud resources that have a label `env` + // and its value is `prod`. + // - `labels.env:*` to find Google Cloud resources that have a label `env`. + // - `tagKeys:env` to find Google Cloud resources that have directly + // attached tags where the + // [`TagKey.namespacedName`](https://cloud.google.com/resource-manager/reference/rest/v3/tagKeys#resource:-tagkey) + // contains `env`. + // - `tagValues:prod*` to find Google Cloud resources that have directly + // attached tags where the + // [`TagValue.namespacedName`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) + // contains a word prefixed by `prod`. + // - `tagValueIds=tagValues/123` to find Google Cloud resources that have + // directly attached tags where the + // [`TagValue.name`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) + // is exactly `tagValues/123`. + // - `effectiveTagKeys:env` to find Google Cloud resources that have + // directly attached or inherited tags where the + // [`TagKey.namespacedName`](https://cloud.google.com/resource-manager/reference/rest/v3/tagKeys#resource:-tagkey) + // contains `env`. + // - `effectiveTagValues:prod*` to find Google Cloud resources that have + // directly attached or inherited tags where the + // [`TagValue.namespacedName`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) + // contains a word prefixed by `prod`. + // - `effectiveTagValueIds=tagValues/123` to find Google Cloud resources that + // have directly attached or inherited tags where the + // [`TagValue.name`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) + // is exactly `tagValues/123`. + // - `kmsKey:key` to find Google Cloud resources encrypted with a + // customer-managed encryption key whose name contains `key` as a word. This + // field is deprecated. Use the `kmsKeys` field to retrieve Cloud KMS + // key information. + // - `kmsKeys:key` to find Google Cloud resources encrypted with + // customer-managed encryption keys whose name contains the word `key`. + // - `relationships:instance-group-1` to find Google Cloud resources that have + // relationships with `instance-group-1` in the related resource name. + // - `relationships:INSTANCE_TO_INSTANCEGROUP` to find Compute Engine + // instances that have relationships of type `INSTANCE_TO_INSTANCEGROUP`. + // - `relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1` to find + // Compute Engine instances that have relationships with `instance-group-1` + // in the Compute Engine instance group resource name, for relationship type + // `INSTANCE_TO_INSTANCEGROUP`. + // - `sccSecurityMarks.key=value` to find Cloud resources that are attached + // with security marks whose key is `key` and value is `value`. + // - `sccSecurityMarks.key:*` to find Cloud resources that are attached with + // security marks whose key is `key`. + // - `state:ACTIVE` to find Google Cloud resources whose state contains + // `ACTIVE` as a word. + // - `NOT state:ACTIVE` to find Google Cloud resources whose state doesn't + // contain `ACTIVE` as a word. + // - `createTime<1609459200` to find Google Cloud resources that were created + // before `2021-01-01 00:00:00 UTC`. `1609459200` is the epoch timestamp of + // `2021-01-01 00:00:00 UTC` in seconds. + // - `updateTime>1609459200` to find Google Cloud resources that were updated + // after `2021-01-01 00:00:00 UTC`. `1609459200` is the epoch timestamp of + // `2021-01-01 00:00:00 UTC` in seconds. + // - `Important` to find Google Cloud resources that contain `Important` as a + // word in any of the searchable fields. + // - `Impor*` to find Google Cloud resources that contain `Impor` as a prefix + // of any word in any of the searchable fields. + // - `Important location:(us-west1 OR global)` to find Google Cloud + // resources that contain `Important` as a word in any of the searchable + // fields and are also located in the `us-west1` region or the `global` + // location. Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` // Optional. A list of asset types that this request searches for. If empty, // it will search all the [searchable asset @@ -2341,40 +2345,40 @@ type SearchAllResourcesRequest struct { // Example: "location DESC, name". // Only the following fields in the response are sortable: // - // * name - // * assetType - // * project - // * displayName - // * description - // * location - // * createTime - // * updateTime - // * state - // * parentFullResourceName - // * parentAssetType + // - name + // - assetType + // - project + // - displayName + // - description + // - location + // - createTime + // - updateTime + // - state + // - parentFullResourceName + // - parentAssetType OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` // Optional. A comma-separated list of fields that you want returned in the // results. The following fields are returned by default if not specified: // - // * `name` - // * `assetType` - // * `project` - // * `folders` - // * `organization` - // * `displayName` - // * `description` - // * `location` - // * `labels` - // * `tags` - // * `effectiveTags` - // * `networkTags` - // * `kmsKeys` - // * `createTime` - // * `updateTime` - // * `state` - // * `additionalAttributes` - // * `parentFullResourceName` - // * `parentAssetType` + // - `name` + // - `assetType` + // - `project` + // - `folders` + // - `organization` + // - `displayName` + // - `description` + // - `location` + // - `labels` + // - `tags` + // - `effectiveTags` + // - `networkTags` + // - `kmsKeys` + // - `createTime` + // - `updateTime` + // - `state` + // - `additionalAttributes` + // - `parentFullResourceName` + // - `parentAssetType` // // Some fields of large size, such as `versionedResources`, // `attachedResources`, `effectiveTags` etc., are not returned by default, but @@ -2560,36 +2564,36 @@ type SearchAllIamPoliciesRequest struct { // // Examples: // - // * `policy:amy@gmail.com` to find IAM policy bindings that specify user - // "amy@gmail.com". - // * `policy:roles/compute.admin` to find IAM policy bindings that specify - // the Compute Admin role. - // * `policy:comp*` to find IAM policy bindings that contain "comp" as a - // prefix of any word in the binding. - // * `policy.role.permissions:storage.buckets.update` to find IAM policy - // bindings that specify a role containing "storage.buckets.update" - // permission. Note that if callers don't have `iam.roles.get` access to a - // role's included permissions, policy bindings that specify this role will - // be dropped from the search results. - // * `policy.role.permissions:upd*` to find IAM policy bindings that specify a - // role containing "upd" as a prefix of any word in the role permission. - // Note that if callers don't have `iam.roles.get` access to a role's - // included permissions, policy bindings that specify this role will be - // dropped from the search results. - // * `resource:organizations/123456` to find IAM policy bindings - // that are set on "organizations/123456". - // * `resource=//cloudresourcemanager.googleapis.com/projects/myproject` to - // find IAM policy bindings that are set on the project named "myproject". - // * `Important` to find IAM policy bindings that contain "Important" as a - // word in any of the searchable fields (except for the included - // permissions). - // * `resource:(instance1 OR instance2) policy:amy` to find - // IAM policy bindings that are set on resources "instance1" or - // "instance2" and also specify user "amy". - // * `roles:roles/compute.admin` to find IAM policy bindings that specify the - // Compute Admin role. - // * `memberTypes:user` to find IAM policy bindings that contain the - // principal type "user". + // - `policy:amy@gmail.com` to find IAM policy bindings that specify user + // "amy@gmail.com". + // - `policy:roles/compute.admin` to find IAM policy bindings that specify + // the Compute Admin role. + // - `policy:comp*` to find IAM policy bindings that contain "comp" as a + // prefix of any word in the binding. + // - `policy.role.permissions:storage.buckets.update` to find IAM policy + // bindings that specify a role containing "storage.buckets.update" + // permission. Note that if callers don't have `iam.roles.get` access to a + // role's included permissions, policy bindings that specify this role will + // be dropped from the search results. + // - `policy.role.permissions:upd*` to find IAM policy bindings that specify a + // role containing "upd" as a prefix of any word in the role permission. + // Note that if callers don't have `iam.roles.get` access to a role's + // included permissions, policy bindings that specify this role will be + // dropped from the search results. + // - `resource:organizations/123456` to find IAM policy bindings + // that are set on "organizations/123456". + // - `resource=//cloudresourcemanager.googleapis.com/projects/myproject` to + // find IAM policy bindings that are set on the project named "myproject". + // - `Important` to find IAM policy bindings that contain "Important" as a + // word in any of the searchable fields (except for the included + // permissions). + // - `resource:(instance1 OR instance2) policy:amy` to find + // IAM policy bindings that are set on resources "instance1" or + // "instance2" and also specify user "amy". + // - `roles:roles/compute.admin` to find IAM policy bindings that specify the + // Compute Admin role. + // - `memberTypes:user` to find IAM policy bindings that contain the + // principal type "user". Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` // Optional. The page size for search result pagination. Page size is capped // at 500 even if a larger value is given. If set to zero or a negative value, @@ -2625,9 +2629,10 @@ type SearchAllIamPoliciesRequest struct { // name to indicate descending order. Redundant space characters are ignored. // Example: "assetType DESC, resource". // Only singular primitive fields in the response are sortable: - // * resource - // * assetType - // * project + // - resource + // - assetType + // - project + // // All the other fields such as repeated fields (e.g., `folders`) and // non-primitive fields (e.g., `policy`) are not supported. OrderBy string `protobuf:"bytes,7,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` @@ -3049,6 +3054,7 @@ type IamPolicyAnalysisOutputConfig struct { // IAM policy analysis export destination. // // Types that are assignable to Destination: + // // *IamPolicyAnalysisOutputConfig_GcsDestination_ // *IamPolicyAnalysisOutputConfig_BigqueryDestination Destination isIamPolicyAnalysisOutputConfig_Destination `protobuf_oneof:"destination"` @@ -3907,6 +3913,7 @@ type MoveAnalysis struct { // policy etc. DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` // Types that are assignable to Result: + // // *MoveAnalysis_Analysis // *MoveAnalysis_Error Result isMoveAnalysis_Result `protobuf_oneof:"result"` @@ -4163,6 +4170,7 @@ type QueryAssetsRequest struct { // Only assets belonging to the `parent` will be returned. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Types that are assignable to Query: + // // *QueryAssetsRequest_Statement // *QueryAssetsRequest_JobReference Query isQueryAssetsRequest_Query `protobuf_oneof:"query"` @@ -4201,6 +4209,7 @@ type QueryAssetsRequest struct { // it will simply return a valid response with no rows. // // Types that are assignable to Time: + // // *QueryAssetsRequest_ReadTimeWindow // *QueryAssetsRequest_ReadTime Time isQueryAssetsRequest_Time `protobuf_oneof:"time"` @@ -4382,6 +4391,7 @@ type QueryAssetsResponse struct { // `error`, `query_result` or `output_config` will be set. Done bool `protobuf:"varint,2,opt,name=done,proto3" json:"done,omitempty"` // Types that are assignable to Response: + // // *QueryAssetsResponse_Error // *QueryAssetsResponse_QueryResult // *QueryAssetsResponse_OutputConfig @@ -4954,6 +4964,7 @@ type AnalyzerOrgPolicyConstraint struct { unknownFields protoimpl.UnknownFields // Types that are assignable to ConstraintDefinition: + // // *AnalyzerOrgPolicyConstraint_GoogleDefinedConstraint // *AnalyzerOrgPolicyConstraint_CustomConstraint_ ConstraintDefinition isAnalyzerOrgPolicyConstraint_ConstraintDefinition `protobuf_oneof:"constraint_definition"` @@ -5934,6 +5945,7 @@ type IamPolicyAnalysisQuery_ConditionContext struct { // The IAM conditions time context. // // Types that are assignable to TimeContext: + // // *IamPolicyAnalysisQuery_ConditionContext_AccessTime TimeContext isIamPolicyAnalysisQuery_ConditionContext_TimeContext `protobuf_oneof:"TimeContext"` } @@ -6149,9 +6161,10 @@ type IamPolicyAnalysisOutputConfig_BigQueryDestination struct { // Required. The prefix of the BigQuery tables to which the analysis results // will be written. Tables will be created based on this table_prefix if not // exist: - // * _analysis table will contain export operation's metadata. - // * _analysis_result will contain all the - // [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]. + // - _analysis table will contain export operation's metadata. + // - _analysis_result will contain all the + // [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]. + // // When [partition_key] is specified, both tables will be partitioned based // on the [partition_key]. TablePrefix string `protobuf:"bytes,2,opt,name=table_prefix,json=tablePrefix,proto3" json:"table_prefix,omitempty"` @@ -6240,6 +6253,7 @@ type SavedQuery_QueryContent struct { unknownFields protoimpl.UnknownFields // Types that are assignable to QueryContent: + // // *SavedQuery_QueryContent_IamPolicyAnalysisQuery QueryContent isSavedQuery_QueryContent_QueryContent `protobuf_oneof:"query_content"` } @@ -6540,6 +6554,7 @@ type AnalyzerOrgPolicy_Rule struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Kind: + // // *AnalyzerOrgPolicy_Rule_Values // *AnalyzerOrgPolicy_Rule_AllowAll // *AnalyzerOrgPolicy_Rule_DenyAll @@ -6741,6 +6756,7 @@ type AnalyzerOrgPolicyConstraint_Constraint struct { // Immutable after creation. // // Types that are assignable to ConstraintType: + // // *AnalyzerOrgPolicyConstraint_Constraint_ListConstraint_ // *AnalyzerOrgPolicyConstraint_Constraint_BooleanConstraint_ ConstraintType isAnalyzerOrgPolicyConstraint_Constraint_ConstraintType `protobuf_oneof:"constraint_type"` @@ -6862,7 +6878,7 @@ type AnalyzerOrgPolicyConstraint_CustomConstraint struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The Resource Instance type on which this policy applies to. Format will // be of the form : "/" Example: - // * `compute.googleapis.com/Instance`. + // - `compute.googleapis.com/Instance`. ResourceTypes []string `protobuf:"bytes,2,rep,name=resource_types,json=resourceTypes,proto3" json:"resource_types,omitempty"` // All the operations being applied for this constraint. MethodTypes []AnalyzerOrgPolicyConstraint_CustomConstraint_MethodType `protobuf:"varint,3,rep,packed,name=method_types,json=methodTypes,proto3,enum=google.cloud.asset.v1.AnalyzerOrgPolicyConstraint_CustomConstraint_MethodType" json:"method_types,omitempty"` @@ -7428,6 +7444,7 @@ type AnalyzeOrgPolicyGovernedAssetsResponse_GovernedAsset struct { unknownFields protoimpl.UnknownFields // Types that are assignable to GovernedAsset: + // // *AnalyzeOrgPolicyGovernedAssetsResponse_GovernedAsset_GovernedResource // *AnalyzeOrgPolicyGovernedAssetsResponse_GovernedAsset_GovernedIamPolicy GovernedAsset isAnalyzeOrgPolicyGovernedAssetsResponse_GovernedAsset_GovernedAsset `protobuf_oneof:"governed_asset"` diff --git a/asset/apiv1/assetpb/assets.pb.go b/asset/apiv1/assetpb/assets.pb.go index 9b5d67c4db6..1a0dc69c11e 100755 --- a/asset/apiv1/assetpb/assets.pb.go +++ b/asset/apiv1/assetpb/assets.pb.go @@ -360,6 +360,7 @@ type Asset struct { // policy](https://cloud.google.com/access-context-manager/docs/overview#access-policies). // // Types that are assignable to AccessContextPolicy: + // // *Asset_AccessPolicy // *Asset_AccessLevel // *Asset_ServicePerimeter @@ -1146,9 +1147,10 @@ type ResourceSearchResult struct { // To search against the `labels`: // // * Use a field query: - // - query on any label's key or value. Example: `labels:prod` - // - query by a given label. Example: `labels.env:prod` - // - query by a given label's existence. Example: `labels.env:*` + // - query on any label's key or value. Example: `labels:prod` + // - query by a given label. Example: `labels.env:prod` + // - query by a given label's existence. Example: `labels.env:*` + // // * Use a free text query. Example: `prod` Labels map[string]string `protobuf:"bytes,7,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Network tags associated with this resource. Like labels, network tags are a @@ -1202,9 +1204,9 @@ type ResourceSearchResult struct { // To search against `create_time`: // // * Use a field query. - // - value in seconds since unix epoch. Example: `createTime > 1609459200` - // - value in date string. Example: `createTime > 2021-01-01` - // - value in date-time string (must be quoted). Example: `createTime > + // - value in seconds since unix epoch. Example: `createTime > 1609459200` + // - value in date string. Example: `createTime > 2021-01-01` + // - value in date-time string (must be quoted). Example: `createTime > // "2021-01-01T00:00:00"` CreateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` // The last update timestamp of this resource, at which the resource was last @@ -1215,9 +1217,9 @@ type ResourceSearchResult struct { // To search against `update_time`: // // * Use a field query. - // - value in seconds since unix epoch. Example: `updateTime < 1609459200` - // - value in date string. Example: `updateTime < 2021-01-01` - // - value in date-time string (must be quoted). Example: `updateTime < + // - value in seconds since unix epoch. Example: `updateTime < 1609459200` + // - value in date string. Example: `updateTime < 2021-01-01` + // - value in date-time string (must be quoted). Example: `updateTime < // "2021-01-01T00:00:00"` UpdateTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` // The state of this resource. Different resources types have different state @@ -1257,9 +1259,9 @@ type ResourceSearchResult struct { // // To search against the `additional_attributes`: // - // * Use a free text query to match the attributes values. Example: to search - // `additional_attributes = { dnsName: "foobar" }`, you can issue a query - // `foobar`. + // - Use a free text query to match the attributes values. Example: to search + // `additional_attributes = { dnsName: "foobar" }`, you can issue a query + // `foobar`. AdditionalAttributes *structpb.Struct `protobuf:"bytes,9,opt,name=additional_attributes,json=additionalAttributes,proto3" json:"additional_attributes,omitempty"` // The full resource name of this resource's parent, if it has one. // To search against the `parent_full_resource_name`: @@ -1299,12 +1301,12 @@ type ResourceSearchResult struct { // To search against the `tagKeys`: // // * Use a field query. Example: - // - `tagKeys:"123456789/env*"` - // - `tagKeys="123456789/env"` - // - `tagKeys:"env"` + // - `tagKeys:"123456789/env*"` + // - `tagKeys="123456789/env"` + // - `tagKeys:"env"` // // * Use a free text query. Example: - // - `env` + // - `env` // // Deprecated: Marked as deprecated in google/cloud/asset/v1/assets.proto. TagKeys []string `protobuf:"bytes,23,rep,name=tag_keys,json=tagKeys,proto3" json:"tag_keys,omitempty"` @@ -1316,13 +1318,13 @@ type ResourceSearchResult struct { // To search against the `tagValues`: // // * Use a field query. Example: - // - `tagValues:"env"` - // - `tagValues:"env/prod"` - // - `tagValues:"123456789/env/prod*"` - // - `tagValues="123456789/env/prod"` + // - `tagValues:"env"` + // - `tagValues:"env/prod"` + // - `tagValues:"123456789/env/prod*"` + // - `tagValues="123456789/env/prod"` // // * Use a free text query. Example: - // - `prod` + // - `prod` // // Deprecated: Marked as deprecated in google/cloud/asset/v1/assets.proto. TagValues []string `protobuf:"bytes,25,rep,name=tag_values,json=tagValues,proto3" json:"tag_values,omitempty"` @@ -1333,10 +1335,10 @@ type ResourceSearchResult struct { // To search against the `tagValueIds`: // // * Use a field query. Example: - // - `tagValueIds="tagValues/456"` + // - `tagValueIds="tagValues/456"` // // * Use a free text query. Example: - // - `456` + // - `456` // // Deprecated: Marked as deprecated in google/cloud/asset/v1/assets.proto. TagValueIds []string `protobuf:"bytes,26,rep,name=tag_value_ids,json=tagValueIds,proto3" json:"tag_value_ids,omitempty"` @@ -1345,17 +1347,17 @@ type ResourceSearchResult struct { // To search against the `tags`: // // * Use a field query. Example: - // - `tagKeys:"123456789/env*"` - // - `tagKeys="123456789/env"` - // - `tagKeys:"env"` - // - `tagValues:"env"` - // - `tagValues:"env/prod"` - // - `tagValues:"123456789/env/prod*"` - // - `tagValues="123456789/env/prod"` - // - `tagValueIds="tagValues/456"` + // - `tagKeys:"123456789/env*"` + // - `tagKeys="123456789/env"` + // - `tagKeys:"env"` + // - `tagValues:"env"` + // - `tagValues:"env/prod"` + // - `tagValues:"123456789/env/prod*"` + // - `tagValues="123456789/env/prod"` + // - `tagValueIds="tagValues/456"` // // * Use a free text query. Example: - // - `env/prod` + // - `env/prod` Tags []*Tag `protobuf:"bytes,29,rep,name=tags,proto3" json:"tags,omitempty"` // The effective tags on this resource. All of the tags that are both attached // to and inherited by a resource are collectively called the effective @@ -1365,14 +1367,14 @@ type ResourceSearchResult struct { // To search against the `effective_tags`: // // * Use a field query. Example: - // - `effectiveTagKeys:"123456789/env*"` - // - `effectiveTagKeys="123456789/env"` - // - `effectiveTagKeys:"env"` - // - `effectiveTagValues:"env"` - // - `effectiveTagValues:"env/prod"` - // - `effectiveTagValues:"123456789/env/prod*"` - // - `effectiveTagValues="123456789/env/prod"` - // - `effectiveTagValueIds="tagValues/456"` + // - `effectiveTagKeys:"123456789/env*"` + // - `effectiveTagKeys="123456789/env"` + // - `effectiveTagKeys:"env"` + // - `effectiveTagValues:"env"` + // - `effectiveTagValues:"env/prod"` + // - `effectiveTagValues:"123456789/env/prod*"` + // - `effectiveTagValues="123456789/env/prod"` + // - `effectiveTagValueIds="tagValues/456"` EffectiveTags []*EffectiveTagDetails `protobuf:"bytes,30,rep,name=effective_tags,json=effectiveTags,proto3" json:"effective_tags,omitempty"` // The type of this resource's immediate parent, if there is one. // @@ -1386,12 +1388,11 @@ type ResourceSearchResult struct { // The actual content of Security Command Center security marks associated // with the asset. // - // // To search against SCC SecurityMarks field: // - // * Use a field query: - // - query by a given key value pair. Example: `sccSecurityMarks.foo=bar` - // - query by a given key's existence. Example: `sccSecurityMarks.foo:*` + // - Use a field query: + // - query by a given key value pair. Example: `sccSecurityMarks.foo=bar` + // - query by a given key's existence. Example: `sccSecurityMarks.foo:*` SccSecurityMarks map[string]string `protobuf:"bytes,32,rep,name=scc_security_marks,json=sccSecurityMarks,proto3" json:"scc_security_marks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -1932,12 +1933,12 @@ type IamPolicySearchResult struct { // To search against the `policy` bindings: // // * use a field query: - // - query by the policy contained members. Example: - // `policy:amy@gmail.com` - // - query by the policy contained roles. Example: - // `policy:roles/compute.admin` - // - query by the policy contained roles' included permissions. Example: - // `policy.role.permissions:compute.instances.create` + // - query by the policy contained members. Example: + // `policy:amy@gmail.com` + // - query by the policy contained roles. Example: + // `policy:roles/compute.admin` + // - query by the policy contained roles' included permissions. Example: + // `policy.role.permissions:compute.instances.create` Policy *iampb.Policy `protobuf:"bytes,3,opt,name=policy,proto3" json:"policy,omitempty"` // Explanation about the IAM policy search result. It contains additional // information to explain why the search result matches the query. @@ -2405,6 +2406,7 @@ type IamPolicyAnalysisResult_Access struct { unknownFields protoimpl.UnknownFields // Types that are assignable to OneofAccess: + // // *IamPolicyAnalysisResult_Access_Role // *IamPolicyAnalysisResult_Access_Permission OneofAccess isIamPolicyAnalysisResult_Access_OneofAccess `protobuf_oneof:"oneof_access"` diff --git a/asset/apiv1p2beta1/assetpb/asset_service.pb.go b/asset/apiv1p2beta1/assetpb/asset_service.pb.go index fefb9446ab1..bd8ea594912 100755 --- a/asset/apiv1p2beta1/assetpb/asset_service.pb.go +++ b/asset/apiv1p2beta1/assetpb/asset_service.pb.go @@ -557,6 +557,7 @@ type OutputConfig struct { // Asset export destination. // // Types that are assignable to Destination: + // // *OutputConfig_GcsDestination Destination isOutputConfig_Destination `protobuf_oneof:"destination"` } @@ -627,6 +628,7 @@ type GcsDestination struct { // Required. // // Types that are assignable to ObjectUri: + // // *GcsDestination_Uri ObjectUri isGcsDestination_ObjectUri `protobuf_oneof:"object_uri"` } @@ -751,6 +753,7 @@ type FeedOutputConfig struct { // Asset feed destination. // // Types that are assignable to Destination: + // // *FeedOutputConfig_PubsubDestination Destination isFeedOutputConfig_Destination `protobuf_oneof:"destination"` } diff --git a/asset/apiv1p2beta1/assetpb/assets.pb.go b/asset/apiv1p2beta1/assetpb/assets.pb.go index c22258aba36..c5eac00ec60 100755 --- a/asset/apiv1p2beta1/assetpb/assets.pb.go +++ b/asset/apiv1p2beta1/assetpb/assets.pb.go @@ -219,6 +219,7 @@ type Asset struct { // policy](https://cloud.google.com/access-context-manager/docs/overview#access-policies). // // Types that are assignable to AccessContextPolicy: + // // *Asset_AccessPolicy // *Asset_AccessLevel // *Asset_ServicePerimeter diff --git a/asset/apiv1p5beta1/assetpb/assets.pb.go b/asset/apiv1p5beta1/assetpb/assets.pb.go index 0513d95ae31..2556893a15a 100755 --- a/asset/apiv1p5beta1/assetpb/assets.pb.go +++ b/asset/apiv1p5beta1/assetpb/assets.pb.go @@ -87,6 +87,7 @@ type Asset struct { // policy](https://cloud.google.com/access-context-manager/docs/overview#access-policies). // // Types that are assignable to AccessContextPolicy: + // // *Asset_AccessPolicy // *Asset_AccessLevel // *Asset_ServicePerimeter diff --git a/assuredworkloads/apiv1/assuredworkloadspb/assuredworkloads.pb.go b/assuredworkloads/apiv1/assuredworkloadspb/assuredworkloads.pb.go index 4fe06e580c0..c07f2580531 100755 --- a/assuredworkloads/apiv1/assuredworkloadspb/assuredworkloads.pb.go +++ b/assuredworkloads/apiv1/assuredworkloadspb/assuredworkloads.pb.go @@ -1800,10 +1800,11 @@ type Violation struct { AuditLogLink string `protobuf:"bytes,11,opt,name=audit_log_link,json=auditLogLink,proto3" json:"audit_log_link,omitempty"` // Output only. Immutable. Name of the OrgPolicy which was modified with non-compliant change and // resulted this violation. - // Format: - // projects/{project_number}/policies/{constraint_name} - // folders/{folder_id}/policies/{constraint_name} - // organizations/{organization_id}/policies/{constraint_name} + // + // Format: + // projects/{project_number}/policies/{constraint_name} + // folders/{folder_id}/policies/{constraint_name} + // organizations/{organization_id}/policies/{constraint_name} NonCompliantOrgPolicy string `protobuf:"bytes,12,opt,name=non_compliant_org_policy,json=nonCompliantOrgPolicy,proto3" json:"non_compliant_org_policy,omitempty"` // Output only. Compliance violation remediation Remediation *Violation_Remediation `protobuf:"bytes,13,opt,name=remediation,proto3" json:"remediation,omitempty"` diff --git a/assuredworkloads/apiv1beta1/assuredworkloadspb/assuredworkloads.pb.go b/assuredworkloads/apiv1beta1/assuredworkloadspb/assuredworkloads.pb.go index 84988e5a663..6eb5358f0af 100755 --- a/assuredworkloads/apiv1beta1/assuredworkloadspb/assuredworkloads.pb.go +++ b/assuredworkloads/apiv1beta1/assuredworkloadspb/assuredworkloads.pb.go @@ -777,6 +777,7 @@ type AnalyzeWorkloadMoveRequest struct { // an existing project or a project-based workload. // // Types that are assignable to ProjectOrWorkloadResource: + // // *AnalyzeWorkloadMoveRequest_Source // *AnalyzeWorkloadMoveRequest_Project ProjectOrWorkloadResource isAnalyzeWorkloadMoveRequest_ProjectOrWorkloadResource `protobuf_oneof:"projectOrWorkloadResource"` @@ -1105,6 +1106,7 @@ type Workload struct { // Settings specific to the selected [compliance_regime] // // Types that are assignable to ComplianceRegimeSettings: + // // *Workload_Il4Settings // *Workload_CjisSettings // *Workload_FedrampHighSettings_ diff --git a/automl/apiv1/automlpb/annotation_payload.pb.go b/automl/apiv1/automlpb/annotation_payload.pb.go index 1abc4980b7e..3a1a7d6fbe1 100755 --- a/automl/apiv1/automlpb/annotation_payload.pb.go +++ b/automl/apiv1/automlpb/annotation_payload.pb.go @@ -45,6 +45,7 @@ type AnnotationPayload struct { // specific to the AutoML domain. // // Types that are assignable to Detail: + // // *AnnotationPayload_Translation // *AnnotationPayload_Classification // *AnnotationPayload_ImageObjectDetection diff --git a/automl/apiv1/automlpb/data_items.pb.go b/automl/apiv1/automlpb/data_items.pb.go index 3fdea8b1664..eebe9320d03 100755 --- a/automl/apiv1/automlpb/data_items.pb.go +++ b/automl/apiv1/automlpb/data_items.pb.go @@ -194,6 +194,7 @@ type Image struct { // For Predict calls [image_bytes][google.cloud.automl.v1.Image.image_bytes] must be set . // // Types that are assignable to Data: + // // *Image_ImageBytes Data isImage_Data `protobuf_oneof:"data"` // Output only. HTTP URI to the thumbnail image. @@ -498,6 +499,7 @@ type ExamplePayload struct { // Required. The example data. // // Types that are assignable to Payload: + // // *ExamplePayload_Image // *ExamplePayload_TextSnippet // *ExamplePayload_Document diff --git a/automl/apiv1/automlpb/dataset.pb.go b/automl/apiv1/automlpb/dataset.pb.go index 42149d9e480..a010df5652d 100755 --- a/automl/apiv1/automlpb/dataset.pb.go +++ b/automl/apiv1/automlpb/dataset.pb.go @@ -48,6 +48,7 @@ type Dataset struct { // The dataset metadata that is specific to the problem type. // // Types that are assignable to DatasetMetadata: + // // *Dataset_TranslationDatasetMetadata // *Dataset_ImageClassificationDatasetMetadata // *Dataset_TextClassificationDatasetMetadata diff --git a/automl/apiv1/automlpb/image.pb.go b/automl/apiv1/automlpb/image.pb.go index 262b03785fa..0915d7ccd74 100755 --- a/automl/apiv1/automlpb/image.pb.go +++ b/automl/apiv1/automlpb/image.pb.go @@ -159,38 +159,38 @@ type ImageClassificationModelMetadata struct { // e.g. `BUDGET_REACHED`, `MODEL_CONVERGED`. StopReason string `protobuf:"bytes,5,opt,name=stop_reason,json=stopReason,proto3" json:"stop_reason,omitempty"` // Optional. Type of the model. The available values are: - // * `cloud` - Model to be used via prediction calls to AutoML API. - // This is the default value. - // * `mobile-low-latency-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile or edge device - // with TensorFlow afterwards. Expected to have low latency, but - // may have lower prediction quality than other models. - // * `mobile-versatile-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile or edge device - // with TensorFlow afterwards. - // * `mobile-high-accuracy-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile or edge device - // with TensorFlow afterwards. Expected to have a higher - // latency, but should also have a higher prediction quality - // than other models. - // * `mobile-core-ml-low-latency-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile device with Core - // ML afterwards. Expected to have low latency, but may have - // lower prediction quality than other models. - // * `mobile-core-ml-versatile-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile device with Core - // ML afterwards. - // * `mobile-core-ml-high-accuracy-1` - A model that, in addition to - // providing prediction via AutoML API, can also be exported - // (see [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile device with - // Core ML afterwards. Expected to have a higher latency, but - // should also have a higher prediction quality than other - // models. + // - `cloud` - Model to be used via prediction calls to AutoML API. + // This is the default value. + // - `mobile-low-latency-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile or edge device + // with TensorFlow afterwards. Expected to have low latency, but + // may have lower prediction quality than other models. + // - `mobile-versatile-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile or edge device + // with TensorFlow afterwards. + // - `mobile-high-accuracy-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile or edge device + // with TensorFlow afterwards. Expected to have a higher + // latency, but should also have a higher prediction quality + // than other models. + // - `mobile-core-ml-low-latency-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile device with Core + // ML afterwards. Expected to have low latency, but may have + // lower prediction quality than other models. + // - `mobile-core-ml-versatile-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile device with Core + // ML afterwards. + // - `mobile-core-ml-high-accuracy-1` - A model that, in addition to + // providing prediction via AutoML API, can also be exported + // (see [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile device with + // Core ML afterwards. Expected to have a higher latency, but + // should also have a higher prediction quality than other + // models. ModelType string `protobuf:"bytes,7,opt,name=model_type,json=modelType,proto3" json:"model_type,omitempty"` // Output only. An approximate number of online prediction QPS that can // be supported by this model per each node on which it is deployed. @@ -289,28 +289,28 @@ type ImageObjectDetectionModelMetadata struct { unknownFields protoimpl.UnknownFields // Optional. Type of the model. The available values are: - // * `cloud-high-accuracy-1` - (default) A model to be used via prediction - // calls to AutoML API. Expected to have a higher latency, but - // should also have a higher prediction quality than other - // models. - // * `cloud-low-latency-1` - A model to be used via prediction - // calls to AutoML API. Expected to have low latency, but may - // have lower prediction quality than other models. - // * `mobile-low-latency-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile or edge device - // with TensorFlow afterwards. Expected to have low latency, but - // may have lower prediction quality than other models. - // * `mobile-versatile-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile or edge device - // with TensorFlow afterwards. - // * `mobile-high-accuracy-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile or edge device - // with TensorFlow afterwards. Expected to have a higher - // latency, but should also have a higher prediction quality - // than other models. + // - `cloud-high-accuracy-1` - (default) A model to be used via prediction + // calls to AutoML API. Expected to have a higher latency, but + // should also have a higher prediction quality than other + // models. + // - `cloud-low-latency-1` - A model to be used via prediction + // calls to AutoML API. Expected to have low latency, but may + // have lower prediction quality than other models. + // - `mobile-low-latency-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile or edge device + // with TensorFlow afterwards. Expected to have low latency, but + // may have lower prediction quality than other models. + // - `mobile-versatile-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile or edge device + // with TensorFlow afterwards. + // - `mobile-high-accuracy-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1.AutoMl.ExportModel]) and used on a mobile or edge device + // with TensorFlow afterwards. Expected to have a higher + // latency, but should also have a higher prediction quality + // than other models. ModelType string `protobuf:"bytes,1,opt,name=model_type,json=modelType,proto3" json:"model_type,omitempty"` // Output only. The number of nodes this model is deployed on. A node is an // abstraction of a machine resource, which can handle online prediction QPS diff --git a/automl/apiv1/automlpb/io.pb.go b/automl/apiv1/automlpb/io.pb.go index e36906bfbfc..7828bd93acb 100755 --- a/automl/apiv1/automlpb/io.pb.go +++ b/automl/apiv1/automlpb/io.pb.go @@ -660,6 +660,7 @@ type InputConfig struct { // The source of the input. // // Types that are assignable to Source: + // // *InputConfig_GcsSource Source isInputConfig_Source `protobuf_oneof:"source"` // Additional domain-specific parameters describing the semantic of the @@ -670,9 +671,10 @@ type InputConfig struct { // // `schema_inference_version` // : (integer) This value must be supplied. - // The version of the - // algorithm to use for the initial inference of the - // column data types of the imported table. Allowed values: "1". + // + // The version of the + // algorithm to use for the initial inference of the + // column data types of the imported table. Allowed values: "1". Params map[string]string `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -1032,6 +1034,7 @@ type BatchPredictInputConfig struct { // The source of the input. // // Types that are assignable to Source: + // // *BatchPredictInputConfig_GcsSource Source isBatchPredictInputConfig_Source `protobuf_oneof:"source"` } @@ -1183,6 +1186,7 @@ type OutputConfig struct { // The destination of the output. // // Types that are assignable to Destination: + // // *OutputConfig_GcsDestination Destination isOutputConfig_Destination `protobuf_oneof:"destination"` } @@ -1508,6 +1512,7 @@ type BatchPredictOutputConfig struct { // The destination of the output. // // Types that are assignable to Destination: + // // *BatchPredictOutputConfig_GcsDestination Destination isBatchPredictOutputConfig_Destination `protobuf_oneof:"destination"` } @@ -1579,6 +1584,7 @@ type ModelExportOutputConfig struct { // The destination of the output. // // Types that are assignable to Destination: + // // *ModelExportOutputConfig_GcsDestination Destination isModelExportOutputConfig_Destination `protobuf_oneof:"destination"` // The format in which the model must be exported. The available, and default, @@ -1586,38 +1592,39 @@ type ModelExportOutputConfig struct { // combination doesn't have a format listed, it means its models are not // exportable): // - // * For Image Classification mobile-low-latency-1, mobile-versatile-1, - // mobile-high-accuracy-1: - // "tflite" (default), "edgetpu_tflite", "tf_saved_model", "tf_js", - // "docker". + // - For Image Classification mobile-low-latency-1, mobile-versatile-1, + // mobile-high-accuracy-1: + // "tflite" (default), "edgetpu_tflite", "tf_saved_model", "tf_js", + // "docker". // - // * For Image Classification mobile-core-ml-low-latency-1, - // mobile-core-ml-versatile-1, mobile-core-ml-high-accuracy-1: - // "core_ml" (default). + // - For Image Classification mobile-core-ml-low-latency-1, + // mobile-core-ml-versatile-1, mobile-core-ml-high-accuracy-1: + // "core_ml" (default). + // + // - For Image Object Detection mobile-low-latency-1, mobile-versatile-1, + // mobile-high-accuracy-1: + // "tflite", "tf_saved_model", "tf_js". // - // * For Image Object Detection mobile-low-latency-1, mobile-versatile-1, - // mobile-high-accuracy-1: - // "tflite", "tf_saved_model", "tf_js". // Formats description: // - // * tflite - Used for Android mobile devices. - // * edgetpu_tflite - Used for [Edge TPU](https://cloud.google.com/edge-tpu/) - // devices. - // * tf_saved_model - A tensorflow model in SavedModel format. - // * tf_js - A [TensorFlow.js](https://www.tensorflow.org/js) model that can - // be used in the browser and in Node.js using JavaScript. - // * docker - Used for Docker containers. Use the params field to customize - // the container. The container is verified to work correctly on - // ubuntu 16.04 operating system. See more at - // [containers - // quickstart](https://cloud.google.com/vision/automl/docs/containers-gcs-quickstart) - // * core_ml - Used for iOS mobile devices. + // - tflite - Used for Android mobile devices. + // - edgetpu_tflite - Used for [Edge TPU](https://cloud.google.com/edge-tpu/) + // devices. + // - tf_saved_model - A tensorflow model in SavedModel format. + // - tf_js - A [TensorFlow.js](https://www.tensorflow.org/js) model that can + // be used in the browser and in Node.js using JavaScript. + // - docker - Used for Docker containers. Use the params field to customize + // the container. The container is verified to work correctly on + // ubuntu 16.04 operating system. See more at + // [containers + // quickstart](https://cloud.google.com/vision/automl/docs/containers-gcs-quickstart) + // - core_ml - Used for iOS mobile devices. ModelFormat string `protobuf:"bytes,4,opt,name=model_format,json=modelFormat,proto3" json:"model_format,omitempty"` // Additional model-type and format specific parameters describing the // requirements for the to be exported model files, any string must be up to // 25000 characters long. // - // * For `docker` format: + // - For `docker` format: // `cpu_architecture` - (string) "x86_64" (default). // `gpu_architecture` - (string) "none" (default), "nvidia". Params map[string]string `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` @@ -1690,13 +1697,14 @@ type isModelExportOutputConfig_Destination interface { type ModelExportOutputConfig_GcsDestination struct { // Required. The Google Cloud Storage location where the model is to be written to. // This location may only be set for the following model formats: - // "tflite", "edgetpu_tflite", "tf_saved_model", "tf_js", "core_ml". // - // Under the directory given as the destination a new one with name - // "model-export--", - // where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format, - // will be created. Inside the model and any of its supporting files - // will be written. + // "tflite", "edgetpu_tflite", "tf_saved_model", "tf_js", "core_ml". + // + // Under the directory given as the destination a new one with name + // "model-export--", + // where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format, + // will be created. Inside the model and any of its supporting files + // will be written. GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"` } diff --git a/automl/apiv1/automlpb/model.pb.go b/automl/apiv1/automlpb/model.pb.go index 0e395dfaed9..8fb6522ae14 100755 --- a/automl/apiv1/automlpb/model.pb.go +++ b/automl/apiv1/automlpb/model.pb.go @@ -101,6 +101,7 @@ type Model struct { // Must match the metadata type of the dataset used to train the model. // // Types that are assignable to ModelMetadata: + // // *Model_TranslationModelMetadata // *Model_ImageClassificationModelMetadata // *Model_TextClassificationModelMetadata diff --git a/automl/apiv1/automlpb/model_evaluation.pb.go b/automl/apiv1/automlpb/model_evaluation.pb.go index b7ecfa6cd42..8fa5624c986 100755 --- a/automl/apiv1/automlpb/model_evaluation.pb.go +++ b/automl/apiv1/automlpb/model_evaluation.pb.go @@ -46,6 +46,7 @@ type ModelEvaluation struct { // Output only. Problem type specific evaluation metrics. // // Types that are assignable to Metrics: + // // *ModelEvaluation_ClassificationEvaluationMetrics // *ModelEvaluation_TranslationEvaluationMetrics // *ModelEvaluation_ImageObjectDetectionEvaluationMetrics diff --git a/automl/apiv1/automlpb/operations.pb.go b/automl/apiv1/automlpb/operations.pb.go index 3e1f1e92c68..41fa7500adb 100755 --- a/automl/apiv1/automlpb/operations.pb.go +++ b/automl/apiv1/automlpb/operations.pb.go @@ -47,6 +47,7 @@ type OperationMetadata struct { // the presence allows to distinguish different types of operations. // // Types that are assignable to Details: + // // *OperationMetadata_DeleteDetails // *OperationMetadata_DeployModelDetails // *OperationMetadata_UndeployModelDetails @@ -671,6 +672,7 @@ type ExportDataOperationMetadata_ExportDataOutputInfo struct { // The output location to which the exported data is written. // // Types that are assignable to OutputLocation: + // // *ExportDataOperationMetadata_ExportDataOutputInfo_GcsOutputDirectory OutputLocation isExportDataOperationMetadata_ExportDataOutputInfo_OutputLocation `protobuf_oneof:"output_location"` } @@ -745,6 +747,7 @@ type BatchPredictOperationMetadata_BatchPredictOutputInfo struct { // The output location into which prediction output is written. // // Types that are assignable to OutputLocation: + // // *BatchPredictOperationMetadata_BatchPredictOutputInfo_GcsOutputDirectory OutputLocation isBatchPredictOperationMetadata_BatchPredictOutputInfo_OutputLocation `protobuf_oneof:"output_location"` } diff --git a/automl/apiv1/automlpb/prediction_service.pb.go b/automl/apiv1/automlpb/prediction_service.pb.go index 64cca72e0d7..8775d6836ca 100755 --- a/automl/apiv1/automlpb/prediction_service.pb.go +++ b/automl/apiv1/automlpb/prediction_service.pb.go @@ -55,33 +55,37 @@ type PredictRequest struct { // Additional domain-specific parameters, any string must be up to 25000 // characters long. // - // AutoML Vision Classification + // # AutoML Vision Classification // // `score_threshold` // : (float) A value from 0.0 to 1.0. When the model - // makes predictions for an image, it will only produce results that have - // at least this confidence score. The default is 0.5. // - // AutoML Vision Object Detection + // makes predictions for an image, it will only produce results that have + // at least this confidence score. The default is 0.5. + // + // # AutoML Vision Object Detection // // `score_threshold` // : (float) When Model detects objects on the image, - // it will only produce bounding boxes which have at least this - // confidence score. Value in 0 to 1 range, default is 0.5. + // + // it will only produce bounding boxes which have at least this + // confidence score. Value in 0 to 1 range, default is 0.5. // // `max_bounding_box_count` // : (int64) The maximum number of bounding - // boxes returned. The default is 100. The - // number of returned bounding boxes might be limited by the server. // - // AutoML Tables + // boxes returned. The default is 100. The + // number of returned bounding boxes might be limited by the server. + // + // # AutoML Tables // // `feature_importance` // : (boolean) Whether // [feature_importance][google.cloud.automl.v1.TablesModelColumnInfo.feature_importance] - // is populated in the returned list of - // [TablesAnnotation][google.cloud.automl.v1.TablesAnnotation] - // objects. The default is false. + // + // is populated in the returned list of + // [TablesAnnotation][google.cloud.automl.v1.TablesAnnotation] + // objects. The default is false. Params map[string]string `protobuf:"bytes,3,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -159,22 +163,23 @@ type PredictResponse struct { PreprocessedInput *ExamplePayload `protobuf:"bytes,3,opt,name=preprocessed_input,json=preprocessedInput,proto3" json:"preprocessed_input,omitempty"` // Additional domain-specific prediction response metadata. // - // AutoML Vision Object Detection + // # AutoML Vision Object Detection // // `max_bounding_box_count` // : (int64) The maximum number of bounding boxes to return per image. // - // AutoML Natural Language Sentiment Analysis + // # AutoML Natural Language Sentiment Analysis // // `sentiment_score` // : (float, deprecated) A value between -1 and 1, - // -1 maps to least positive sentiment, while 1 maps to the most positive - // one and the higher the score, the more positive the sentiment in the - // document is. Yet these values are relative to the training data, so - // e.g. if all data was positive then -1 is also positive (though - // the least). - // `sentiment_score` is not the same as "score" and "magnitude" - // from Sentiment Analysis in the Natural Language API. + // + // -1 maps to least positive sentiment, while 1 maps to the most positive + // one and the higher the score, the more positive the sentiment in the + // document is. Yet these values are relative to the training data, so + // e.g. if all data was positive then -1 is also positive (though + // the least). + // `sentiment_score` is not the same as "score" and "magnitude" + // from Sentiment Analysis in the Natural Language API. Metadata map[string]string `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -247,87 +252,97 @@ type BatchPredictRequest struct { // Additional domain-specific parameters for the predictions, any string must // be up to 25000 characters long. // - // AutoML Natural Language Classification + // # AutoML Natural Language Classification // // `score_threshold` // : (float) A value from 0.0 to 1.0. When the model - // makes predictions for a text snippet, it will only produce results - // that have at least this confidence score. The default is 0.5. // + // makes predictions for a text snippet, it will only produce results + // that have at least this confidence score. The default is 0.5. // - // AutoML Vision Classification + // # AutoML Vision Classification // // `score_threshold` // : (float) A value from 0.0 to 1.0. When the model - // makes predictions for an image, it will only produce results that - // have at least this confidence score. The default is 0.5. // - // AutoML Vision Object Detection + // makes predictions for an image, it will only produce results that + // have at least this confidence score. The default is 0.5. + // + // # AutoML Vision Object Detection // // `score_threshold` // : (float) When Model detects objects on the image, - // it will only produce bounding boxes which have at least this - // confidence score. Value in 0 to 1 range, default is 0.5. + // + // it will only produce bounding boxes which have at least this + // confidence score. Value in 0 to 1 range, default is 0.5. // // `max_bounding_box_count` // : (int64) The maximum number of bounding - // boxes returned per image. The default is 100, the - // number of bounding boxes returned might be limited by the server. + // + // boxes returned per image. The default is 100, the + // number of bounding boxes returned might be limited by the server. + // // AutoML Video Intelligence Classification // // `score_threshold` // : (float) A value from 0.0 to 1.0. When the model - // makes predictions for a video, it will only produce results that - // have at least this confidence score. The default is 0.5. + // + // makes predictions for a video, it will only produce results that + // have at least this confidence score. The default is 0.5. // // `segment_classification` // : (boolean) Set to true to request - // segment-level classification. AutoML Video Intelligence returns - // labels and their confidence scores for the entire segment of the - // video that user specified in the request configuration. - // The default is true. + // + // segment-level classification. AutoML Video Intelligence returns + // labels and their confidence scores for the entire segment of the + // video that user specified in the request configuration. + // The default is true. // // `shot_classification` // : (boolean) Set to true to request shot-level - // classification. AutoML Video Intelligence determines the boundaries - // for each camera shot in the entire segment of the video that user - // specified in the request configuration. AutoML Video Intelligence - // then returns labels and their confidence scores for each detected - // shot, along with the start and end time of the shot. - // The default is false. // - // WARNING: Model evaluation is not done for this classification type, - // the quality of it depends on training data, but there are no metrics - // provided to describe that quality. + // classification. AutoML Video Intelligence determines the boundaries + // for each camera shot in the entire segment of the video that user + // specified in the request configuration. AutoML Video Intelligence + // then returns labels and their confidence scores for each detected + // shot, along with the start and end time of the shot. + // The default is false. + // + // WARNING: Model evaluation is not done for this classification type, + // the quality of it depends on training data, but there are no metrics + // provided to describe that quality. // // `1s_interval_classification` // : (boolean) Set to true to request - // classification for a video at one-second intervals. AutoML Video - // Intelligence returns labels and their confidence scores for each - // second of the entire segment of the video that user specified in the - // request configuration. The default is false. // - // WARNING: Model evaluation is not done for this classification - // type, the quality of it depends on training data, but there are no - // metrics provided to describe that quality. + // classification for a video at one-second intervals. AutoML Video + // Intelligence returns labels and their confidence scores for each + // second of the entire segment of the video that user specified in the + // request configuration. The default is false. // - // AutoML Video Intelligence Object Tracking + // WARNING: Model evaluation is not done for this classification + // type, the quality of it depends on training data, but there are no + // metrics provided to describe that quality. + // + // # AutoML Video Intelligence Object Tracking // // `score_threshold` // : (float) When Model detects objects on video frames, - // it will only produce bounding boxes which have at least this - // confidence score. Value in 0 to 1 range, default is 0.5. + // + // it will only produce bounding boxes which have at least this + // confidence score. Value in 0 to 1 range, default is 0.5. // // `max_bounding_box_count` // : (int64) The maximum number of bounding - // boxes returned per image. The default is 100, the - // number of bounding boxes returned might be limited by the server. + // + // boxes returned per image. The default is 100, the + // number of bounding boxes returned might be limited by the server. // // `min_bounding_box_size` // : (float) Only bounding boxes with shortest edge - // at least that long as a relative value of video frame size are - // returned. Value in 0 to 1 range. Default is 0. // + // at least that long as a relative value of video frame size are + // returned. Value in 0 to 1 range. Default is 0. Params map[string]string `protobuf:"bytes,5,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -401,12 +416,12 @@ type BatchPredictResult struct { // Additional domain-specific prediction response metadata. // - // AutoML Vision Object Detection + // # AutoML Vision Object Detection // // `max_bounding_box_count` // : (int64) The maximum number of bounding boxes returned per image. // - // AutoML Video Intelligence Object Tracking + // # AutoML Video Intelligence Object Tracking // // `max_bounding_box_count` // : (int64) The maximum number of bounding boxes returned per frame. @@ -740,38 +755,38 @@ type PredictionServiceClient interface { // returned in the response. // Available for following ML scenarios, and their expected request payloads: // - // AutoML Vision Classification + // # AutoML Vision Classification // // * An image in .JPEG, .GIF or .PNG format, image_bytes up to 30MB. // - // AutoML Vision Object Detection + // # AutoML Vision Object Detection // // * An image in .JPEG, .GIF or .PNG format, image_bytes up to 30MB. // - // AutoML Natural Language Classification + // # AutoML Natural Language Classification // // * A TextSnippet up to 60,000 characters, UTF-8 encoded or a document in // .PDF, .TIF or .TIFF format with size upto 2MB. // - // AutoML Natural Language Entity Extraction + // # AutoML Natural Language Entity Extraction // - // * A TextSnippet up to 10,000 characters, UTF-8 NFC encoded or a document - // in .PDF, .TIF or .TIFF format with size upto 20MB. + // - A TextSnippet up to 10,000 characters, UTF-8 NFC encoded or a document + // in .PDF, .TIF or .TIFF format with size upto 20MB. // - // AutoML Natural Language Sentiment Analysis + // # AutoML Natural Language Sentiment Analysis // // * A TextSnippet up to 60,000 characters, UTF-8 encoded or a document in // .PDF, .TIF or .TIFF format with size upto 2MB. // - // AutoML Translation + // # AutoML Translation // // * A TextSnippet up to 25,000 characters, UTF-8 encoded. // - // AutoML Tables + // # AutoML Tables // - // * A row with column values matching - // the columns of the model, up to 5MB. Not available for FORECASTING - // `prediction_type`. + // - A row with column values matching + // the columns of the model, up to 5MB. Not available for FORECASTING + // `prediction_type`. Predict(ctx context.Context, in *PredictRequest, opts ...grpc.CallOption) (*PredictResponse, error) // Perform a batch prediction. Unlike the online [Predict][google.cloud.automl.v1.PredictionService.Predict], batch // prediction result won't be immediately available in the response. Instead, @@ -823,38 +838,38 @@ type PredictionServiceServer interface { // returned in the response. // Available for following ML scenarios, and their expected request payloads: // - // AutoML Vision Classification + // # AutoML Vision Classification // // * An image in .JPEG, .GIF or .PNG format, image_bytes up to 30MB. // - // AutoML Vision Object Detection + // # AutoML Vision Object Detection // // * An image in .JPEG, .GIF or .PNG format, image_bytes up to 30MB. // - // AutoML Natural Language Classification + // # AutoML Natural Language Classification // // * A TextSnippet up to 60,000 characters, UTF-8 encoded or a document in // .PDF, .TIF or .TIFF format with size upto 2MB. // - // AutoML Natural Language Entity Extraction + // # AutoML Natural Language Entity Extraction // - // * A TextSnippet up to 10,000 characters, UTF-8 NFC encoded or a document - // in .PDF, .TIF or .TIFF format with size upto 20MB. + // - A TextSnippet up to 10,000 characters, UTF-8 NFC encoded or a document + // in .PDF, .TIF or .TIFF format with size upto 20MB. // - // AutoML Natural Language Sentiment Analysis + // # AutoML Natural Language Sentiment Analysis // // * A TextSnippet up to 60,000 characters, UTF-8 encoded or a document in // .PDF, .TIF or .TIFF format with size upto 2MB. // - // AutoML Translation + // # AutoML Translation // // * A TextSnippet up to 25,000 characters, UTF-8 encoded. // - // AutoML Tables + // # AutoML Tables // - // * A row with column values matching - // the columns of the model, up to 5MB. Not available for FORECASTING - // `prediction_type`. + // - A row with column values matching + // the columns of the model, up to 5MB. Not available for FORECASTING + // `prediction_type`. Predict(context.Context, *PredictRequest) (*PredictResponse, error) // Perform a batch prediction. Unlike the online [Predict][google.cloud.automl.v1.PredictionService.Predict], batch // prediction result won't be immediately available in the response. Instead, diff --git a/automl/apiv1/automlpb/service.pb.go b/automl/apiv1/automlpb/service.pb.go index cd294bfc063..26c5553b34b 100755 --- a/automl/apiv1/automlpb/service.pb.go +++ b/automl/apiv1/automlpb/service.pb.go @@ -159,11 +159,11 @@ type ListDatasetsRequest struct { Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // An expression for filtering the results of the request. // - // * `dataset_metadata` - for existence of the case (e.g. - // `image_classification_dataset_metadata:*`). Some examples of using the filter are: + // - `dataset_metadata` - for existence of the case (e.g. + // `image_classification_dataset_metadata:*`). Some examples of using the filter are: // - // * `translation_dataset_metadata:*` --> The dataset has - // `translation_dataset_metadata`. + // - `translation_dataset_metadata:*` --> The dataset has + // `translation_dataset_metadata`. Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` // Requested page size. Server may return fewer results than requested. // If unspecified, server will pick a default size. @@ -685,13 +685,15 @@ type ListModelsRequest struct { Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // An expression for filtering the results of the request. // - // * `model_metadata` - for existence of the case (e.g. - // `video_classification_model_metadata:*`). - // * `dataset_id` - for = or !=. Some examples of using the filter are: + // - `model_metadata` - for existence of the case (e.g. + // `video_classification_model_metadata:*`). // - // * `image_classification_model_metadata:*` --> The model has - // `image_classification_model_metadata`. - // * `dataset_id=5` --> The model was created from a dataset with ID 5. + // - `dataset_id` - for = or !=. Some examples of using the filter are: + // + // - `image_classification_model_metadata:*` --> The model has + // `image_classification_model_metadata`. + // + // - `dataset_id=5` --> The model was created from a dataset with ID 5. Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` // Requested page size. PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -937,6 +939,7 @@ type DeployModelRequest struct { // The per-domain specific deployment parameters. // // Types that are assignable to ModelDeploymentMetadata: + // // *DeployModelRequest_ImageObjectDetectionModelDeploymentMetadata // *DeployModelRequest_ImageClassificationModelDeploymentMetadata ModelDeploymentMetadata isDeployModelRequest_ModelDeploymentMetadata `protobuf_oneof:"model_deployment_metadata"` @@ -1194,15 +1197,15 @@ type ListModelEvaluationsRequest struct { Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. An expression for filtering the results of the request. // - // * `annotation_spec_id` - for =, != or existence. See example below for - // the last. + // - `annotation_spec_id` - for =, != or existence. See example below for + // the last. // // Some examples of using the filter are: // - // * `annotation_spec_id!=4` --> The model evaluation was done for - // annotation spec with ID different than 4. - // * `NOT annotation_spec_id:*` --> The model evaluation was done for - // aggregate of all annotation specs. + // - `annotation_spec_id!=4` --> The model evaluation was done for + // annotation spec with ID different than 4. + // - `NOT annotation_spec_id:*` --> The model evaluation was done for + // aggregate of all annotation specs. Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` // Requested page size. PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -2225,7 +2228,9 @@ type AutoMlClient interface { // For Tables: // * A // [schema_inference_version][google.cloud.automl.v1.InputConfig.params] - // parameter must be explicitly set. + // + // parameter must be explicitly set. + // // Returns an empty response in the // [response][google.longrunning.Operation.response] field when it completes. ImportData(ctx context.Context, in *ImportDataRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) @@ -2257,7 +2262,8 @@ type AutoMlClient interface { // same parameters has no effect. Deploying with different parametrs // (as e.g. changing // [node_number][google.cloud.automl.v1p1beta.ImageObjectDetectionModelDeploymentMetadata.node_number]) - // will reset the deployment state without pausing the model's availability. + // + // will reset the deployment state without pausing the model's availability. // // Only applicable for Text Classification, Image Object Detection , Tables, and Image Segmentation; all other domains manage // deployment automatically. @@ -2479,7 +2485,9 @@ type AutoMlServer interface { // For Tables: // * A // [schema_inference_version][google.cloud.automl.v1.InputConfig.params] - // parameter must be explicitly set. + // + // parameter must be explicitly set. + // // Returns an empty response in the // [response][google.longrunning.Operation.response] field when it completes. ImportData(context.Context, *ImportDataRequest) (*longrunningpb.Operation, error) @@ -2511,7 +2519,8 @@ type AutoMlServer interface { // same parameters has no effect. Deploying with different parametrs // (as e.g. changing // [node_number][google.cloud.automl.v1p1beta.ImageObjectDetectionModelDeploymentMetadata.node_number]) - // will reset the deployment state without pausing the model's availability. + // + // will reset the deployment state without pausing the model's availability. // // Only applicable for Text Classification, Image Object Detection , Tables, and Image Segmentation; all other domains manage // deployment automatically. diff --git a/automl/apiv1/automlpb/text_extraction.pb.go b/automl/apiv1/automlpb/text_extraction.pb.go index 357df8d5614..31d1b31c230 100755 --- a/automl/apiv1/automlpb/text_extraction.pb.go +++ b/automl/apiv1/automlpb/text_extraction.pb.go @@ -45,6 +45,7 @@ type TextExtractionAnnotation struct { // text relation. // // Types that are assignable to Annotation: + // // *TextExtractionAnnotation_TextSegment Annotation isTextExtractionAnnotation_Annotation `protobuf_oneof:"annotation"` // Output only. A confidence estimate between 0.0 and 1.0. A higher value diff --git a/automl/apiv1/automlpb/text_sentiment.pb.go b/automl/apiv1/automlpb/text_sentiment.pb.go index 45de16a2451..face6ea6f00 100755 --- a/automl/apiv1/automlpb/text_sentiment.pb.go +++ b/automl/apiv1/automlpb/text_sentiment.pb.go @@ -49,7 +49,9 @@ type TextSentimentAnnotation struct { // with higher value meaning more positive sentiment. They are completely // relative, i.e. 0 means least positive sentiment and sentiment_max means // the most positive from the sentiments present in the train data. Therefore - // e.g. if train data had only negative sentiment, then sentiment_max, would + // + // e.g. if train data had only negative sentiment, then sentiment_max, would + // // be still negative (although least negative). // The sentiment shouldn't be confused with "score" or "magnitude" // from the previous Natural Language Sentiment Analysis API. diff --git a/automl/apiv1beta1/automlpb/annotation_payload.pb.go b/automl/apiv1beta1/automlpb/annotation_payload.pb.go index dfe4704d0ca..1ba800fddc7 100755 --- a/automl/apiv1beta1/automlpb/annotation_payload.pb.go +++ b/automl/apiv1beta1/automlpb/annotation_payload.pb.go @@ -45,6 +45,7 @@ type AnnotationPayload struct { // specific to the AutoML domain. // // Types that are assignable to Detail: + // // *AnnotationPayload_Translation // *AnnotationPayload_Classification // *AnnotationPayload_ImageObjectDetection diff --git a/automl/apiv1beta1/automlpb/classification.pb.go b/automl/apiv1beta1/automlpb/classification.pb.go index 92247231bc4..e8939b54c60 100755 --- a/automl/apiv1beta1/automlpb/classification.pb.go +++ b/automl/apiv1beta1/automlpb/classification.pb.go @@ -149,27 +149,27 @@ type VideoClassificationAnnotation struct { // Output only. Expresses the type of video classification. Possible values: // - // * `segment` - Classification done on a specified by user - // time segment of a video. AnnotationSpec is answered to be present - // in that time segment, if it is present in any part of it. The video - // ML model evaluations are done only for this type of classification. + // - `segment` - Classification done on a specified by user + // time segment of a video. AnnotationSpec is answered to be present + // in that time segment, if it is present in any part of it. The video + // ML model evaluations are done only for this type of classification. // - // * `shot`- Shot-level classification. - // AutoML Video Intelligence determines the boundaries - // for each camera shot in the entire segment of the video that user - // specified in the request configuration. AutoML Video Intelligence - // then returns labels and their confidence scores for each detected - // shot, along with the start and end time of the shot. - // WARNING: Model evaluation is not done for this classification type, - // the quality of it depends on training data, but there are no - // metrics provided to describe that quality. + // - `shot`- Shot-level classification. + // AutoML Video Intelligence determines the boundaries + // for each camera shot in the entire segment of the video that user + // specified in the request configuration. AutoML Video Intelligence + // then returns labels and their confidence scores for each detected + // shot, along with the start and end time of the shot. + // WARNING: Model evaluation is not done for this classification type, + // the quality of it depends on training data, but there are no + // metrics provided to describe that quality. // - // * `1s_interval` - AutoML Video Intelligence returns labels and their - // confidence scores for each second of the entire segment of the video - // that user specified in the request configuration. - // WARNING: Model evaluation is not done for this classification type, - // the quality of it depends on training data, but there are no - // metrics provided to describe that quality. + // - `1s_interval` - AutoML Video Intelligence returns labels and their + // confidence scores for each second of the entire segment of the video + // that user specified in the request configuration. + // WARNING: Model evaluation is not done for this classification type, + // the quality of it depends on training data, but there are no + // metrics provided to describe that quality. Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // Output only . The classification details of this annotation. ClassificationAnnotation *ClassificationAnnotation `protobuf:"bytes,2,opt,name=classification_annotation,json=classificationAnnotation,proto3" json:"classification_annotation,omitempty"` diff --git a/automl/apiv1beta1/automlpb/data_items.pb.go b/automl/apiv1beta1/automlpb/data_items.pb.go index f7682715141..a8964866ad0 100755 --- a/automl/apiv1beta1/automlpb/data_items.pb.go +++ b/automl/apiv1beta1/automlpb/data_items.pb.go @@ -197,6 +197,7 @@ type Image struct { // uploaded image by using the [content_uri][google.cloud.automl.v1beta1.Image.content_uri] field. // // Types that are assignable to Data: + // // *Image_ImageBytes // *Image_InputConfig Data isImage_Data `protobuf_oneof:"data"` @@ -586,6 +587,7 @@ type ExamplePayload struct { // Required. Input only. The example data. // // Types that are assignable to Payload: + // // *ExamplePayload_Image // *ExamplePayload_TextSnippet // *ExamplePayload_Document diff --git a/automl/apiv1beta1/automlpb/data_stats.pb.go b/automl/apiv1beta1/automlpb/data_stats.pb.go index 38d319196e6..d8deae830bc 100755 --- a/automl/apiv1beta1/automlpb/data_stats.pb.go +++ b/automl/apiv1beta1/automlpb/data_stats.pb.go @@ -44,6 +44,7 @@ type DataStats struct { // The data statistics specific to a DataType. // // Types that are assignable to Stats: + // // *DataStats_Float64Stats // *DataStats_StringStats // *DataStats_TimestampStats diff --git a/automl/apiv1beta1/automlpb/data_types.pb.go b/automl/apiv1beta1/automlpb/data_types.pb.go index 7fd553df083..a7c89da363e 100755 --- a/automl/apiv1beta1/automlpb/data_types.pb.go +++ b/automl/apiv1beta1/automlpb/data_types.pb.go @@ -127,6 +127,7 @@ type DataType struct { // Details of DataType-s that need additional specification. // // Types that are assignable to Details: + // // *DataType_ListElementType // *DataType_StructType // *DataType_TimeFormat diff --git a/automl/apiv1beta1/automlpb/dataset.pb.go b/automl/apiv1beta1/automlpb/dataset.pb.go index fb6a27b55dc..d09f5d30950 100755 --- a/automl/apiv1beta1/automlpb/dataset.pb.go +++ b/automl/apiv1beta1/automlpb/dataset.pb.go @@ -48,6 +48,7 @@ type Dataset struct { // The dataset metadata that is specific to the problem type. // // Types that are assignable to DatasetMetadata: + // // *Dataset_TranslationDatasetMetadata // *Dataset_ImageClassificationDatasetMetadata // *Dataset_TextClassificationDatasetMetadata diff --git a/automl/apiv1beta1/automlpb/image.pb.go b/automl/apiv1beta1/automlpb/image.pb.go index 6da2b0a818b..b3f0fa8a810 100755 --- a/automl/apiv1beta1/automlpb/image.pb.go +++ b/automl/apiv1beta1/automlpb/image.pb.go @@ -146,38 +146,38 @@ type ImageClassificationModelMetadata struct { // e.g. `BUDGET_REACHED`, `MODEL_CONVERGED`. StopReason string `protobuf:"bytes,5,opt,name=stop_reason,json=stopReason,proto3" json:"stop_reason,omitempty"` // Optional. Type of the model. The available values are: - // * `cloud` - Model to be used via prediction calls to AutoML API. - // This is the default value. - // * `mobile-low-latency-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile or edge device - // with TensorFlow afterwards. Expected to have low latency, but - // may have lower prediction quality than other models. - // * `mobile-versatile-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile or edge device - // with TensorFlow afterwards. - // * `mobile-high-accuracy-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile or edge device - // with TensorFlow afterwards. Expected to have a higher - // latency, but should also have a higher prediction quality - // than other models. - // * `mobile-core-ml-low-latency-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile device with Core - // ML afterwards. Expected to have low latency, but may have - // lower prediction quality than other models. - // * `mobile-core-ml-versatile-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile device with Core - // ML afterwards. - // * `mobile-core-ml-high-accuracy-1` - A model that, in addition to - // providing prediction via AutoML API, can also be exported - // (see [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile device with - // Core ML afterwards. Expected to have a higher latency, but - // should also have a higher prediction quality than other - // models. + // - `cloud` - Model to be used via prediction calls to AutoML API. + // This is the default value. + // - `mobile-low-latency-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile or edge device + // with TensorFlow afterwards. Expected to have low latency, but + // may have lower prediction quality than other models. + // - `mobile-versatile-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile or edge device + // with TensorFlow afterwards. + // - `mobile-high-accuracy-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile or edge device + // with TensorFlow afterwards. Expected to have a higher + // latency, but should also have a higher prediction quality + // than other models. + // - `mobile-core-ml-low-latency-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile device with Core + // ML afterwards. Expected to have low latency, but may have + // lower prediction quality than other models. + // - `mobile-core-ml-versatile-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile device with Core + // ML afterwards. + // - `mobile-core-ml-high-accuracy-1` - A model that, in addition to + // providing prediction via AutoML API, can also be exported + // (see [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile device with + // Core ML afterwards. Expected to have a higher latency, but + // should also have a higher prediction quality than other + // models. ModelType string `protobuf:"bytes,7,opt,name=model_type,json=modelType,proto3" json:"model_type,omitempty"` // Output only. An approximate number of online prediction QPS that can // be supported by this model per each node on which it is deployed. @@ -276,28 +276,28 @@ type ImageObjectDetectionModelMetadata struct { unknownFields protoimpl.UnknownFields // Optional. Type of the model. The available values are: - // * `cloud-high-accuracy-1` - (default) A model to be used via prediction - // calls to AutoML API. Expected to have a higher latency, but - // should also have a higher prediction quality than other - // models. - // * `cloud-low-latency-1` - A model to be used via prediction - // calls to AutoML API. Expected to have low latency, but may - // have lower prediction quality than other models. - // * `mobile-low-latency-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile or edge device - // with TensorFlow afterwards. Expected to have low latency, but - // may have lower prediction quality than other models. - // * `mobile-versatile-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile or edge device - // with TensorFlow afterwards. - // * `mobile-high-accuracy-1` - A model that, in addition to providing - // prediction via AutoML API, can also be exported (see - // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile or edge device - // with TensorFlow afterwards. Expected to have a higher - // latency, but should also have a higher prediction quality - // than other models. + // - `cloud-high-accuracy-1` - (default) A model to be used via prediction + // calls to AutoML API. Expected to have a higher latency, but + // should also have a higher prediction quality than other + // models. + // - `cloud-low-latency-1` - A model to be used via prediction + // calls to AutoML API. Expected to have low latency, but may + // have lower prediction quality than other models. + // - `mobile-low-latency-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile or edge device + // with TensorFlow afterwards. Expected to have low latency, but + // may have lower prediction quality than other models. + // - `mobile-versatile-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile or edge device + // with TensorFlow afterwards. + // - `mobile-high-accuracy-1` - A model that, in addition to providing + // prediction via AutoML API, can also be exported (see + // [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile or edge device + // with TensorFlow afterwards. Expected to have a higher + // latency, but should also have a higher prediction quality + // than other models. ModelType string `protobuf:"bytes,1,opt,name=model_type,json=modelType,proto3" json:"model_type,omitempty"` // Output only. The number of nodes this model is deployed on. A node is an // abstraction of a machine resource, which can handle online prediction QPS diff --git a/automl/apiv1beta1/automlpb/io.pb.go b/automl/apiv1beta1/automlpb/io.pb.go index 313ea7a64bf..3517aceadba 100755 --- a/automl/apiv1beta1/automlpb/io.pb.go +++ b/automl/apiv1beta1/automlpb/io.pb.go @@ -404,6 +404,7 @@ type InputConfig struct { // The source of the input. // // Types that are assignable to Source: + // // *InputConfig_GcsSource // *InputConfig_BigquerySource Source isInputConfig_Source `protobuf_oneof:"source"` @@ -411,11 +412,11 @@ type InputConfig struct { // imported data, any string must be up to 25000 // characters long. // - // * For Tables: - // `schema_inference_version` - (integer) Required. The version of the - // algorithm that should be used for the initial inference of the - // schema (columns' DataTypes) of the table the data is being imported - // into. Allowed values: "1". + // - For Tables: + // `schema_inference_version` - (integer) Required. The version of the + // algorithm that should be used for the initial inference of the + // schema (columns' DataTypes) of the table the data is being imported + // into. Allowed values: "1". Params map[string]string `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -729,6 +730,7 @@ type BatchPredictInputConfig struct { // Required. The source of the input. // // Types that are assignable to Source: + // // *BatchPredictInputConfig_GcsSource // *BatchPredictInputConfig_BigquerySource Source isBatchPredictInputConfig_Source `protobuf_oneof:"source"` @@ -899,6 +901,7 @@ type OutputConfig struct { // Required. The destination of the output. // // Types that are assignable to Destination: + // // *OutputConfig_GcsDestination // *OutputConfig_BigqueryDestination Destination isOutputConfig_Destination `protobuf_oneof:"destination"` @@ -1291,6 +1294,7 @@ type BatchPredictOutputConfig struct { // Required. The destination of the output. // // Types that are assignable to Destination: + // // *BatchPredictOutputConfig_GcsDestination // *BatchPredictOutputConfig_BigqueryDestination Destination isBatchPredictOutputConfig_Destination `protobuf_oneof:"destination"` @@ -1377,6 +1381,7 @@ type ModelExportOutputConfig struct { // Required. The destination of the output. // // Types that are assignable to Destination: + // // *ModelExportOutputConfig_GcsDestination // *ModelExportOutputConfig_GcrDestination Destination isModelExportOutputConfig_Destination `protobuf_oneof:"destination"` @@ -1385,52 +1390,52 @@ type ModelExportOutputConfig struct { // combination doesn't have a format listed, it means its models are not // exportable): // - // * For Image Classification mobile-low-latency-1, mobile-versatile-1, - // mobile-high-accuracy-1: - // "tflite" (default), "edgetpu_tflite", "tf_saved_model", "tf_js", - // "docker". + // - For Image Classification mobile-low-latency-1, mobile-versatile-1, + // mobile-high-accuracy-1: + // "tflite" (default), "edgetpu_tflite", "tf_saved_model", "tf_js", + // "docker". // - // * For Image Classification mobile-core-ml-low-latency-1, - // mobile-core-ml-versatile-1, mobile-core-ml-high-accuracy-1: - // "core_ml" (default). + // - For Image Classification mobile-core-ml-low-latency-1, + // mobile-core-ml-versatile-1, mobile-core-ml-high-accuracy-1: + // "core_ml" (default). // - // * For Image Object Detection mobile-low-latency-1, mobile-versatile-1, - // mobile-high-accuracy-1: - // "tflite", "tf_saved_model", "tf_js". + // - For Image Object Detection mobile-low-latency-1, mobile-versatile-1, + // mobile-high-accuracy-1: + // "tflite", "tf_saved_model", "tf_js". // - // * For Video Classification cloud, - // "tf_saved_model". + // - For Video Classification cloud, + // "tf_saved_model". // - // * For Video Object Tracking cloud, - // "tf_saved_model". + // - For Video Object Tracking cloud, + // "tf_saved_model". // - // * For Video Object Tracking mobile-versatile-1: - // "tflite", "edgetpu_tflite", "tf_saved_model", "docker". + // - For Video Object Tracking mobile-versatile-1: + // "tflite", "edgetpu_tflite", "tf_saved_model", "docker". // - // * For Video Object Tracking mobile-coral-versatile-1: - // "tflite", "edgetpu_tflite", "docker". + // - For Video Object Tracking mobile-coral-versatile-1: + // "tflite", "edgetpu_tflite", "docker". // - // * For Video Object Tracking mobile-coral-low-latency-1: - // "tflite", "edgetpu_tflite", "docker". + // - For Video Object Tracking mobile-coral-low-latency-1: + // "tflite", "edgetpu_tflite", "docker". // - // * For Video Object Tracking mobile-jetson-versatile-1: - // "tf_saved_model", "docker". + // - For Video Object Tracking mobile-jetson-versatile-1: + // "tf_saved_model", "docker". // - // * For Tables: - // "docker". + // - For Tables: + // "docker". // // Formats description: // - // * tflite - Used for Android mobile devices. - // * edgetpu_tflite - Used for [Edge TPU](https://cloud.google.com/edge-tpu/) - // devices. - // * tf_saved_model - A tensorflow model in SavedModel format. - // * tf_js - A [TensorFlow.js](https://www.tensorflow.org/js) model that can - // be used in the browser and in Node.js using JavaScript. - // * docker - Used for Docker containers. Use the params field to customize - // the container. The container is verified to work correctly on - // ubuntu 16.04 operating system. See more at - // [containers + // - tflite - Used for Android mobile devices. + // - edgetpu_tflite - Used for [Edge TPU](https://cloud.google.com/edge-tpu/) + // devices. + // - tf_saved_model - A tensorflow model in SavedModel format. + // - tf_js - A [TensorFlow.js](https://www.tensorflow.org/js) model that can + // be used in the browser and in Node.js using JavaScript. + // - docker - Used for Docker containers. Use the params field to customize + // the container. The container is verified to work correctly on + // ubuntu 16.04 operating system. See more at + // [containers // // quickstart](https: // //cloud.google.com/vision/automl/docs/containers-gcs-quickstart) @@ -1440,7 +1445,7 @@ type ModelExportOutputConfig struct { // requirements for the to be exported model files, any string must be up to // 25000 characters long. // - // * For `docker` format: + // - For `docker` format: // `cpu_architecture` - (string) "x86_64" (default). // `gpu_architecture` - (string) "none" (default), "nvidia". Params map[string]string `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` @@ -1520,20 +1525,22 @@ type isModelExportOutputConfig_Destination interface { type ModelExportOutputConfig_GcsDestination struct { // The Google Cloud Storage location where the model is to be written to. // This location may only be set for the following model formats: - // "tflite", "edgetpu_tflite", "tf_saved_model", "tf_js", "core_ml". // - // Under the directory given as the destination a new one with name - // "model-export--", - // where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format, - // will be created. Inside the model and any of its supporting files - // will be written. + // "tflite", "edgetpu_tflite", "tf_saved_model", "tf_js", "core_ml". + // + // Under the directory given as the destination a new one with name + // "model-export--", + // where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format, + // will be created. Inside the model and any of its supporting files + // will be written. GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"` } type ModelExportOutputConfig_GcrDestination struct { // The GCR location where model image is to be pushed to. This location // may only be set for the following model formats: - // "docker". + // + // "docker". // // The model image will be created under the given URI. GcrDestination *GcrDestination `protobuf:"bytes,3,opt,name=gcr_destination,json=gcrDestination,proto3,oneof"` @@ -1583,6 +1590,7 @@ type ExportEvaluatedExamplesOutputConfig struct { // Required. The destination of the output. // // Types that are assignable to Destination: + // // *ExportEvaluatedExamplesOutputConfig_BigqueryDestination Destination isExportEvaluatedExamplesOutputConfig_Destination `protobuf_oneof:"destination"` } diff --git a/automl/apiv1beta1/automlpb/model.pb.go b/automl/apiv1beta1/automlpb/model.pb.go index 8a6b4ae3fbf..63b384f213a 100755 --- a/automl/apiv1beta1/automlpb/model.pb.go +++ b/automl/apiv1beta1/automlpb/model.pb.go @@ -101,6 +101,7 @@ type Model struct { // Must match the metadata type of the dataset used to train the model. // // Types that are assignable to ModelMetadata: + // // *Model_TranslationModelMetadata // *Model_ImageClassificationModelMetadata // *Model_TextClassificationModelMetadata diff --git a/automl/apiv1beta1/automlpb/model_evaluation.pb.go b/automl/apiv1beta1/automlpb/model_evaluation.pb.go index e6175a8e10c..a38258e1608 100755 --- a/automl/apiv1beta1/automlpb/model_evaluation.pb.go +++ b/automl/apiv1beta1/automlpb/model_evaluation.pb.go @@ -46,6 +46,7 @@ type ModelEvaluation struct { // Output only. Problem type specific evaluation metrics. // // Types that are assignable to Metrics: + // // *ModelEvaluation_ClassificationEvaluationMetrics // *ModelEvaluation_RegressionEvaluationMetrics // *ModelEvaluation_TranslationEvaluationMetrics diff --git a/automl/apiv1beta1/automlpb/operations.pb.go b/automl/apiv1beta1/automlpb/operations.pb.go index dff53cdfef7..31cafb93c6c 100755 --- a/automl/apiv1beta1/automlpb/operations.pb.go +++ b/automl/apiv1beta1/automlpb/operations.pb.go @@ -47,6 +47,7 @@ type OperationMetadata struct { // the presence allows to distinguish different types of operations. // // Types that are assignable to Details: + // // *OperationMetadata_DeleteDetails // *OperationMetadata_DeployModelDetails // *OperationMetadata_UndeployModelDetails @@ -682,6 +683,7 @@ type ExportDataOperationMetadata_ExportDataOutputInfo struct { // The output location to which the exported data is written. // // Types that are assignable to OutputLocation: + // // *ExportDataOperationMetadata_ExportDataOutputInfo_GcsOutputDirectory // *ExportDataOperationMetadata_ExportDataOutputInfo_BigqueryOutputDataset OutputLocation isExportDataOperationMetadata_ExportDataOutputInfo_OutputLocation `protobuf_oneof:"output_location"` @@ -774,6 +776,7 @@ type BatchPredictOperationMetadata_BatchPredictOutputInfo struct { // The output location into which prediction output is written. // // Types that are assignable to OutputLocation: + // // *BatchPredictOperationMetadata_BatchPredictOutputInfo_GcsOutputDirectory // *BatchPredictOperationMetadata_BatchPredictOutputInfo_BigqueryOutputDataset OutputLocation isBatchPredictOperationMetadata_BatchPredictOutputInfo_OutputLocation `protobuf_oneof:"output_location"` diff --git a/automl/apiv1beta1/automlpb/prediction_service.pb.go b/automl/apiv1beta1/automlpb/prediction_service.pb.go index 0ba6bc4c9c5..9e0d4511615 100755 --- a/automl/apiv1beta1/automlpb/prediction_service.pb.go +++ b/automl/apiv1beta1/automlpb/prediction_service.pb.go @@ -57,21 +57,21 @@ type PredictRequest struct { // // * For Image Classification: // - // `score_threshold` - (float) A value from 0.0 to 1.0. When the model - // makes predictions for an image, it will only produce results that have - // at least this confidence score. The default is 0.5. + // `score_threshold` - (float) A value from 0.0 to 1.0. When the model + // makes predictions for an image, it will only produce results that have + // at least this confidence score. The default is 0.5. // - // * For Image Object Detection: - // `score_threshold` - (float) When Model detects objects on the image, - // it will only produce bounding boxes which have at least this - // confidence score. Value in 0 to 1 range, default is 0.5. - // `max_bounding_box_count` - (int64) No more than this number of bounding - // boxes will be returned in the response. Default is 100, the - // requested value may be limited by server. - // * For Tables: - // feature_importance - (boolean) Whether feature importance - // should be populated in the returned TablesAnnotation. - // The default is false. + // * For Image Object Detection: + // `score_threshold` - (float) When Model detects objects on the image, + // it will only produce bounding boxes which have at least this + // confidence score. Value in 0 to 1 range, default is 0.5. + // `max_bounding_box_count` - (int64) No more than this number of bounding + // boxes will be returned in the response. Default is 100, the + // requested value may be limited by server. + // - For Tables: + // feature_importance - (boolean) Whether feature importance + // should be populated in the returned TablesAnnotation. + // The default is false. Params map[string]string `protobuf:"bytes,3,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -139,25 +139,25 @@ type PredictResponse struct { Payload []*AnnotationPayload `protobuf:"bytes,1,rep,name=payload,proto3" json:"payload,omitempty"` // The preprocessed example that AutoML actually makes prediction on. // Empty if AutoML does not preprocess the input example. - // * For Text Extraction: - // If the input is a .pdf file, the OCR'ed text will be provided in - // [document_text][google.cloud.automl.v1beta1.Document.document_text]. + // - For Text Extraction: + // If the input is a .pdf file, the OCR'ed text will be provided in + // [document_text][google.cloud.automl.v1beta1.Document.document_text]. PreprocessedInput *ExamplePayload `protobuf:"bytes,3,opt,name=preprocessed_input,json=preprocessedInput,proto3" json:"preprocessed_input,omitempty"` // Additional domain-specific prediction response metadata. // - // * For Image Object Detection: - // `max_bounding_box_count` - (int64) At most that many bounding boxes per - // image could have been returned. + // - For Image Object Detection: + // `max_bounding_box_count` - (int64) At most that many bounding boxes per + // image could have been returned. // - // * For Text Sentiment: - // `sentiment_score` - (float, deprecated) A value between -1 and 1, - // -1 maps to least positive sentiment, while 1 maps to the most positive - // one and the higher the score, the more positive the sentiment in the - // document is. Yet these values are relative to the training data, so - // e.g. if all data was positive then -1 will be also positive (though - // the least). - // The sentiment_score shouldn't be confused with "score" or "magnitude" - // from the previous Natural Language Sentiment Analysis API. + // - For Text Sentiment: + // `sentiment_score` - (float, deprecated) A value between -1 and 1, + // -1 maps to least positive sentiment, while 1 maps to the most positive + // one and the higher the score, the more positive the sentiment in the + // document is. Yet these values are relative to the training data, so + // e.g. if all data was positive then -1 will be also positive (though + // the least). + // The sentiment_score shouldn't be confused with "score" or "magnitude" + // from the previous Natural Language Sentiment Analysis API. Metadata map[string]string `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -232,71 +232,71 @@ type BatchPredictRequest struct { // // * For Text Classification: // - // `score_threshold` - (float) A value from 0.0 to 1.0. When the model - // makes predictions for a text snippet, it will only produce results - // that have at least this confidence score. The default is 0.5. + // `score_threshold` - (float) A value from 0.0 to 1.0. When the model + // makes predictions for a text snippet, it will only produce results + // that have at least this confidence score. The default is 0.5. // // * For Image Classification: // - // `score_threshold` - (float) A value from 0.0 to 1.0. When the model - // makes predictions for an image, it will only produce results that - // have at least this confidence score. The default is 0.5. + // `score_threshold` - (float) A value from 0.0 to 1.0. When the model + // makes predictions for an image, it will only produce results that + // have at least this confidence score. The default is 0.5. // // * For Image Object Detection: // - // `score_threshold` - (float) When Model detects objects on the image, - // it will only produce bounding boxes which have at least this - // confidence score. Value in 0 to 1 range, default is 0.5. - // `max_bounding_box_count` - (int64) No more than this number of bounding - // boxes will be produced per image. Default is 100, the - // requested value may be limited by server. + // `score_threshold` - (float) When Model detects objects on the image, + // it will only produce bounding boxes which have at least this + // confidence score. Value in 0 to 1 range, default is 0.5. + // `max_bounding_box_count` - (int64) No more than this number of bounding + // boxes will be produced per image. Default is 100, the + // requested value may be limited by server. // // * For Video Classification : // - // `score_threshold` - (float) A value from 0.0 to 1.0. When the model - // makes predictions for a video, it will only produce results that - // have at least this confidence score. The default is 0.5. - // `segment_classification` - (boolean) Set to true to request - // segment-level classification. AutoML Video Intelligence returns - // labels and their confidence scores for the entire segment of the - // video that user specified in the request configuration. - // The default is "true". - // `shot_classification` - (boolean) Set to true to request shot-level - // classification. AutoML Video Intelligence determines the boundaries - // for each camera shot in the entire segment of the video that user - // specified in the request configuration. AutoML Video Intelligence - // then returns labels and their confidence scores for each detected - // shot, along with the start and end time of the shot. - // WARNING: Model evaluation is not done for this classification type, - // the quality of it depends on training data, but there are no metrics - // provided to describe that quality. The default is "false". - // `1s_interval_classification` - (boolean) Set to true to request - // classification for a video at one-second intervals. AutoML Video - // Intelligence returns labels and their confidence scores for each - // second of the entire segment of the video that user specified in the - // request configuration. - // WARNING: Model evaluation is not done for this classification - // type, the quality of it depends on training data, but there are no - // metrics provided to describe that quality. The default is - // "false". + // `score_threshold` - (float) A value from 0.0 to 1.0. When the model + // makes predictions for a video, it will only produce results that + // have at least this confidence score. The default is 0.5. + // `segment_classification` - (boolean) Set to true to request + // segment-level classification. AutoML Video Intelligence returns + // labels and their confidence scores for the entire segment of the + // video that user specified in the request configuration. + // The default is "true". + // `shot_classification` - (boolean) Set to true to request shot-level + // classification. AutoML Video Intelligence determines the boundaries + // for each camera shot in the entire segment of the video that user + // specified in the request configuration. AutoML Video Intelligence + // then returns labels and their confidence scores for each detected + // shot, along with the start and end time of the shot. + // WARNING: Model evaluation is not done for this classification type, + // the quality of it depends on training data, but there are no metrics + // provided to describe that quality. The default is "false". + // `1s_interval_classification` - (boolean) Set to true to request + // classification for a video at one-second intervals. AutoML Video + // Intelligence returns labels and their confidence scores for each + // second of the entire segment of the video that user specified in the + // request configuration. + // WARNING: Model evaluation is not done for this classification + // type, the quality of it depends on training data, but there are no + // metrics provided to describe that quality. The default is + // "false". // // * For Tables: // - // feature_importance - (boolean) Whether feature importance - // should be populated in the returned TablesAnnotations. The - // default is false. + // feature_importance - (boolean) Whether feature importance + // should be populated in the returned TablesAnnotations. The + // default is false. // // * For Video Object Tracking: // - // `score_threshold` - (float) When Model detects objects on video frames, - // it will only produce bounding boxes which have at least this - // confidence score. Value in 0 to 1 range, default is 0.5. - // `max_bounding_box_count` - (int64) No more than this number of bounding - // boxes will be returned per frame. Default is 100, the requested - // value may be limited by server. - // `min_bounding_box_size` - (float) Only bounding boxes with shortest edge - // at least that long as a relative value of video frame size will be - // returned. Value in 0 to 1 range. Default is 0. + // `score_threshold` - (float) When Model detects objects on video frames, + // it will only produce bounding boxes which have at least this + // confidence score. Value in 0 to 1 range, default is 0.5. + // `max_bounding_box_count` - (int64) No more than this number of bounding + // boxes will be returned per frame. Default is 100, the requested + // value may be limited by server. + // `min_bounding_box_size` - (float) Only bounding boxes with shortest edge + // at least that long as a relative value of video frame size will be + // returned. Value in 0 to 1 range. Default is 0. Params map[string]string `protobuf:"bytes,5,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -370,13 +370,13 @@ type BatchPredictResult struct { // Additional domain-specific prediction response metadata. // - // * For Image Object Detection: - // `max_bounding_box_count` - (int64) At most that many bounding boxes per - // image could have been returned. + // - For Image Object Detection: + // `max_bounding_box_count` - (int64) At most that many bounding boxes per + // image could have been returned. // - // * For Video Object Tracking: - // `max_bounding_box_count` - (int64) At most that many bounding boxes per - // frame could have been returned. + // - For Video Object Tracking: + // `max_bounding_box_count` - (int64) At most that many bounding boxes per + // frame could have been returned. Metadata map[string]string `protobuf:"bytes,1,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -716,22 +716,22 @@ type PredictionServiceClient interface { // Perform an online prediction. The prediction result will be directly // returned in the response. // Available for following ML problems, and their expected request payloads: - // * Image Classification - Image in .JPEG, .GIF or .PNG format, image_bytes - // up to 30MB. - // * Image Object Detection - Image in .JPEG, .GIF or .PNG format, image_bytes - // up to 30MB. - // * Text Classification - TextSnippet, content up to 60,000 characters, - // UTF-8 encoded. - // * Text Extraction - TextSnippet, content up to 30,000 characters, - // UTF-8 NFC encoded. - // * Translation - TextSnippet, content up to 25,000 characters, UTF-8 - // encoded. - // * Tables - Row, with column values matching the columns of the model, - // up to 5MB. Not available for FORECASTING + // - Image Classification - Image in .JPEG, .GIF or .PNG format, image_bytes + // up to 30MB. + // - Image Object Detection - Image in .JPEG, .GIF or .PNG format, image_bytes + // up to 30MB. + // - Text Classification - TextSnippet, content up to 60,000 characters, + // UTF-8 encoded. + // - Text Extraction - TextSnippet, content up to 30,000 characters, + // UTF-8 NFC encoded. + // - Translation - TextSnippet, content up to 25,000 characters, UTF-8 + // encoded. + // - Tables - Row, with column values matching the columns of the model, + // up to 5MB. Not available for FORECASTING // // [prediction_type][google.cloud.automl.v1beta1.TablesModelMetadata.prediction_type]. - // * Text Sentiment - TextSnippet, content up 500 characters, UTF-8 - // encoded. + // - Text Sentiment - TextSnippet, content up 500 characters, UTF-8 + // encoded. Predict(ctx context.Context, in *PredictRequest, opts ...grpc.CallOption) (*PredictResponse, error) // Perform a batch prediction. Unlike the online [Predict][google.cloud.automl.v1beta1.PredictionService.Predict], batch // prediction result won't be immediately available in the response. Instead, @@ -779,22 +779,22 @@ type PredictionServiceServer interface { // Perform an online prediction. The prediction result will be directly // returned in the response. // Available for following ML problems, and their expected request payloads: - // * Image Classification - Image in .JPEG, .GIF or .PNG format, image_bytes - // up to 30MB. - // * Image Object Detection - Image in .JPEG, .GIF or .PNG format, image_bytes - // up to 30MB. - // * Text Classification - TextSnippet, content up to 60,000 characters, - // UTF-8 encoded. - // * Text Extraction - TextSnippet, content up to 30,000 characters, - // UTF-8 NFC encoded. - // * Translation - TextSnippet, content up to 25,000 characters, UTF-8 - // encoded. - // * Tables - Row, with column values matching the columns of the model, - // up to 5MB. Not available for FORECASTING + // - Image Classification - Image in .JPEG, .GIF or .PNG format, image_bytes + // up to 30MB. + // - Image Object Detection - Image in .JPEG, .GIF or .PNG format, image_bytes + // up to 30MB. + // - Text Classification - TextSnippet, content up to 60,000 characters, + // UTF-8 encoded. + // - Text Extraction - TextSnippet, content up to 30,000 characters, + // UTF-8 NFC encoded. + // - Translation - TextSnippet, content up to 25,000 characters, UTF-8 + // encoded. + // - Tables - Row, with column values matching the columns of the model, + // up to 5MB. Not available for FORECASTING // // [prediction_type][google.cloud.automl.v1beta1.TablesModelMetadata.prediction_type]. - // * Text Sentiment - TextSnippet, content up 500 characters, UTF-8 - // encoded. + // - Text Sentiment - TextSnippet, content up 500 characters, UTF-8 + // encoded. Predict(context.Context, *PredictRequest) (*PredictResponse, error) // Perform a batch prediction. Unlike the online [Predict][google.cloud.automl.v1beta1.PredictionService.Predict], batch // prediction result won't be immediately available in the response. Instead, diff --git a/automl/apiv1beta1/automlpb/service.pb.go b/automl/apiv1beta1/automlpb/service.pb.go index 7105cd7f8ca..ec79d74b0a6 100755 --- a/automl/apiv1beta1/automlpb/service.pb.go +++ b/automl/apiv1beta1/automlpb/service.pb.go @@ -159,12 +159,12 @@ type ListDatasetsRequest struct { Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // An expression for filtering the results of the request. // - // * `dataset_metadata` - for existence of the case (e.g. - // `image_classification_dataset_metadata:*`). Some examples of - // using the filter are: + // - `dataset_metadata` - for existence of the case (e.g. + // `image_classification_dataset_metadata:*`). Some examples of + // using the filter are: // - // * `translation_dataset_metadata:*` --> The dataset has - // `translation_dataset_metadata`. + // - `translation_dataset_metadata:*` --> The dataset has + // `translation_dataset_metadata`. Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` // Requested page size. Server may return fewer results than requested. // If unspecified, server will pick a default size. @@ -1214,13 +1214,15 @@ type ListModelsRequest struct { Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // An expression for filtering the results of the request. // - // * `model_metadata` - for existence of the case (e.g. - // `video_classification_model_metadata:*`). - // * `dataset_id` - for = or !=. Some examples of using the filter are: + // - `model_metadata` - for existence of the case (e.g. + // `video_classification_model_metadata:*`). // - // * `image_classification_model_metadata:*` --> The model has - // `image_classification_model_metadata`. - // * `dataset_id=5` --> The model was created from a dataset with ID 5. + // - `dataset_id` - for = or !=. Some examples of using the filter are: + // + // - `image_classification_model_metadata:*` --> The model has + // `image_classification_model_metadata`. + // + // - `dataset_id=5` --> The model was created from a dataset with ID 5. Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` // Requested page size. PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -1408,6 +1410,7 @@ type DeployModelRequest struct { // The per-domain specific deployment parameters. // // Types that are assignable to ModelDeploymentMetadata: + // // *DeployModelRequest_ImageObjectDetectionModelDeploymentMetadata // *DeployModelRequest_ImageClassificationModelDeploymentMetadata ModelDeploymentMetadata isDeployModelRequest_ModelDeploymentMetadata `protobuf_oneof:"model_deployment_metadata"` @@ -1724,15 +1727,15 @@ type ListModelEvaluationsRequest struct { Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // An expression for filtering the results of the request. // - // * `annotation_spec_id` - for =, != or existence. See example below for - // the last. + // - `annotation_spec_id` - for =, != or existence. See example below for + // the last. // // Some examples of using the filter are: // - // * `annotation_spec_id!=4` --> The model evaluation was done for - // annotation spec with ID different than 4. - // * `NOT annotation_spec_id:*` --> The model evaluation was done for - // aggregate of all annotation specs. + // - `annotation_spec_id!=4` --> The model evaluation was done for + // annotation spec with ID different than 4. + // - `NOT annotation_spec_id:*` --> The model evaluation was done for + // aggregate of all annotation specs. Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` // Requested page size. PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -3085,7 +3088,9 @@ type AutoMlClient interface { // For Tables: // * A // [schema_inference_version][google.cloud.automl.v1beta1.InputConfig.params] - // parameter must be explicitly set. + // + // parameter must be explicitly set. + // // Returns an empty response in the // [response][google.longrunning.Operation.response] field when it completes. ImportData(ctx context.Context, in *ImportDataRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) @@ -3128,7 +3133,8 @@ type AutoMlClient interface { // (as e.g. changing // // [node_number][google.cloud.automl.v1beta1.ImageObjectDetectionModelDeploymentMetadata.node_number]) - // will reset the deployment state without pausing the model's availability. + // + // will reset the deployment state without pausing the model's availability. // // Only applicable for Text Classification, Image Object Detection , Tables, and Image Segmentation; all other domains manage // deployment automatically. @@ -3420,7 +3426,9 @@ type AutoMlServer interface { // For Tables: // * A // [schema_inference_version][google.cloud.automl.v1beta1.InputConfig.params] - // parameter must be explicitly set. + // + // parameter must be explicitly set. + // // Returns an empty response in the // [response][google.longrunning.Operation.response] field when it completes. ImportData(context.Context, *ImportDataRequest) (*longrunningpb.Operation, error) @@ -3463,7 +3471,8 @@ type AutoMlServer interface { // (as e.g. changing // // [node_number][google.cloud.automl.v1beta1.ImageObjectDetectionModelDeploymentMetadata.node_number]) - // will reset the deployment state without pausing the model's availability. + // + // will reset the deployment state without pausing the model's availability. // // Only applicable for Text Classification, Image Object Detection , Tables, and Image Segmentation; all other domains manage // deployment automatically. diff --git a/automl/apiv1beta1/automlpb/tables.pb.go b/automl/apiv1beta1/automlpb/tables.pb.go index a5603474c4d..20c3e219432 100755 --- a/automl/apiv1beta1/automlpb/tables.pb.go +++ b/automl/apiv1beta1/automlpb/tables.pb.go @@ -65,7 +65,9 @@ type TablesDatasetMetadata struct { // during model training. // Required type: FLOAT64. // Allowed values: 0 to 10000, inclusive on both ends; 0 means the row is - // ignored for training. + // + // ignored for training. + // // If not set all rows are assumed to have equal weight of 1. // NOTE: Updates of this field will instantly affect any other users // concurrently working with the dataset. @@ -189,6 +191,7 @@ type TablesModelMetadata struct { // otherwise unused. // // Types that are assignable to AdditionalOptimizationObjectiveConfig: + // // *TablesModelMetadata_OptimizationObjectiveRecallValue // *TablesModelMetadata_OptimizationObjectivePrecisionValue AdditionalOptimizationObjectiveConfig isTablesModelMetadata_AdditionalOptimizationObjectiveConfig `protobuf_oneof:"additional_optimization_objective_config"` @@ -196,9 +199,11 @@ type TablesModelMetadata struct { // predicting. Snapshotted when model creation started. // Only 3 fields are used: // name - May be set on CreateModel, if it's not then the ColumnSpec - // corresponding to the current target_column_spec_id of the dataset - // the model is trained from is used. - // If neither is set, CreateModel will error. + // + // corresponding to the current target_column_spec_id of the dataset + // the model is trained from is used. + // If neither is set, CreateModel will error. + // // display_name - Output only. // data_type - Output only. TargetColumnSpec *ColumnSpec `protobuf:"bytes,2,opt,name=target_column_spec,json=targetColumnSpec,proto3" json:"target_column_spec,omitempty"` @@ -217,9 +222,9 @@ type TablesModelMetadata struct { // // Only 3 fields are used: // - // * name - May be set on CreateModel, if set only the columns specified are - // used, otherwise all primary table's columns (except the ones listed - // above) are used for the training and prediction input. + // - name - May be set on CreateModel, if set only the columns specified are + // used, otherwise all primary table's columns (except the ones listed + // above) are used for the training and prediction input. // // * display_name - Output only. // @@ -233,23 +238,25 @@ type TablesModelMetadata struct { // If the field is not set, a default objective function is used. // // CLASSIFICATION_BINARY: - // "MAXIMIZE_AU_ROC" (default) - Maximize the area under the receiver - // operating characteristic (ROC) curve. - // "MINIMIZE_LOG_LOSS" - Minimize log loss. - // "MAXIMIZE_AU_PRC" - Maximize the area under the precision-recall curve. - // "MAXIMIZE_PRECISION_AT_RECALL" - Maximize precision for a specified - // recall value. - // "MAXIMIZE_RECALL_AT_PRECISION" - Maximize recall for a specified - // precision value. + // + // "MAXIMIZE_AU_ROC" (default) - Maximize the area under the receiver + // operating characteristic (ROC) curve. + // "MINIMIZE_LOG_LOSS" - Minimize log loss. + // "MAXIMIZE_AU_PRC" - Maximize the area under the precision-recall curve. + // "MAXIMIZE_PRECISION_AT_RECALL" - Maximize precision for a specified + // recall value. + // "MAXIMIZE_RECALL_AT_PRECISION" - Maximize recall for a specified + // precision value. // // CLASSIFICATION_MULTI_CLASS : - // "MINIMIZE_LOG_LOSS" (default) - Minimize log loss. // + // "MINIMIZE_LOG_LOSS" (default) - Minimize log loss. // // REGRESSION: - // "MINIMIZE_RMSE" (default) - Minimize root-mean-squared error (RMSE). - // "MINIMIZE_MAE" - Minimize mean-absolute error (MAE). - // "MINIMIZE_RMSLE" - Minimize root-mean-squared log error (RMSLE). + // + // "MINIMIZE_RMSE" (default) - Minimize root-mean-squared error (RMSE). + // "MINIMIZE_MAE" - Minimize mean-absolute error (MAE). + // "MINIMIZE_RMSLE" - Minimize root-mean-squared log error (RMSLE). OptimizationObjective string `protobuf:"bytes,4,opt,name=optimization_objective,json=optimizationObjective,proto3" json:"optimization_objective,omitempty"` // Output only. Auxiliary information for each of the // input_feature_column_specs with respect to this particular model. @@ -427,8 +434,8 @@ type TablesAnnotation struct { // [target_column][google.cloud.automl.v1beta1.TablesModelMetadata.target_column_spec]. // The value depends on the column's DataType: // - // * CATEGORY - the predicted (with the above confidence `score`) CATEGORY - // value. + // - CATEGORY - the predicted (with the above confidence `score`) CATEGORY + // value. // // * FLOAT64 - the predicted (with above `prediction_interval`) FLOAT64 value. Value *structpb.Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` diff --git a/automl/apiv1beta1/automlpb/text.pb.go b/automl/apiv1beta1/automlpb/text.pb.go index 2b4fdebb382..43becfc0950 100755 --- a/automl/apiv1beta1/automlpb/text.pb.go +++ b/automl/apiv1beta1/automlpb/text.pb.go @@ -182,8 +182,8 @@ type TextExtractionModelMetadata struct { // // * `default`: Use to train a general text extraction model. Default value. // - // * `health_care`: Use to train a text extraction model that is tuned for - // healthcare applications. + // - `health_care`: Use to train a text extraction model that is tuned for + // healthcare applications. ModelHint string `protobuf:"bytes,3,opt,name=model_hint,json=modelHint,proto3" json:"model_hint,omitempty"` } diff --git a/automl/apiv1beta1/automlpb/text_extraction.pb.go b/automl/apiv1beta1/automlpb/text_extraction.pb.go index 88492fe654c..ca2f4ab4834 100755 --- a/automl/apiv1beta1/automlpb/text_extraction.pb.go +++ b/automl/apiv1beta1/automlpb/text_extraction.pb.go @@ -45,6 +45,7 @@ type TextExtractionAnnotation struct { // text relation. // // Types that are assignable to Annotation: + // // *TextExtractionAnnotation_TextSegment Annotation isTextExtractionAnnotation_Annotation `protobuf_oneof:"annotation"` // Output only. A confidence estimate between 0.0 and 1.0. A higher value diff --git a/automl/apiv1beta1/automlpb/text_sentiment.pb.go b/automl/apiv1beta1/automlpb/text_sentiment.pb.go index 78ad695bf89..a7945f2aeba 100755 --- a/automl/apiv1beta1/automlpb/text_sentiment.pb.go +++ b/automl/apiv1beta1/automlpb/text_sentiment.pb.go @@ -49,7 +49,9 @@ type TextSentimentAnnotation struct { // with higher value meaning more positive sentiment. They are completely // relative, i.e. 0 means least positive sentiment and sentiment_max means // the most positive from the sentiments present in the train data. Therefore - // e.g. if train data had only negative sentiment, then sentiment_max, would + // + // e.g. if train data had only negative sentiment, then sentiment_max, would + // // be still negative (although least negative). // The sentiment shouldn't be confused with "score" or "magnitude" // from the previous Natural Language Sentiment Analysis API. diff --git a/baremetalsolution/apiv2/baremetalsolutionpb/instance.pb.go b/baremetalsolution/apiv2/baremetalsolutionpb/instance.pb.go index f044870d32a..012312b5905 100755 --- a/baremetalsolution/apiv2/baremetalsolutionpb/instance.pb.go +++ b/baremetalsolution/apiv2/baremetalsolutionpb/instance.pb.go @@ -601,9 +601,10 @@ type UpdateInstanceRequest struct { Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` // The list of fields to update. // The currently supported fields are: - // `labels` - // `hyperthreading_enabled` - // `os_image` + // + // `labels` + // `hyperthreading_enabled` + // `os_image` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } diff --git a/baremetalsolution/apiv2/baremetalsolutionpb/network.pb.go b/baremetalsolution/apiv2/baremetalsolutionpb/network.pb.go index bf9900c358b..480b443a4b2 100755 --- a/baremetalsolution/apiv2/baremetalsolutionpb/network.pb.go +++ b/baremetalsolution/apiv2/baremetalsolutionpb/network.pb.go @@ -825,7 +825,8 @@ type UpdateNetworkRequest struct { Network *Network `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` // The list of fields to update. // The only currently supported fields are: - // `labels`, `reservations`, `vrf.vlan_attachments` + // + // `labels`, `reservations`, `vrf.vlan_attachments` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } diff --git a/baremetalsolution/apiv2/baremetalsolutionpb/nfs_share.pb.go b/baremetalsolution/apiv2/baremetalsolutionpb/nfs_share.pb.go index f1149cd9be0..248649a70ef 100755 --- a/baremetalsolution/apiv2/baremetalsolutionpb/nfs_share.pb.go +++ b/baremetalsolution/apiv2/baremetalsolutionpb/nfs_share.pb.go @@ -534,8 +534,9 @@ type UpdateNfsShareRequest struct { NfsShare *NfsShare `protobuf:"bytes,1,opt,name=nfs_share,json=nfsShare,proto3" json:"nfs_share,omitempty"` // The list of fields to update. // The only currently supported fields are: - // `labels` - // `allowed_clients` + // + // `labels` + // `allowed_clients` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } diff --git a/baremetalsolution/apiv2/baremetalsolutionpb/provisioning.pb.go b/baremetalsolution/apiv2/baremetalsolutionpb/provisioning.pb.go index efa8a9b1710..9746ff48b52 100755 --- a/baremetalsolution/apiv2/baremetalsolutionpb/provisioning.pb.go +++ b/baremetalsolution/apiv2/baremetalsolutionpb/provisioning.pb.go @@ -869,11 +869,13 @@ type ProvisioningQuota struct { // The quota of one asset type. // // Types that are assignable to Quota: + // // *ProvisioningQuota_InstanceQuota Quota isProvisioningQuota_Quota `protobuf_oneof:"quota"` // Available quantity based on asset type. // // Types that are assignable to Availability: + // // *ProvisioningQuota_ServerCount // *ProvisioningQuota_NetworkBandwidth // *ProvisioningQuota_StorageGib @@ -2035,6 +2037,7 @@ type VolumeConfig_NfsExport struct { // A client object. // // Types that are assignable to Client: + // // *VolumeConfig_NfsExport_MachineId // *VolumeConfig_NfsExport_Cidr Client isVolumeConfig_NfsExport_Client `protobuf_oneof:"client"` diff --git a/baremetalsolution/apiv2/baremetalsolutionpb/ssh_key.pb.go b/baremetalsolution/apiv2/baremetalsolutionpb/ssh_key.pb.go index 1734b83ce50..ca77055f0b6 100755 --- a/baremetalsolution/apiv2/baremetalsolutionpb/ssh_key.pb.go +++ b/baremetalsolution/apiv2/baremetalsolutionpb/ssh_key.pb.go @@ -236,7 +236,8 @@ type CreateSSHKeyRequest struct { // of the key's resource name. // // This value must match the regex: - // [a-zA-Z0-9@.\-_]{1,64} + // + // [a-zA-Z0-9@.\-_]{1,64} SshKeyId string `protobuf:"bytes,3,opt,name=ssh_key_id,json=sshKeyId,proto3" json:"ssh_key_id,omitempty"` } diff --git a/baremetalsolution/apiv2/baremetalsolutionpb/volume.pb.go b/baremetalsolution/apiv2/baremetalsolutionpb/volume.pb.go index 3d5dde6f483..f400d14f1fc 100755 --- a/baremetalsolution/apiv2/baremetalsolutionpb/volume.pb.go +++ b/baremetalsolution/apiv2/baremetalsolutionpb/volume.pb.go @@ -801,7 +801,8 @@ type UpdateVolumeRequest struct { Volume *Volume `protobuf:"bytes,1,opt,name=volume,proto3" json:"volume,omitempty"` // The list of fields to update. // The only currently supported fields are: - // 'labels' + // + // 'labels' UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } diff --git a/batch/apiv1/batchpb/batch.pb.go b/batch/apiv1/batchpb/batch.pb.go index e8ebc9b780f..8c5ca4bcce3 100755 --- a/batch/apiv1/batchpb/batch.pb.go +++ b/batch/apiv1/batchpb/batch.pb.go @@ -736,185 +736,187 @@ var file_google_cloud_batch_v1_batch_proto_rawDesc = []byte{ 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, - 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1a, - 0x12, 0x18, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x03, 0x6a, 0x6f, 0x62, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, - 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x22, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x22, 0x45, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x34, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x20, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1a, 0x0a, 0x18, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, - 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x67, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x22, 0x9d, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x42, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0x8c, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, - 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, - 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, - 0xa6, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x90, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, - 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, - 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, - 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, - 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, - 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x47, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 0x41, 0x02, - 0xfa, 0x41, 0x1b, 0x0a, 0x19, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd5, 0x02, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x76, 0x65, 0x72, 0x62, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, 0x2a, - 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x16, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xb6, 0x08, 0x0a, - 0x0c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x9b, 0x01, - 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x27, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, - 0x22, 0x49, 0xda, 0x41, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6a, 0x6f, 0x62, 0x2c, - 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x03, 0x6a, 0x6f, - 0x62, 0x22, 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x83, 0x01, 0x0a, 0x06, - 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x22, 0x37, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, - 0x7d, 0x12, 0xcf, 0x01, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, - 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0xca, 0x41, 0x40, 0x0a, 0x15, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x12, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x2a, 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x73, - 0x2f, 0x2a, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, - 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x76, + 0x31, 0x2f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, + 0x76, 0x31, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xba, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1a, 0x12, 0x18, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x45, 0x0a, + 0x0d, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x1a, 0x0a, 0x18, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x67, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x9d, 0x01, + 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, + 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8c, 0x01, + 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, + 0x62, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, + 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, + 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xa6, 0x01, 0x0a, + 0x10, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x54, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x90, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, + 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x05, 0x74, + 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, + 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x47, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, + 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1b, + 0x0a, 0x19, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xd5, 0x02, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x76, 0x65, 0x72, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, 0x2a, 0x0a, 0x0e, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x61, + 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xb6, 0x08, 0x0a, 0x0c, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x9b, 0x01, 0x0a, 0x09, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x39, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x22, 0x49, 0xda, + 0x41, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6a, 0x6f, 0x62, 0x2c, 0x6a, 0x6f, 0x62, + 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x28, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x83, 0x01, 0x0a, 0x06, 0x47, 0x65, 0x74, + 0x4a, 0x6f, 0x62, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, + 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x22, 0x37, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x9b, 0x01, 0x0a, - 0x07, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x22, 0x4c, 0xda, 0x41, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcf, + 0x01, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x27, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, + 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0xca, 0x41, 0x40, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x12, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x2a, 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0x96, 0x01, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x26, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, + 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, + 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x9b, 0x01, 0x0a, 0x07, 0x47, 0x65, + 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x22, 0x4c, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, + 0x2a, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x74, + 0x61, 0x73, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, + 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, - 0x2a, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x09, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x2a, 0x7d, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x1a, 0x48, 0xca, 0x41, 0x14, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x42, 0xab, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, - 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0xda, 0x41, 0x06, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, - 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, - 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x1a, 0x48, 0xca, 0x41, 0x14, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, - 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xab, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x61, 0x70, 0x69, - 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x70, 0x62, 0x3b, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x70, 0x62, 0xa2, 0x02, 0x03, 0x47, 0x43, 0x42, 0xaa, 0x02, 0x15, 0x47, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x56, 0x31, - 0xca, 0x02, 0x15, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x18, 0x47, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x42, 0x0a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x6f, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x70, 0x62, 0x3b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x70, 0x62, 0xa2, + 0x02, 0x03, 0x47, 0x43, 0x42, 0xaa, 0x02, 0x15, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x15, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x18, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/batch/apiv1/batchpb/job.pb.go b/batch/apiv1/batchpb/job.pb.go index 421dc5f5606..eaae2b336ff 100755 --- a/batch/apiv1/batchpb/job.pb.go +++ b/batch/apiv1/batchpb/job.pb.go @@ -358,10 +358,12 @@ type Job struct { AllocationPolicy *AllocationPolicy `protobuf:"bytes,7,opt,name=allocation_policy,json=allocationPolicy,proto3" json:"allocation_policy,omitempty"` // Labels for the Job. Labels could be user provided or system generated. // For example, - // "labels": { - // "department": "finance", - // "environment": "test" - // } + // + // "labels": { + // "department": "finance", + // "environment": "test" + // } + // // You can assign up to 64 labels. [Google Compute Engine label // restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) // apply. @@ -502,7 +504,7 @@ type LogsPolicy struct { // Filestore, or a Cloud Storage path. LogsPath string `protobuf:"bytes,2,opt,name=logs_path,json=logsPath,proto3" json:"logs_path,omitempty"` // Optional. Additional settings for Cloud Logging. It will only take effect - // when the destination of LogsPolicy is set to CLOUD_LOGGING. + // when the destination of `LogsPolicy` is set to `CLOUD_LOGGING`. CloudLoggingOption *LogsPolicy_CloudLoggingOption `protobuf:"bytes,3,opt,name=cloud_logging_option,json=cloudLoggingOption,proto3" json:"cloud_logging_option,omitempty"` } @@ -723,12 +725,18 @@ type AllocationPolicy struct { Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The network policy. // - // If you define an instance template in the InstancePolicyOrTemplate field, + // If you define an instance template in the `InstancePolicyOrTemplate` field, // Batch will use the network settings in the instance template instead of // this field. Network *AllocationPolicy_NetworkPolicy `protobuf:"bytes,7,opt,name=network,proto3" json:"network,omitempty"` // The placement policy. Placement *AllocationPolicy_PlacementPolicy `protobuf:"bytes,10,opt,name=placement,proto3" json:"placement,omitempty"` + // Optional. Tags applied to the VM instances. + // + // The tags identify valid sources or targets for network firewalls. + // Each tag must be 1-63 characters long, and comply with + // [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + Tags []string `protobuf:"bytes,11,rep,name=tags,proto3" json:"tags,omitempty"` } func (x *AllocationPolicy) Reset() { @@ -805,6 +813,13 @@ func (x *AllocationPolicy) GetPlacement() *AllocationPolicy_PlacementPolicy { return nil } +func (x *AllocationPolicy) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + // A TaskGroup defines one or more Tasks that all share the same TaskSpec. type TaskGroup struct { state protoimpl.MessageState @@ -850,6 +865,11 @@ type TaskGroup struct { // When true, Batch will configure SSH to allow passwordless login between // VMs running the Batch tasks in the same TaskGroup. PermissiveSsh bool `protobuf:"varint,12,opt,name=permissive_ssh,json=permissiveSsh,proto3" json:"permissive_ssh,omitempty"` + // Optional. If not set or set to false, Batch will use root user to execute + // runnables. If set to true, Batch will make sure to run the runnables using + // non-root user. Currently, the non-root user Batch used is generated by OS + // login. Reference: https://cloud.google.com/compute/docs/oslogin + RunAsNonRoot bool `protobuf:"varint,14,opt,name=run_as_non_root,json=runAsNonRoot,proto3" json:"run_as_non_root,omitempty"` } func (x *TaskGroup) Reset() { @@ -947,6 +967,13 @@ func (x *TaskGroup) GetPermissiveSsh() bool { return false } +func (x *TaskGroup) GetRunAsNonRoot() bool { + if x != nil { + return x.RunAsNonRoot + } + return false +} + // Carries information about a Google Cloud service account. type ServiceAccount struct { state protoimpl.MessageState @@ -1009,12 +1036,22 @@ func (x *ServiceAccount) GetScopes() []string { return nil } -// CloudLoggingOption contains additional settings for cloud logging generated -// by Batch job. +// `CloudLoggingOption` contains additional settings for Cloud Logging logs +// generated by Batch job. type LogsPolicy_CloudLoggingOption struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // Optional. Set this flag to true to change the [monitored resource + // type](https://cloud.google.com/monitoring/api/resources) for + // Cloud Logging logs generated by this Batch job from + // the + // [`batch.googleapis.com/Job`](https://cloud.google.com/monitoring/api/resources#tag_batch.googleapis.com/Job) + // type to the formerly used + // [`generic_task`](https://cloud.google.com/monitoring/api/resources#tag_generic_task) + // type. + UseGenericTaskMonitoredResource bool `protobuf:"varint,1,opt,name=use_generic_task_monitored_resource,json=useGenericTaskMonitoredResource,proto3" json:"use_generic_task_monitored_resource,omitempty"` } func (x *LogsPolicy_CloudLoggingOption) Reset() { @@ -1049,6 +1086,13 @@ func (*LogsPolicy_CloudLoggingOption) Descriptor() ([]byte, []int) { return file_google_cloud_batch_v1_job_proto_rawDescGZIP(), []int{1, 0} } +func (x *LogsPolicy_CloudLoggingOption) GetUseGenericTaskMonitoredResource() bool { + if x != nil { + return x.UseGenericTaskMonitoredResource + } + return false +} + // VM instance status. type JobStatus_InstanceStatus struct { state protoimpl.MessageState @@ -1330,6 +1374,7 @@ type AllocationPolicy_Disk struct { // A data source from which a PD will be created. // // Types that are assignable to DataSource: + // // *AllocationPolicy_Disk_Image // *AllocationPolicy_Disk_Snapshot DataSource isAllocationPolicy_Disk_DataSource `protobuf_oneof:"data_source"` @@ -1482,6 +1527,7 @@ type AllocationPolicy_AttachedDisk struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Attached: + // // *AllocationPolicy_AttachedDisk_NewDisk // *AllocationPolicy_AttachedDisk_ExistingDisk Attached isAllocationPolicy_AttachedDisk_Attached `protobuf_oneof:"attached"` @@ -1778,6 +1824,7 @@ type AllocationPolicy_InstancePolicyOrTemplate struct { unknownFields protoimpl.UnknownFields // Types that are assignable to PolicyTemplate: + // // *AllocationPolicy_InstancePolicyOrTemplate_Policy // *AllocationPolicy_InstancePolicyOrTemplate_InstanceTemplate PolicyTemplate isAllocationPolicy_InstancePolicyOrTemplate_PolicyTemplate `protobuf_oneof:"policy_template"` @@ -2143,7 +2190,7 @@ var file_google_cloud_batch_v1_job_proto_rawDesc = []byte{ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x12, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x7d, 0x22, 0xc6, 0x02, 0x0a, + 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x7d, 0x22, 0x99, 0x03, 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4f, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, @@ -2158,306 +2205,316 @@ var file_google_cloud_batch_v1_job_proto_rawDesc = []byte{ 0x4c, 0x6f, 0x67, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x14, 0x0a, 0x12, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4c, - 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x47, 0x0a, 0x0b, - 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x44, - 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4c, 0x4f, 0x55, - 0x44, 0x5f, 0x4c, 0x4f, 0x47, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x50, - 0x41, 0x54, 0x48, 0x10, 0x02, 0x22, 0x8d, 0x08, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x3c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x51, 0x0a, 0x0b, 0x74, 0x61, - 0x73, 0x6b, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x3c, 0x0a, - 0x0c, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, - 0x72, 0x75, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x85, 0x02, 0x0a, 0x0e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, - 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x68, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, - 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, - 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x74, - 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, - 0x74, 0x61, 0x73, 0x6b, 0x50, 0x61, 0x63, 0x6b, 0x12, 0x49, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x74, - 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x67, 0x0a, 0x12, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4c, + 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x23, + 0x75, 0x73, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x61, 0x73, 0x6b, + 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1f, + 0x75, 0x73, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x47, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, + 0x0a, 0x17, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x43, + 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x4c, 0x4f, 0x47, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x08, + 0x0a, 0x04, 0x50, 0x41, 0x54, 0x48, 0x10, 0x02, 0x22, 0x8d, 0x08, 0x0a, 0x09, 0x4a, 0x6f, 0x62, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, + 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x44, - 0x69, 0x73, 0x6b, 0x1a, 0xf1, 0x01, 0x0a, 0x0f, 0x54, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x54, 0x0a, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, - 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x4d, 0x0a, - 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6f, 0x0a, 0x0f, 0x54, 0x61, 0x73, 0x6b, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x54, 0x61, - 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7b, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x51, 0x55, 0x45, 0x55, - 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, - 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, - 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x04, 0x12, - 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, - 0x45, 0x53, 0x53, 0x10, 0x06, 0x22, 0xb3, 0x03, 0x0a, 0x0f, 0x4a, 0x6f, 0x62, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x75, 0x62, - 0x73, 0x75, 0x62, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x48, 0x0a, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0xe5, 0x01, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x4d, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x4b, - 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, - 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, - 0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x02, 0x22, 0xeb, 0x11, 0x0a, 0x10, - 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x52, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, - 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x12, 0x4f, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x12, 0x55, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, - 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x09, - 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x3d, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x9f, 0x01, 0x0a, 0x04, 0x44, 0x69, 0x73, - 0x6b, 0x12, 0x16, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x08, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x73, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, - 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x69, - 0x7a, 0x65, 0x47, 0x62, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x69, - 0x73, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0xad, 0x01, 0x0a, 0x0c, 0x41, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x49, 0x0a, 0x08, 0x6e, - 0x65, 0x77, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x07, 0x6e, - 0x65, 0x77, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x25, 0x0a, 0x0d, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x0c, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x1f, 0x0a, - 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x0a, - 0x0a, 0x08, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x1a, 0x97, 0x01, 0x0a, 0x0b, 0x41, - 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, - 0x67, 0x70, 0x75, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x47, 0x70, - 0x75, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x0e, 0x64, 0x72, 0x69, 0x76, - 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xde, 0x03, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, - 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x68, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, - 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x51, 0x0a, + 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x12, 0x3c, 0x0a, 0x0c, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0b, 0x72, 0x75, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x85, + 0x02, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x68, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x11, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x57, - 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x63, - 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x49, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x74, 0x5f, - 0x64, 0x69, 0x73, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1b, + 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x61, 0x63, 0x6b, 0x12, 0x49, 0x0a, 0x09, 0x62, + 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x08, 0x62, 0x6f, + 0x6f, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x1a, 0xf1, 0x01, 0x0a, 0x0f, 0x54, 0x61, 0x73, 0x6b, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x54, 0x0a, 0x06, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x54, 0x61, 0x73, + 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x12, 0x4d, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x1a, + 0x39, 0x0a, 0x0b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6f, 0x0a, 0x0f, 0x54, 0x61, + 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7b, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x51, + 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, + 0x55, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, + 0x47, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, + 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x18, + 0x0a, 0x14, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, + 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x06, 0x22, 0xb3, 0x03, 0x0a, 0x0f, 0x4a, 0x6f, 0x62, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, + 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, + 0x48, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0xe5, 0x01, 0x0a, 0x07, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x6a, 0x6f, + 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x22, 0x4b, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x15, 0x0a, 0x11, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, + 0x4e, 0x47, 0x45, 0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x02, 0x22, 0x84, + 0x12, 0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x52, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x44, 0x69, - 0x73, 0x6b, 0x12, 0x4a, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x25, - 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xde, 0x01, 0x0a, 0x18, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x12, 0x50, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x06, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2d, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x67, - 0x70, 0x75, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x47, 0x70, 0x75, 0x44, 0x72, 0x69, 0x76, - 0x65, 0x72, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x1a, 0x81, 0x01, 0x0a, 0x10, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x33, 0x0a, 0x16, 0x6e, 0x6f, 0x5f, 0x65, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6e, 0x6f, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x78, 0x0a, 0x0d, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x67, 0x0a, 0x12, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x69, 0x63, 0x79, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x4f, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x09, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x52, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x73, 0x1a, 0x56, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, - 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, - 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0b, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x39, 0x0a, 0x0b, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x60, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x1e, - 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, - 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x08, - 0x0a, 0x04, 0x53, 0x50, 0x4f, 0x54, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x45, 0x45, - 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x22, 0xac, 0x05, 0x0a, 0x09, 0x54, 0x61, - 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x41, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, - 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x53, - 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x69, 0x73, - 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, - 0x6c, 0x69, 0x73, 0x6d, 0x12, 0x5e, 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, - 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x10, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4f, 0x0a, 0x11, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x76, - 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x10, 0x74, 0x61, 0x73, 0x6b, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x10, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x72, - 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, - 0x68, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x46, 0x69, - 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x76, 0x65, - 0x5f, 0x73, 0x73, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x76, 0x65, 0x53, 0x73, 0x68, 0x22, 0x5c, 0x0a, 0x10, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x0a, - 0x1d, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x4c, 0x49, - 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x17, 0x0a, 0x13, 0x41, 0x53, 0x5f, 0x53, 0x4f, 0x4f, 0x4e, 0x5f, 0x41, 0x53, 0x5f, 0x50, - 0x4f, 0x53, 0x53, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x5f, - 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x02, 0x3a, 0x6f, 0xea, 0x41, 0x6c, 0x0a, 0x1e, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x4a, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x7d, - 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x73, - 0x6b, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x22, 0x3e, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0xa9, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, + 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x12, 0x4f, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x07, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x55, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, + 0x74, 0x61, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x3d, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x9f, 0x01, 0x0a, 0x04, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x16, 0x0a, + 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x69, 0x7a, 0x65, 0x5f, + 0x67, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x69, 0x7a, 0x65, 0x47, 0x62, + 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x6b, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0xad, 0x01, 0x0a, 0x0c, 0x41, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x49, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x64, + 0x69, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x44, 0x69, + 0x73, 0x6b, 0x12, 0x25, 0x0a, 0x0d, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x64, + 0x69, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x78, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x1a, 0x97, 0x01, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x65, 0x6c, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x32, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x70, 0x75, 0x5f, + 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x47, 0x70, 0x75, 0x44, 0x72, 0x69, + 0x76, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x0e, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0d, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x1a, 0xde, 0x03, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, + 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x68, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, + 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x57, 0x0a, 0x0c, 0x61, 0x63, + 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x73, 0x12, 0x49, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, + 0x44, 0x69, 0x73, 0x6b, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x4a, + 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, + 0x69, 0x73, 0x6b, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x1a, 0xde, 0x01, 0x0a, 0x18, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x50, + 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x42, 0x08, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x61, 0x70, - 0x69, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x70, 0x62, 0x3b, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x70, 0x62, 0xa2, 0x02, 0x03, 0x47, 0x43, 0x42, 0xaa, 0x02, 0x15, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x56, - 0x31, 0xca, 0x02, 0x15, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x5c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x18, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x2d, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, + 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x64, + 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x47, 0x70, 0x75, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x42, + 0x11, 0x0a, 0x0f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x1a, 0x81, 0x01, 0x0a, 0x10, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x12, 0x33, 0x0a, 0x16, 0x6e, 0x6f, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x13, 0x6e, 0x6f, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x78, 0x0a, 0x0d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x67, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x11, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, + 0x1a, 0x56, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x69, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d, 0x61, 0x78, + 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x60, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x4f, 0x56, + 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, + 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x50, + 0x4f, 0x54, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, + 0x42, 0x4c, 0x45, 0x10, 0x03, 0x22, 0xd8, 0x05, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x09, + 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, + 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x69, 0x73, 0x6d, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x69, 0x73, 0x6d, + 0x12, 0x5e, 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x10, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x4f, 0x0a, 0x11, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x10, 0x74, 0x61, 0x73, 0x6b, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x70, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, + 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, + 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, + 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x25, + 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x73, 0x68, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x76, 0x65, 0x53, 0x73, 0x68, 0x12, 0x2a, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x5f, 0x61, 0x73, 0x5f, + 0x6e, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x41, 0x73, 0x4e, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, + 0x74, 0x22, 0x5c, 0x0a, 0x10, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, + 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x53, 0x5f, 0x53, + 0x4f, 0x4f, 0x4e, 0x5f, 0x41, 0x53, 0x5f, 0x50, 0x4f, 0x53, 0x53, 0x49, 0x42, 0x4c, 0x45, 0x10, + 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x02, 0x3a, + 0x6f, 0xea, 0x41, 0x6c, 0x0a, 0x1e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x73, 0x6b, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x4a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6a, 0x6f, + 0x62, 0x73, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x7d, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, + 0x22, 0x3e, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, + 0x42, 0xa9, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x42, 0x08, + 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x70, 0x62, 0x3b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x70, 0x62, 0xa2, 0x02, 0x03, 0x47, 0x43, + 0x42, 0xaa, 0x02, 0x15, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x15, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x5c, 0x56, + 0x31, 0xea, 0x02, 0x18, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x3a, 0x3a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/batch/apiv1/batchpb/task.pb.go b/batch/apiv1/batchpb/task.pb.go index ce299403b33..6741c1a4515 100755 --- a/batch/apiv1/batchpb/task.pb.go +++ b/batch/apiv1/batchpb/task.pb.go @@ -469,6 +469,7 @@ type Runnable struct { // The script or container to run. // // Types that are assignable to Executable: + // // *Runnable_Container_ // *Runnable_Script_ // *Runnable_Barrier_ @@ -1008,6 +1009,24 @@ type Runnable_Container struct { // matches `projects/*/secrets/*/versions/*` then Batch will read the // password from the Secret Manager; Password string `protobuf:"bytes,11,opt,name=password,proto3" json:"password,omitempty"` + // Optional. If set to true, this container runnable uses Image streaming. + // + // Use Image streaming to allow the runnable to initialize without + // waiting for the entire container image to download, which can + // significantly reduce startup time for large container images. + // + // When `enableImageStreaming` is set to true, the container + // runtime is [containerd](https://containerd.io/) instead of Docker. + // Additionally, this container runnable only supports the following + // `container` subfields: `imageUri`, + // `commands[]`, `entrypoint`, and + // `volumes[]`; any other `container` subfields are ignored. + // + // For more information about the requirements and limitations for using + // Image streaming with Batch, see the [`image-streaming` + // sample on + // GitHub](https://github.com/GoogleCloudPlatform/batch-samples/tree/main/api-samples/image-streaming). + EnableImageStreaming bool `protobuf:"varint,12,opt,name=enable_image_streaming,json=enableImageStreaming,proto3" json:"enable_image_streaming,omitempty"` } func (x *Runnable_Container) Reset() { @@ -1098,6 +1117,13 @@ func (x *Runnable_Container) GetPassword() string { return "" } +func (x *Runnable_Container) GetEnableImageStreaming() bool { + if x != nil { + return x.EnableImageStreaming + } + return false +} + // Script runnable. type Runnable_Script struct { state protoimpl.MessageState @@ -1105,6 +1131,7 @@ type Runnable_Script struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Command: + // // *Runnable_Script_Path // *Runnable_Script_Text Command isRunnable_Script_Command `protobuf_oneof:"command"` @@ -1414,7 +1441,7 @@ var file_google_cloud_batch_v1_task_proto_rawDesc = []byte{ 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x55, - 0x4e, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x45, 0x44, 0x10, 0x06, 0x22, 0xe3, 0x07, 0x0a, 0x08, + 0x4e, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x45, 0x44, 0x10, 0x06, 0x22, 0x9e, 0x08, 0x0a, 0x08, 0x52, 0x75, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, @@ -1450,7 +1477,7 @@ var file_google_cloud_batch_v1_task_proto_rawDesc = []byte{ 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, - 0x86, 0x02, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1b, 0x0a, + 0xc1, 0x02, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, @@ -1466,132 +1493,135 @@ var file_google_cloud_batch_v1_task_proto_rawDesc = []byte{ 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x1a, 0x3f, 0x0a, 0x06, 0x53, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x42, 0x09, - 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x1a, 0x1d, 0x0a, 0x07, 0x42, 0x61, 0x72, - 0x72, 0x69, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x22, 0xfb, 0x04, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3d, - 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x51, 0x0a, - 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, - 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x43, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x52, 0x75, 0x6e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, - 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, - 0x6d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x55, 0x0a, - 0x12, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x11, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x0c, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x45, 0x6e, 0x76, 0x69, - 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x0c, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x37, 0x0a, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, - 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, - 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x3f, - 0x0a, 0x11, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0xae, 0x02, 0x0a, 0x0f, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x45, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x66, 0x65, - 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, 0x0a, 0x10, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x66, - 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x30, 0x0a, - 0x0f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x22, - 0x3f, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x54, 0x52, 0x59, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x10, - 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x10, 0x02, - 0x22, 0xce, 0x01, 0x0a, 0x04, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x77, 0xea, 0x41, 0x74, 0x0a, 0x19, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x57, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x7d, 0x2f, 0x74, 0x61, 0x73, - 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x73, 0x6b, - 0x7d, 0x22, 0xec, 0x03, 0x0a, 0x0b, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x4f, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, - 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x12, 0x62, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, + 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x39, 0x0a, 0x16, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, + 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x69, 0x6e, 0x67, 0x1a, 0x3f, 0x0a, 0x06, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x14, 0x0a, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x70, + 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x1a, 0x1d, 0x0a, 0x07, 0x42, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0c, + 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xfb, 0x04, 0x0a, + 0x08, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3d, 0x0a, 0x09, 0x72, 0x75, 0x6e, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x69, - 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4b, 0x4d, 0x53, 0x45, 0x6e, 0x76, 0x4d, 0x61, - 0x70, 0x52, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x56, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x1a, 0x47, 0x0a, 0x09, 0x4b, 0x4d, 0x53, 0x45, 0x6e, 0x76, 0x4d, - 0x61, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, - 0x0b, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, 0x1a, 0x3c, - 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x42, 0xaa, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x42, 0x09, - 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2f, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, - 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x70, 0x62, 0x3b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x70, 0x62, 0xa2, 0x02, 0x03, 0x47, - 0x43, 0x42, 0xaa, 0x02, 0x15, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x15, 0x47, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x5c, - 0x56, 0x31, 0xea, 0x02, 0x18, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x3a, 0x3a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x09, 0x72, + 0x75, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x10, 0x6d, + 0x61, 0x78, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x52, 0x75, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x52, 0x65, + 0x74, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x55, 0x0a, 0x12, 0x6c, 0x69, 0x66, 0x65, + 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x66, + 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x11, 0x6c, 0x69, + 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, + 0x59, 0x0a, 0x0c, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, + 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x65, 0x6e, + 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x76, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, + 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x3f, 0x0a, 0x11, 0x45, 0x6e, 0x76, + 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xae, 0x02, 0x0a, 0x0f, 0x4c, + 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x45, + 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, + 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x30, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x65, + 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x09, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x06, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, + 0x52, 0x45, 0x54, 0x52, 0x59, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, + 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x10, 0x02, 0x22, 0xce, 0x01, 0x0a, 0x04, + 0x54, 0x61, 0x73, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x3a, 0x77, 0xea, 0x41, 0x74, 0x0a, 0x19, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, + 0x61, 0x73, 0x6b, 0x12, 0x57, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, + 0x73, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x7d, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, + 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x73, 0x6b, 0x7d, 0x22, 0xec, 0x03, 0x0a, + 0x0b, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x09, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x62, 0x0a, + 0x10, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x12, 0x5d, 0x0a, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x4b, 0x4d, 0x53, 0x45, 0x6e, 0x76, 0x4d, 0x61, 0x70, 0x52, 0x12, 0x65, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x1a, 0x47, 0x0a, 0x09, 0x4b, 0x4d, 0x53, 0x45, 0x6e, 0x76, 0x4d, 0x61, 0x70, 0x12, 0x19, 0x0a, + 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x69, 0x70, 0x68, + 0x65, 0x72, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, + 0x69, 0x70, 0x68, 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x53, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0xaa, 0x01, 0x0a, 0x19, + 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x42, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x70, 0x62, 0x3b, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x70, 0x62, 0xa2, 0x02, 0x03, 0x47, 0x43, 0x42, 0xaa, 0x02, 0x15, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x15, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x18, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/batch/apiv1/batchpb/volume.pb.go b/batch/apiv1/batchpb/volume.pb.go index f57ccb39b01..ce4b9782006 100755 --- a/batch/apiv1/batchpb/volume.pb.go +++ b/batch/apiv1/batchpb/volume.pb.go @@ -44,6 +44,7 @@ type Volume struct { // The source for the volume. // // Types that are assignable to Source: + // // *Volume_Nfs // *Volume_Gcs // *Volume_DeviceName diff --git a/beyondcorp/appconnections/apiv1/appconnectionspb/app_connections_service.pb.go b/beyondcorp/appconnections/apiv1/appconnectionspb/app_connections_service.pb.go index 9eff8b5ed18..2d40eb5ea27 100755 --- a/beyondcorp/appconnections/apiv1/appconnectionspb/app_connections_service.pb.go +++ b/beyondcorp/appconnections/apiv1/appconnectionspb/app_connections_service.pb.go @@ -432,9 +432,9 @@ type CreateAppConnectionRequest struct { // form: `projects/{project_id}/locations/{location_id}` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. User-settable AppConnection resource ID. - // * Must start with a letter. - // * Must contain between 4-63 characters from `/[a-z][0-9]-/`. - // * Must end with a number or a letter. + // - Must start with a letter. + // - Must contain between 4-63 characters from `/[a-z][0-9]-/`. + // - Must end with a number or a letter. AppConnectionId string `protobuf:"bytes,2,opt,name=app_connection_id,json=appConnectionId,proto3" json:"app_connection_id,omitempty"` // Required. A BeyondCorp AppConnection resource. AppConnection *AppConnection `protobuf:"bytes,3,opt,name=app_connection,json=appConnection,proto3" json:"app_connection,omitempty"` diff --git a/beyondcorp/appconnectors/apiv1/appconnectorspb/app_connector_instance_config.pb.go b/beyondcorp/appconnectors/apiv1/appconnectorspb/app_connector_instance_config.pb.go index 6d352a56f1f..5826278f9d3 100755 --- a/beyondcorp/appconnectors/apiv1/appconnectorspb/app_connector_instance_config.pb.go +++ b/beyondcorp/appconnectors/apiv1/appconnectorspb/app_connector_instance_config.pb.go @@ -124,6 +124,7 @@ type NotificationConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Config: + // // *NotificationConfig_PubsubNotification Config isNotificationConfig_Config `protobuf_oneof:"config"` } diff --git a/beyondcorp/appconnectors/apiv1/appconnectorspb/app_connectors_service.pb.go b/beyondcorp/appconnectors/apiv1/appconnectorspb/app_connectors_service.pb.go index 3c30729c5a1..dda361cef50 100755 --- a/beyondcorp/appconnectors/apiv1/appconnectorspb/app_connectors_service.pb.go +++ b/beyondcorp/appconnectors/apiv1/appconnectorspb/app_connectors_service.pb.go @@ -333,9 +333,9 @@ type CreateAppConnectorRequest struct { Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. User-settable AppConnector resource ID. // - // * Must start with a letter. - // * Must contain between 4-63 characters from `/[a-z][0-9]-/`. - // * Must end with a number or a letter. + // - Must start with a letter. + // - Must contain between 4-63 characters from `/[a-z][0-9]-/`. + // - Must end with a number or a letter. AppConnectorId string `protobuf:"bytes,2,opt,name=app_connector_id,json=appConnectorId,proto3" json:"app_connector_id,omitempty"` // Required. A BeyondCorp AppConnector resource. AppConnector *AppConnector `protobuf:"bytes,3,opt,name=app_connector,json=appConnector,proto3" json:"app_connector,omitempty"` @@ -932,6 +932,7 @@ type AppConnector_PrincipalInfo struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Type: + // // *AppConnector_PrincipalInfo_ServiceAccount_ Type isAppConnector_PrincipalInfo_Type `protobuf_oneof:"type"` } diff --git a/beyondcorp/appgateways/apiv1/appgatewayspb/app_gateways_service.pb.go b/beyondcorp/appgateways/apiv1/appgatewayspb/app_gateways_service.pb.go index 8e7c4ac07a4..19ecbae0167 100755 --- a/beyondcorp/appgateways/apiv1/appgatewayspb/app_gateways_service.pb.go +++ b/beyondcorp/appgateways/apiv1/appgatewayspb/app_gateways_service.pb.go @@ -431,9 +431,9 @@ type CreateAppGatewayRequest struct { // form: `projects/{project_id}/locations/{location_id}` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. User-settable AppGateway resource ID. - // * Must start with a letter. - // * Must contain between 4-63 characters from `/[a-z][0-9]-/`. - // * Must end with a number or a letter. + // - Must start with a letter. + // - Must contain between 4-63 characters from `/[a-z][0-9]-/`. + // - Must end with a number or a letter. AppGatewayId string `protobuf:"bytes,2,opt,name=app_gateway_id,json=appGatewayId,proto3" json:"app_gateway_id,omitempty"` // Required. A BeyondCorp AppGateway resource. AppGateway *AppGateway `protobuf:"bytes,3,opt,name=app_gateway,json=appGateway,proto3" json:"app_gateway,omitempty"` diff --git a/beyondcorp/clientconnectorservices/apiv1/clientconnectorservicespb/client_connector_services_service.pb.go b/beyondcorp/clientconnectorservices/apiv1/clientconnectorservicespb/client_connector_services_service.pb.go index 33bb2959c49..141364c7ade 100755 --- a/beyondcorp/clientconnectorservices/apiv1/clientconnectorservicespb/client_connector_services_service.pb.go +++ b/beyondcorp/clientconnectorservices/apiv1/clientconnectorservicespb/client_connector_services_service.pb.go @@ -481,9 +481,9 @@ type CreateClientConnectorServiceRequest struct { // Required. Value for parent. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. User-settable client connector service resource ID. - // * Must start with a letter. - // * Must contain between 4-63 characters from `/[a-z][0-9]-/`. - // * Must end with a number or a letter. + // - Must start with a letter. + // - Must contain between 4-63 characters from `/[a-z][0-9]-/`. + // - Must end with a number or a letter. // // A random system generated name will be assigned // if not specified by the user. @@ -875,6 +875,7 @@ type ClientConnectorService_Ingress struct { unknownFields protoimpl.UnknownFields // Types that are assignable to IngressConfig: + // // *ClientConnectorService_Ingress_Config_ IngressConfig isClientConnectorService_Ingress_IngressConfig `protobuf_oneof:"ingress_config"` } @@ -943,6 +944,7 @@ type ClientConnectorService_Egress struct { unknownFields protoimpl.UnknownFields // Types that are assignable to DestinationType: + // // *ClientConnectorService_Egress_PeeredVpc_ DestinationType isClientConnectorService_Egress_DestinationType `protobuf_oneof:"destination_type"` } diff --git a/beyondcorp/clientgateways/apiv1/clientgatewayspb/client_gateways_service.pb.go b/beyondcorp/clientgateways/apiv1/clientgatewayspb/client_gateways_service.pb.go index 99faa59ba33..f313a153e78 100755 --- a/beyondcorp/clientgateways/apiv1/clientgatewayspb/client_gateways_service.pb.go +++ b/beyondcorp/clientgateways/apiv1/clientgatewayspb/client_gateways_service.pb.go @@ -130,7 +130,8 @@ type ClientGateway struct { Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` // Output only. The client connector service name that the client gateway is // associated to. Client Connector Services, named as follows: - // `projects/{project_id}/locations/{location_id}/client_connector_services/{client_connector_service_id}`. + // + // `projects/{project_id}/locations/{location_id}/client_connector_services/{client_connector_service_id}`. ClientConnectorService string `protobuf:"bytes,6,opt,name=client_connector_service,json=clientConnectorService,proto3" json:"client_connector_service,omitempty"` } @@ -419,9 +420,9 @@ type CreateClientGatewayRequest struct { // Required. Value for parent. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. User-settable client gateway resource ID. - // * Must start with a letter. - // * Must contain between 4-63 characters from `/[a-z][0-9]-/`. - // * Must end with a number or a letter. + // - Must start with a letter. + // - Must contain between 4-63 characters from `/[a-z][0-9]-/`. + // - Must end with a number or a letter. ClientGatewayId string `protobuf:"bytes,2,opt,name=client_gateway_id,json=clientGatewayId,proto3" json:"client_gateway_id,omitempty"` // Required. The resource being created. ClientGateway *ClientGateway `protobuf:"bytes,3,opt,name=client_gateway,json=clientGateway,proto3" json:"client_gateway,omitempty"` diff --git a/bigquery/analyticshub/apiv1/analyticshubpb/analyticshub.pb.go b/bigquery/analyticshub/apiv1/analyticshubpb/analyticshub.pb.go index 408507e075c..ae5690eaa37 100755 --- a/bigquery/analyticshub/apiv1/analyticshubpb/analyticshub.pb.go +++ b/bigquery/analyticshub/apiv1/analyticshubpb/analyticshub.pb.go @@ -391,6 +391,7 @@ type SharingEnvironmentConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Environment: + // // *SharingEnvironmentConfig_DefaultExchangeConfig_ // *SharingEnvironmentConfig_DcrExchangeConfig_ Environment isSharingEnvironmentConfig_Environment `protobuf_oneof:"environment"` @@ -748,6 +749,7 @@ type Listing struct { // Listing source. // // Types that are assignable to Source: + // // *Listing_BigqueryDataset Source isListing_Source `protobuf_oneof:"source"` // Output only. The resource name of the listing. @@ -942,6 +944,7 @@ type Subscription struct { unknownFields protoimpl.UnknownFields // Types that are assignable to ResourceName: + // // *Subscription_Listing // *Subscription_DataExchange ResourceName isSubscription_ResourceName `protobuf_oneof:"resource_name"` @@ -1958,6 +1961,7 @@ type SubscribeListingRequest struct { // Resulting destination of the listing that you subscribed to. // // Types that are assignable to Destination: + // // *SubscribeListingRequest_DestinationDataset Destination isSubscribeListingRequest_Destination `protobuf_oneof:"destination"` // Required. Resource name of the listing that you want to subscribe to. @@ -3085,6 +3089,7 @@ type Subscription_LinkedResource struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Reference: + // // *Subscription_LinkedResource_LinkedDataset Reference isSubscription_LinkedResource_Reference `protobuf_oneof:"reference"` } diff --git a/bigquery/biglake/apiv1/biglakepb/metastore.pb.go b/bigquery/biglake/apiv1/biglakepb/metastore.pb.go index 7a16ed52255..87ae391df91 100755 --- a/bigquery/biglake/apiv1/biglakepb/metastore.pb.go +++ b/bigquery/biglake/apiv1/biglakepb/metastore.pb.go @@ -294,6 +294,7 @@ type Database struct { // Options specified for the database type. // // Types that are assignable to Options: + // // *Database_HiveOptions Options isDatabase_Options `protobuf_oneof:"options"` // Output only. The resource name. @@ -422,6 +423,7 @@ type Table struct { // Options specified for the table type. // // Types that are assignable to Options: + // // *Table_HiveOptions Options isTable_Options `protobuf_oneof:"options"` // Output only. The resource name. diff --git a/bigquery/biglake/apiv1alpha1/biglakepb/metastore.pb.go b/bigquery/biglake/apiv1alpha1/biglakepb/metastore.pb.go index 70021ee0b6e..1c36c5307a5 100755 --- a/bigquery/biglake/apiv1alpha1/biglakepb/metastore.pb.go +++ b/bigquery/biglake/apiv1alpha1/biglakepb/metastore.pb.go @@ -398,6 +398,7 @@ type Database struct { // Options specified for the database type. // // Types that are assignable to Options: + // // *Database_HiveOptions Options isDatabase_Options `protobuf_oneof:"options"` // Output only. The resource name. @@ -526,6 +527,7 @@ type Table struct { // Options specified for the table type. // // Types that are assignable to Options: + // // *Table_HiveOptions Options isTable_Options `protobuf_oneof:"options"` // Output only. The resource name. @@ -666,6 +668,7 @@ type Lock struct { // The resource that the lock will be created on. // // Types that are assignable to Resources: + // // *Lock_TableId Resources isLock_Resources `protobuf_oneof:"resources"` // Output only. The resource name. diff --git a/bigquery/connection/apiv1/connectionpb/connection.pb.go b/bigquery/connection/apiv1/connectionpb/connection.pb.go index 671faa9f850..e3602da3536 100755 --- a/bigquery/connection/apiv1/connectionpb/connection.pb.go +++ b/bigquery/connection/apiv1/connectionpb/connection.pb.go @@ -480,6 +480,7 @@ type Connection struct { // Properties specific to the underlying data source. // // Types that are assignable to Properties: + // // *Connection_CloudSql // *Connection_Aws // *Connection_Azure @@ -955,6 +956,7 @@ type AwsProperties struct { // Authentication method chosen at connection creation. // // Types that are assignable to AuthenticationMethod: + // // *AwsProperties_CrossAccountRole // *AwsProperties_AccessRole AuthenticationMethod isAwsProperties_AuthenticationMethod `protobuf_oneof:"authentication_method"` @@ -1294,7 +1296,8 @@ type CloudResourceProperties struct { // desired resources in GCP. // // The account ID is in the form of: - // @gcp-sa-bigquery-cloudresource.iam.gserviceaccount.com + // + // @gcp-sa-bigquery-cloudresource.iam.gserviceaccount.com ServiceAccountId string `protobuf:"bytes,1,opt,name=service_account_id,json=serviceAccountId,proto3" json:"service_account_id,omitempty"` } diff --git a/bigquery/connection/apiv1beta1/connectionpb/connection.pb.go b/bigquery/connection/apiv1beta1/connectionpb/connection.pb.go index f2323ce9a02..8f940e0c523 100755 --- a/bigquery/connection/apiv1beta1/connectionpb/connection.pb.go +++ b/bigquery/connection/apiv1beta1/connectionpb/connection.pb.go @@ -541,6 +541,7 @@ type Connection struct { // Properties specific to the underlying data source. // // Types that are assignable to Properties: + // // *Connection_CloudSql Properties isConnection_Properties `protobuf_oneof:"properties"` // Output only. The creation timestamp of the connection. @@ -659,6 +660,7 @@ type ConnectionCredential struct { // Credential specific to the underlying data source. // // Types that are assignable to Credential: + // // *ConnectionCredential_CloudSql Credential isConnectionCredential_Credential `protobuf_oneof:"credential"` } diff --git a/bigquery/dataexchange/apiv1beta1/dataexchangepb/dataexchange.pb.go b/bigquery/dataexchange/apiv1beta1/dataexchangepb/dataexchange.pb.go index 5c62fc0b321..1485f6d7354 100755 --- a/bigquery/dataexchange/apiv1beta1/dataexchangepb/dataexchange.pb.go +++ b/bigquery/dataexchange/apiv1beta1/dataexchangepb/dataexchange.pb.go @@ -595,6 +595,7 @@ type Listing struct { // Listing source. // // Types that are assignable to Source: + // // *Listing_BigqueryDataset Source isListing_Source `protobuf_oneof:"source"` // Output only. The resource name of the listing. @@ -1631,6 +1632,7 @@ type SubscribeListingRequest struct { // Resulting destination of the listing that you subscribed to. // // Types that are assignable to Destination: + // // *SubscribeListingRequest_DestinationDataset Destination isSubscribeListingRequest_Destination `protobuf_oneof:"destination"` // Required. Resource name of the listing that you want to subscribe to. diff --git a/bigquery/datapolicies/apiv1/datapoliciespb/datapolicy.pb.go b/bigquery/datapolicies/apiv1/datapoliciespb/datapolicy.pb.go index 633fb06c637..41c00599bc0 100755 --- a/bigquery/datapolicies/apiv1/datapoliciespb/datapolicy.pb.go +++ b/bigquery/datapolicies/apiv1/datapoliciespb/datapolicy.pb.go @@ -113,7 +113,7 @@ const ( // The default masking values for each type listed as below: // // * STRING: "" - // * BYTES: b'' + // * BYTES: b” // * INTEGER: 0 // * FLOAT: 0.0 // * NUMERIC: 0 @@ -659,11 +659,13 @@ type DataPolicy struct { // Label that is bound to this data policy. // // Types that are assignable to MatchingLabel: + // // *DataPolicy_PolicyTag MatchingLabel isDataPolicy_MatchingLabel `protobuf_oneof:"matching_label"` // The policy that is bound to this data policy. // // Types that are assignable to Policy: + // // *DataPolicy_DataMaskingPolicy Policy isDataPolicy_Policy `protobuf_oneof:"policy"` // Output only. Resource name of this data policy, in the format of @@ -790,6 +792,7 @@ type DataMaskingPolicy struct { // A masking expression to bind to the data masking rule. // // Types that are assignable to MaskingExpression: + // // *DataMaskingPolicy_PredefinedExpression_ // *DataMaskingPolicy_Routine MaskingExpression isDataMaskingPolicy_MaskingExpression `protobuf_oneof:"masking_expression"` diff --git a/bigquery/datapolicies/apiv1beta1/datapoliciespb/datapolicy.pb.go b/bigquery/datapolicies/apiv1beta1/datapoliciespb/datapolicy.pb.go index be70381ab3c..7bc4360f2c3 100755 --- a/bigquery/datapolicies/apiv1beta1/datapoliciespb/datapolicy.pb.go +++ b/bigquery/datapolicies/apiv1beta1/datapoliciespb/datapolicy.pb.go @@ -113,7 +113,7 @@ const ( // The default masking values for each type listed as below: // // * STRING: "" - // * BYTES: b'' + // * BYTES: b” // * INTEGER: 0 // * FLOAT: 0.0 // * NUMERIC: 0 @@ -538,11 +538,13 @@ type DataPolicy struct { // Label that is bound to this data policy. // // Types that are assignable to MatchingLabel: + // // *DataPolicy_PolicyTag MatchingLabel isDataPolicy_MatchingLabel `protobuf_oneof:"matching_label"` // The policy that is bound to this data policy. // // Types that are assignable to Policy: + // // *DataPolicy_DataMaskingPolicy Policy isDataPolicy_Policy `protobuf_oneof:"policy"` // Output only. Resource name of this data policy, in the format of @@ -669,6 +671,7 @@ type DataMaskingPolicy struct { // A masking expression to bind to the data masking rule. // // Types that are assignable to MaskingExpression: + // // *DataMaskingPolicy_PredefinedExpression_ MaskingExpression isDataMaskingPolicy_MaskingExpression `protobuf_oneof:"masking_expression"` } diff --git a/bigquery/datatransfer/apiv1/datatransferpb/datatransfer.pb.go b/bigquery/datatransfer/apiv1/datatransferpb/datatransfer.pb.go index 7f5c2e5be53..00d82069cb4 100755 --- a/bigquery/datatransfer/apiv1/datatransferpb/datatransfer.pb.go +++ b/bigquery/datatransfer/apiv1/datatransferpb/datatransfer.pb.go @@ -2011,6 +2011,7 @@ type StartManualTransferRunsRequest struct { // run_time. // // Types that are assignable to Time: + // // *StartManualTransferRunsRequest_RequestedTimeRange // *StartManualTransferRunsRequest_RequestedRunTime Time isStartManualTransferRunsRequest_Time `protobuf_oneof:"time"` diff --git a/bigquery/datatransfer/apiv1/datatransferpb/transfer.pb.go b/bigquery/datatransfer/apiv1/datatransferpb/transfer.pb.go index 7df9d422e90..ebb25721faa 100755 --- a/bigquery/datatransfer/apiv1/datatransferpb/transfer.pb.go +++ b/bigquery/datatransfer/apiv1/datatransferpb/transfer.pb.go @@ -417,6 +417,7 @@ type TransferConfig struct { // The desination of the transfer config. // // Types that are assignable to Destination: + // // *TransferConfig_DestinationDatasetId Destination isTransferConfig_Destination `protobuf_oneof:"destination"` // User specified display name for the data transfer. @@ -748,6 +749,7 @@ type TransferRun struct { // Data transfer destination. // // Types that are assignable to Destination: + // // *TransferRun_DestinationDatasetId Destination isTransferRun_Destination `protobuf_oneof:"destination"` // Output only. Data source id. diff --git a/bigquery/migration/apiv2/migrationpb/migration_entities.pb.go b/bigquery/migration/apiv2/migrationpb/migration_entities.pb.go index bfd2a610c4b..5740dbd8491 100755 --- a/bigquery/migration/apiv2/migrationpb/migration_entities.pb.go +++ b/bigquery/migration/apiv2/migrationpb/migration_entities.pb.go @@ -355,6 +355,7 @@ type MigrationTask struct { // The details of the task. // // Types that are assignable to TaskDetails: + // // *MigrationTask_TranslationConfigDetails TaskDetails isMigrationTask_TaskDetails `protobuf_oneof:"task_details"` // Output only. Immutable. The unique identifier for the migration task. The diff --git a/bigquery/migration/apiv2/migrationpb/migration_metrics.pb.go b/bigquery/migration/apiv2/migrationpb/migration_metrics.pb.go index 1b7fa16eff5..8224f8e144f 100755 --- a/bigquery/migration/apiv2/migrationpb/migration_metrics.pb.go +++ b/bigquery/migration/apiv2/migrationpb/migration_metrics.pb.go @@ -266,6 +266,7 @@ type TypedValue struct { // The typed value field. // // Types that are assignable to Value: + // // *TypedValue_BoolValue // *TypedValue_Int64Value // *TypedValue_DoubleValue diff --git a/bigquery/migration/apiv2/migrationpb/translation_config.pb.go b/bigquery/migration/apiv2/migrationpb/translation_config.pb.go index 4962f9e5de7..b32be4eb5e0 100755 --- a/bigquery/migration/apiv2/migrationpb/translation_config.pb.go +++ b/bigquery/migration/apiv2/migrationpb/translation_config.pb.go @@ -171,17 +171,20 @@ type TranslationConfigDetails struct { // The chosen path where the source for input files will be found. // // Types that are assignable to SourceLocation: + // // *TranslationConfigDetails_GcsSourcePath SourceLocation isTranslationConfigDetails_SourceLocation `protobuf_oneof:"source_location"` // The chosen path where the destination for output files will be found. // // Types that are assignable to TargetLocation: + // // *TranslationConfigDetails_GcsTargetPath TargetLocation isTranslationConfigDetails_TargetLocation `protobuf_oneof:"target_location"` // The mapping of full SQL object names from their current state to the // desired output. // // Types that are assignable to OutputNameMapping: + // // *TranslationConfigDetails_NameMappingList OutputNameMapping isTranslationConfigDetails_OutputNameMapping `protobuf_oneof:"output_name_mapping"` // The dialect of the input files. @@ -338,6 +341,7 @@ type Dialect struct { // The possible dialect options that this message represents. // // Types that are assignable to DialectValue: + // // *Dialect_BigqueryDialect // *Dialect_HiveqlDialect // *Dialect_RedshiftDialect diff --git a/bigquery/migration/apiv2alpha/migrationpb/migration_entities.pb.go b/bigquery/migration/apiv2alpha/migrationpb/migration_entities.pb.go index 9202148fd70..b4c0ee36942 100755 --- a/bigquery/migration/apiv2alpha/migrationpb/migration_entities.pb.go +++ b/bigquery/migration/apiv2alpha/migrationpb/migration_entities.pb.go @@ -351,6 +351,7 @@ type MigrationTask struct { // The details of the task. // // Types that are assignable to TaskDetails: + // // *MigrationTask_AssessmentTaskDetails // *MigrationTask_TranslationTaskDetails TaskDetails isMigrationTask_TaskDetails `protobuf_oneof:"task_details"` @@ -653,6 +654,7 @@ type MigrationTaskOrchestrationResult struct { // Details specific to the task type. // // Types that are assignable to Details: + // // *MigrationTaskOrchestrationResult_AssessmentDetails Details isMigrationTaskOrchestrationResult_Details `protobuf_oneof:"details"` } diff --git a/bigquery/migration/apiv2alpha/migrationpb/migration_metrics.pb.go b/bigquery/migration/apiv2alpha/migrationpb/migration_metrics.pb.go index 8faf7628add..852e2c8223f 100755 --- a/bigquery/migration/apiv2alpha/migrationpb/migration_metrics.pb.go +++ b/bigquery/migration/apiv2alpha/migrationpb/migration_metrics.pb.go @@ -266,6 +266,7 @@ type TypedValue struct { // The typed value field. // // Types that are assignable to Value: + // // *TypedValue_BoolValue // *TypedValue_Int64Value // *TypedValue_DoubleValue diff --git a/bigquery/migration/apiv2alpha/migrationpb/translation_task.pb.go b/bigquery/migration/apiv2alpha/migrationpb/translation_task.pb.go index f6441e2d5ce..b3115c29b2b 100755 --- a/bigquery/migration/apiv2alpha/migrationpb/translation_task.pb.go +++ b/bigquery/migration/apiv2alpha/migrationpb/translation_task.pb.go @@ -355,6 +355,7 @@ type TranslationTaskDetails struct { // The language specific settings for the translation task. // // Types that are assignable to LanguageOptions: + // // *TranslationTaskDetails_TeradataOptions // *TranslationTaskDetails_BteqOptions LanguageOptions isTranslationTaskDetails_LanguageOptions `protobuf_oneof:"language_options"` diff --git a/bigquery/reservation/apiv1/reservationpb/reservation.pb.go b/bigquery/reservation/apiv1/reservationpb/reservation.pb.go index b0644cd2e45..a5335b963ba 100755 --- a/bigquery/reservation/apiv1/reservationpb/reservation.pb.go +++ b/bigquery/reservation/apiv1/reservationpb/reservation.pb.go @@ -412,7 +412,6 @@ type Reservation struct { // exceeds the total slot_count of all capacity commitments, the request will // fail with `google.rpc.Code.RESOURCE_EXHAUSTED`. // - // // NOTE: for reservations in US or EU multi-regions, slot capacity constraints // are checked separately for default and auxiliary regions. See // multi_region_auxiliary flag for more details. @@ -781,7 +780,8 @@ type ListReservationsRequest struct { unknownFields protoimpl.UnknownFields // Required. The parent resource name containing project and location, e.g.: - // `projects/myproject/locations/US` + // + // `projects/myproject/locations/US` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The maximum number of items to return per page. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -910,7 +910,8 @@ type GetReservationRequest struct { unknownFields protoimpl.UnknownFields // Required. Resource name of the reservation to retrieve. E.g., - // `projects/myproject/locations/US/reservations/team1-prod` + // + // `projects/myproject/locations/US/reservations/team1-prod` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -961,7 +962,8 @@ type DeleteReservationRequest struct { unknownFields protoimpl.UnknownFields // Required. Resource name of the reservation to retrieve. E.g., - // `projects/myproject/locations/US/reservations/team1-prod` + // + // `projects/myproject/locations/US/reservations/team1-prod` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1071,7 +1073,8 @@ type CreateCapacityCommitmentRequest struct { unknownFields protoimpl.UnknownFields // Required. Resource name of the parent reservation. E.g., - // `projects/myproject/locations/US` + // + // `projects/myproject/locations/US` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Content of the capacity commitment to create. CapacityCommitment *CapacityCommitment `protobuf:"bytes,2,opt,name=capacity_commitment,json=capacityCommitment,proto3" json:"capacity_commitment,omitempty"` @@ -1154,7 +1157,8 @@ type ListCapacityCommitmentsRequest struct { unknownFields protoimpl.UnknownFields // Required. Resource name of the parent reservation. E.g., - // `projects/myproject/locations/US` + // + // `projects/myproject/locations/US` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The maximum number of items to return. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -1283,7 +1287,8 @@ type GetCapacityCommitmentRequest struct { unknownFields protoimpl.UnknownFields // Required. Resource name of the capacity commitment to retrieve. E.g., - // `projects/myproject/locations/US/capacityCommitments/123` + // + // `projects/myproject/locations/US/capacityCommitments/123` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1334,7 +1339,8 @@ type DeleteCapacityCommitmentRequest struct { unknownFields protoimpl.UnknownFields // Required. Resource name of the capacity commitment to delete. E.g., - // `projects/myproject/locations/US/capacityCommitments/123` + // + // `projects/myproject/locations/US/capacityCommitments/123` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Can be used to force delete commitments even if assignments exist. Deleting // commitments with assignments may cause queries to fail if they no longer @@ -1455,7 +1461,8 @@ type SplitCapacityCommitmentRequest struct { unknownFields protoimpl.UnknownFields // Required. The resource name e.g.,: - // `projects/myproject/locations/US/capacityCommitments/123` + // + // `projects/myproject/locations/US/capacityCommitments/123` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Number of slots in the capacity commitment after the split. SlotCount int64 `protobuf:"varint,2,opt,name=slot_count,json=slotCount,proto3" json:"slot_count,omitempty"` @@ -1574,7 +1581,8 @@ type MergeCapacityCommitmentsRequest struct { unknownFields protoimpl.UnknownFields // Parent resource that identifies admin project and location e.g., - // `projects/myproject/locations/us` + // + // `projects/myproject/locations/us` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Ids of capacity commitments to merge. // These capacity commitments must exist under admin project and location @@ -1929,7 +1937,8 @@ type DeleteAssignmentRequest struct { unknownFields protoimpl.UnknownFields // Required. Name of the resource, e.g. - // `projects/myproject/locations/US/reservations/team1-prod/assignments/123` + // + // `projects/myproject/locations/US/reservations/team1-prod/assignments/123` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1983,7 +1992,8 @@ type SearchAssignmentsRequest struct { // Required. The resource name of the admin project(containing project and // location), e.g.: - // `projects/myproject/locations/US`. + // + // `projects/myproject/locations/US`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Please specify resource name as assignee in the query. // @@ -2070,7 +2080,8 @@ type SearchAllAssignmentsRequest struct { // Required. The resource name with location (project name could be the // wildcard '-'), e.g.: - // `projects/-/locations/US`. + // + // `projects/-/locations/US`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Please specify resource name as assignee in the query. // @@ -2285,7 +2296,8 @@ type MoveAssignmentRequest struct { // `projects/myproject/locations/US/reservations/team1-prod/assignments/123` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The new reservation ID, e.g.: - // `projects/myotherproject/locations/US/reservations/team2-prod` + // + // `projects/myotherproject/locations/US/reservations/team2-prod` DestinationId string `protobuf:"bytes,3,opt,name=destination_id,json=destinationId,proto3" json:"destination_id,omitempty"` // The optional assignment ID. A new assignment name is generated if this // field is empty. @@ -4192,11 +4204,11 @@ type ReservationServiceClient interface { // // Example: // - // * The organization `organizationA` contains two projects, `project1` - // and `project2`. - // * Assignments for all three entities (`organizationA`, `project1`, and - // `project2`) could all be created and mapped to the same or different - // reservations. + // - The organization `organizationA` contains two projects, `project1` + // and `project2`. + // - Assignments for all three entities (`organizationA`, `project1`, and + // `project2`) could all be created and mapped to the same or different + // reservations. // // "None" assignments represent an absence of the assignment. Projects // assigned to None use on-demand pricing. To create a "None" assignment, use @@ -4216,12 +4228,12 @@ type ReservationServiceClient interface { // // Example: // - // * Organization `organizationA` contains two projects, `project1` and - // `project2`. - // * Reservation `res1` exists and was created previously. - // * CreateAssignment was used previously to define the following - // associations between entities and reservations: `` - // and `` + // - Organization `organizationA` contains two projects, `project1` and + // `project2`. + // - Reservation `res1` exists and was created previously. + // - CreateAssignment was used previously to define the following + // associations between entities and reservations: `` + // and `` // // In this example, ListAssignments will just return the above two assignments // for reservation `res1`, and no expansion/merge will happen. @@ -4236,12 +4248,12 @@ type ReservationServiceClient interface { // // Example: // - // * Organization `organizationA` contains two projects, `project1` and - // `project2`. - // * Reservation `res1` exists and was created previously. - // * CreateAssignment was used previously to define the following - // associations between entities and reservations: `` - // and `` + // - Organization `organizationA` contains two projects, `project1` and + // `project2`. + // - Reservation `res1` exists and was created previously. + // - CreateAssignment was used previously to define the following + // associations between entities and reservations: `` + // and `` // // In this example, deletion of the `` assignment won't // affect the other assignment ``. After said deletion, @@ -4252,10 +4264,10 @@ type ReservationServiceClient interface { // Deprecated: Looks up assignments for a specified resource for a particular // region. If the request is about a project: // - // 1. Assignments created on the project will be returned if they exist. - // 2. Otherwise assignments created on the closest ancestor will be - // returned. - // 3. Assignments for different JobTypes will all be returned. + // 1. Assignments created on the project will be returned if they exist. + // 2. Otherwise assignments created on the closest ancestor will be + // returned. + // 3. Assignments for different JobTypes will all be returned. // // The same logic applies if the request is about a folder. // @@ -4265,10 +4277,10 @@ type ReservationServiceClient interface { // Comparing to ListAssignments, there are some behavior // differences: // - // 1. permission on the assignee will be verified in this API. - // 2. Hierarchy lookup (project->folder->organization) happens in this API. - // 3. Parent here is `projects/*/locations/*`, instead of - // `projects/*/locations/*reservations/*`. + // 1. permission on the assignee will be verified in this API. + // 2. Hierarchy lookup (project->folder->organization) happens in this API. + // 3. Parent here is `projects/*/locations/*`, instead of + // `projects/*/locations/*reservations/*`. // // **Note** "-" cannot be used for projects // nor locations. @@ -4276,10 +4288,10 @@ type ReservationServiceClient interface { // Looks up assignments for a specified resource for a particular region. // If the request is about a project: // - // 1. Assignments created on the project will be returned if they exist. - // 2. Otherwise assignments created on the closest ancestor will be - // returned. - // 3. Assignments for different JobTypes will all be returned. + // 1. Assignments created on the project will be returned if they exist. + // 2. Otherwise assignments created on the closest ancestor will be + // returned. + // 3. Assignments for different JobTypes will all be returned. // // The same logic applies if the request is about a folder. // @@ -4289,10 +4301,10 @@ type ReservationServiceClient interface { // Comparing to ListAssignments, there are some behavior // differences: // - // 1. permission on the assignee will be verified in this API. - // 2. Hierarchy lookup (project->folder->organization) happens in this API. - // 3. Parent here is `projects/*/locations/*`, instead of - // `projects/*/locations/*reservations/*`. + // 1. permission on the assignee will be verified in this API. + // 2. Hierarchy lookup (project->folder->organization) happens in this API. + // 3. Parent here is `projects/*/locations/*`, instead of + // `projects/*/locations/*reservations/*`. SearchAllAssignments(ctx context.Context, in *SearchAllAssignmentsRequest, opts ...grpc.CallOption) (*SearchAllAssignmentsResponse, error) // Moves an assignment under a new reservation. // @@ -4582,11 +4594,11 @@ type ReservationServiceServer interface { // // Example: // - // * The organization `organizationA` contains two projects, `project1` - // and `project2`. - // * Assignments for all three entities (`organizationA`, `project1`, and - // `project2`) could all be created and mapped to the same or different - // reservations. + // - The organization `organizationA` contains two projects, `project1` + // and `project2`. + // - Assignments for all three entities (`organizationA`, `project1`, and + // `project2`) could all be created and mapped to the same or different + // reservations. // // "None" assignments represent an absence of the assignment. Projects // assigned to None use on-demand pricing. To create a "None" assignment, use @@ -4606,12 +4618,12 @@ type ReservationServiceServer interface { // // Example: // - // * Organization `organizationA` contains two projects, `project1` and - // `project2`. - // * Reservation `res1` exists and was created previously. - // * CreateAssignment was used previously to define the following - // associations between entities and reservations: `` - // and `` + // - Organization `organizationA` contains two projects, `project1` and + // `project2`. + // - Reservation `res1` exists and was created previously. + // - CreateAssignment was used previously to define the following + // associations between entities and reservations: `` + // and `` // // In this example, ListAssignments will just return the above two assignments // for reservation `res1`, and no expansion/merge will happen. @@ -4626,12 +4638,12 @@ type ReservationServiceServer interface { // // Example: // - // * Organization `organizationA` contains two projects, `project1` and - // `project2`. - // * Reservation `res1` exists and was created previously. - // * CreateAssignment was used previously to define the following - // associations between entities and reservations: `` - // and `` + // - Organization `organizationA` contains two projects, `project1` and + // `project2`. + // - Reservation `res1` exists and was created previously. + // - CreateAssignment was used previously to define the following + // associations between entities and reservations: `` + // and `` // // In this example, deletion of the `` assignment won't // affect the other assignment ``. After said deletion, @@ -4642,10 +4654,10 @@ type ReservationServiceServer interface { // Deprecated: Looks up assignments for a specified resource for a particular // region. If the request is about a project: // - // 1. Assignments created on the project will be returned if they exist. - // 2. Otherwise assignments created on the closest ancestor will be - // returned. - // 3. Assignments for different JobTypes will all be returned. + // 1. Assignments created on the project will be returned if they exist. + // 2. Otherwise assignments created on the closest ancestor will be + // returned. + // 3. Assignments for different JobTypes will all be returned. // // The same logic applies if the request is about a folder. // @@ -4655,10 +4667,10 @@ type ReservationServiceServer interface { // Comparing to ListAssignments, there are some behavior // differences: // - // 1. permission on the assignee will be verified in this API. - // 2. Hierarchy lookup (project->folder->organization) happens in this API. - // 3. Parent here is `projects/*/locations/*`, instead of - // `projects/*/locations/*reservations/*`. + // 1. permission on the assignee will be verified in this API. + // 2. Hierarchy lookup (project->folder->organization) happens in this API. + // 3. Parent here is `projects/*/locations/*`, instead of + // `projects/*/locations/*reservations/*`. // // **Note** "-" cannot be used for projects // nor locations. @@ -4666,10 +4678,10 @@ type ReservationServiceServer interface { // Looks up assignments for a specified resource for a particular region. // If the request is about a project: // - // 1. Assignments created on the project will be returned if they exist. - // 2. Otherwise assignments created on the closest ancestor will be - // returned. - // 3. Assignments for different JobTypes will all be returned. + // 1. Assignments created on the project will be returned if they exist. + // 2. Otherwise assignments created on the closest ancestor will be + // returned. + // 3. Assignments for different JobTypes will all be returned. // // The same logic applies if the request is about a folder. // @@ -4679,10 +4691,10 @@ type ReservationServiceServer interface { // Comparing to ListAssignments, there are some behavior // differences: // - // 1. permission on the assignee will be verified in this API. - // 2. Hierarchy lookup (project->folder->organization) happens in this API. - // 3. Parent here is `projects/*/locations/*`, instead of - // `projects/*/locations/*reservations/*`. + // 1. permission on the assignee will be verified in this API. + // 2. Hierarchy lookup (project->folder->organization) happens in this API. + // 3. Parent here is `projects/*/locations/*`, instead of + // `projects/*/locations/*reservations/*`. SearchAllAssignments(context.Context, *SearchAllAssignmentsRequest) (*SearchAllAssignmentsResponse, error) // Moves an assignment under a new reservation. // diff --git a/bigquery/storage/apiv1/storagepb/storage.pb.go b/bigquery/storage/apiv1/storagepb/storage.pb.go index 0d5705173f2..0b363f20e0c 100755 --- a/bigquery/storage/apiv1/storagepb/storage.pb.go +++ b/bigquery/storage/apiv1/storagepb/storage.pb.go @@ -518,6 +518,7 @@ type ReadRowsResponse struct { // Row data is returned in format specified during session creation. // // Types that are assignable to Rows: + // // *ReadRowsResponse_AvroRows // *ReadRowsResponse_ArrowRecordBatch Rows isReadRowsResponse_Rows `protobuf_oneof:"rows"` @@ -535,6 +536,7 @@ type ReadRowsResponse struct { // RPC. // // Types that are assignable to Schema: + // // *ReadRowsResponse_AvroSchema // *ReadRowsResponse_ArrowSchema Schema isReadRowsResponse_Schema `protobuf_oneof:"schema"` @@ -935,6 +937,7 @@ type AppendRowsRequest struct { // initial request. // // Types that are assignable to Rows: + // // *AppendRowsRequest_ProtoRows Rows isAppendRowsRequest_Rows `protobuf_oneof:"rows"` // Id set by client to annotate its identity. Only initial request setting is @@ -1070,6 +1073,7 @@ type AppendRowsResponse struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Response: + // // *AppendRowsResponse_AppendResult_ // *AppendRowsResponse_Error Response isAppendRowsResponse_Response `protobuf_oneof:"response"` diff --git a/bigquery/storage/apiv1/storagepb/stream.pb.go b/bigquery/storage/apiv1/storagepb/stream.pb.go index ecd6ded713a..07f3113d0c1 100755 --- a/bigquery/storage/apiv1/storagepb/stream.pb.go +++ b/bigquery/storage/apiv1/storagepb/stream.pb.go @@ -335,6 +335,7 @@ type ReadSession struct { // the selected fields. // // Types that are assignable to Schema: + // // *ReadSession_AvroSchema // *ReadSession_ArrowSchema Schema isReadSession_Schema `protobuf_oneof:"schema"` @@ -755,38 +756,40 @@ type ReadSession_TableReadOptions struct { // // As an example, consider a table with the following schema: // - // { - // "name": "struct_field", - // "type": "RECORD", - // "mode": "NULLABLE", - // "fields": [ - // { - // "name": "string_field1", - // "type": "STRING", + // { + // "name": "struct_field", + // "type": "RECORD", + // "mode": "NULLABLE", + // "fields": [ + // { + // "name": "string_field1", + // "type": "STRING", + // // . "mode": "NULLABLE" - // }, - // { - // "name": "string_field2", - // "type": "STRING", - // "mode": "NULLABLE" - // } - // ] - // } + // + // }, + // { + // "name": "string_field2", + // "type": "STRING", + // "mode": "NULLABLE" + // } + // ] + // } // // Specifying "struct_field" in the selected fields list will result in a // read session schema with the following logical structure: // - // struct_field { - // string_field1 - // string_field2 - // } + // struct_field { + // string_field1 + // string_field2 + // } // // Specifying "struct_field.string_field1" in the selected fields list will // result in a read session schema with the following logical structure: // - // struct_field { - // string_field1 - // } + // struct_field { + // string_field1 + // } // // The order of the fields in the read session schema is derived from the // table schema and does not correspond to the order in which the fields are @@ -796,14 +799,16 @@ type ReadSession_TableReadOptions struct { // Aggregates are not supported. // // Examples: "int_field > 5" - // "date_field = CAST('2014-9-27' as DATE)" - // "nullable_field is not NULL" - // "st_equals(geo_field, st_geofromtext("POINT(2, 2)"))" - // "numeric_field BETWEEN 1.0 AND 5.0" + // + // "date_field = CAST('2014-9-27' as DATE)" + // "nullable_field is not NULL" + // "st_equals(geo_field, st_geofromtext("POINT(2, 2)"))" + // "numeric_field BETWEEN 1.0 AND 5.0" // // Restricted to a maximum length for 1 MB. RowRestriction string `protobuf:"bytes,2,opt,name=row_restriction,json=rowRestriction,proto3" json:"row_restriction,omitempty"` // Types that are assignable to OutputFormatSerializationOptions: + // // *ReadSession_TableReadOptions_ArrowSerializationOptions // *ReadSession_TableReadOptions_AvroSerializationOptions OutputFormatSerializationOptions isReadSession_TableReadOptions_OutputFormatSerializationOptions `protobuf_oneof:"output_format_serialization_options"` diff --git a/bigquery/storage/apiv1/storagepb/table.pb.go b/bigquery/storage/apiv1/storagepb/table.pb.go index b07309bed93..898f658058a 100755 --- a/bigquery/storage/apiv1/storagepb/table.pb.go +++ b/bigquery/storage/apiv1/storagepb/table.pb.go @@ -288,18 +288,18 @@ type TableFieldSchema struct { // // Values of this NUMERIC or BIGNUMERIC field must be in this range when: // - // * Precision (P) and scale (S) are specified: - // [-10^(P-S) + 10^(-S), 10^(P-S) - 10^(-S)] - // * Precision (P) is specified but not scale (and thus scale is - // interpreted to be equal to zero): - // [-10^P + 1, 10^P - 1]. + // - Precision (P) and scale (S) are specified: + // [-10^(P-S) + 10^(-S), 10^(P-S) - 10^(-S)] + // - Precision (P) is specified but not scale (and thus scale is + // interpreted to be equal to zero): + // [-10^P + 1, 10^P - 1]. // // Acceptable values for precision and scale if both are specified: // - // * If type = "NUMERIC": - // 1 <= precision - scale <= 29 and 0 <= scale <= 9. - // * If type = "BIGNUMERIC": - // 1 <= precision - scale <= 38 and 0 <= scale <= 38. + // - If type = "NUMERIC": + // 1 <= precision - scale <= 29 and 0 <= scale <= 9. + // - If type = "BIGNUMERIC": + // 1 <= precision - scale <= 38 and 0 <= scale <= 38. // // Acceptable values for precision if only precision is specified but not // scale (and thus scale is interpreted to be equal to zero): diff --git a/bigquery/storage/apiv1beta1/storagepb/read_options.pb.go b/bigquery/storage/apiv1beta1/storagepb/read_options.pb.go index 0d445fc014f..facd4ecb30e 100755 --- a/bigquery/storage/apiv1beta1/storagepb/read_options.pb.go +++ b/bigquery/storage/apiv1beta1/storagepb/read_options.pb.go @@ -52,38 +52,40 @@ type TableReadOptions struct { // // As an example, consider a table with the following schema: // - // { - // "name": "struct_field", - // "type": "RECORD", - // "mode": "NULLABLE", - // "fields": [ - // { - // "name": "string_field1", - // "type": "STRING", + // { + // "name": "struct_field", + // "type": "RECORD", + // "mode": "NULLABLE", + // "fields": [ + // { + // "name": "string_field1", + // "type": "STRING", + // // . "mode": "NULLABLE" - // }, - // { - // "name": "string_field2", - // "type": "STRING", - // "mode": "NULLABLE" - // } - // ] - // } + // + // }, + // { + // "name": "string_field2", + // "type": "STRING", + // "mode": "NULLABLE" + // } + // ] + // } // // Specifying "struct_field" in the selected fields list will result in a // read session schema with the following logical structure: // - // struct_field { - // string_field1 - // string_field2 - // } + // struct_field { + // string_field1 + // string_field2 + // } // // Specifying "struct_field.string_field1" in the selected fields list will // result in a read session schema with the following logical structure: // - // struct_field { - // string_field1 - // } + // struct_field { + // string_field1 + // } // // The order of the fields in the read session schema is derived from the // table schema and does not correspond to the order in which the fields are @@ -93,10 +95,11 @@ type TableReadOptions struct { // a SQL query. Aggregates are not supported. // // Examples: "int_field > 5" - // "date_field = CAST('2014-9-27' as DATE)" - // "nullable_field is not NULL" - // "st_equals(geo_field, st_geofromtext("POINT(2, 2)"))" - // "numeric_field BETWEEN 1.0 AND 5.0" + // + // "date_field = CAST('2014-9-27' as DATE)" + // "nullable_field is not NULL" + // "st_equals(geo_field, st_geofromtext("POINT(2, 2)"))" + // "numeric_field BETWEEN 1.0 AND 5.0" // // Restricted to a maximum length for 1 MB. RowRestriction string `protobuf:"bytes,2,opt,name=row_restriction,json=rowRestriction,proto3" json:"row_restriction,omitempty"` diff --git a/bigquery/storage/apiv1beta1/storagepb/storage.pb.go b/bigquery/storage/apiv1beta1/storagepb/storage.pb.go index 19348326e80..7b6dfda17bf 100755 --- a/bigquery/storage/apiv1beta1/storagepb/storage.pb.go +++ b/bigquery/storage/apiv1beta1/storagepb/storage.pb.go @@ -283,6 +283,7 @@ type ReadSession struct { // the selected fields. // // Types that are assignable to Schema: + // // *ReadSession_AvroSchema // *ReadSession_ArrowSchema Schema isReadSession_Schema `protobuf_oneof:"schema"` @@ -790,6 +791,7 @@ type ReadRowsResponse struct { // Row data is returned in format specified during session creation. // // Types that are assignable to Rows: + // // *ReadRowsResponse_AvroRows // *ReadRowsResponse_ArrowRecordBatch Rows isReadRowsResponse_Rows `protobuf_oneof:"rows"` @@ -810,6 +812,7 @@ type ReadRowsResponse struct { // RPC. // // Types that are assignable to Schema: + // // *ReadRowsResponse_AvroSchema // *ReadRowsResponse_ArrowSchema Schema isReadRowsResponse_Schema `protobuf_oneof:"schema"` diff --git a/bigquery/storage/apiv1beta2/storagepb/storage.pb.go b/bigquery/storage/apiv1beta2/storagepb/storage.pb.go index b3c3eb0ada3..00a641ad98b 100755 --- a/bigquery/storage/apiv1beta2/storagepb/storage.pb.go +++ b/bigquery/storage/apiv1beta2/storagepb/storage.pb.go @@ -359,6 +359,7 @@ type ReadRowsResponse struct { // Row data is returned in format specified during session creation. // // Types that are assignable to Rows: + // // *ReadRowsResponse_AvroRows // *ReadRowsResponse_ArrowRecordBatch Rows isReadRowsResponse_Rows `protobuf_oneof:"rows"` @@ -376,6 +377,7 @@ type ReadRowsResponse struct { // RPC. // // Types that are assignable to Schema: + // // *ReadRowsResponse_AvroSchema // *ReadRowsResponse_ArrowSchema Schema isReadRowsResponse_Schema `protobuf_oneof:"schema"` @@ -718,6 +720,7 @@ type AppendRowsRequest struct { // initial request. // // Types that are assignable to Rows: + // // *AppendRowsRequest_ProtoRows Rows isAppendRowsRequest_Rows `protobuf_oneof:"rows"` // Id set by client to annotate its identity. Only initial request setting is @@ -810,6 +813,7 @@ type AppendRowsResponse struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Response: + // // *AppendRowsResponse_AppendResult_ // *AppendRowsResponse_Error Response isAppendRowsResponse_Response `protobuf_oneof:"response"` diff --git a/bigquery/storage/apiv1beta2/storagepb/stream.pb.go b/bigquery/storage/apiv1beta2/storagepb/stream.pb.go index 7a0eb8a93cb..d9226ee5bed 100755 --- a/bigquery/storage/apiv1beta2/storagepb/stream.pb.go +++ b/bigquery/storage/apiv1beta2/storagepb/stream.pb.go @@ -169,6 +169,7 @@ type ReadSession struct { // the selected fields. // // Types that are assignable to Schema: + // // *ReadSession_AvroSchema // *ReadSession_ArrowSchema Schema isReadSession_Schema `protobuf_oneof:"schema"` @@ -517,10 +518,11 @@ type ReadSession_TableReadOptions struct { // Aggregates are not supported. // // Examples: "int_field > 5" - // "date_field = CAST('2014-9-27' as DATE)" - // "nullable_field is not NULL" - // "st_equals(geo_field, st_geofromtext("POINT(2, 2)"))" - // "numeric_field BETWEEN 1.0 AND 5.0" + // + // "date_field = CAST('2014-9-27' as DATE)" + // "nullable_field is not NULL" + // "st_equals(geo_field, st_geofromtext("POINT(2, 2)"))" + // "numeric_field BETWEEN 1.0 AND 5.0" // // Restricted to a maximum length for 1 MB. RowRestriction string `protobuf:"bytes,2,opt,name=row_restriction,json=rowRestriction,proto3" json:"row_restriction,omitempty"` diff --git a/billing/apiv1/billingpb/cloud_billing.pb.go b/billing/apiv1/billingpb/cloud_billing.pb.go index d84a611a690..beabea5b54c 100755 --- a/billing/apiv1/billingpb/cloud_billing.pb.go +++ b/billing/apiv1/billingpb/cloud_billing.pb.go @@ -450,7 +450,7 @@ type CreateBillingAccountRequest struct { // - `organizations/{organization_id}`, for example, // `organizations/12345678` // - `billingAccounts/{billing_account_id}`, for example, - // `billingAccounts/012345-567890-ABCDEF` + // `billingAccounts/012345-567890-ABCDEF` Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"` } diff --git a/billing/budgets/apiv1/budgetspb/budget_model.pb.go b/billing/budgets/apiv1/budgetspb/budget_model.pb.go index d862ca1bc96..910db730ce7 100755 --- a/billing/budgets/apiv1/budgetspb/budget_model.pb.go +++ b/billing/budgets/apiv1/budgetspb/budget_model.pb.go @@ -354,6 +354,7 @@ type BudgetAmount struct { // Specification for what amount to use as the budget. // // Types that are assignable to BudgetAmount: + // // *BudgetAmount_SpecifiedAmount // *BudgetAmount_LastPeriodAmount BudgetAmount isBudgetAmount_BudgetAmount `protobuf_oneof:"budget_amount"` @@ -764,14 +765,15 @@ type Filter struct { // An object containing a single `"key": value` pair. Example: `{ "name": // "wrench" }`. // - // _Currently, multiple entries or multiple values per entry are not - // allowed._ + // _Currently, multiple entries or multiple values per entry are not + // allowed._ Labels map[string]*structpb.ListValue `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Multiple options to choose the budget's time period, specifying that only // usage that occurs during this time period should be included in the budget. // If not set, the usage_period defaults to CalendarPeriod.MONTH. // // Types that are assignable to UsagePeriod: + // // *Filter_CalendarPeriod // *Filter_CustomPeriod UsagePeriod isFilter_UsagePeriod `protobuf_oneof:"usage_period"` diff --git a/billing/budgets/apiv1beta1/budgetspb/budget_model.pb.go b/billing/budgets/apiv1beta1/budgetspb/budget_model.pb.go index 6aeaa62a5aa..492f0eff4ce 100755 --- a/billing/budgets/apiv1beta1/budgetspb/budget_model.pb.go +++ b/billing/budgets/apiv1beta1/budgetspb/budget_model.pb.go @@ -354,6 +354,7 @@ type BudgetAmount struct { // Specification for what amount to use as the budget. // // Types that are assignable to BudgetAmount: + // // *BudgetAmount_SpecifiedAmount // *BudgetAmount_LastPeriodAmount BudgetAmount isBudgetAmount_BudgetAmount `protobuf_oneof:"budget_amount"` @@ -737,14 +738,15 @@ type Filter struct { // An object containing a single `"key": value` pair. Example: `{ "name": // "wrench" }`. // - // _Currently, multiple entries or multiple values per entry are not - // allowed._ + // _Currently, multiple entries or multiple values per entry are not + // allowed._ Labels map[string]*structpb.ListValue `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Multiple options to choose the budget's time period, specifying that only // usage that occurs during this time period should be included in the budget. // If not set, the usage_period defaults to CalendarPeriod.MONTH. // // Types that are assignable to UsagePeriod: + // // *Filter_CalendarPeriod // *Filter_CustomPeriod UsagePeriod isFilter_UsagePeriod `protobuf_oneof:"usage_period"` diff --git a/binaryauthorization/apiv1/binaryauthorizationpb/resources.pb.go b/binaryauthorization/apiv1/binaryauthorizationpb/resources.pb.go index 6c21061f8f8..340f24fbc68 100755 --- a/binaryauthorization/apiv1/binaryauthorizationpb/resources.pb.go +++ b/binaryauthorization/apiv1/binaryauthorizationpb/resources.pb.go @@ -605,6 +605,7 @@ type Attestor struct { // The field may be displayed in chooser dialogs. Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` // Types that are assignable to AttestorType: + // // *Attestor_UserOwnedGrafeasNote AttestorType isAttestor_AttestorType `protobuf_oneof:"attestor_type"` // Output only. Time when the attestor was last updated. @@ -864,6 +865,7 @@ type AttestorPublicKey struct { // for details. Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` // Types that are assignable to PublicKey: + // // *AttestorPublicKey_AsciiArmoredPgpPublicKey // *AttestorPublicKey_PkixPublicKey PublicKey isAttestorPublicKey_PublicKey `protobuf_oneof:"public_key"` diff --git a/binaryauthorization/apiv1beta1/binaryauthorizationpb/continuous_validation_logging.pb.go b/binaryauthorization/apiv1beta1/binaryauthorizationpb/continuous_validation_logging.pb.go index 4e8bd2716a5..4fba1d169a0 100755 --- a/binaryauthorization/apiv1beta1/binaryauthorizationpb/continuous_validation_logging.pb.go +++ b/binaryauthorization/apiv1beta1/binaryauthorizationpb/continuous_validation_logging.pb.go @@ -256,6 +256,7 @@ type ContinuousValidationEvent struct { // Type of CV event. // // Types that are assignable to EventType: + // // *ContinuousValidationEvent_PodEvent // *ContinuousValidationEvent_ConfigErrorEvent_ EventType isContinuousValidationEvent_EventType `protobuf_oneof:"event_type"` @@ -698,6 +699,7 @@ type ContinuousValidationEvent_ContinuousValidationPodEvent_ImageDetails_CheckRe unknownFields protoimpl.UnknownFields // Types that are assignable to Scope: + // // *ContinuousValidationEvent_ContinuousValidationPodEvent_ImageDetails_CheckResult_CheckSetScope_KubernetesServiceAccount // *ContinuousValidationEvent_ContinuousValidationPodEvent_ImageDetails_CheckResult_CheckSetScope_KubernetesNamespace Scope isContinuousValidationEvent_ContinuousValidationPodEvent_ImageDetails_CheckResult_CheckSetScope_Scope `protobuf_oneof:"scope"` diff --git a/binaryauthorization/apiv1beta1/binaryauthorizationpb/resources.pb.go b/binaryauthorization/apiv1beta1/binaryauthorizationpb/resources.pb.go index a9d10ab18dc..65dc0ad5755 100755 --- a/binaryauthorization/apiv1beta1/binaryauthorizationpb/resources.pb.go +++ b/binaryauthorization/apiv1beta1/binaryauthorizationpb/resources.pb.go @@ -337,7 +337,8 @@ type Policy struct { // https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters. ClusterAdmissionRules map[string]*AdmissionRule `protobuf:"bytes,3,rep,name=cluster_admission_rules,json=clusterAdmissionRules,proto3" json:"cluster_admission_rules,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Optional. Per-kubernetes-namespace admission rules. K8s namespace spec format: - // `[a-z.-]+`, e.g. `some-namespace` + // + // `[a-z.-]+`, e.g. `some-namespace` KubernetesNamespaceAdmissionRules map[string]*AdmissionRule `protobuf:"bytes,10,rep,name=kubernetes_namespace_admission_rules,json=kubernetesNamespaceAdmissionRules,proto3" json:"kubernetes_namespace_admission_rules,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Optional. Per-kubernetes-service-account admission rules. Service account // spec format: `namespace:serviceaccount`. e.g. `test-ns:default` @@ -614,6 +615,7 @@ type Attestor struct { // attestor fields may be updated. // // Types that are assignable to AttestorType: + // // *Attestor_UserOwnedDrydockNote AttestorType isAttestor_AttestorType `protobuf_oneof:"attestor_type"` // Output only. Time when the attestor was last updated. @@ -875,6 +877,7 @@ type AttestorPublicKey struct { // updated. // // Types that are assignable to PublicKey: + // // *AttestorPublicKey_AsciiArmoredPgpPublicKey // *AttestorPublicKey_PkixPublicKey PublicKey isAttestorPublicKey_PublicKey `protobuf_oneof:"public_key"` diff --git a/certificatemanager/apiv1/certificatemanagerpb/certificate_issuance_config.pb.go b/certificatemanager/apiv1/certificatemanagerpb/certificate_issuance_config.pb.go index 8851c33f762..7edbe43730d 100755 --- a/certificatemanager/apiv1/certificatemanagerpb/certificate_issuance_config.pb.go +++ b/certificatemanager/apiv1/certificatemanagerpb/certificate_issuance_config.pb.go @@ -553,6 +553,7 @@ type CertificateIssuanceConfig_CertificateAuthorityConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Kind: + // // *CertificateIssuanceConfig_CertificateAuthorityConfig_CertificateAuthorityServiceConfig_ Kind isCertificateIssuanceConfig_CertificateAuthorityConfig_Kind `protobuf_oneof:"kind"` } diff --git a/certificatemanager/apiv1/certificatemanagerpb/certificate_manager.pb.go b/certificatemanager/apiv1/certificatemanagerpb/certificate_manager.pb.go index 8f58d70d6d6..afff55a24ed 100755 --- a/certificatemanager/apiv1/certificatemanagerpb/certificate_manager.pb.go +++ b/certificatemanager/apiv1/certificatemanagerpb/certificate_manager.pb.go @@ -2117,6 +2117,7 @@ type Certificate struct { // Set of labels associated with a Certificate. Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Types that are assignable to Type: + // // *Certificate_SelfManaged // *Certificate_Managed Type isCertificate_Type `protobuf_oneof:"type"` @@ -2384,6 +2385,7 @@ type CertificateMapEntry struct { // Set of labels associated with a Certificate Map Entry. Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Types that are assignable to Match: + // // *CertificateMapEntry_Hostname // *CertificateMapEntry_Matcher_ Match isCertificateMapEntry_Match `protobuf_oneof:"match"` @@ -2944,6 +2946,7 @@ type CertificateMap_GclbTarget struct { // A Target Proxy to which this map is attached to. // // Types that are assignable to TargetProxy: + // // *CertificateMap_GclbTarget_TargetHttpsProxy // *CertificateMap_GclbTarget_TargetSslProxy TargetProxy isCertificateMap_GclbTarget_TargetProxy `protobuf_oneof:"target_proxy"` diff --git a/channel/apiv1/channelpb/common.pb.go b/channel/apiv1/channelpb/common.pb.go index 5d153b8bd50..a980b879ba3 100755 --- a/channel/apiv1/channelpb/common.pb.go +++ b/channel/apiv1/channelpb/common.pb.go @@ -408,6 +408,7 @@ type Value struct { // The kind of value. // // Types that are assignable to Kind: + // // *Value_Int64Value // *Value_StringValue // *Value_DoubleValue diff --git a/channel/apiv1/channelpb/entitlement_changes.pb.go b/channel/apiv1/channelpb/entitlement_changes.pb.go index 5192c77ec76..ca5aa3cf248 100755 --- a/channel/apiv1/channelpb/entitlement_changes.pb.go +++ b/channel/apiv1/channelpb/entitlement_changes.pb.go @@ -334,6 +334,7 @@ type EntitlementChange struct { // The reason the change was made // // Types that are assignable to ChangeReason: + // // *EntitlementChange_SuspensionReason // *EntitlementChange_CancellationReason_ // *EntitlementChange_ActivationReason_ diff --git a/channel/apiv1/channelpb/entitlements.pb.go b/channel/apiv1/channelpb/entitlements.pb.go index ce2044bfdca..a3da4c2836a 100755 --- a/channel/apiv1/channelpb/entitlements.pb.go +++ b/channel/apiv1/channelpb/entitlements.pb.go @@ -264,7 +264,7 @@ type Entitlement struct { // // - max_units: The maximum assignable units for a flexible offer // - // OR + // # OR // // - num_units: The total commitment for commitment-based offers // diff --git a/channel/apiv1/channelpb/reports_service.pb.go b/channel/apiv1/channelpb/reports_service.pb.go index c985f1c079b..0ea1ce0b81e 100755 --- a/channel/apiv1/channelpb/reports_service.pb.go +++ b/channel/apiv1/channelpb/reports_service.pb.go @@ -1048,6 +1048,7 @@ type ReportValue struct { // A single report value. // // Types that are assignable to Value: + // // *ReportValue_StringValue // *ReportValue_IntValue // *ReportValue_DecimalValue @@ -1922,14 +1923,14 @@ type CloudChannelReportsServiceClient interface { // // Possible error codes: // - // * PERMISSION_DENIED: The user doesn't have access to this report. - // * INVALID_ARGUMENT: Required request parameters are missing - // or invalid. - // * NOT_FOUND: The report identifier was not found. - // * INTERNAL: Any non-user error related to a technical issue - // in the backend. Contact Cloud Channel support. - // * UNKNOWN: Any non-user error related to a technical issue - // in the backend. Contact Cloud Channel support. + // - PERMISSION_DENIED: The user doesn't have access to this report. + // - INVALID_ARGUMENT: Required request parameters are missing + // or invalid. + // - NOT_FOUND: The report identifier was not found. + // - INTERNAL: Any non-user error related to a technical issue + // in the backend. Contact Cloud Channel support. + // - UNKNOWN: Any non-user error related to a technical issue + // in the backend. Contact Cloud Channel support. // // Return value: // The ID of a long-running operation. @@ -2014,14 +2015,14 @@ type CloudChannelReportsServiceServer interface { // // Possible error codes: // - // * PERMISSION_DENIED: The user doesn't have access to this report. - // * INVALID_ARGUMENT: Required request parameters are missing - // or invalid. - // * NOT_FOUND: The report identifier was not found. - // * INTERNAL: Any non-user error related to a technical issue - // in the backend. Contact Cloud Channel support. - // * UNKNOWN: Any non-user error related to a technical issue - // in the backend. Contact Cloud Channel support. + // - PERMISSION_DENIED: The user doesn't have access to this report. + // - INVALID_ARGUMENT: Required request parameters are missing + // or invalid. + // - NOT_FOUND: The report identifier was not found. + // - INTERNAL: Any non-user error related to a technical issue + // in the backend. Contact Cloud Channel support. + // - UNKNOWN: Any non-user error related to a technical issue + // in the backend. Contact Cloud Channel support. // // Return value: // The ID of a long-running operation. diff --git a/channel/apiv1/channelpb/repricing.pb.go b/channel/apiv1/channelpb/repricing.pb.go index f281d50f70f..612fe11ff04 100755 --- a/channel/apiv1/channelpb/repricing.pb.go +++ b/channel/apiv1/channelpb/repricing.pb.go @@ -251,6 +251,7 @@ type RepricingConfig struct { // Required. Defines the granularity for repricing. // // Types that are assignable to Granularity: + // // *RepricingConfig_EntitlementGranularity_ // *RepricingConfig_ChannelPartnerGranularity_ Granularity isRepricingConfig_Granularity `protobuf_oneof:"granularity"` @@ -398,6 +399,7 @@ type RepricingAdjustment struct { // A oneof that represents the different types for this adjustment. // // Types that are assignable to Adjustment: + // // *RepricingAdjustment_PercentageAdjustment Adjustment isRepricingAdjustment_Adjustment `protobuf_oneof:"adjustment"` } @@ -591,6 +593,7 @@ type RepricingCondition struct { // Represents the types of existing conditional statements. // // Types that are assignable to Condition: + // // *RepricingCondition_SkuGroupCondition Condition isRepricingCondition_Condition `protobuf_oneof:"condition"` } diff --git a/channel/apiv1/channelpb/service.pb.go b/channel/apiv1/channelpb/service.pb.go index 13f9980d020..8947db481cc 100755 --- a/channel/apiv1/channelpb/service.pb.go +++ b/channel/apiv1/channelpb/service.pb.go @@ -671,6 +671,7 @@ type ImportCustomerRequest struct { // option is valid. // // Types that are assignable to CustomerIdentity: + // // *ImportCustomerRequest_Domain // *ImportCustomerRequest_CloudIdentityId CustomerIdentity isImportCustomerRequest_CustomerIdentity `protobuf_oneof:"customer_identity"` @@ -1033,6 +1034,7 @@ type ListTransferableSkusRequest struct { // required to look up transferable SKUs. // // Types that are assignable to TransferredCustomerIdentity: + // // *ListTransferableSkusRequest_CloudIdentityId // *ListTransferableSkusRequest_CustomerName TransferredCustomerIdentity isListTransferableSkusRequest_TransferredCustomerIdentity `protobuf_oneof:"transferred_customer_identity"` @@ -1248,6 +1250,7 @@ type ListTransferableOffersRequest struct { // required to look up transferrable Offers. // // Types that are assignable to TransferredCustomerIdentity: + // // *ListTransferableOffersRequest_CloudIdentityId // *ListTransferableOffersRequest_CustomerName TransferredCustomerIdentity isListTransferableOffersRequest_TransferredCustomerIdentity `protobuf_oneof:"transferred_customer_identity"` @@ -4456,6 +4459,7 @@ type ListPurchasableSkusRequest struct { // Defines the intended purchase. // // Types that are assignable to PurchaseOption: + // // *ListPurchasableSkusRequest_CreateEntitlementPurchase_ // *ListPurchasableSkusRequest_ChangeOfferPurchase_ PurchaseOption isListPurchasableSkusRequest_PurchaseOption `protobuf_oneof:"purchase_option"` @@ -4692,6 +4696,7 @@ type ListPurchasableOffersRequest struct { // Defines the intended purchase. // // Types that are assignable to PurchaseOption: + // // *ListPurchasableOffersRequest_CreateEntitlementPurchase_ // *ListPurchasableOffersRequest_ChangeOfferPurchase_ PurchaseOption isListPurchasableOffersRequest_PurchaseOption `protobuf_oneof:"purchase_option"` @@ -5509,8 +5514,8 @@ type ListEntitlementChangesRequest struct { // entitlement changes. The `-` wildcard may be used to match entitlements // across a customer. Formats: // - // * accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id} - // * accounts/{account_id}/customers/{customer_id}/entitlements/- + // - accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id} + // - accounts/{account_id}/customers/{customer_id}/entitlements/- Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. The maximum number of entitlement changes to return. The service // may return fewer than this value. If unspecified, returns at most 10 @@ -8850,13 +8855,14 @@ type CloudChannelServiceClient interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The reseller account making the request is different from the + // - The reseller account making the request is different from the // reseller account in the API request. - // * You are not authorized to create a customer. See + // - You are not authorized to create a customer. See // https://support.google.com/channelservices/answer/9759265 + // // * INVALID_ARGUMENT: - // * Required request parameters are missing or invalid. - // * Domain field value doesn't match the primary email domain. + // - Required request parameters are missing or invalid. + // - Domain field value doesn't match the primary email domain. // // Return value: // The newly created [Customer][google.cloud.channel.v1.Customer] resource. @@ -8894,10 +8900,11 @@ type CloudChannelServiceClient interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The reseller account making the request is different from the + // - The reseller account making the request is different from the // reseller account in the API request. - // * You are not authorized to import the customer. See + // - You are not authorized to import the customer. See // https://support.google.com/channelservices/answer/9759265 + // // * NOT_FOUND: Cloud Identity doesn't exist or was deleted. // * INVALID_ARGUMENT: Required parameters are missing, or the auth_token is // expired or invalid. @@ -8913,14 +8920,15 @@ type CloudChannelServiceClient interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The customer doesn't belong to the reseller. - // * You are not authorized to provision cloud identity id. See - // https://support.google.com/channelservices/answer/9759265 - // * INVALID_ARGUMENT: Required request parameters are missing or invalid. - // * NOT_FOUND: The customer was not found. - // * ALREADY_EXISTS: The customer's primary email already exists. Retry - // after changing the customer's primary contact email. - // * INTERNAL: Any non-user error related to a technical issue in the + // - The customer doesn't belong to the reseller. + // - You are not authorized to provision cloud identity id. See + // https://support.google.com/channelservices/answer/9759265 + // - INVALID_ARGUMENT: Required request parameters are missing or invalid. + // - NOT_FOUND: The customer was not found. + // - ALREADY_EXISTS: The customer's primary email already exists. Retry + // after changing the customer's primary contact email. + // - INTERNAL: Any non-user error related to a technical issue in the + // // backend. Contact Cloud Channel support. // * UNKNOWN: Any non-user error related to a technical issue in the backend. // Contact Cloud Channel support. @@ -8954,10 +8962,11 @@ type CloudChannelServiceClient interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The customer doesn't belong to the reseller and has no auth token. - // * The supplied auth token is invalid. - // * The reseller account making the request is different + // - The customer doesn't belong to the reseller and has no auth token. + // - The supplied auth token is invalid. + // - The reseller account making the request is different // from the reseller account in the query. + // // * INVALID_ARGUMENT: Required request parameters are missing or invalid. // // Return value: @@ -8974,13 +8983,14 @@ type CloudChannelServiceClient interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The customer doesn't belong to the reseller and has no auth token. - // * The customer provided incorrect reseller information when generating + // - The customer doesn't belong to the reseller and has no auth token. + // - The customer provided incorrect reseller information when generating // auth token. - // * The reseller account making the request is different + // - The reseller account making the request is different // from the reseller account in the query. - // * The reseller is not authorized to transact on this Product. See + // - The reseller is not authorized to transact on this Product. See // https://support.google.com/channelservices/answer/9759265 + // // * INVALID_ARGUMENT: Required request parameters are missing or invalid. // // Return value: @@ -9004,29 +9014,33 @@ type CloudChannelServiceClient interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The customer doesn't belong to the reseller. - // * The reseller is not authorized to transact on this Product. See + // - The customer doesn't belong to the reseller. + // - The reseller is not authorized to transact on this Product. See // https://support.google.com/channelservices/answer/9759265 + // // * INVALID_ARGUMENT: - // * Required request parameters are missing or invalid. - // * There is already a customer entitlement for a SKU from the same + // - Required request parameters are missing or invalid. + // - There is already a customer entitlement for a SKU from the same // product family. + // // * INVALID_VALUE: Make sure the OfferId is valid. If it is, contact // Google Channel support for further troubleshooting. // * NOT_FOUND: The customer or offer resource was not found. // * ALREADY_EXISTS: - // * The SKU was already purchased for the customer. - // * The customer's primary email already exists. Retry + // - The SKU was already purchased for the customer. + // - The customer's primary email already exists. Retry // after changing the customer's primary contact email. + // // * CONDITION_NOT_MET or FAILED_PRECONDITION: - // * The domain required for purchasing a SKU has not been verified. - // * A pre-requisite SKU required to purchase an Add-On SKU is missing. + // - The domain required for purchasing a SKU has not been verified. + // - A pre-requisite SKU required to purchase an Add-On SKU is missing. // For example, Google Workspace Business Starter is required to purchase // Vault or Drive. - // * (Developer accounts only) Reseller and resold domain must meet the + // - (Developer accounts only) Reseller and resold domain must meet the // following naming requirements: - // * Domain names must start with goog-test. - // * Domain names must include the reseller domain. + // - Domain names must start with goog-test. + // - Domain names must include the reseller domain. + // // * INTERNAL: Any non-user error related to a technical issue in the // backend. Contact Cloud Channel support. // * UNKNOWN: Any non-user error related to a technical issue in the backend. @@ -9077,8 +9091,8 @@ type CloudChannelServiceClient interface { // commitment plan. Can't enable or disable renewals for non-commitment plans. // * INTERNAL: Any non-user error related to a technical issue in the // backend. Contact Cloud Channel support. - // * UNKNOWN: Any non-user error related to a technical issue in the backend. - // Contact Cloud Channel support. + // - UNKNOWN: Any non-user error related to a technical issue in the backend. + // Contact Cloud Channel support. // // Return value: // The ID of a long-running operation. @@ -9216,22 +9230,24 @@ type CloudChannelServiceClient interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The customer doesn't belong to the reseller. - // * The reseller is not authorized to transact on this Product. See + // - The customer doesn't belong to the reseller. + // - The reseller is not authorized to transact on this Product. See // https://support.google.com/channelservices/answer/9759265 + // // * INVALID_ARGUMENT: Required request parameters are missing or invalid. // * NOT_FOUND: The customer or offer resource was not found. // * ALREADY_EXISTS: The SKU was already transferred for the customer. // * CONDITION_NOT_MET or FAILED_PRECONDITION: - // * The SKU requires domain verification to transfer, but the domain is + // - The SKU requires domain verification to transfer, but the domain is // not verified. - // * An Add-On SKU (example, Vault or Drive) is missing the + // - An Add-On SKU (example, Vault or Drive) is missing the // pre-requisite SKU (example, G Suite Basic). - // * (Developer accounts only) Reseller and resold domain must meet the + // - (Developer accounts only) Reseller and resold domain must meet the // following naming requirements: - // * Domain names must start with goog-test. - // * Domain names must include the reseller domain. - // * Specify all transferring entitlements. + // - Domain names must start with goog-test. + // - Domain names must include the reseller domain. + // - Specify all transferring entitlements. + // // * INTERNAL: Any non-user error related to a technical issue in the // backend. Contact Cloud Channel support. // * UNKNOWN: Any non-user error related to a technical issue in the backend. @@ -9253,14 +9269,15 @@ type CloudChannelServiceClient interface { // * NOT_FOUND: The customer or offer resource was not found. // * ALREADY_EXISTS: The SKU was already transferred for the customer. // * CONDITION_NOT_MET or FAILED_PRECONDITION: - // * The SKU requires domain verification to transfer, but the domain is + // - The SKU requires domain verification to transfer, but the domain is // not verified. - // * An Add-On SKU (example, Vault or Drive) is missing the + // - An Add-On SKU (example, Vault or Drive) is missing the // pre-requisite SKU (example, G Suite Basic). - // * (Developer accounts only) Reseller and resold domain must meet the + // - (Developer accounts only) Reseller and resold domain must meet the // following naming requirements: - // * Domain names must start with goog-test. - // * Domain names must include the reseller domain. + // - Domain names must start with goog-test. + // - Domain names must include the reseller domain. + // // * INTERNAL: Any non-user error related to a technical issue in the // backend. Contact Cloud Channel support. // * UNKNOWN: Any non-user error related to a technical issue in the backend. @@ -9336,10 +9353,11 @@ type CloudChannelServiceClient interface { // * PERMISSION_DENIED: The reseller account making the request is different // from the reseller account in the API request. // * INVALID_ARGUMENT: - // * Required request parameters are missing or invalid. - // * Link state cannot change from invited to active or suspended. - // * Cannot send reseller_cloud_identity_id, invite_url, or name in update + // - Required request parameters are missing or invalid. + // - Link state cannot change from invited to active or suspended. + // - Cannot send reseller_cloud_identity_id, invite_url, or name in update // mask. + // // * NOT_FOUND: ChannelPartnerLink resource not found. // * INTERNAL: Any non-user error related to a technical issue in the // backend. Contact Cloud Channel support. @@ -9713,9 +9731,10 @@ type CloudChannelServiceClient interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The customer doesn't belong to the reseller - // * The reseller is not authorized to transact on this Product. See + // - The customer doesn't belong to the reseller + // - The reseller is not authorized to transact on this Product. See // https://support.google.com/channelservices/answer/9759265 + // // * INVALID_ARGUMENT: Required request parameters are missing or invalid. ListPurchasableOffers(ctx context.Context, in *ListPurchasableOffersRequest, opts ...grpc.CallOption) (*ListPurchasableOffersResponse, error) // Lists the billing accounts that are eligible to purchase particular SKUs @@ -10312,13 +10331,14 @@ type CloudChannelServiceServer interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The reseller account making the request is different from the + // - The reseller account making the request is different from the // reseller account in the API request. - // * You are not authorized to create a customer. See + // - You are not authorized to create a customer. See // https://support.google.com/channelservices/answer/9759265 + // // * INVALID_ARGUMENT: - // * Required request parameters are missing or invalid. - // * Domain field value doesn't match the primary email domain. + // - Required request parameters are missing or invalid. + // - Domain field value doesn't match the primary email domain. // // Return value: // The newly created [Customer][google.cloud.channel.v1.Customer] resource. @@ -10356,10 +10376,11 @@ type CloudChannelServiceServer interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The reseller account making the request is different from the + // - The reseller account making the request is different from the // reseller account in the API request. - // * You are not authorized to import the customer. See + // - You are not authorized to import the customer. See // https://support.google.com/channelservices/answer/9759265 + // // * NOT_FOUND: Cloud Identity doesn't exist or was deleted. // * INVALID_ARGUMENT: Required parameters are missing, or the auth_token is // expired or invalid. @@ -10375,14 +10396,15 @@ type CloudChannelServiceServer interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The customer doesn't belong to the reseller. - // * You are not authorized to provision cloud identity id. See - // https://support.google.com/channelservices/answer/9759265 - // * INVALID_ARGUMENT: Required request parameters are missing or invalid. - // * NOT_FOUND: The customer was not found. - // * ALREADY_EXISTS: The customer's primary email already exists. Retry - // after changing the customer's primary contact email. - // * INTERNAL: Any non-user error related to a technical issue in the + // - The customer doesn't belong to the reseller. + // - You are not authorized to provision cloud identity id. See + // https://support.google.com/channelservices/answer/9759265 + // - INVALID_ARGUMENT: Required request parameters are missing or invalid. + // - NOT_FOUND: The customer was not found. + // - ALREADY_EXISTS: The customer's primary email already exists. Retry + // after changing the customer's primary contact email. + // - INTERNAL: Any non-user error related to a technical issue in the + // // backend. Contact Cloud Channel support. // * UNKNOWN: Any non-user error related to a technical issue in the backend. // Contact Cloud Channel support. @@ -10416,10 +10438,11 @@ type CloudChannelServiceServer interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The customer doesn't belong to the reseller and has no auth token. - // * The supplied auth token is invalid. - // * The reseller account making the request is different + // - The customer doesn't belong to the reseller and has no auth token. + // - The supplied auth token is invalid. + // - The reseller account making the request is different // from the reseller account in the query. + // // * INVALID_ARGUMENT: Required request parameters are missing or invalid. // // Return value: @@ -10436,13 +10459,14 @@ type CloudChannelServiceServer interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The customer doesn't belong to the reseller and has no auth token. - // * The customer provided incorrect reseller information when generating + // - The customer doesn't belong to the reseller and has no auth token. + // - The customer provided incorrect reseller information when generating // auth token. - // * The reseller account making the request is different + // - The reseller account making the request is different // from the reseller account in the query. - // * The reseller is not authorized to transact on this Product. See + // - The reseller is not authorized to transact on this Product. See // https://support.google.com/channelservices/answer/9759265 + // // * INVALID_ARGUMENT: Required request parameters are missing or invalid. // // Return value: @@ -10466,29 +10490,33 @@ type CloudChannelServiceServer interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The customer doesn't belong to the reseller. - // * The reseller is not authorized to transact on this Product. See + // - The customer doesn't belong to the reseller. + // - The reseller is not authorized to transact on this Product. See // https://support.google.com/channelservices/answer/9759265 + // // * INVALID_ARGUMENT: - // * Required request parameters are missing or invalid. - // * There is already a customer entitlement for a SKU from the same + // - Required request parameters are missing or invalid. + // - There is already a customer entitlement for a SKU from the same // product family. + // // * INVALID_VALUE: Make sure the OfferId is valid. If it is, contact // Google Channel support for further troubleshooting. // * NOT_FOUND: The customer or offer resource was not found. // * ALREADY_EXISTS: - // * The SKU was already purchased for the customer. - // * The customer's primary email already exists. Retry + // - The SKU was already purchased for the customer. + // - The customer's primary email already exists. Retry // after changing the customer's primary contact email. + // // * CONDITION_NOT_MET or FAILED_PRECONDITION: - // * The domain required for purchasing a SKU has not been verified. - // * A pre-requisite SKU required to purchase an Add-On SKU is missing. + // - The domain required for purchasing a SKU has not been verified. + // - A pre-requisite SKU required to purchase an Add-On SKU is missing. // For example, Google Workspace Business Starter is required to purchase // Vault or Drive. - // * (Developer accounts only) Reseller and resold domain must meet the + // - (Developer accounts only) Reseller and resold domain must meet the // following naming requirements: - // * Domain names must start with goog-test. - // * Domain names must include the reseller domain. + // - Domain names must start with goog-test. + // - Domain names must include the reseller domain. + // // * INTERNAL: Any non-user error related to a technical issue in the // backend. Contact Cloud Channel support. // * UNKNOWN: Any non-user error related to a technical issue in the backend. @@ -10539,8 +10567,8 @@ type CloudChannelServiceServer interface { // commitment plan. Can't enable or disable renewals for non-commitment plans. // * INTERNAL: Any non-user error related to a technical issue in the // backend. Contact Cloud Channel support. - // * UNKNOWN: Any non-user error related to a technical issue in the backend. - // Contact Cloud Channel support. + // - UNKNOWN: Any non-user error related to a technical issue in the backend. + // Contact Cloud Channel support. // // Return value: // The ID of a long-running operation. @@ -10678,22 +10706,24 @@ type CloudChannelServiceServer interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The customer doesn't belong to the reseller. - // * The reseller is not authorized to transact on this Product. See + // - The customer doesn't belong to the reseller. + // - The reseller is not authorized to transact on this Product. See // https://support.google.com/channelservices/answer/9759265 + // // * INVALID_ARGUMENT: Required request parameters are missing or invalid. // * NOT_FOUND: The customer or offer resource was not found. // * ALREADY_EXISTS: The SKU was already transferred for the customer. // * CONDITION_NOT_MET or FAILED_PRECONDITION: - // * The SKU requires domain verification to transfer, but the domain is + // - The SKU requires domain verification to transfer, but the domain is // not verified. - // * An Add-On SKU (example, Vault or Drive) is missing the + // - An Add-On SKU (example, Vault or Drive) is missing the // pre-requisite SKU (example, G Suite Basic). - // * (Developer accounts only) Reseller and resold domain must meet the + // - (Developer accounts only) Reseller and resold domain must meet the // following naming requirements: - // * Domain names must start with goog-test. - // * Domain names must include the reseller domain. - // * Specify all transferring entitlements. + // - Domain names must start with goog-test. + // - Domain names must include the reseller domain. + // - Specify all transferring entitlements. + // // * INTERNAL: Any non-user error related to a technical issue in the // backend. Contact Cloud Channel support. // * UNKNOWN: Any non-user error related to a technical issue in the backend. @@ -10715,14 +10745,15 @@ type CloudChannelServiceServer interface { // * NOT_FOUND: The customer or offer resource was not found. // * ALREADY_EXISTS: The SKU was already transferred for the customer. // * CONDITION_NOT_MET or FAILED_PRECONDITION: - // * The SKU requires domain verification to transfer, but the domain is + // - The SKU requires domain verification to transfer, but the domain is // not verified. - // * An Add-On SKU (example, Vault or Drive) is missing the + // - An Add-On SKU (example, Vault or Drive) is missing the // pre-requisite SKU (example, G Suite Basic). - // * (Developer accounts only) Reseller and resold domain must meet the + // - (Developer accounts only) Reseller and resold domain must meet the // following naming requirements: - // * Domain names must start with goog-test. - // * Domain names must include the reseller domain. + // - Domain names must start with goog-test. + // - Domain names must include the reseller domain. + // // * INTERNAL: Any non-user error related to a technical issue in the // backend. Contact Cloud Channel support. // * UNKNOWN: Any non-user error related to a technical issue in the backend. @@ -10798,10 +10829,11 @@ type CloudChannelServiceServer interface { // * PERMISSION_DENIED: The reseller account making the request is different // from the reseller account in the API request. // * INVALID_ARGUMENT: - // * Required request parameters are missing or invalid. - // * Link state cannot change from invited to active or suspended. - // * Cannot send reseller_cloud_identity_id, invite_url, or name in update + // - Required request parameters are missing or invalid. + // - Link state cannot change from invited to active or suspended. + // - Cannot send reseller_cloud_identity_id, invite_url, or name in update // mask. + // // * NOT_FOUND: ChannelPartnerLink resource not found. // * INTERNAL: Any non-user error related to a technical issue in the // backend. Contact Cloud Channel support. @@ -11175,9 +11207,10 @@ type CloudChannelServiceServer interface { // Possible error codes: // // * PERMISSION_DENIED: - // * The customer doesn't belong to the reseller - // * The reseller is not authorized to transact on this Product. See + // - The customer doesn't belong to the reseller + // - The reseller is not authorized to transact on this Product. See // https://support.google.com/channelservices/answer/9759265 + // // * INVALID_ARGUMENT: Required request parameters are missing or invalid. ListPurchasableOffers(context.Context, *ListPurchasableOffersRequest) (*ListPurchasableOffersResponse, error) // Lists the billing accounts that are eligible to purchase particular SKUs diff --git a/channel/apiv1/channelpb/subscriber_event.pb.go b/channel/apiv1/channelpb/subscriber_event.pb.go index a8b9c69a23c..a31d5aee7d8 100755 --- a/channel/apiv1/channelpb/subscriber_event.pb.go +++ b/channel/apiv1/channelpb/subscriber_event.pb.go @@ -314,6 +314,7 @@ type SubscriberEvent struct { // This is a required field. // // Types that are assignable to Event: + // // *SubscriberEvent_CustomerEvent // *SubscriberEvent_EntitlementEvent Event isSubscriberEvent_Event `protobuf_oneof:"event"` diff --git a/cloudbuild/apiv1/v2/cloudbuildpb/cloudbuild.pb.go b/cloudbuild/apiv1/v2/cloudbuildpb/cloudbuild.pb.go index af6ea62964e..9041006b914 100755 --- a/cloudbuild/apiv1/v2/cloudbuildpb/cloudbuild.pb.go +++ b/cloudbuild/apiv1/v2/cloudbuildpb/cloudbuild.pb.go @@ -1566,6 +1566,7 @@ type RepoSource struct { // one of these ways. // // Types that are assignable to Revision: + // // *RepoSource_BranchName // *RepoSource_TagName // *RepoSource_CommitSha @@ -1792,6 +1793,7 @@ type Source struct { // Location of source. // // Types that are assignable to Source: + // // *Source_StorageSource // *Source_RepoSource // *Source_GitSource @@ -2812,7 +2814,6 @@ type Build struct { // IAM service account whose credentials will be used at build runtime. // Must be of the format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. // ACCOUNT can be email address or uniqueId of the service account. - // ServiceAccount string `protobuf:"bytes,42,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` // Secrets and secret environment variables. AvailableSecrets *Secrets `protobuf:"bytes,47,opt,name=available_secrets,json=availableSecrets,proto3" json:"available_secrets,omitempty"` @@ -4375,6 +4376,7 @@ type GitRepoSource struct { // The source of the SCM repo. // // Types that are assignable to Source: + // // *GitRepoSource_Repository Source isGitRepoSource_Source `protobuf_oneof:"source"` // The branch or tag to use. Must start with "refs/" (required). @@ -4385,6 +4387,7 @@ type GitRepoSource struct { // to this source. // // Types that are assignable to EnterpriseConfig: + // // *GitRepoSource_GithubEnterpriseConfig EnterpriseConfig isGitRepoSource_EnterpriseConfig `protobuf_oneof:"enterprise_config"` } @@ -4513,6 +4516,7 @@ type GitFileSource struct { // The source of the SCM repo. // // Types that are assignable to Source: + // // *GitFileSource_Repository Source isGitFileSource_Source `protobuf_oneof:"source"` // See RepoType above. @@ -4528,6 +4532,7 @@ type GitFileSource struct { // to this source. // // Types that are assignable to EnterpriseConfig: + // // *GitFileSource_GithubEnterpriseConfig EnterpriseConfig isGitFileSource_EnterpriseConfig `protobuf_oneof:"enterprise_config"` } @@ -4695,6 +4700,7 @@ type BuildTrigger struct { // At least one of the template fields must be provided. // // Types that are assignable to BuildTemplate: + // // *BuildTrigger_Autodetect // *BuildTrigger_Build // *BuildTrigger_Filename @@ -4994,6 +5000,7 @@ type RepositoryEventConfig struct { // The types of filter to trigger a build. // // Types that are assignable to Filter: + // // *RepositoryEventConfig_PullRequest // *RepositoryEventConfig_Push Filter isRepositoryEventConfig_Filter `protobuf_oneof:"filter"` @@ -5106,6 +5113,7 @@ type GitHubEventsConfig struct { // Currently supported event types: push, pull_request. // // Types that are assignable to Event: + // // *GitHubEventsConfig_PullRequest // *GitHubEventsConfig_Push Event isGitHubEventsConfig_Event `protobuf_oneof:"event"` @@ -5294,6 +5302,7 @@ type WebhookConfig struct { // Auth method specifies how the webhook authenticates with GCP. // // Types that are assignable to AuthMethod: + // // *WebhookConfig_Secret AuthMethod isWebhookConfig_AuthMethod `protobuf_oneof:"auth_method"` // Potential issues with the underlying Pub/Sub subscription configuration. @@ -5376,6 +5385,7 @@ type PullRequestFilter struct { // A target ref is the git reference where the pull request will be applied. // // Types that are assignable to GitRef: + // // *PullRequestFilter_Branch GitRef isPullRequestFilter_GitRef `protobuf_oneof:"git_ref"` // Configure builds to run whether a repository owner or collaborator need to @@ -5469,6 +5479,7 @@ type PushFilter struct { // A modified refs are the refs modified by a git push operation. // // Types that are assignable to GitRef: + // // *PushFilter_Branch // *PushFilter_Tag GitRef isPushFilter_GitRef `protobuf_oneof:"git_ref"` @@ -6576,6 +6587,7 @@ type WorkerPool struct { // Configuration for the `WorkerPool`. // // Types that are assignable to Config: + // // *WorkerPool_PrivatePoolV1Config Config isWorkerPool_Config `protobuf_oneof:"config"` // Output only. Checksum computed by the server. May be sent on update and diff --git a/cloudbuild/apiv2/cloudbuildpb/repositories.pb.go b/cloudbuild/apiv2/cloudbuildpb/repositories.pb.go index 85cad88f14a..68a822e7202 100755 --- a/cloudbuild/apiv2/cloudbuildpb/repositories.pb.go +++ b/cloudbuild/apiv2/cloudbuildpb/repositories.pb.go @@ -177,6 +177,7 @@ type Connection struct { // Configuration for the connection depending on the type of provider. // // Types that are assignable to ConnectionConfig: + // // *Connection_GithubConfig // *Connection_GithubEnterpriseConfig // *Connection_GitlabConfig diff --git a/clouddms/apiv1/clouddmspb/clouddms.pb.go b/clouddms/apiv1/clouddmspb/clouddms.pb.go index 65d9590dea5..f2def14a0c9 100755 --- a/clouddms/apiv1/clouddmspb/clouddms.pb.go +++ b/clouddms/apiv1/clouddmspb/clouddms.pb.go @@ -961,6 +961,7 @@ type GenerateSshScriptRequest struct { // The VM configuration // // Types that are assignable to VmConfig: + // // *GenerateSshScriptRequest_VmCreationConfig // *GenerateSshScriptRequest_VmSelectionConfig VmConfig isGenerateSshScriptRequest_VmConfig `protobuf_oneof:"vm_config"` @@ -2886,7 +2887,8 @@ type ApplyConversionWorkspaceRequest struct { // Required. The name of the conversion workspace resource for which to apply // the draft tree. Must be in the form of: - // projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. + // + // projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Filter which entities to apply. Leaving this field empty will apply all of // the entities. Supports Google AIP 160 based filtering. @@ -2901,6 +2903,7 @@ type ApplyConversionWorkspaceRequest struct { // Which destination to use when applying the conversion workspace. // // Types that are assignable to Destination: + // // *ApplyConversionWorkspaceRequest_ConnectionProfile Destination isApplyConversionWorkspaceRequest_Destination `protobuf_oneof:"destination"` } @@ -3198,6 +3201,7 @@ type SeedConversionWorkspaceRequest struct { // through a connection profile or a DDL file. // // Types that are assignable to SeedFrom: + // // *SeedConversionWorkspaceRequest_SourceConnectionProfile // *SeedConversionWorkspaceRequest_DestinationConnectionProfile SeedFrom isSeedConversionWorkspaceRequest_SeedFrom `protobuf_oneof:"seed_from"` diff --git a/clouddms/apiv1/clouddmspb/clouddms_resources.pb.go b/clouddms/apiv1/clouddmspb/clouddms_resources.pb.go index 7e001c4b47b..4676457fda8 100755 --- a/clouddms/apiv1/clouddmspb/clouddms_resources.pb.go +++ b/clouddms/apiv1/clouddmspb/clouddms_resources.pb.go @@ -1366,6 +1366,7 @@ type PostgreSqlConnectionProfile struct { // Connectivity options used to establish a connection to the database server. // // Types that are assignable to Connectivity: + // // *PostgreSqlConnectionProfile_StaticIpConnectivity // *PostgreSqlConnectionProfile_PrivateServiceConnectConnectivity Connectivity isPostgreSqlConnectionProfile_Connectivity `protobuf_oneof:"connectivity"` @@ -1526,12 +1527,13 @@ type OracleConnectionProfile struct { DatabaseService string `protobuf:"bytes,6,opt,name=database_service,json=databaseService,proto3" json:"database_service,omitempty"` // SSL configuration for the connection to the source Oracle database. // - // * Only `SERVER_ONLY` configuration is supported for Oracle SSL. - // * SSL is supported for Oracle versions 12 and above. + // - Only `SERVER_ONLY` configuration is supported for Oracle SSL. + // - SSL is supported for Oracle versions 12 and above. Ssl *SslConfig `protobuf:"bytes,7,opt,name=ssl,proto3" json:"ssl,omitempty"` // Connectivity options used to establish a connection to the database server. // // Types that are assignable to Connectivity: + // // *OracleConnectionProfile_StaticServiceIpConnectivity // *OracleConnectionProfile_ForwardSshConnectivity // *OracleConnectionProfile_PrivateConnectivity @@ -1833,6 +1835,7 @@ type SqlAclEntry struct { // The access control entry entry expiration. // // Types that are assignable to Expiration: + // // *SqlAclEntry_ExpireTime // *SqlAclEntry_Ttl Expiration isSqlAclEntry_Expiration `protobuf_oneof:"expiration"` @@ -2605,6 +2608,7 @@ type ForwardSshTunnelConnectivity struct { // Port for the SSH tunnel, default value is 22. Port int32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` // Types that are assignable to AuthenticationMethod: + // // *ForwardSshTunnelConnectivity_Password // *ForwardSshTunnelConnectivity_PrivateKey AuthenticationMethod isForwardSshTunnelConnectivity_AuthenticationMethod `protobuf_oneof:"authentication_method"` @@ -2894,6 +2898,7 @@ type MigrationJob struct { // The connectivity method. // // Types that are assignable to Connectivity: + // // *MigrationJob_ReverseSshConnectivity // *MigrationJob_VpcPeeringConnectivity // *MigrationJob_StaticIpConnectivity @@ -3257,6 +3262,7 @@ type ConnectionProfile struct { // The connection profile definition. // // Types that are assignable to ConnectionProfile: + // // *ConnectionProfile_Mysql // *ConnectionProfile_Postgresql // *ConnectionProfile_Oracle @@ -3532,6 +3538,7 @@ type PrivateConnection struct { // Output only. The error details in case of state FAILED. Error *status.Status `protobuf:"bytes,7,opt,name=error,proto3" json:"error,omitempty"` // Types that are assignable to Connectivity: + // // *PrivateConnection_VpcPeeringConfig Connectivity isPrivateConnection_Connectivity `protobuf_oneof:"connectivity"` } diff --git a/clouddms/apiv1/clouddmspb/conversionworkspace_resources.pb.go b/clouddms/apiv1/clouddmspb/conversionworkspace_resources.pb.go index 03e441c30c2..761dd5f2168 100755 --- a/clouddms/apiv1/clouddmspb/conversionworkspace_resources.pb.go +++ b/clouddms/apiv1/clouddmspb/conversionworkspace_resources.pb.go @@ -996,6 +996,7 @@ type BackgroundJobLogEntry struct { // committed after a successful completion of the job. RequestAutocommit bool `protobuf:"varint,7,opt,name=request_autocommit,json=requestAutocommit,proto3" json:"request_autocommit,omitempty"` // Types that are assignable to JobDetails: + // // *BackgroundJobLogEntry_SeedJobDetails_ // *BackgroundJobLogEntry_ImportRulesJobDetails_ // *BackgroundJobLogEntry_ConvertJobDetails_ @@ -1278,6 +1279,7 @@ type MappingRule struct { // The rule specific details. // // Types that are assignable to Details: + // // *MappingRule_SingleEntityRename // *MappingRule_MultiEntityRename // *MappingRule_EntityMove @@ -1942,6 +1944,7 @@ type MultiColumnDatatypeChange struct { // Filter on source column parameters. // // Types that are assignable to SourceFilter: + // // *MultiColumnDatatypeChange_SourceTextFilter // *MultiColumnDatatypeChange_SourceNumericFilter SourceFilter isMultiColumnDatatypeChange_SourceFilter `protobuf_oneof:"source_filter"` @@ -2247,6 +2250,7 @@ type ConditionalColumnSetValue struct { unknownFields protoimpl.UnknownFields // Types that are assignable to SourceFilter: + // // *ConditionalColumnSetValue_SourceTextFilter // *ConditionalColumnSetValue_SourceNumericFilter SourceFilter isConditionalColumnSetValue_SourceFilter `protobuf_oneof:"source_filter"` @@ -2351,12 +2355,14 @@ type ValueTransformation struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Filter: + // // *ValueTransformation_IsNull // *ValueTransformation_ValueList // *ValueTransformation_IntComparison // *ValueTransformation_DoubleComparison Filter isValueTransformation_Filter `protobuf_oneof:"filter"` // Types that are assignable to Action: + // // *ValueTransformation_AssignNull // *ValueTransformation_AssignSpecificValue // *ValueTransformation_AssignMinValue @@ -3114,6 +3120,7 @@ type ApplyHash struct { unknownFields protoimpl.UnknownFields // Types that are assignable to HashFunction: + // // *ApplyHash_UuidFromBytes HashFunction isApplyHash_HashFunction `protobuf_oneof:"hash_function"` } @@ -3258,6 +3265,7 @@ type DatabaseEntity struct { // The specific body for each entity type. // // Types that are assignable to EntityBody: + // // *DatabaseEntity_Database // *DatabaseEntity_Schema // *DatabaseEntity_Table diff --git a/cloudprofiler/apiv2/cloudprofilerpb/profiler.pb.go b/cloudprofiler/apiv2/cloudprofilerpb/profiler.pb.go index d6baf2c5920..5aebe912a44 100755 --- a/cloudprofiler/apiv2/cloudprofilerpb/profiler.pb.go +++ b/cloudprofiler/apiv2/cloudprofilerpb/profiler.pb.go @@ -1058,7 +1058,6 @@ type ProfilerServiceClient interface { // status. To a gRPC client, the extension will be return as a // binary-serialized proto in the trailing metadata item named // "google.rpc.retryinfo-bin". - // CreateProfile(ctx context.Context, in *CreateProfileRequest, opts ...grpc.CallOption) (*Profile, error) // CreateOfflineProfile creates a new profile resource in the offline mode. // The client provides the profile to create along with the profile bytes, the @@ -1121,7 +1120,6 @@ type ProfilerServiceServer interface { // status. To a gRPC client, the extension will be return as a // binary-serialized proto in the trailing metadata item named // "google.rpc.retryinfo-bin". - // CreateProfile(context.Context, *CreateProfileRequest) (*Profile, error) // CreateOfflineProfile creates a new profile resource in the offline mode. // The client provides the profile to create along with the profile bytes, the diff --git a/cloudquotas/apiv1/cloudquotaspb/cloudquotas.pb.go b/cloudquotas/apiv1/cloudquotaspb/cloudquotas.pb.go index f26cbc29d51..8a7bf622274 100755 --- a/cloudquotas/apiv1/cloudquotaspb/cloudquotas.pb.go +++ b/cloudquotas/apiv1/cloudquotaspb/cloudquotas.pb.go @@ -255,7 +255,8 @@ type ListQuotaPreferencesRequest struct { // Example filters: // `state=PENDING OR state=PENDING_PARTIALLY_GRANTED` // `state=PENDING OR state=PENDING_PARTIALLY_GRANTED AND - // creation_time>2022-12-03T10:30:00` + // + // creation_time>2022-12-03T10:30:00` // // If no filter is provided, returns all pending quota preferences. Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` diff --git a/cloudtasks/apiv2/cloudtaskspb/queue.pb.go b/cloudtasks/apiv2/cloudtaskspb/queue.pb.go index 210562239b3..39ca7776ddc 100755 --- a/cloudtasks/apiv2/cloudtaskspb/queue.pb.go +++ b/cloudtasks/apiv2/cloudtaskspb/queue.pb.go @@ -134,17 +134,17 @@ type Queue struct { // The queue name must have the following format: // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` // - // * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), - // hyphens (-), colons (:), or periods (.). - // For more information, see - // [Identifying - // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) - // * `LOCATION_ID` is the canonical ID for the queue's location. - // The list of available locations can be obtained by calling - // [ListLocations][google.cloud.location.Locations.ListLocations]. - // For more information, see https://cloud.google.com/about/locations/. - // * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or - // hyphens (-). The maximum length is 100 characters. + // - `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), + // hyphens (-), colons (:), or periods (.). + // For more information, see + // [Identifying + // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) + // - `LOCATION_ID` is the canonical ID for the queue's location. + // The list of available locations can be obtained by calling + // [ListLocations][google.cloud.location.Locations.ListLocations]. + // For more information, see https://cloud.google.com/about/locations/. + // - `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or + // hyphens (-). The maximum length is 100 characters. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Overrides for // [task-level @@ -167,36 +167,40 @@ type Queue struct { // // * [rate_limits][google.cloud.tasks.v2.Queue.rate_limits] controls the total // rate of - // dispatches from a queue (i.e. all traffic dispatched from the - // queue, regardless of whether the dispatch is from a first - // attempt or a retry). + // + // dispatches from a queue (i.e. all traffic dispatched from the + // queue, regardless of whether the dispatch is from a first + // attempt or a retry). + // // * [retry_config][google.cloud.tasks.v2.Queue.retry_config] controls what // happens to - // particular a task after its first attempt fails. That is, - // [retry_config][google.cloud.tasks.v2.Queue.retry_config] controls task - // retries (the second attempt, third attempt, etc). + // + // particular a task after its first attempt fails. That is, + // [retry_config][google.cloud.tasks.v2.Queue.retry_config] controls task + // retries (the second attempt, third attempt, etc). // // The queue's actual dispatch rate is the result of: // // * Number of tasks in the queue // * User-specified throttling: // [rate_limits][google.cloud.tasks.v2.Queue.rate_limits], - // [retry_config][google.cloud.tasks.v2.Queue.retry_config], and the - // [queue's state][google.cloud.tasks.v2.Queue.state]. - // * System throttling due to `429` (Too Many Requests) or `503` (Service - // Unavailable) responses from the worker, high error rates, or to smooth - // sudden large traffic spikes. + // + // [retry_config][google.cloud.tasks.v2.Queue.retry_config], and the + // [queue's state][google.cloud.tasks.v2.Queue.state]. + // - System throttling due to `429` (Too Many Requests) or `503` (Service + // Unavailable) responses from the worker, high error rates, or to smooth + // sudden large traffic spikes. RateLimits *RateLimits `protobuf:"bytes,3,opt,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"` // Settings that determine the retry behavior. // - // * For tasks created using Cloud Tasks: the queue-level retry settings - // apply to all tasks in the queue that were created using Cloud Tasks. - // Retry settings cannot be set on individual tasks. - // * For tasks created using the App Engine SDK: the queue-level retry - // settings apply to all tasks in the queue which do not have retry settings - // explicitly set on the task and were created by the App Engine SDK. See - // [App Engine - // documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). + // - For tasks created using Cloud Tasks: the queue-level retry settings + // apply to all tasks in the queue that were created using Cloud Tasks. + // Retry settings cannot be set on individual tasks. + // - For tasks created using the App Engine SDK: the queue-level retry + // settings apply to all tasks in the queue which do not have retry settings + // explicitly set on the task and were created by the App Engine SDK. See + // [App Engine + // documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). RetryConfig *RetryConfig `protobuf:"bytes,4,opt,name=retry_config,json=retryConfig,proto3" json:"retry_config,omitempty"` // Output only. The state of the queue. // @@ -327,7 +331,6 @@ type RateLimits struct { // // * The maximum allowed value is 500. // - // // This field has the same meaning as // [rate in // queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). @@ -364,7 +367,6 @@ type RateLimits struct { // regardless of whether // [max_dispatches_per_second][google.cloud.tasks.v2.RateLimits.max_dispatches_per_second] // is updated. - // MaxBurstSize int32 `protobuf:"varint,2,opt,name=max_burst_size,json=maxBurstSize,proto3" json:"max_burst_size,omitempty"` // The maximum number of concurrent tasks that Cloud Tasks allows // to be dispatched for this queue. After this threshold has been @@ -374,10 +376,8 @@ type RateLimits struct { // If unspecified when the queue is created, Cloud Tasks will pick the // default. // - // // The maximum allowed value is 5,000. // - // // This field has the same meaning as // [max_concurrent_requests in // queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). @@ -472,7 +472,6 @@ type RetryConfig struct { // If unspecified when the queue is created, Cloud Tasks will pick the // default. // - // // `max_retry_duration` will be truncated to the nearest second. // // This field has the same meaning as @@ -489,7 +488,6 @@ type RetryConfig struct { // If unspecified when the queue is created, Cloud Tasks will pick the // default. // - // // `min_backoff` will be truncated to the nearest second. // // This field has the same meaning as @@ -506,7 +504,6 @@ type RetryConfig struct { // If unspecified when the queue is created, Cloud Tasks will pick the // default. // - // // `max_backoff` will be truncated to the nearest second. // // This field has the same meaning as @@ -536,7 +533,6 @@ type RetryConfig struct { // If unspecified when the queue is created, Cloud Tasks will pick the // default. // - // // This field has the same meaning as // [max_doublings in // queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). diff --git a/cloudtasks/apiv2/cloudtaskspb/target.pb.go b/cloudtasks/apiv2/cloudtaskspb/target.pb.go index ebfa02c58cf..a210e7b4386 100755 --- a/cloudtasks/apiv2/cloudtaskspb/target.pb.go +++ b/cloudtasks/apiv2/cloudtaskspb/target.pb.go @@ -169,18 +169,19 @@ type HttpRequest struct { // // A partial list of headers that will be ignored or replaced is: // - // * Host: This will be computed by Cloud Tasks and derived from - // [HttpRequest.url][google.cloud.tasks.v2.HttpRequest.url]. - // * Content-Length: This will be computed by Cloud Tasks. - // * User-Agent: This will be set to `"Google-Cloud-Tasks"`. - // * `X-Google-*`: Google use only. - // * `X-AppEngine-*`: Google use only. + // - Host: This will be computed by Cloud Tasks and derived from + // [HttpRequest.url][google.cloud.tasks.v2.HttpRequest.url]. + // - Content-Length: This will be computed by Cloud Tasks. + // - User-Agent: This will be set to `"Google-Cloud-Tasks"`. + // - `X-Google-*`: Google use only. + // - `X-AppEngine-*`: Google use only. // // `Content-Type` won't be set by Cloud Tasks. You can explicitly set // `Content-Type` to a media type when the - // [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]. - // For example, `Content-Type` can be set to `"application/octet-stream"` or - // `"application/json"`. + // + // [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]. + // For example, `Content-Type` can be set to `"application/octet-stream"` or + // `"application/json"`. // // Headers which can have multiple values (according to RFC2616) can be // specified using comma-separated values. @@ -201,6 +202,7 @@ type HttpRequest struct { // be overridden. // // Types that are assignable to AuthorizationHeader: + // // *HttpRequest_OauthToken // *HttpRequest_OidcToken AuthorizationHeader isHttpRequest_AuthorizationHeader `protobuf_oneof:"authorization_header"` @@ -397,11 +399,11 @@ type AppEngineHttpRequest struct { HttpMethod HttpMethod `protobuf:"varint,1,opt,name=http_method,json=httpMethod,proto3,enum=google.cloud.tasks.v2.HttpMethod" json:"http_method,omitempty"` // Task-level setting for App Engine routing. // - // * If [app_engine_routing_override is set on the - // queue][google.cloud.tasks.v2.Queue.app_engine_routing_override], this - // value is used for all tasks in the queue, no matter what the setting is - // for the [task-level - // app_engine_routing][google.cloud.tasks.v2.AppEngineHttpRequest.app_engine_routing]. + // - If [app_engine_routing_override is set on the + // queue][google.cloud.tasks.v2.Queue.app_engine_routing_override], this + // value is used for all tasks in the queue, no matter what the setting is + // for the [task-level + // app_engine_routing][google.cloud.tasks.v2.AppEngineHttpRequest.app_engine_routing]. AppEngineRouting *AppEngineRouting `protobuf:"bytes,2,opt,name=app_engine_routing,json=appEngineRouting,proto3" json:"app_engine_routing,omitempty"` // The relative URI. // @@ -419,22 +421,22 @@ type AppEngineHttpRequest struct { // // Cloud Tasks sets some headers to default values: // - // * `User-Agent`: By default, this header is - // `"AppEngine-Google; (+http://code.google.com/appengine)"`. - // This header can be modified, but Cloud Tasks will append - // `"AppEngine-Google; (+http://code.google.com/appengine)"` to the - // modified `User-Agent`. + // - `User-Agent`: By default, this header is + // `"AppEngine-Google; (+http://code.google.com/appengine)"`. + // This header can be modified, but Cloud Tasks will append + // `"AppEngine-Google; (+http://code.google.com/appengine)"` to the + // modified `User-Agent`. // // If the task has a [body][google.cloud.tasks.v2.AppEngineHttpRequest.body], // Cloud Tasks sets the following headers: // - // * `Content-Type`: By default, the `Content-Type` header is set to - // `"application/octet-stream"`. The default can be overridden by explicitly - // setting `Content-Type` to a particular media type when the - // [task is created][google.cloud.tasks.v2.CloudTasks.CreateTask]. - // For example, `Content-Type` can be set to `"application/json"`. - // * `Content-Length`: This is computed by Cloud Tasks. This value is - // output only. It cannot be changed. + // - `Content-Type`: By default, the `Content-Type` header is set to + // `"application/octet-stream"`. The default can be overridden by explicitly + // setting `Content-Type` to a particular media type when the + // [task is created][google.cloud.tasks.v2.CloudTasks.CreateTask]. + // For example, `Content-Type` can be set to `"application/json"`. + // - `Content-Length`: This is computed by Cloud Tasks. This value is + // output only. It cannot be changed. // // The headers below cannot be set or overridden: // diff --git a/cloudtasks/apiv2/cloudtaskspb/task.pb.go b/cloudtasks/apiv2/cloudtaskspb/task.pb.go index db5c541d2f3..ca36f8ad16e 100755 --- a/cloudtasks/apiv2/cloudtaskspb/task.pb.go +++ b/cloudtasks/apiv2/cloudtaskspb/task.pb.go @@ -124,23 +124,24 @@ type Task struct { // The task name must have the following format: // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` // - // * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), - // hyphens (-), colons (:), or periods (.). - // For more information, see - // [Identifying - // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) - // * `LOCATION_ID` is the canonical ID for the task's location. - // The list of available locations can be obtained by calling - // [ListLocations][google.cloud.location.Locations.ListLocations]. - // For more information, see https://cloud.google.com/about/locations/. - // * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or - // hyphens (-). The maximum length is 100 characters. - // * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]), - // hyphens (-), or underscores (_). The maximum length is 500 characters. + // - `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), + // hyphens (-), colons (:), or periods (.). + // For more information, see + // [Identifying + // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) + // - `LOCATION_ID` is the canonical ID for the task's location. + // The list of available locations can be obtained by calling + // [ListLocations][google.cloud.location.Locations.ListLocations]. + // For more information, see https://cloud.google.com/about/locations/. + // - `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or + // hyphens (-). The maximum length is 100 characters. + // - `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]), + // hyphens (-), or underscores (_). The maximum length is 500 characters. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. The message to send to the worker. // // Types that are assignable to MessageType: + // // *Task_AppEngineHttpRequest // *Task_HttpRequest MessageType isTask_MessageType `protobuf_oneof:"message_type"` @@ -166,22 +167,24 @@ type Task struct { // // * For [HTTP tasks][google.cloud.tasks.v2.HttpRequest], the default is 10 // minutes. The deadline - // must be in the interval [15 seconds, 30 minutes]. + // + // must be in the interval [15 seconds, 30 minutes]. // // * For [App Engine tasks][google.cloud.tasks.v2.AppEngineHttpRequest], 0 // indicates that the - // request has the default deadline. The default deadline depends on the - // [scaling - // type](https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#instance_scaling) - // of the service: 10 minutes for standard apps with automatic scaling, 24 - // hours for standard apps with manual and basic scaling, and 60 minutes for - // flex apps. If the request deadline is set, it must be in the interval [15 - // seconds, 24 hours 15 seconds]. Regardless of the task's - // `dispatch_deadline`, the app handler will not run for longer than than - // the service's timeout. We recommend setting the `dispatch_deadline` to - // at most a few seconds more than the app handler's timeout. For more - // information see - // [Timeouts](https://cloud.google.com/tasks/docs/creating-appengine-handlers#timeouts). + // + // request has the default deadline. The default deadline depends on the + // [scaling + // type](https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#instance_scaling) + // of the service: 10 minutes for standard apps with automatic scaling, 24 + // hours for standard apps with manual and basic scaling, and 60 minutes for + // flex apps. If the request deadline is set, it must be in the interval [15 + // seconds, 24 hours 15 seconds]. Regardless of the task's + // `dispatch_deadline`, the app handler will not run for longer than than + // the service's timeout. We recommend setting the `dispatch_deadline` to + // at most a few seconds more than the app handler's timeout. For more + // information see + // [Timeouts](https://cloud.google.com/tasks/docs/creating-appengine-handlers#timeouts). // // `dispatch_deadline` will be truncated to the nearest millisecond. The // deadline is an approximate deadline. diff --git a/cloudtasks/apiv2beta2/cloudtaskspb/cloudtasks.pb.go b/cloudtasks/apiv2beta2/cloudtaskspb/cloudtasks.pb.go index 595b371be0e..b768ef24ec2 100755 --- a/cloudtasks/apiv2beta2/cloudtaskspb/cloudtasks.pb.go +++ b/cloudtasks/apiv2beta2/cloudtaskspb/cloudtasks.pb.go @@ -1134,7 +1134,6 @@ type LeaseTasksRequest struct { // [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks] call before // its [schedule_time][google.cloud.tasks.v2beta2.Task.schedule_time]. // - // // After the worker has successfully finished the work associated // with the task, the worker must call via // [AcknowledgeTask][google.cloud.tasks.v2beta2.CloudTasks.AcknowledgeTask] @@ -1393,7 +1392,6 @@ type RenewLeaseRequest struct { ScheduleTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=schedule_time,json=scheduleTime,proto3" json:"schedule_time,omitempty"` // Required. The desired new lease duration, starting from now. // - // // The maximum lease duration is 1 week. // `lease_duration` will be truncated to the nearest second. LeaseDuration *durationpb.Duration `protobuf:"bytes,3,opt,name=lease_duration,json=leaseDuration,proto3" json:"lease_duration,omitempty"` @@ -2669,7 +2667,9 @@ type CloudTasksClient interface { // // * For [App Engine queues][google.cloud.tasks.v2beta2.AppEngineHttpTarget], // the maximum task size is - // 100KB. + // + // 100KB. + // // * For [pull queues][google.cloud.tasks.v2beta2.PullTarget], the maximum // task size is 1MB. CreateTask(ctx context.Context, in *CreateTaskRequest, opts ...grpc.CallOption) (*Task, error) @@ -3100,7 +3100,9 @@ type CloudTasksServer interface { // // * For [App Engine queues][google.cloud.tasks.v2beta2.AppEngineHttpTarget], // the maximum task size is - // 100KB. + // + // 100KB. + // // * For [pull queues][google.cloud.tasks.v2beta2.PullTarget], the maximum // task size is 1MB. CreateTask(context.Context, *CreateTaskRequest) (*Task, error) diff --git a/cloudtasks/apiv2beta2/cloudtaskspb/queue.pb.go b/cloudtasks/apiv2beta2/cloudtaskspb/queue.pb.go index 89e79b22c17..e8dffdd97b8 100755 --- a/cloudtasks/apiv2beta2/cloudtaskspb/queue.pb.go +++ b/cloudtasks/apiv2beta2/cloudtaskspb/queue.pb.go @@ -138,17 +138,17 @@ type Queue struct { // The queue name must have the following format: // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` // - // * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), - // hyphens (-), colons (:), or periods (.). - // For more information, see - // [Identifying - // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) - // * `LOCATION_ID` is the canonical ID for the queue's location. - // The list of available locations can be obtained by calling - // [ListLocations][google.cloud.location.Locations.ListLocations]. - // For more information, see https://cloud.google.com/about/locations/. - // * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or - // hyphens (-). The maximum length is 100 characters. + // - `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), + // hyphens (-), colons (:), or periods (.). + // For more information, see + // [Identifying + // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) + // - `LOCATION_ID` is the canonical ID for the queue's location. + // The list of available locations can be obtained by calling + // [ListLocations][google.cloud.location.Locations.ListLocations]. + // For more information, see https://cloud.google.com/about/locations/. + // - `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or + // hyphens (-). The maximum length is 100 characters. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Caller-specified and required in // [CreateQueue][google.cloud.tasks.v2beta2.CloudTasks.CreateQueue][], after @@ -160,6 +160,7 @@ type Queue struct { // The target applies to all tasks in the queue. // // Types that are assignable to TargetType: + // // *Queue_AppEngineHttpTarget // *Queue_PullTarget // *Queue_HttpTarget @@ -173,25 +174,28 @@ type Queue struct { // // * [rate_limits][google.cloud.tasks.v2beta2.Queue.rate_limits] controls the // total rate of - // dispatches from a queue (i.e. all traffic dispatched from the - // queue, regardless of whether the dispatch is from a first - // attempt or a retry). + // + // dispatches from a queue (i.e. all traffic dispatched from the + // queue, regardless of whether the dispatch is from a first + // attempt or a retry). + // // * [retry_config][google.cloud.tasks.v2beta2.Queue.retry_config] controls // what happens to - // particular a task after its first attempt fails. That is, - // [retry_config][google.cloud.tasks.v2beta2.Queue.retry_config] controls - // task retries (the second attempt, third attempt, etc). + // + // particular a task after its first attempt fails. That is, + // [retry_config][google.cloud.tasks.v2beta2.Queue.retry_config] controls + // task retries (the second attempt, third attempt, etc). RateLimits *RateLimits `protobuf:"bytes,5,opt,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"` // Settings that determine the retry behavior. // - // * For tasks created using Cloud Tasks: the queue-level retry settings - // apply to all tasks in the queue that were created using Cloud Tasks. - // Retry settings cannot be set on individual tasks. - // * For tasks created using the App Engine SDK: the queue-level retry - // settings apply to all tasks in the queue which do not have retry settings - // explicitly set on the task and were created by the App Engine SDK. See - // [App Engine - // documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). + // - For tasks created using Cloud Tasks: the queue-level retry settings + // apply to all tasks in the queue that were created using Cloud Tasks. + // Retry settings cannot be set on individual tasks. + // - For tasks created using the App Engine SDK: the queue-level retry + // settings apply to all tasks in the queue which do not have retry settings + // explicitly set on the task and were created by the App Engine SDK. See + // [App Engine + // documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). RetryConfig *RetryConfig `protobuf:"bytes,6,opt,name=retry_config,json=retryConfig,proto3" json:"retry_config,omitempty"` // Output only. The state of the queue. // @@ -414,13 +418,15 @@ type RateLimits struct { // // * For [App Engine queues][google.cloud.tasks.v2beta2.AppEngineHttpTarget], // the maximum allowed value - // is 500. + // + // is 500. + // // * This field is output only for [pull // queues][google.cloud.tasks.v2beta2.PullTarget]. In addition to the - // `max_tasks_dispatched_per_second` limit, a maximum of 10 QPS of - // [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks] requests - // are allowed per pull queue. // + // `max_tasks_dispatched_per_second` limit, a maximum of 10 QPS of + // [LeaseTasks][google.cloud.tasks.v2beta2.CloudTasks.LeaseTasks] requests + // are allowed per pull queue. // // This field has the same meaning as // [rate in @@ -458,7 +464,6 @@ type RateLimits struct { // `max_burst_size` value will get updated if // [UpdateQueue][google.cloud.tasks.v2beta2.CloudTasks.UpdateQueue] is // updating [max_dispatches_per_second][RateLimits.max_dispatches_per_second]. - // MaxBurstSize int32 `protobuf:"varint,2,opt,name=max_burst_size,json=maxBurstSize,proto3" json:"max_burst_size,omitempty"` // The maximum number of concurrent tasks that Cloud Tasks allows // to be dispatched for this queue. After this threshold has been @@ -468,7 +473,6 @@ type RateLimits struct { // If unspecified when the queue is created, Cloud Tasks will pick the // default. // - // // The maximum allowed value is 5,000. // // This field is output only for @@ -476,7 +480,6 @@ type RateLimits struct { // indicates no limit. No other queue types can have `max_concurrent_tasks` // set to -1. // - // // This field has the same meaning as // [max_concurrent_requests in // queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). @@ -549,13 +552,12 @@ type RetryConfig struct { // If unspecified when the queue is created, Cloud Tasks will pick the // default. // - // - // // This field has the same meaning as // [task_retry_limit in // queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). // // Types that are assignable to NumAttempts: + // // *RetryConfig_MaxAttempts // *RetryConfig_UnlimitedAttempts NumAttempts isRetryConfig_NumAttempts `protobuf_oneof:"num_attempts"` @@ -574,7 +576,6 @@ type RetryConfig struct { // This field is output only for [pull // queues][google.cloud.tasks.v2beta2.PullTarget]. // - // // `max_retry_duration` will be truncated to the nearest second. // // This field has the same meaning as @@ -595,7 +596,6 @@ type RetryConfig struct { // This field is output only for [pull // queues][google.cloud.tasks.v2beta2.PullTarget]. // - // // `min_backoff` will be truncated to the nearest second. // // This field has the same meaning as @@ -616,7 +616,6 @@ type RetryConfig struct { // This field is output only for [pull // queues][google.cloud.tasks.v2beta2.PullTarget]. // - // // `max_backoff` will be truncated to the nearest second. // // This field has the same meaning as @@ -650,7 +649,6 @@ type RetryConfig struct { // This field is output only for [pull // queues][google.cloud.tasks.v2beta2.PullTarget]. // - // // This field has the same meaning as // [max_doublings in // queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). diff --git a/cloudtasks/apiv2beta2/cloudtaskspb/target.pb.go b/cloudtasks/apiv2beta2/cloudtaskspb/target.pb.go index 684982d9518..104b4e0a25b 100755 --- a/cloudtasks/apiv2beta2/cloudtaskspb/target.pb.go +++ b/cloudtasks/apiv2beta2/cloudtaskspb/target.pb.go @@ -518,23 +518,23 @@ type AppEngineHttpRequest struct { // // Cloud Tasks sets some headers to default values: // - // * `User-Agent`: By default, this header is - // `"AppEngine-Google; (+http://code.google.com/appengine)"`. - // This header can be modified, but Cloud Tasks will append - // `"AppEngine-Google; (+http://code.google.com/appengine)"` to the - // modified `User-Agent`. + // - `User-Agent`: By default, this header is + // `"AppEngine-Google; (+http://code.google.com/appengine)"`. + // This header can be modified, but Cloud Tasks will append + // `"AppEngine-Google; (+http://code.google.com/appengine)"` to the + // modified `User-Agent`. // // If the task has a // [payload][google.cloud.tasks.v2beta2.AppEngineHttpRequest.payload], Cloud // Tasks sets the following headers: // - // * `Content-Type`: By default, the `Content-Type` header is set to - // `"application/octet-stream"`. The default can be overridden by explicitly - // setting `Content-Type` to a particular media type when the - // [task is created][google.cloud.tasks.v2beta2.CloudTasks.CreateTask]. - // For example, `Content-Type` can be set to `"application/json"`. - // * `Content-Length`: This is computed by Cloud Tasks. This value is - // output only. It cannot be changed. + // - `Content-Type`: By default, the `Content-Type` header is set to + // `"application/octet-stream"`. The default can be overridden by explicitly + // setting `Content-Type` to a particular media type when the + // [task is created][google.cloud.tasks.v2beta2.CloudTasks.CreateTask]. + // For example, `Content-Type` can be set to `"application/json"`. + // - `Content-Length`: This is computed by Cloud Tasks. This value is + // output only. It cannot be changed. // // The headers below cannot be set or overridden: // @@ -710,20 +710,19 @@ type AppEngineRouting struct { // // The host is constructed as: // + // - `host = [application_domain_name]`
+ // `| [service] + '.' + [application_domain_name]`
+ // `| [version] + '.' + [application_domain_name]`
+ // `| [version_dot_service]+ '.' + [application_domain_name]`
+ // `| [instance] + '.' + [application_domain_name]`
+ // `| [instance_dot_service] + '.' + [application_domain_name]`
+ // `| [instance_dot_version] + '.' + [application_domain_name]`
+ // `| [instance_dot_version_dot_service] + '.' + [application_domain_name]` // - // * `host = [application_domain_name]`
- // `| [service] + '.' + [application_domain_name]`
- // `| [version] + '.' + [application_domain_name]`
- // `| [version_dot_service]+ '.' + [application_domain_name]`
- // `| [instance] + '.' + [application_domain_name]`
- // `| [instance_dot_service] + '.' + [application_domain_name]`
- // `| [instance_dot_version] + '.' + [application_domain_name]`
- // `| [instance_dot_version_dot_service] + '.' + [application_domain_name]` - // - // * `application_domain_name` = The domain name of the app, for - // example .appspot.com, which is associated with the - // queue's project ID. Some tasks which were created using the App Engine - // SDK use a custom domain name. + // - `application_domain_name` = The domain name of the app, for + // example .appspot.com, which is associated with the + // queue's project ID. Some tasks which were created using the App Engine + // SDK use a custom domain name. // // * `service =` // [service][google.cloud.tasks.v2beta2.AppEngineRouting.service] @@ -731,25 +730,25 @@ type AppEngineRouting struct { // * `version =` // [version][google.cloud.tasks.v2beta2.AppEngineRouting.version] // - // * `version_dot_service =` - // [version][google.cloud.tasks.v2beta2.AppEngineRouting.version] `+ '.' +` - // [service][google.cloud.tasks.v2beta2.AppEngineRouting.service] + // - `version_dot_service =` + // [version][google.cloud.tasks.v2beta2.AppEngineRouting.version] `+ '.' +` + // [service][google.cloud.tasks.v2beta2.AppEngineRouting.service] // // * `instance =` // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance] // - // * `instance_dot_service =` - // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance] `+ '.' - // +` [service][google.cloud.tasks.v2beta2.AppEngineRouting.service] + // - `instance_dot_service =` + // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance] `+ '.' + // +` [service][google.cloud.tasks.v2beta2.AppEngineRouting.service] // - // * `instance_dot_version =` - // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance] `+ '.' - // +` [version][google.cloud.tasks.v2beta2.AppEngineRouting.version] + // - `instance_dot_version =` + // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance] `+ '.' + // +` [version][google.cloud.tasks.v2beta2.AppEngineRouting.version] // - // * `instance_dot_version_dot_service =` - // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance] `+ '.' - // +` [version][google.cloud.tasks.v2beta2.AppEngineRouting.version] `+ '.' - // +` [service][google.cloud.tasks.v2beta2.AppEngineRouting.service] + // - `instance_dot_version_dot_service =` + // [instance][google.cloud.tasks.v2beta2.AppEngineRouting.instance] `+ '.' + // +` [version][google.cloud.tasks.v2beta2.AppEngineRouting.version] `+ '.' + // +` [service][google.cloud.tasks.v2beta2.AppEngineRouting.service] // // If [service][google.cloud.tasks.v2beta2.AppEngineRouting.service] is empty, // then the task will be sent to the service which is the default service when @@ -868,18 +867,19 @@ type HttpRequest struct { // * Any header that is prefixed with "X-CloudTasks-" will be treated // as service header. Service headers define properties of the task and are // predefined in CloudTask. - // * Host: This will be computed by Cloud Tasks and derived from - // [HttpRequest.url][google.cloud.tasks.v2beta2.HttpRequest.url]. - // * Content-Length: This will be computed by Cloud Tasks. - // * User-Agent: This will be set to `"Google-Cloud-Tasks"`. - // * `X-Google-*`: Google use only. - // * `X-AppEngine-*`: Google use only. + // - Host: This will be computed by Cloud Tasks and derived from + // [HttpRequest.url][google.cloud.tasks.v2beta2.HttpRequest.url]. + // - Content-Length: This will be computed by Cloud Tasks. + // - User-Agent: This will be set to `"Google-Cloud-Tasks"`. + // - `X-Google-*`: Google use only. + // - `X-AppEngine-*`: Google use only. // // `Content-Type` won't be set by Cloud Tasks. You can explicitly set // `Content-Type` to a media type when the - // [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]. - // For example, `Content-Type` can be set to `"application/octet-stream"` or - // `"application/json"`. + // + // [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]. + // For example, `Content-Type` can be set to `"application/octet-stream"` or + // `"application/json"`. // // Headers which can have multiple values (according to RFC2616) can be // specified using comma-separated values. @@ -900,6 +900,7 @@ type HttpRequest struct { // will be overridden. // // Types that are assignable to AuthorizationHeader: + // // *HttpRequest_OauthToken // *HttpRequest_OidcToken AuthorizationHeader isHttpRequest_AuthorizationHeader `protobuf_oneof:"authorization_header"` @@ -1273,18 +1274,19 @@ type HttpTarget struct { // * Any header that is prefixed with "X-CloudTasks-" will be treated // as service header. Service headers define properties of the task and are // predefined in CloudTask. - // * Host: This will be computed by Cloud Tasks and derived from - // [HttpRequest.url][google.cloud.tasks.v2beta2.HttpRequest.url]. - // * Content-Length: This will be computed by Cloud Tasks. - // * User-Agent: This will be set to `"Google-CloudTasks"`. - // * `X-Google-*`: Google use only. - // * `X-AppEngine-*`: Google use only. + // - Host: This will be computed by Cloud Tasks and derived from + // [HttpRequest.url][google.cloud.tasks.v2beta2.HttpRequest.url]. + // - Content-Length: This will be computed by Cloud Tasks. + // - User-Agent: This will be set to `"Google-CloudTasks"`. + // - `X-Google-*`: Google use only. + // - `X-AppEngine-*`: Google use only. // // `Content-Type` won't be set by Cloud Tasks. You can explicitly set // `Content-Type` to a media type when the - // [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]. - // For example, `Content-Type` can be set to `"application/octet-stream"` or - // `"application/json"`. + // + // [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]. + // For example, `Content-Type` can be set to `"application/octet-stream"` or + // `"application/json"`. // // Headers which can have multiple values (according to RFC2616) can be // specified using comma-separated values. @@ -1299,6 +1301,7 @@ type HttpTarget struct { // will be overridden. // // Types that are assignable to AuthorizationHeader: + // // *HttpTarget_OauthToken // *HttpTarget_OidcToken AuthorizationHeader isHttpTarget_AuthorizationHeader `protobuf_oneof:"authorization_header"` diff --git a/cloudtasks/apiv2beta2/cloudtaskspb/task.pb.go b/cloudtasks/apiv2beta2/cloudtaskspb/task.pb.go index 94fdcdc55a4..00b60be9b63 100755 --- a/cloudtasks/apiv2beta2/cloudtaskspb/task.pb.go +++ b/cloudtasks/apiv2beta2/cloudtaskspb/task.pb.go @@ -127,19 +127,19 @@ type Task struct { // The task name must have the following format: // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` // - // * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), - // hyphens (-), colons (:), or periods (.). - // For more information, see - // [Identifying - // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) - // * `LOCATION_ID` is the canonical ID for the task's location. - // The list of available locations can be obtained by calling - // [ListLocations][google.cloud.location.Locations.ListLocations]. - // For more information, see https://cloud.google.com/about/locations/. - // * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or - // hyphens (-). The maximum length is 100 characters. - // * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]), - // hyphens (-), or underscores (_). The maximum length is 500 characters. + // - `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), + // hyphens (-), colons (:), or periods (.). + // For more information, see + // [Identifying + // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) + // - `LOCATION_ID` is the canonical ID for the task's location. + // The list of available locations can be obtained by calling + // [ListLocations][google.cloud.location.Locations.ListLocations]. + // For more information, see https://cloud.google.com/about/locations/. + // - `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or + // hyphens (-). The maximum length is 100 characters. + // - `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]), + // hyphens (-), or underscores (_). The maximum length is 500 characters. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. // @@ -147,6 +147,7 @@ type Task struct { // A payload is valid only if it is compatible with the queue's target. // // Types that are assignable to PayloadType: + // // *Task_AppEngineHttpRequest // *Task_PullMessage // *Task_HttpRequest diff --git a/cloudtasks/apiv2beta3/cloudtaskspb/queue.pb.go b/cloudtasks/apiv2beta3/cloudtaskspb/queue.pb.go index d69b4fe5852..029d41e1d06 100755 --- a/cloudtasks/apiv2beta3/cloudtaskspb/queue.pb.go +++ b/cloudtasks/apiv2beta3/cloudtaskspb/queue.pb.go @@ -187,19 +187,20 @@ type Queue struct { // The queue name must have the following format: // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` // - // * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), - // hyphens (-), colons (:), or periods (.). - // For more information, see - // [Identifying - // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) - // * `LOCATION_ID` is the canonical ID for the queue's location. - // The list of available locations can be obtained by calling - // [ListLocations][google.cloud.location.Locations.ListLocations]. - // For more information, see https://cloud.google.com/about/locations/. - // * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or - // hyphens (-). The maximum length is 100 characters. + // - `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), + // hyphens (-), colons (:), or periods (.). + // For more information, see + // [Identifying + // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) + // - `LOCATION_ID` is the canonical ID for the queue's location. + // The list of available locations can be obtained by calling + // [ListLocations][google.cloud.location.Locations.ListLocations]. + // For more information, see https://cloud.google.com/about/locations/. + // - `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or + // hyphens (-). The maximum length is 100 characters. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to QueueType: + // // *Queue_AppEngineHttpQueue QueueType isQueue_QueueType `protobuf_oneof:"queue_type"` // Modifies HTTP target for HTTP tasks. @@ -213,36 +214,40 @@ type Queue struct { // // * [rate_limits][google.cloud.tasks.v2beta3.Queue.rate_limits] controls the // total rate of - // dispatches from a queue (i.e. all traffic dispatched from the - // queue, regardless of whether the dispatch is from a first - // attempt or a retry). + // + // dispatches from a queue (i.e. all traffic dispatched from the + // queue, regardless of whether the dispatch is from a first + // attempt or a retry). + // // * [retry_config][google.cloud.tasks.v2beta3.Queue.retry_config] controls // what happens to - // particular a task after its first attempt fails. That is, - // [retry_config][google.cloud.tasks.v2beta3.Queue.retry_config] controls - // task retries (the second attempt, third attempt, etc). + // + // particular a task after its first attempt fails. That is, + // [retry_config][google.cloud.tasks.v2beta3.Queue.retry_config] controls + // task retries (the second attempt, third attempt, etc). // // The queue's actual dispatch rate is the result of: // // * Number of tasks in the queue // * User-specified throttling: // [rate_limits][google.cloud.tasks.v2beta3.Queue.rate_limits], - // [retry_config][google.cloud.tasks.v2beta3.Queue.retry_config], and the - // [queue's state][google.cloud.tasks.v2beta3.Queue.state]. - // * System throttling due to `429` (Too Many Requests) or `503` (Service - // Unavailable) responses from the worker, high error rates, or to smooth - // sudden large traffic spikes. + // + // [retry_config][google.cloud.tasks.v2beta3.Queue.retry_config], and the + // [queue's state][google.cloud.tasks.v2beta3.Queue.state]. + // - System throttling due to `429` (Too Many Requests) or `503` (Service + // Unavailable) responses from the worker, high error rates, or to smooth + // sudden large traffic spikes. RateLimits *RateLimits `protobuf:"bytes,4,opt,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"` // Settings that determine the retry behavior. // - // * For tasks created using Cloud Tasks: the queue-level retry settings - // apply to all tasks in the queue that were created using Cloud Tasks. - // Retry settings cannot be set on individual tasks. - // * For tasks created using the App Engine SDK: the queue-level retry - // settings apply to all tasks in the queue which do not have retry settings - // explicitly set on the task and were created by the App Engine SDK. See - // [App Engine - // documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). + // - For tasks created using Cloud Tasks: the queue-level retry settings + // apply to all tasks in the queue that were created using Cloud Tasks. + // Retry settings cannot be set on individual tasks. + // - For tasks created using the App Engine SDK: the queue-level retry + // settings apply to all tasks in the queue which do not have retry settings + // explicitly set on the task and were created by the App Engine SDK. See + // [App Engine + // documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). RetryConfig *RetryConfig `protobuf:"bytes,5,opt,name=retry_config,json=retryConfig,proto3" json:"retry_config,omitempty"` // Output only. The state of the queue. // @@ -466,8 +471,8 @@ type RateLimits struct { // // * For [App Engine queues][google.cloud.tasks.v2beta3.AppEngineHttpQueue], // the maximum allowed value - // is 500. // + // is 500. // // This field has the same meaning as // [rate in @@ -506,7 +511,6 @@ type RateLimits struct { // [UpdateQueue][google.cloud.tasks.v2beta3.CloudTasks.UpdateQueue] is // updating // [max_dispatches_per_second][google.cloud.tasks.v2beta3.RateLimits.max_dispatches_per_second]. - // MaxBurstSize int32 `protobuf:"varint,2,opt,name=max_burst_size,json=maxBurstSize,proto3" json:"max_burst_size,omitempty"` // The maximum number of concurrent tasks that Cloud Tasks allows // to be dispatched for this queue. After this threshold has been @@ -516,10 +520,8 @@ type RateLimits struct { // If unspecified when the queue is created, Cloud Tasks will pick the // default. // - // // The maximum allowed value is 5,000. // - // // This field has the same meaning as // [max_concurrent_requests in // queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). @@ -614,7 +616,6 @@ type RetryConfig struct { // If unspecified when the queue is created, Cloud Tasks will pick the // default. // - // // `max_retry_duration` will be truncated to the nearest second. // // This field has the same meaning as @@ -632,7 +633,6 @@ type RetryConfig struct { // If unspecified when the queue is created, Cloud Tasks will pick the // default. // - // // `min_backoff` will be truncated to the nearest second. // // This field has the same meaning as @@ -650,7 +650,6 @@ type RetryConfig struct { // If unspecified when the queue is created, Cloud Tasks will pick the // default. // - // // `max_backoff` will be truncated to the nearest second. // // This field has the same meaning as @@ -681,7 +680,6 @@ type RetryConfig struct { // If unspecified when the queue is created, Cloud Tasks will pick the // default. // - // // This field has the same meaning as // [max_doublings in // queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). diff --git a/cloudtasks/apiv2beta3/cloudtaskspb/target.pb.go b/cloudtasks/apiv2beta3/cloudtaskspb/target.pb.go index a27f06f1284..35568162022 100755 --- a/cloudtasks/apiv2beta3/cloudtaskspb/target.pb.go +++ b/cloudtasks/apiv2beta3/cloudtaskspb/target.pb.go @@ -555,9 +555,10 @@ type HttpTarget struct { // // `Content-Type` won't be set by Cloud Tasks. You can explicitly set // `Content-Type` to a media type when the - // [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]. - // For example,`Content-Type` can be set to `"application/octet-stream"` or - // `"application/json"`. The default value is set to `"application/json"`. + // + // [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]. + // For example,`Content-Type` can be set to `"application/octet-stream"` or + // `"application/json"`. The default value is set to `"application/json"`. // // * User-Agent: This will be set to `"Google-Cloud-Tasks"`. // @@ -574,6 +575,7 @@ type HttpTarget struct { // will be overridden. // // Types that are assignable to AuthorizationHeader: + // // *HttpTarget_OauthToken // *HttpTarget_OidcToken AuthorizationHeader isHttpTarget_AuthorizationHeader `protobuf_oneof:"authorization_header"` @@ -747,18 +749,19 @@ type HttpRequest struct { // * Any header that is prefixed with "X-CloudTasks-" will be treated // as service header. Service headers define properties of the task and are // predefined in CloudTask. - // * Host: This will be computed by Cloud Tasks and derived from - // [HttpRequest.url][google.cloud.tasks.v2beta3.HttpRequest.url]. - // * Content-Length: This will be computed by Cloud Tasks. - // * User-Agent: This will be set to `"Google-Cloud-Tasks"`. - // * `X-Google-*`: Google use only. - // * `X-AppEngine-*`: Google use only. + // - Host: This will be computed by Cloud Tasks and derived from + // [HttpRequest.url][google.cloud.tasks.v2beta3.HttpRequest.url]. + // - Content-Length: This will be computed by Cloud Tasks. + // - User-Agent: This will be set to `"Google-Cloud-Tasks"`. + // - `X-Google-*`: Google use only. + // - `X-AppEngine-*`: Google use only. // // `Content-Type` won't be set by Cloud Tasks. You can explicitly set // `Content-Type` to a media type when the - // [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]. - // For example, `Content-Type` can be set to `"application/octet-stream"` or - // `"application/json"`. + // + // [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]. + // For example, `Content-Type` can be set to `"application/octet-stream"` or + // `"application/json"`. // // Headers which can have multiple values (according to RFC2616) can be // specified using comma-separated values. @@ -779,6 +782,7 @@ type HttpRequest struct { // will be overridden. // // Types that are assignable to AuthorizationHeader: + // // *HttpRequest_OauthToken // *HttpRequest_OidcToken AuthorizationHeader isHttpRequest_AuthorizationHeader `protobuf_oneof:"authorization_header"` @@ -1070,23 +1074,23 @@ type AppEngineHttpRequest struct { // // Cloud Tasks sets some headers to default values: // - // * `User-Agent`: By default, this header is - // `"AppEngine-Google; (+http://code.google.com/appengine)"`. - // This header can be modified, but Cloud Tasks will append - // `"AppEngine-Google; (+http://code.google.com/appengine)"` to the - // modified `User-Agent`. + // - `User-Agent`: By default, this header is + // `"AppEngine-Google; (+http://code.google.com/appengine)"`. + // This header can be modified, but Cloud Tasks will append + // `"AppEngine-Google; (+http://code.google.com/appengine)"` to the + // modified `User-Agent`. // // If the task has a // [body][google.cloud.tasks.v2beta3.AppEngineHttpRequest.body], Cloud Tasks // sets the following headers: // - // * `Content-Type`: By default, the `Content-Type` header is set to - // `"application/octet-stream"`. The default can be overridden by explicitly - // setting `Content-Type` to a particular media type when the - // [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]. - // For example, `Content-Type` can be set to `"application/json"`. - // * `Content-Length`: This is computed by Cloud Tasks. This value is - // output only. It cannot be changed. + // - `Content-Type`: By default, the `Content-Type` header is set to + // `"application/octet-stream"`. The default can be overridden by explicitly + // setting `Content-Type` to a particular media type when the + // [task is created][google.cloud.tasks.v2beta3.CloudTasks.CreateTask]. + // For example, `Content-Type` can be set to `"application/json"`. + // - `Content-Length`: This is computed by Cloud Tasks. This value is + // output only. It cannot be changed. // // The headers below cannot be set or overridden: // diff --git a/cloudtasks/apiv2beta3/cloudtaskspb/task.pb.go b/cloudtasks/apiv2beta3/cloudtaskspb/task.pb.go index b1d95d9a45a..46aca769f9d 100755 --- a/cloudtasks/apiv2beta3/cloudtaskspb/task.pb.go +++ b/cloudtasks/apiv2beta3/cloudtaskspb/task.pb.go @@ -126,23 +126,24 @@ type Task struct { // The task name must have the following format: // `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` // - // * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), - // hyphens (-), colons (:), or periods (.). - // For more information, see - // [Identifying - // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) - // * `LOCATION_ID` is the canonical ID for the task's location. - // The list of available locations can be obtained by calling - // [ListLocations][google.cloud.location.Locations.ListLocations]. - // For more information, see https://cloud.google.com/about/locations/. - // * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or - // hyphens (-). The maximum length is 100 characters. - // * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]), - // hyphens (-), or underscores (_). The maximum length is 500 characters. + // - `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), + // hyphens (-), colons (:), or periods (.). + // For more information, see + // [Identifying + // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) + // - `LOCATION_ID` is the canonical ID for the task's location. + // The list of available locations can be obtained by calling + // [ListLocations][google.cloud.location.Locations.ListLocations]. + // For more information, see https://cloud.google.com/about/locations/. + // - `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or + // hyphens (-). The maximum length is 100 characters. + // - `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]), + // hyphens (-), or underscores (_). The maximum length is 500 characters. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. The message to send to the worker. // // Types that are assignable to PayloadType: + // // *Task_AppEngineHttpRequest // *Task_HttpRequest // *Task_PullMessage @@ -172,22 +173,24 @@ type Task struct { // // * For [HTTP tasks][google.cloud.tasks.v2beta3.HttpRequest], the default is // 10 minutes. The deadline - // must be in the interval [15 seconds, 30 minutes]. + // + // must be in the interval [15 seconds, 30 minutes]. // // * For [App Engine tasks][google.cloud.tasks.v2beta3.AppEngineHttpRequest], // 0 indicates that the - // request has the default deadline. The default deadline depends on the - // [scaling - // type](https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#instance_scaling) - // of the service: 10 minutes for standard apps with automatic scaling, 24 - // hours for standard apps with manual and basic scaling, and 60 minutes for - // flex apps. If the request deadline is set, it must be in the interval [15 - // seconds, 24 hours 15 seconds]. Regardless of the task's - // `dispatch_deadline`, the app handler will not run for longer than than - // the service's timeout. We recommend setting the `dispatch_deadline` to - // at most a few seconds more than the app handler's timeout. For more - // information see - // [Timeouts](https://cloud.google.com/tasks/docs/creating-appengine-handlers#timeouts). + // + // request has the default deadline. The default deadline depends on the + // [scaling + // type](https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#instance_scaling) + // of the service: 10 minutes for standard apps with automatic scaling, 24 + // hours for standard apps with manual and basic scaling, and 60 minutes for + // flex apps. If the request deadline is set, it must be in the interval [15 + // seconds, 24 hours 15 seconds]. Regardless of the task's + // `dispatch_deadline`, the app handler will not run for longer than than + // the service's timeout. We recommend setting the `dispatch_deadline` to + // at most a few seconds more than the app handler's timeout. For more + // information see + // [Timeouts](https://cloud.google.com/tasks/docs/creating-appengine-handlers#timeouts). // // `dispatch_deadline` will be truncated to the nearest millisecond. The // deadline is an approximate deadline. diff --git a/commerce/consumer/procurement/apiv1/procurementpb/order.pb.go b/commerce/consumer/procurement/apiv1/procurementpb/order.pb.go index 6ea5bb6f446..c250dacca43 100755 --- a/commerce/consumer/procurement/apiv1/procurementpb/order.pb.go +++ b/commerce/consumer/procurement/apiv1/procurementpb/order.pb.go @@ -771,6 +771,7 @@ type Parameter_Value struct { // The kind of value. // // Types that are assignable to Kind: + // // *Parameter_Value_Int64Value // *Parameter_Value_StringValue // *Parameter_Value_DoubleValue diff --git a/compute/apiv1/computepb/compute.pb.go b/compute/apiv1/computepb/compute.pb.go index c7f40aa9691..a944d974243 100755 --- a/compute/apiv1/computepb/compute.pb.go +++ b/compute/apiv1/computepb/compute.pb.go @@ -41541,7 +41541,6 @@ type DiskResourceStatusAsyncReplicationStatus struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // // Check the State enum for the list of possible values. State *string `protobuf:"bytes,109757585,opt,name=state,proto3,oneof" json:"state,omitempty"` } @@ -44876,7 +44875,6 @@ type ForwardingRule struct { Ports []string `protobuf:"bytes,106854418,rep,name=ports,proto3" json:"ports,omitempty"` // [Output Only] The PSC connection id of the PSC Forwarding Rule. PscConnectionId *uint64 `protobuf:"varint,292082397,opt,name=psc_connection_id,json=pscConnectionId,proto3,oneof" json:"psc_connection_id,omitempty"` - // // Check the PscConnectionStatus enum for the list of possible values. PscConnectionStatus *string `protobuf:"bytes,184149172,opt,name=psc_connection_status,json=pscConnectionStatus,proto3,oneof" json:"psc_connection_status,omitempty"` // [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -55042,7 +55040,7 @@ type GuestAttributes struct { // [Output Only] Type of the resource. Always compute#guestAttributes for guest attributes entry. Kind *string `protobuf:"bytes,3292052,opt,name=kind,proto3,oneof" json:"kind,omitempty"` - // The path to be queried. This can be the default namespace ('') or a nested namespace ('\/') or a specified key ('\/\'). + // The path to be queried. This can be the default namespace (”) or a nested namespace ('\/') or a specified key ('\/\'). QueryPath *string `protobuf:"bytes,368591164,opt,name=query_path,json=queryPath,proto3,oneof" json:"query_path,omitempty"` // [Output Only] The value of the requested queried path. QueryValue *GuestAttributesValue `protobuf:"bytes,157570874,opt,name=query_value,json=queryValue,proto3,oneof" json:"query_value,omitempty"` @@ -56472,7 +56470,6 @@ type HealthStatus struct { // The named port of the instance group, not necessarily the port that is health-checked. Port *int32 `protobuf:"varint,3446913,opt,name=port,proto3,oneof" json:"port,omitempty"` Weight *string `protobuf:"bytes,282149496,opt,name=weight,proto3,oneof" json:"weight,omitempty"` - // // Check the WeightError enum for the list of possible values. WeightError *string `protobuf:"bytes,522501505,opt,name=weight_error,json=weightError,proto3,oneof" json:"weight_error,omitempty"` } @@ -64379,7 +64376,7 @@ type InstanceGroup struct { Kind *string `protobuf:"bytes,3292052,opt,name=kind,proto3,oneof" json:"kind,omitempty"` // The name of the instance group. The name must be 1-63 characters long, and comply with RFC1035. Name *string `protobuf:"bytes,3373707,opt,name=name,proto3,oneof" json:"name,omitempty"` - // Assigns a name to a port number. For example: {name: "http", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: "app1", port: 8080}, {name: "app1", port: 8081}, {name: "app2", port: 8082}] Named ports apply to all instances in this instance group. + // Assigns a name to a port number. For example: {name: "http", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: "app1", port: 8080}, {name: "app1", port: 8081}, {name: "app2", port: 8082}] Named ports apply to all instances in this instance group. NamedPorts []*NamedPort `protobuf:"bytes,427598732,rep,name=named_ports,json=namedPorts,proto3" json:"named_ports,omitempty"` // [Output Only] The URL of the network to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0). Network *string `protobuf:"bytes,232872494,opt,name=network,proto3,oneof" json:"network,omitempty"` @@ -86127,7 +86124,6 @@ type NetworkAttachment struct { // [Output Only] An array of connections for all the producers connected to this network attachment. ConnectionEndpoints []*NetworkAttachmentConnectedEndpoint `protobuf:"bytes,326078813,rep,name=connection_endpoints,json=connectionEndpoints,proto3" json:"connection_endpoints,omitempty"` - // // Check the ConnectionPreference enum for the list of possible values. ConnectionPreference *string `protobuf:"bytes,285818076,opt,name=connection_preference,json=connectionPreference,proto3,oneof" json:"connection_preference,omitempty"` // [Output Only] Creation timestamp in RFC3339 text format. @@ -88468,7 +88464,6 @@ type NetworkPerformanceConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // // Check the TotalEgressBandwidthTier enum for the list of possible values. TotalEgressBandwidthTier *string `protobuf:"bytes,130109439,opt,name=total_egress_bandwidth_tier,json=totalEgressBandwidthTier,proto3,oneof" json:"total_egress_bandwidth_tier,omitempty"` } @@ -88907,7 +88902,6 @@ type NodeGroup struct { ShareSettings *ShareSettings `protobuf:"bytes,266668163,opt,name=share_settings,json=shareSettings,proto3,oneof" json:"share_settings,omitempty"` // [Output Only] The total number of nodes in the node group. Size *int32 `protobuf:"varint,3530753,opt,name=size,proto3,oneof" json:"size,omitempty"` - // // Check the Status enum for the list of possible values. Status *string `protobuf:"bytes,181260274,opt,name=status,proto3,oneof" json:"status,omitempty"` // [Output Only] The name of the zone where the node group resides, such as us-central1-a. @@ -89407,7 +89401,6 @@ type NodeGroupNode struct { ServerBinding *ServerBinding `protobuf:"bytes,208179593,opt,name=server_binding,json=serverBinding,proto3,oneof" json:"server_binding,omitempty"` // Server ID associated with this node. ServerId *string `protobuf:"bytes,339433367,opt,name=server_id,json=serverId,proto3,oneof" json:"server_id,omitempty"` - // // Check the Status enum for the list of possible values. Status *string `protobuf:"bytes,181260274,opt,name=status,proto3,oneof" json:"status,omitempty"` // Total amount of available resources on the node. @@ -109281,10 +109274,8 @@ type SecurityPolicyAdvancedOptionsConfig struct { // Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. JsonCustomConfig *SecurityPolicyAdvancedOptionsConfigJsonCustomConfig `protobuf:"bytes,111570105,opt,name=json_custom_config,json=jsonCustomConfig,proto3,oneof" json:"json_custom_config,omitempty"` - // // Check the JsonParsing enum for the list of possible values. JsonParsing *string `protobuf:"bytes,282493529,opt,name=json_parsing,json=jsonParsing,proto3,oneof" json:"json_parsing,omitempty"` - // // Check the LogLevel enum for the list of possible values. LogLevel *string `protobuf:"bytes,140582601,opt,name=log_level,json=logLevel,proto3,oneof" json:"log_level,omitempty"` // An optional list of case-insensitive request header names to use for resolving the callers client IP address. @@ -109404,7 +109395,6 @@ type SecurityPolicyDdosProtectionConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // // Check the DdosProtection enum for the list of possible values. DdosProtection *string `protobuf:"bytes,275173268,opt,name=ddos_protection,json=ddosProtection,proto3,oneof" json:"ddos_protection,omitempty"` } @@ -110997,7 +110987,6 @@ type ServerBinding struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // // Check the Type enum for the list of possible values. Type *string `protobuf:"bytes,3575610,opt,name=type,proto3,oneof" json:"type,omitempty"` } @@ -122695,7 +122684,6 @@ type Subsetting struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // // Check the Policy enum for the list of possible values. Policy *string `protobuf:"bytes,91071794,opt,name=policy,proto3,oneof" json:"policy,omitempty"` } @@ -128809,7 +128797,6 @@ type UpcomingMaintenance struct { CanReschedule *bool `protobuf:"varint,95981977,opt,name=can_reschedule,json=canReschedule,proto3,oneof" json:"can_reschedule,omitempty"` // The latest time for the planned maintenance window to start. This timestamp value is in RFC3339 text format. LatestWindowStartTime *string `protobuf:"bytes,128032129,opt,name=latest_window_start_time,json=latestWindowStartTime,proto3,oneof" json:"latest_window_start_time,omitempty"` - // // Check the MaintenanceStatus enum for the list of possible values. MaintenanceStatus *string `protobuf:"bytes,81645214,opt,name=maintenance_status,json=maintenanceStatus,proto3,oneof" json:"maintenance_status,omitempty"` // Defines the type of maintenance. @@ -131727,7 +131714,7 @@ type UrlRewrite struct { HostRewrite *string `protobuf:"bytes,159819253,opt,name=host_rewrite,json=hostRewrite,proto3,oneof" json:"host_rewrite,omitempty"` // Before forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite. The value must be from 1 to 1024 characters. PathPrefixRewrite *string `protobuf:"bytes,41186361,opt,name=path_prefix_rewrite,json=pathPrefixRewrite,proto3,oneof" json:"path_prefix_rewrite,omitempty"` - // If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax. A corresponding path_template_match must be specified. Any template variables must exist in the path_template_match field. - -At least one variable must be specified in the path_template_match field - You can omit variables from the rewritten URL - The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. {format=*} or {var=**}. For example, a path_template_match of /static/{format=**} could be rewritten as /static/content/{format} to prefix /content to the URL. Variables can also be re-ordered in a rewrite, so that /{country}/{format}/{suffix=**} can be rewritten as /content/{format}/{country}/{suffix}. At least one non-empty routeRules[].matchRules[].path_template_match is required. Only one of path_prefix_rewrite or path_template_rewrite may be specified. + // If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax. A corresponding path_template_match must be specified. Any template variables must exist in the path_template_match field. - -At least one variable must be specified in the path_template_match field - You can omit variables from the rewritten URL - The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. {format=*} or {var=**}. For example, a path_template_match of /static/{format=**} could be rewritten as /static/content/{format} to prefix /content to the URL. Variables can also be re-ordered in a rewrite, so that /{country}/{format}/{suffix=**} can be rewritten as /content/{format}/{country}/{suffix}. At least one non-empty routeRules[].matchRules[].path_template_match is required. Only one of path_prefix_rewrite or path_template_rewrite may be specified. PathTemplateRewrite *string `protobuf:"bytes,423409569,opt,name=path_template_rewrite,json=pathTemplateRewrite,proto3,oneof" json:"path_template_rewrite,omitempty"` } diff --git a/config/apiv1/configpb/config.pb.go b/config/apiv1/configpb/config.pb.go index 44ff0a66c9b..3631046a6bd 100755 --- a/config/apiv1/configpb/config.pb.go +++ b/config/apiv1/configpb/config.pb.go @@ -988,6 +988,7 @@ type Deployment struct { // Blueprint to deploy. // // Types that are assignable to Blueprint: + // // *Deployment_TerraformBlueprint Blueprint isDeployment_Blueprint `protobuf_oneof:"blueprint"` // Resource name of the deployment. @@ -1250,6 +1251,7 @@ type TerraformBlueprint struct { // Location of the source configs. // // Types that are assignable to Source: + // // *TerraformBlueprint_GcsSource // *TerraformBlueprint_GitSource Source isTerraformBlueprint_Source `protobuf_oneof:"source"` @@ -1541,8 +1543,8 @@ type ListDeploymentsRequest struct { // snake_case. // // Examples: - // - Filter by name: - // name = "projects/foo/locations/us-central1/deployments/bar + // - Filter by name: + // name = "projects/foo/locations/us-central1/deployments/bar // // - Filter by labels: // - Resources that have a key called 'foo' @@ -1767,8 +1769,8 @@ type ListRevisionsRequest struct { // snake_case. // // Examples: - // - Filter by name: - // name = "projects/foo/locations/us-central1/deployments/dep/revisions/bar + // - Filter by name: + // name = "projects/foo/locations/us-central1/deployments/dep/revisions/bar // // - Filter by labels: // - Resources that have a key called 'foo' @@ -2248,6 +2250,7 @@ type OperationMetadata struct { // resource. // // Types that are assignable to ResourceMetadata: + // // *OperationMetadata_DeploymentMetadata // *OperationMetadata_PreviewMetadata ResourceMetadata isOperationMetadata_ResourceMetadata `protobuf_oneof:"resource_metadata"` @@ -2402,6 +2405,7 @@ type Revision struct { // Blueprint that was deployed. // // Types that are assignable to Blueprint: + // // *Revision_TerraformBlueprint Blueprint isRevision_Blueprint `protobuf_oneof:"blueprint"` // Revision name. Format: @@ -3128,9 +3132,9 @@ type ListResourcesRequest struct { // field, or a synthetic field. Field names can be camelCase or snake_case. // // Examples: - // - Filter by name: - // name = - // "projects/foo/locations/us-central1/deployments/dep/revisions/bar/resources/baz + // - Filter by name: + // name = + // "projects/foo/locations/us-central1/deployments/dep/revisions/bar/resources/baz Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` // Field to use to sort the list. OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` @@ -3831,6 +3835,7 @@ type Preview struct { // Blueprint to preview. // // Types that are assignable to Blueprint: + // // *Preview_TerraformBlueprint Blueprint isPreview_Blueprint `protobuf_oneof:"blueprint"` // Identifier. Resource name of the preview. Resource name can be user @@ -4361,8 +4366,8 @@ type ListPreviewsRequest struct { // snake_case. // // Examples: - // - Filter by name: - // name = "projects/foo/locations/us-central1/deployments/bar + // - Filter by name: + // name = "projects/foo/locations/us-central1/deployments/bar // // - Filter by labels: // - Resources that have a key called 'foo' diff --git a/contactcenterinsights/apiv1/contactcenterinsightspb/contact_center_insights.pb.go b/contactcenterinsights/apiv1/contactcenterinsightspb/contact_center_insights.pb.go index a8ffcd115e9..a5dc3ad3cba 100755 --- a/contactcenterinsights/apiv1/contactcenterinsightspb/contact_center_insights.pb.go +++ b/contactcenterinsights/apiv1/contactcenterinsightspb/contact_center_insights.pb.go @@ -1054,11 +1054,13 @@ type IngestConversationsRequest struct { // be converted to conversations. // // Types that are assignable to Source: + // // *IngestConversationsRequest_GcsSource_ Source isIngestConversationsRequest_Source `protobuf_oneof:"source"` // Configuration for converting individual `source` objects to conversations. // // Types that are assignable to ObjectConfig: + // // *IngestConversationsRequest_TranscriptObjectConfig_ ObjectConfig isIngestConversationsRequest_ObjectConfig `protobuf_oneof:"object_config"` // Required. The parent resource for new conversations. @@ -2053,6 +2055,7 @@ type ExportInsightsDataRequest struct { // Exporter destination. // // Types that are assignable to Destination: + // // *ExportInsightsDataRequest_BigQueryDestination_ Destination isExportInsightsDataRequest_Destination `protobuf_oneof:"destination"` // Required. The parent resource to export data from. @@ -4425,13 +4428,13 @@ type IngestConversationsRequest_ConversationConfig struct { // An opaque, user-specified string representing the human agent who handled // the conversations. AgentId string `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` - // Optional. For audio conversations, this field indicates which of the - // channels, 1 or 2, contains the agent. Note that this must be set for - // audio conversations to be properly displayed and analyzed. + // Optional. Indicates which of the channels, 1 or 2, contains the agent. + // Note that this must be set for conversations to be properly displayed and + // analyzed. AgentChannel int32 `protobuf:"varint,2,opt,name=agent_channel,json=agentChannel,proto3" json:"agent_channel,omitempty"` - // Optional. For audio conversations, this field indicates which of the - // channels, 1 or 2, contains the customer. Note that this must be set for - // audio conversations to be properly displayed and analyzed. + // Optional. Indicates which of the channels, 1 or 2, contains the agent. + // Note that this must be set for conversations to be properly displayed and + // analyzed. CustomerChannel int32 `protobuf:"varint,3,opt,name=customer_channel,json=customerChannel,proto3" json:"customer_channel,omitempty"` } diff --git a/contactcenterinsights/apiv1/contactcenterinsightspb/resources.pb.go b/contactcenterinsights/apiv1/contactcenterinsightspb/resources.pb.go index 25f7f085584..34a494f9b46 100755 --- a/contactcenterinsights/apiv1/contactcenterinsightspb/resources.pb.go +++ b/contactcenterinsights/apiv1/contactcenterinsightspb/resources.pb.go @@ -677,6 +677,7 @@ type Conversation struct { // Metadata that applies to the conversation. // // Types that are assignable to Metadata: + // // *Conversation_CallMetadata_ Metadata isConversation_Metadata `protobuf_oneof:"metadata"` // A time to live expiration setting, can be either a specified timestamp or a @@ -685,6 +686,7 @@ type Conversation struct { // the specified time. // // Types that are assignable to Expiration: + // // *Conversation_ExpireTime // *Conversation_Ttl Expiration isConversation_Expiration `protobuf_oneof:"expiration"` @@ -708,6 +710,8 @@ type Conversation struct { // A map for the user to specify any custom fields. A maximum of 20 labels per // conversation is allowed, with a maximum of 256 characters per entry. Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Conversation metadata related to quality management. + QualityMetadata *Conversation_QualityMetadata `protobuf:"bytes,24,opt,name=quality_metadata,json=qualityMetadata,proto3" json:"quality_metadata,omitempty"` // Output only. The conversation transcript. Transcript *Conversation_Transcript `protobuf:"bytes,8,opt,name=transcript,proto3" json:"transcript,omitempty"` // Immutable. The conversation medium, if unspecified will default to @@ -855,6 +859,13 @@ func (x *Conversation) GetLabels() map[string]string { return nil } +func (x *Conversation) GetQualityMetadata() *Conversation_QualityMetadata { + if x != nil { + return x.QualityMetadata + } + return nil +} + func (x *Conversation) GetTranscript() *Conversation_Transcript { if x != nil { return x.Transcript @@ -1048,6 +1059,7 @@ type ConversationDataSource struct { // The source of the conversation. // // Types that are assignable to Source: + // // *ConversationDataSource_GcsSource // *ConversationDataSource_DialogflowSource Source isConversationDataSource_Source `protobuf_oneof:"source"` @@ -1254,6 +1266,7 @@ type AnalysisResult struct { // Metadata discovered during analysis. // // Types that are assignable to Metadata: + // // *AnalysisResult_CallAnalysisMetadata_ Metadata isAnalysisResult_Metadata `protobuf_oneof:"metadata"` // The time at which the analysis ended. @@ -1519,6 +1532,7 @@ type CallAnnotation struct { // The data in the annotation. // // Types that are assignable to Data: + // // *CallAnnotation_InterruptionData // *CallAnnotation_SentimentData // *CallAnnotation_SilenceData @@ -1722,6 +1736,7 @@ type AnnotationBoundary struct { // A detailed boundary, which describes a more specific point. // // Types that are assignable to DetailedBoundary: + // // *AnnotationBoundary_WordIndex DetailedBoundary isAnnotationBoundary_DetailedBoundary `protobuf_oneof:"detailed_boundary"` // The index in the sequence of transcribed pieces of the conversation where @@ -2979,6 +2994,7 @@ type PhraseMatchRuleConfig struct { // The configuration of the phrase match rule. // // Types that are assignable to Config: + // // *PhraseMatchRuleConfig_ExactMatchConfig Config isPhraseMatchRuleConfig_Config `protobuf_oneof:"config"` } @@ -3355,6 +3371,7 @@ type RuntimeAnnotation struct { // The data in the annotation. // // Types that are assignable to Data: + // // *RuntimeAnnotation_ArticleSuggestion // *RuntimeAnnotation_FaqAnswer // *RuntimeAnnotation_SmartReply @@ -4139,6 +4156,7 @@ type ConversationParticipant struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Participant: + // // *ConversationParticipant_DialogflowParticipantName // *ConversationParticipant_UserId Participant isConversationParticipant_Participant `protobuf_oneof:"participant"` @@ -4541,6 +4559,82 @@ func (x *Conversation_CallMetadata) GetAgentChannel() int32 { return 0 } +// Conversation metadata related to quality management. +type Conversation_QualityMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // An arbitrary integer value indicating the customer's satisfaction rating. + CustomerSatisfactionRating int32 `protobuf:"varint,1,opt,name=customer_satisfaction_rating,json=customerSatisfactionRating,proto3" json:"customer_satisfaction_rating,omitempty"` + // The amount of time the customer waited to connect with an agent. + WaitDuration *durationpb.Duration `protobuf:"bytes,2,opt,name=wait_duration,json=waitDuration,proto3" json:"wait_duration,omitempty"` + // An arbitrary string value specifying the menu path the customer took. + MenuPath string `protobuf:"bytes,3,opt,name=menu_path,json=menuPath,proto3" json:"menu_path,omitempty"` + // Information about agents involved in the call. + AgentInfo []*Conversation_QualityMetadata_AgentInfo `protobuf:"bytes,4,rep,name=agent_info,json=agentInfo,proto3" json:"agent_info,omitempty"` +} + +func (x *Conversation_QualityMetadata) Reset() { + *x = Conversation_QualityMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Conversation_QualityMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Conversation_QualityMetadata) ProtoMessage() {} + +func (x *Conversation_QualityMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Conversation_QualityMetadata.ProtoReflect.Descriptor instead. +func (*Conversation_QualityMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_contactcenterinsights_v1_resources_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *Conversation_QualityMetadata) GetCustomerSatisfactionRating() int32 { + if x != nil { + return x.CustomerSatisfactionRating + } + return 0 +} + +func (x *Conversation_QualityMetadata) GetWaitDuration() *durationpb.Duration { + if x != nil { + return x.WaitDuration + } + return nil +} + +func (x *Conversation_QualityMetadata) GetMenuPath() string { + if x != nil { + return x.MenuPath + } + return "" +} + +func (x *Conversation_QualityMetadata) GetAgentInfo() []*Conversation_QualityMetadata_AgentInfo { + if x != nil { + return x.AgentInfo + } + return nil +} + // A message representing the transcript of a conversation. type Conversation_Transcript struct { state protoimpl.MessageState @@ -4554,7 +4648,7 @@ type Conversation_Transcript struct { func (x *Conversation_Transcript) Reset() { *x = Conversation_Transcript{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[45] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4567,7 +4661,7 @@ func (x *Conversation_Transcript) String() string { func (*Conversation_Transcript) ProtoMessage() {} func (x *Conversation_Transcript) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[45] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4580,7 +4674,7 @@ func (x *Conversation_Transcript) ProtoReflect() protoreflect.Message { // Deprecated: Use Conversation_Transcript.ProtoReflect.Descriptor instead. func (*Conversation_Transcript) Descriptor() ([]byte, []int) { - return file_google_cloud_contactcenterinsights_v1_resources_proto_rawDescGZIP(), []int{0, 1} + return file_google_cloud_contactcenterinsights_v1_resources_proto_rawDescGZIP(), []int{0, 2} } func (x *Conversation_Transcript) GetTranscriptSegments() []*Conversation_Transcript_TranscriptSegment { @@ -4590,6 +4684,83 @@ func (x *Conversation_Transcript) GetTranscriptSegments() []*Conversation_Transc return nil } +// Information about an agent involved in the conversation. +type Conversation_QualityMetadata_AgentInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A user-specified string representing the agent. + AgentId string `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` + // The agent's name. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // A user-specified string representing the agent's team. + Team string `protobuf:"bytes,3,opt,name=team,proto3" json:"team,omitempty"` + // A user-provided string indicating the outcome of the agent's segment of + // the call. + DispositionCode string `protobuf:"bytes,4,opt,name=disposition_code,json=dispositionCode,proto3" json:"disposition_code,omitempty"` +} + +func (x *Conversation_QualityMetadata_AgentInfo) Reset() { + *x = Conversation_QualityMetadata_AgentInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Conversation_QualityMetadata_AgentInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Conversation_QualityMetadata_AgentInfo) ProtoMessage() {} + +func (x *Conversation_QualityMetadata_AgentInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Conversation_QualityMetadata_AgentInfo.ProtoReflect.Descriptor instead. +func (*Conversation_QualityMetadata_AgentInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_contactcenterinsights_v1_resources_proto_rawDescGZIP(), []int{0, 1, 0} +} + +func (x *Conversation_QualityMetadata_AgentInfo) GetAgentId() string { + if x != nil { + return x.AgentId + } + return "" +} + +func (x *Conversation_QualityMetadata_AgentInfo) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Conversation_QualityMetadata_AgentInfo) GetTeam() string { + if x != nil { + return x.Team + } + return "" +} + +func (x *Conversation_QualityMetadata_AgentInfo) GetDispositionCode() string { + if x != nil { + return x.DispositionCode + } + return "" +} + // A segment of a full transcript. type Conversation_Transcript_TranscriptSegment struct { state protoimpl.MessageState @@ -4625,7 +4796,7 @@ type Conversation_Transcript_TranscriptSegment struct { func (x *Conversation_Transcript_TranscriptSegment) Reset() { *x = Conversation_Transcript_TranscriptSegment{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[48] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4638,7 +4809,7 @@ func (x *Conversation_Transcript_TranscriptSegment) String() string { func (*Conversation_Transcript_TranscriptSegment) ProtoMessage() {} func (x *Conversation_Transcript_TranscriptSegment) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[48] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4651,7 +4822,7 @@ func (x *Conversation_Transcript_TranscriptSegment) ProtoReflect() protoreflect. // Deprecated: Use Conversation_Transcript_TranscriptSegment.ProtoReflect.Descriptor instead. func (*Conversation_Transcript_TranscriptSegment) Descriptor() ([]byte, []int) { - return file_google_cloud_contactcenterinsights_v1_resources_proto_rawDescGZIP(), []int{0, 1, 0} + return file_google_cloud_contactcenterinsights_v1_resources_proto_rawDescGZIP(), []int{0, 2, 0} } func (x *Conversation_Transcript_TranscriptSegment) GetMessageTime() *timestamppb.Timestamp { @@ -4739,7 +4910,7 @@ type Conversation_Transcript_TranscriptSegment_WordInfo struct { func (x *Conversation_Transcript_TranscriptSegment_WordInfo) Reset() { *x = Conversation_Transcript_TranscriptSegment_WordInfo{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[49] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4752,7 +4923,7 @@ func (x *Conversation_Transcript_TranscriptSegment_WordInfo) String() string { func (*Conversation_Transcript_TranscriptSegment_WordInfo) ProtoMessage() {} func (x *Conversation_Transcript_TranscriptSegment_WordInfo) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[49] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4765,7 +4936,7 @@ func (x *Conversation_Transcript_TranscriptSegment_WordInfo) ProtoReflect() prot // Deprecated: Use Conversation_Transcript_TranscriptSegment_WordInfo.ProtoReflect.Descriptor instead. func (*Conversation_Transcript_TranscriptSegment_WordInfo) Descriptor() ([]byte, []int) { - return file_google_cloud_contactcenterinsights_v1_resources_proto_rawDescGZIP(), []int{0, 1, 0, 0} + return file_google_cloud_contactcenterinsights_v1_resources_proto_rawDescGZIP(), []int{0, 2, 0, 0} } func (x *Conversation_Transcript_TranscriptSegment_WordInfo) GetStartOffset() *durationpb.Duration { @@ -4810,7 +4981,7 @@ type Conversation_Transcript_TranscriptSegment_DialogflowSegmentMetadata struct func (x *Conversation_Transcript_TranscriptSegment_DialogflowSegmentMetadata) Reset() { *x = Conversation_Transcript_TranscriptSegment_DialogflowSegmentMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[50] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4823,7 +4994,7 @@ func (x *Conversation_Transcript_TranscriptSegment_DialogflowSegmentMetadata) St func (*Conversation_Transcript_TranscriptSegment_DialogflowSegmentMetadata) ProtoMessage() {} func (x *Conversation_Transcript_TranscriptSegment_DialogflowSegmentMetadata) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[50] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4836,7 +5007,7 @@ func (x *Conversation_Transcript_TranscriptSegment_DialogflowSegmentMetadata) Pr // Deprecated: Use Conversation_Transcript_TranscriptSegment_DialogflowSegmentMetadata.ProtoReflect.Descriptor instead. func (*Conversation_Transcript_TranscriptSegment_DialogflowSegmentMetadata) Descriptor() ([]byte, []int) { - return file_google_cloud_contactcenterinsights_v1_resources_proto_rawDescGZIP(), []int{0, 1, 0, 1} + return file_google_cloud_contactcenterinsights_v1_resources_proto_rawDescGZIP(), []int{0, 2, 0, 1} } func (x *Conversation_Transcript_TranscriptSegment_DialogflowSegmentMetadata) GetSmartReplyAllowlistCovered() bool { @@ -4869,7 +5040,7 @@ type AnalysisResult_CallAnalysisMetadata struct { func (x *AnalysisResult_CallAnalysisMetadata) Reset() { *x = AnalysisResult_CallAnalysisMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[51] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4882,7 +5053,7 @@ func (x *AnalysisResult_CallAnalysisMetadata) String() string { func (*AnalysisResult_CallAnalysisMetadata) ProtoMessage() {} func (x *AnalysisResult_CallAnalysisMetadata) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[51] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4962,7 +5133,7 @@ type IssueModel_InputDataConfig struct { func (x *IssueModel_InputDataConfig) Reset() { *x = IssueModel_InputDataConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[56] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4975,7 +5146,7 @@ func (x *IssueModel_InputDataConfig) String() string { func (*IssueModel_InputDataConfig) ProtoMessage() {} func (x *IssueModel_InputDataConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[56] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5032,7 +5203,7 @@ type IssueModelLabelStats_IssueStats struct { func (x *IssueModelLabelStats_IssueStats) Reset() { *x = IssueModelLabelStats_IssueStats{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[57] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5045,7 +5216,7 @@ func (x *IssueModelLabelStats_IssueStats) String() string { func (*IssueModelLabelStats_IssueStats) ProtoMessage() {} func (x *IssueModelLabelStats_IssueStats) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[57] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5102,7 +5273,7 @@ type Settings_AnalysisConfig struct { func (x *Settings_AnalysisConfig) Reset() { *x = Settings_AnalysisConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[59] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5115,7 +5286,7 @@ func (x *Settings_AnalysisConfig) String() string { func (*Settings_AnalysisConfig) ProtoMessage() {} func (x *Settings_AnalysisConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[59] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5162,6 +5333,7 @@ type AnnotatorSelector_SummarizationConfig struct { // of the supported default models. // // Types that are assignable to ModelSource: + // // *AnnotatorSelector_SummarizationConfig_ConversationProfile // *AnnotatorSelector_SummarizationConfig_SummarizationModel_ ModelSource isAnnotatorSelector_SummarizationConfig_ModelSource `protobuf_oneof:"model_source"` @@ -5170,7 +5342,7 @@ type AnnotatorSelector_SummarizationConfig struct { func (x *AnnotatorSelector_SummarizationConfig) Reset() { *x = AnnotatorSelector_SummarizationConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[67] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5183,7 +5355,7 @@ func (x *AnnotatorSelector_SummarizationConfig) String() string { func (*AnnotatorSelector_SummarizationConfig) ProtoMessage() {} func (x *AnnotatorSelector_SummarizationConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[67] + mi := &file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5258,7 +5430,7 @@ var file_google_cloud_contactcenterinsights_v1_resources_proto_rawDesc = []byte{ 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x18, 0x0a, 0x0c, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x1c, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, @@ -5302,7 +5474,14 @@ var file_google_cloud_contactcenterinsights_v1_resources_proto_rawDesc = []byte{ 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x63, 0x0a, 0x0a, 0x74, 0x72, 0x61, + 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x6e, 0x0a, 0x10, 0x71, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x18, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x63, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, @@ -5358,1129 +5537,1156 @@ var file_google_cloud_contactcenterinsights_v1_resources_proto_rawDesc = []byte{ 0x6f, 0x6d, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x1a, 0xdb, 0x08, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, - 0x81, 0x01, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x73, - 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x1a, 0xc8, 0x07, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0c, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1e, 0x0a, 0x0a, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x6f, 0x0a, 0x05, - 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x59, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x6f, - 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x23, 0x0a, - 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x61, - 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x54, 0x61, 0x67, 0x12, 0x6f, 0x0a, 0x13, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x1a, 0xa9, 0x03, 0x0a, 0x0f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x1c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1a, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x53, 0x61, 0x74, 0x69, 0x73, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x3e, 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6e, 0x75, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x6e, 0x75, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x6c, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x1a, 0x88, 0x01, 0x0a, 0x09, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x61, + 0x6d, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x69, 0x73, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0xdb, 0x08, 0x0a, + 0x0a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x81, 0x01, 0x0a, 0x13, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, + 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x12, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, + 0xc8, 0x07, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x65, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x6f, 0x0a, 0x05, 0x77, 0x6f, 0x72, 0x64, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x59, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x05, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x61, 0x67, 0x12, + 0x6f, 0x0a, 0x13, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x12, 0x73, 0x65, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x12, 0xaa, 0x01, 0x0a, 0x1b, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x5f, + 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, + 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x19, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x65, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x52, 0x0a, + 0x09, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x52, 0x12, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x12, 0xaa, 0x01, 0x0a, 0x1b, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, - 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, - 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x69, 0x61, - 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x19, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, - 0x6f, 0x77, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x52, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, - 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e, - 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x74, - 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0xb6, 0x01, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, + 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, + 0x74, 0x1a, 0xb6, 0x01, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, + 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x09, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x6f, - 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x5e, - 0x0a, 0x19, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x1d, 0x73, - 0x6d, 0x61, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x1a, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x41, 0x6c, - 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x1a, 0x39, - 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7d, 0x0a, 0x16, 0x44, 0x69, 0x61, - 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, - 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x61, - 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3a, 0x0a, 0x06, 0x4d, 0x65, 0x64, 0x69, - 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x48, - 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x48, - 0x41, 0x54, 0x10, 0x02, 0x3a, 0x7c, 0xea, 0x41, 0x79, 0x0a, 0x31, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x0a, + 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x6e, 0x64, + 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x5e, 0x0a, 0x19, 0x44, 0x69, + 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x6d, 0x61, 0x72, 0x74, + 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, + 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, + 0x73, 0x6d, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, + 0x69, 0x73, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7d, 0x0a, 0x16, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, + 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, + 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, + 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3a, 0x0a, 0x06, 0x4d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x12, 0x16, + 0x0a, 0x12, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, + 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x48, 0x41, 0x54, 0x10, 0x02, + 0x3a, 0x7c, 0xea, 0x41, 0x79, 0x0a, 0x31, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x42, 0x0a, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0c, 0x0a, 0x0a, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x04, 0x0a, 0x08, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, + 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x63, 0x0a, 0x0f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, + 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x67, 0x0a, 0x12, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, + 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x3a, 0x8d, 0x01, 0xea, 0x41, 0x89, 0x01, 0x0a, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x7d, 0x42, 0x0a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0c, - 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x04, 0x0a, - 0x08, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x63, 0x0a, 0x0f, 0x61, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x58, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x7d, 0x22, 0xdd, 0x01, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x51, 0x0a, + 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, - 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, - 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x67, 0x0a, - 0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, - 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x52, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x3a, 0x8d, 0x01, 0xea, 0x41, 0x89, 0x01, 0x0a, 0x2d, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x58, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x7d, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x61, - 0x6c, 0x79, 0x73, 0x69, 0x73, 0x7d, 0x22, 0xdd, 0x01, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x51, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, - 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, - 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x66, 0x0a, 0x11, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, - 0x6f, 0x77, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, - 0x6f, 0x77, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x10, 0x64, 0x69, 0x61, 0x6c, - 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x54, 0x0a, 0x09, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x75, 0x72, 0x69, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x55, 0x72, 0x69, - 0x12, 0x2a, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x75, - 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0d, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x55, 0x72, 0x69, 0x22, 0x6d, 0x0a, 0x10, - 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x3c, 0x0a, 0x17, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, - 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, - 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x55, 0x72, 0x69, 0x22, 0xd9, 0x09, 0x0a, 0x0e, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x82, - 0x01, 0x0a, 0x16, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, - 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x41, 0x6e, 0x61, 0x6c, 0x79, - 0x73, 0x69, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x14, 0x63, - 0x61, 0x6c, 0x6c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0xfe, 0x07, 0x0a, 0x14, 0x43, - 0x61, 0x6c, 0x6c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x57, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, - 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x74, 0x0a, 0x08, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x58, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, - 0x69, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, - 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, - 0x65, 0x73, 0x12, 0x61, 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x73, 0x65, 0x6e, 0x74, 0x69, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x71, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x61, - 0x6c, 0x6c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x07, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x87, 0x01, 0x0a, 0x0f, 0x70, 0x68, 0x72, - 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x5e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x66, 0x0a, 0x11, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x10, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, + 0x6f, 0x77, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x54, 0x0a, 0x09, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x55, 0x72, 0x69, 0x12, 0x2a, 0x0a, 0x0e, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x55, 0x72, 0x69, 0x22, 0x6d, 0x0a, 0x10, 0x44, 0x69, 0x61, 0x6c, + 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x17, + 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x16, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x75, + 0x64, 0x69, 0x6f, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, + 0x75, 0x64, 0x69, 0x6f, 0x55, 0x72, 0x69, 0x22, 0xd9, 0x09, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x82, 0x01, 0x0a, 0x16, 0x63, + 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x14, 0x63, 0x61, 0x6c, 0x6c, 0x41, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0xfe, 0x07, 0x0a, 0x14, 0x43, 0x61, 0x6c, 0x6c, 0x41, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x57, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6c, + 0x6c, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x74, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, + 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x61, + 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, + 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x53, 0x65, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x71, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x41, 0x6e, - 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, - 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x0e, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x72, 0x73, 0x12, 0x65, 0x0a, 0x12, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x69, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x87, 0x01, 0x0a, 0x0f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x10, 0x69, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x6a, 0x0a, 0x0d, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x69, 0x0a, 0x0c, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x1a, 0x79, 0x0a, 0x13, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4c, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, - 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb9, 0x01, 0x0a, 0x10, 0x49, 0x73, 0x73, 0x75, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x55, 0x0a, 0x0b, - 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x34, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, - 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x73, 0x73, - 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x12, 0x4e, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, - 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, - 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x73, 0x22, 0x9a, 0x01, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x61, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x54, 0x61, 0x67, 0x12, 0x5b, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x22, 0x65, 0x0a, 0x0f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, - 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, - 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xae, 0x08, 0x0a, 0x0e, 0x43, 0x61, 0x6c, 0x6c, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x66, 0x0a, 0x11, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, - 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, - 0x52, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x5d, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, + 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x68, 0x72, 0x61, 0x73, + 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, + 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x12, 0x65, + 0x0a, 0x12, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x48, 0x00, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x57, 0x0a, 0x0c, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x10, 0x69, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x6a, 0x0a, 0x0d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0b, 0x73, - 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4e, 0x0a, 0x09, 0x68, 0x6f, - 0x6c, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x6f, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, - 0x52, 0x08, 0x68, 0x6f, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x6a, 0x0a, 0x13, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x69, 0x0a, 0x0c, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, + 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x79, 0x0a, 0x13, + 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x68, 0x72, + 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x22, 0xb9, 0x01, 0x0a, 0x10, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x55, 0x0a, 0x0b, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xfa, + 0x41, 0x31, 0x0a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x52, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, + 0x4e, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, + 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, + 0x9a, 0x01, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, + 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x61, 0x67, 0x12, + 0x5b, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x11, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x6e, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x73, + 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x65, 0x0a, 0x0f, + 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0xae, 0x08, 0x0a, 0x0e, 0x43, 0x61, 0x6c, 0x6c, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x66, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, + 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, - 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x11, - 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, + 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x10, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x5d, + 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0d, + 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x57, 0x0a, + 0x0c, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x6c, 0x65, + 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x69, 0x6c, 0x65, 0x6e, + 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4e, 0x0a, 0x09, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, + 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x48, 0x6f, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x68, 0x6f, + 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x6a, 0x0a, 0x13, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x5f, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x4d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, + 0x11, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x64, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, + 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x11, 0x70, 0x68, 0x72, 0x61, + 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x68, 0x72, 0x61, + 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0f, 0x70, + 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x61, + 0x0a, 0x10, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x48, + 0x00, 0x52, 0x0e, 0x69, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x61, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x61, 0x67, 0x12, 0x75, 0x0a, 0x19, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, + 0x52, 0x17, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x12, 0x71, 0x0a, 0x17, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x6f, 0x75, 0x6e, + 0x64, 0x61, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, + 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, + 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x15, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x6e, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x42, 0x06, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x75, 0x0a, 0x12, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0a, 0x77, 0x6f, + 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, + 0x52, 0x09, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x29, 0x0a, 0x10, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x13, 0x0a, 0x11, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x22, 0xbe, 0x04, 0x0a, 0x06, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x0f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x61, 0x0a, 0x10, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, - 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0e, 0x69, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x54, 0x61, 0x67, 0x12, 0x75, 0x0a, 0x19, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x57, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x61, + 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x73, 0x61, + 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x52, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, - 0x64, 0x61, 0x72, 0x79, 0x52, 0x17, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x12, 0x71, 0x0a, - 0x17, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x5f, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x15, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, - 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x75, 0x0a, 0x12, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x12, 0x1f, - 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x29, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x13, 0x0a, 0x11, 0x64, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x22, - 0xbe, 0x04, 0x0a, 0x06, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, + 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x09, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc2, 0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x45, 0x52, 0x53, 0x4f, 0x4e, + 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, + 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x0f, 0x0a, + 0x0b, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x4f, 0x46, 0x5f, 0x41, 0x52, 0x54, 0x10, 0x05, 0x12, 0x11, + 0x0a, 0x0d, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x52, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x10, + 0x06, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, + 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x09, 0x12, 0x0b, + 0x0a, 0x07, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x0a, 0x12, 0x08, 0x0a, 0x04, 0x44, + 0x41, 0x54, 0x45, 0x10, 0x0b, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, + 0x0c, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x52, 0x49, 0x43, 0x45, 0x10, 0x0d, 0x22, 0x3b, 0x0a, 0x06, + 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5b, 0x0a, 0x0f, 0x50, 0x68, 0x72, + 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, + 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x10, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, + 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x57, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, - 0x0a, 0x08, 0x73, 0x61, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x08, 0x73, 0x61, 0x6c, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x52, 0x0a, 0x09, 0x73, 0x65, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, + 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x12, 0x0a, + 0x10, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, + 0x61, 0x22, 0x0d, 0x0a, 0x0b, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x22, 0x0a, 0x0a, 0x08, 0x48, 0x6f, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x22, 0xb0, 0x02, 0x0a, + 0x11, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x6e, 0x69, + 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x12, 0x58, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, + 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x52, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, + 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x09, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x43, 0x0a, 0x0b, 0x4d, 0x65, + 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x45, 0x4e, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x52, 0x4f, 0x50, 0x45, + 0x52, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4d, 0x4d, 0x4f, 0x4e, 0x10, 0x02, 0x22, + 0x3b, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x6e, 0x69, + 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x0d, + 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, + 0x09, 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x09, 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x22, 0x73, 0x0a, 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x61, 0x0a, 0x10, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x61, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x3b, - 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc2, 0x01, 0x0a, 0x04, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x45, - 0x52, 0x53, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x5a, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, - 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x4f, 0x46, 0x5f, 0x41, 0x52, 0x54, - 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x52, 0x5f, 0x47, - 0x4f, 0x4f, 0x44, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x07, - 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, - 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x0a, 0x12, - 0x08, 0x0a, 0x04, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0b, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, - 0x42, 0x45, 0x52, 0x10, 0x0c, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x52, 0x49, 0x43, 0x45, 0x10, 0x0d, - 0x22, 0x3b, 0x0a, 0x06, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5b, 0x0a, - 0x0f, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x10, 0x44, 0x69, - 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x21, - 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x41, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x95, 0x09, 0x0a, 0x0a, 0x49, 0x73, 0x73, 0x75, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0x12, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0x0d, 0x0a, 0x0b, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x22, 0x0a, 0x0a, 0x08, 0x48, 0x6f, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, - 0x22, 0xb0, 0x02, 0x0a, 0x11, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x6e, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, - 0x12, 0x58, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x6e, - 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x52, 0x0a, 0x09, 0x73, 0x65, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x43, - 0x0a, 0x0b, 0x4d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, - 0x18, 0x4d, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, - 0x52, 0x4f, 0x50, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4d, 0x4d, 0x4f, - 0x4e, 0x10, 0x02, 0x22, 0x3b, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, - 0x22, 0x43, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, - 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x73, 0x0a, 0x0e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x61, 0x0a, 0x10, 0x69, 0x73, 0x73, 0x75, 0x65, - 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, - 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x69, 0x73, 0x73, 0x75, 0x65, - 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x95, 0x09, 0x0a, 0x0a, 0x49, - 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x52, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, + 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, + 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x6d, 0x0a, 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, + 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, + 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6a, + 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x42, 0x06, 0xe0, 0x41, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0d, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x0a, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x6d, 0x0a, 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, + 0x6c, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, + 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0xc8, 0x01, 0x0a, 0x0f, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x56, 0x0a, 0x06, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, + 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x42, 0x02, 0x18, 0x01, 0x52, + 0x06, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x12, 0x45, 0x0a, 0x1c, 0x74, 0x72, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x1a, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x6a, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4e, 0x44, 0x45, 0x50, 0x4c, + 0x4f, 0x59, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, + 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x45, + 0x44, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x49, + 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0x05, 0x22, 0x41, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1a, 0x0a, 0x16, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x56, 0x31, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x56, 0x32, 0x10, 0x02, 0x3a, 0x77, 0xea, 0x41, 0x74, 0x0a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x41, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x7d, 0x22, 0xfd, + 0x02, 0x0a, 0x05, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x11, 0x73, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x5f, 0x75, 0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x55, 0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x81, 0x01, 0xea, 0x41, 0x7e, + 0x0a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, + 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, 0x50, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x73, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x7d, 0x2f, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x7d, 0x22, 0xa0, + 0x04, 0x0a, 0x14, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x20, 0x75, 0x6e, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x1e, 0x75, 0x6e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x6c, 0x0a, 0x0b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x1a, 0x85, 0x01, 0x0a, 0x0a, 0x49, 0x73, 0x73, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x1b, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, + 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x85, 0x01, 0x0a, 0x0f, 0x49, 0x73, + 0x73, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x5c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x6a, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, - 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x42, 0x06, 0xe0, 0x41, 0x03, 0xe0, 0x41, 0x05, 0x52, - 0x0d, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x5a, - 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, - 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, - 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, - 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x1a, - 0xc8, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x06, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, - 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x06, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x12, 0x45, 0x0a, 0x1c, 0x74, - 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1a, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x6a, 0x0a, 0x05, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4e, - 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, - 0x50, 0x4c, 0x4f, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x50, - 0x4c, 0x4f, 0x59, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x44, 0x45, 0x50, - 0x4c, 0x4f, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, - 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x22, 0x41, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x0b, 0x0a, 0x07, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x31, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x32, 0x10, 0x02, 0x3a, 0x77, 0xea, 0x41, 0x74, 0x0a, 0x2f, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, - 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x7d, 0x22, 0xfd, 0x02, 0x0a, 0x05, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, 0x17, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x49, 0x73, 0x73, 0x75, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0xa4, 0x07, 0x0a, 0x0d, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, + 0x05, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x61, + 0x67, 0x12, 0x51, 0x0a, 0x14, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x11, - 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x75, 0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x73, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x55, 0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x81, - 0x01, 0xea, 0x41, 0x7e, 0x0a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x73, 0x73, 0x75, 0x65, - 0x12, 0x50, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x7d, 0x22, 0xa0, 0x04, 0x0a, 0x14, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x61, - 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x1a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x48, 0x0a, - 0x20, 0x75, 0x6e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x75, 0x6e, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x6c, 0x0a, 0x0b, 0x69, 0x73, 0x73, 0x75, 0x65, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x85, 0x01, 0x0a, 0x0a, 0x49, 0x73, 0x73, 0x75, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x1b, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x19, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x85, 0x01, - 0x0a, 0x0f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x5c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, - 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, - 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, - 0x49, 0x73, 0x73, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa4, 0x07, 0x0a, 0x0d, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0b, 0x72, - 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x54, 0x61, 0x67, 0x12, 0x51, 0x0a, 0x14, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5f, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, - 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, - 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x12, 0x74, 0x0a, 0x18, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x15, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x55, 0x0a, 0x16, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x62, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, - 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x09, 0x72, 0x6f, 0x6c, 0x65, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x11, 0x50, 0x68, 0x72, 0x61, 0x73, - 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, - 0x50, 0x48, 0x52, 0x41, 0x53, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x52, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4c, 0x4c, 0x5f, 0x4f, 0x46, 0x10, 0x01, 0x12, 0x0a, 0x0a, - 0x06, 0x41, 0x4e, 0x59, 0x5f, 0x4f, 0x46, 0x10, 0x02, 0x3a, 0x80, 0x01, 0xea, 0x41, 0x7d, 0x0a, - 0x32, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, - 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x72, 0x12, 0x47, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x68, 0x72, - 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x70, 0x68, 0x72, - 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x7d, 0x22, 0xcd, 0x02, 0x0a, - 0x14, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x6d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, - 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x68, 0x72, 0x61, - 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x2e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x64, 0x0a, 0x12, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x10, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x60, 0x0a, 0x18, 0x50, 0x68, - 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x48, 0x52, 0x41, 0x53, 0x45, - 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, - 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4c, 0x4c, 0x5f, 0x4f, 0x46, 0x10, 0x01, - 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4e, 0x59, 0x5f, 0x4f, 0x46, 0x10, 0x02, 0x22, 0x9c, 0x01, 0x0a, - 0x0f, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, - 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6e, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6e, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x12, 0x54, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x52, 0x12, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x68, - 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8a, 0x01, 0x0a, 0x15, - 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x67, 0x0a, 0x12, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2e, 0x50, 0x68, 0x72, 0x61, + 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x12, 0x74, 0x0a, 0x18, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x08, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, + 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x68, 0x72, 0x61, 0x73, + 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x15, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x55, 0x0a, 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x62, 0x0a, + 0x0a, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, - 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, - 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, - 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x39, 0x0a, 0x10, 0x45, 0x78, 0x61, 0x63, - 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, - 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, - 0x69, 0x76, 0x65, 0x22, 0xb0, 0x09, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x74, 0x6c, 0x12, 0x91, 0x01, 0x0a, 0x1c, 0x70, 0x75, 0x62, - 0x73, 0x75, 0x62, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x1a, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x67, 0x0a, 0x0f, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, - 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x61, 0x0a, 0x10, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5d, 0x0a, 0x0d, 0x73, 0x70, 0x65, 0x65, - 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x11, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x48, 0x52, 0x41, + 0x53, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, + 0x06, 0x41, 0x4c, 0x4c, 0x5f, 0x4f, 0x46, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4e, 0x59, + 0x5f, 0x4f, 0x46, 0x10, 0x02, 0x3a, 0x80, 0x01, 0xea, 0x41, 0x7d, 0x0a, 0x32, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, + 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, + 0x47, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x7d, 0x22, 0xcd, 0x02, 0x0a, 0x14, 0x50, 0x68, 0x72, + 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x6d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, 0x70, 0x65, 0x65, 0x63, - 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xa7, 0x02, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x55, 0x0a, 0x27, 0x72, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, - 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x24, 0x72, 0x75, 0x6e, - 0x74, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, - 0x65, 0x12, 0x55, 0x0a, 0x27, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, - 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x24, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x50, 0x65, - 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x67, 0x0a, 0x12, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, - 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x11, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x1a, 0x4d, 0x0a, 0x1f, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x3a, 0x64, 0xea, 0x41, 0x61, 0x0a, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x30, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x6d, 0x0a, 0x0f, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, - 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x62, 0x0a, 0x0c, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, - 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x25, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x63, - 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x52, 0x10, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x52, - 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x22, 0xde, 0x08, 0x0a, 0x11, 0x52, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x6d, 0x0a, 0x12, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x75, 0x67, 0x67, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x11, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x6c, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, - 0x0a, 0x0a, 0x66, 0x61, 0x71, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, - 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x71, 0x41, 0x6e, - 0x73, 0x77, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x09, 0x66, 0x61, 0x71, 0x41, - 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x58, 0x0a, 0x0b, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x5f, 0x72, - 0x65, 0x70, 0x6c, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, - 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x44, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, - 0x7d, 0x0a, 0x18, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, - 0x5f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x50, 0x68, 0x72, + 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x64, 0x0a, 0x12, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x10, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x60, 0x0a, 0x18, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x48, 0x52, 0x41, 0x53, 0x45, 0x5f, 0x4d, 0x41, 0x54, + 0x43, 0x48, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4c, 0x4c, 0x5f, 0x4f, 0x46, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, + 0x41, 0x4e, 0x59, 0x5f, 0x4f, 0x46, 0x10, 0x02, 0x22, 0x9c, 0x01, 0x0a, 0x0f, 0x50, 0x68, 0x72, + 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x05, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x54, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, - 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, - 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x16, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, - 0x70, 0x6f, 0x73, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x79, - 0x0a, 0x16, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, - 0x77, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, - 0x48, 0x00, 0x52, 0x15, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xa4, 0x01, 0x0a, 0x25, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, - 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x67, 0x67, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x23, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8a, 0x01, 0x0a, 0x15, 0x50, 0x68, 0x72, 0x61, + 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x67, 0x0a, 0x12, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, + 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x22, 0x39, 0x0a, 0x10, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, + 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x22, + 0xb0, 0x09, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x60, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, - 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, - 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x6f, 0x75, 0x6e, - 0x64, 0x61, 0x72, 0x79, 0x12, 0x5c, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, - 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, - 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, - 0x72, 0x79, 0x12, 0x5e, 0x0a, 0x0f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, - 0x64, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x44, + 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x74, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x74, 0x6c, 0x12, 0x91, 0x01, 0x0a, 0x1c, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, - 0x63, 0x6b, 0x52, 0x0e, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, - 0x63, 0x6b, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xaf, 0x02, 0x0a, 0x0e, 0x41, - 0x6e, 0x73, 0x77, 0x65, 0x72, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x73, 0x0a, - 0x11, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, - 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x2e, - 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x52, 0x10, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, - 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x22, 0x70, 0x0a, 0x10, 0x43, 0x6f, - 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x21, - 0x0a, 0x1d, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x4c, 0x45, - 0x56, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, - 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x4c, 0x59, 0x5f, - 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4c, - 0x4c, 0x59, 0x5f, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x10, 0x03, 0x22, 0xca, 0x02, 0x0a, - 0x15, 0x41, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x29, - 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, - 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, - 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x66, 0x0a, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x50, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1a, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x67, 0x0a, 0x0f, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, + 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x0e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x61, 0x0a, 0x10, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc6, 0x02, 0x0a, 0x0d, 0x46, 0x61, - 0x71, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x61, - 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, - 0x77, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, - 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x71, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x44, 0x61, - 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x92, 0x02, 0x0a, 0x0e, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, - 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x5f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, - 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x44, 0x61, 0x74, 0x61, 0x2e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb4, 0x02, 0x0a, 0x1a, 0x53, 0x6d, 0x61, 0x72, - 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x67, 0x67, - 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, - 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x12, 0x6b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, - 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6d, 0x61, 0x72, - 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, - 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6d, - 0x0a, 0x19, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x64, - 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x69, 0x61, 0x6c, 0x6f, - 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xb1, 0x04, - 0x0a, 0x27, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x67, 0x67, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x85, 0x01, - 0x0a, 0x0d, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x60, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x0f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5d, 0x0a, 0x0d, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x1a, 0xa7, 0x02, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x55, 0x0a, 0x27, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x24, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x55, 0x0a, + 0x27, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x70, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x24, + 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, + 0x74, 0x61, 0x67, 0x65, 0x12, 0x67, 0x0a, 0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, + 0x72, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, + 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x6f, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x11, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0x4d, 0x0a, + 0x1f, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x64, 0xea, 0x41, + 0x61, 0x0a, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x30, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x22, 0x6d, 0x0a, 0x0f, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, + 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x22, 0x62, 0x0a, 0x0c, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x52, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x63, 0x6f, + 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xfa, 0x41, + 0x22, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, + 0x7a, 0x65, 0x72, 0x52, 0x10, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x67, + 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x22, 0xde, 0x08, 0x0a, 0x11, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6d, 0x0a, 0x12, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x11, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, + 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x0a, 0x66, 0x61, + 0x71, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, + 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x71, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x09, 0x66, 0x61, 0x71, 0x41, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x12, 0x58, 0x0a, 0x0b, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x79, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x6d, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, + 0x0a, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x7d, 0x0a, 0x18, 0x73, + 0x6d, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x5f, 0x73, 0x75, 0x67, + 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, + 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x73, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x16, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, + 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x79, 0x0a, 0x16, 0x64, 0x69, + 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, + 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x15, + 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xa4, 0x01, 0x0a, 0x25, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x65, 0x78, 0x74, 0x53, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, - 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x78, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x23, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x60, + 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, + 0x12, 0x5c, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x12, 0x5e, + 0x0a, 0x0f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, + 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x23, 0x0a, 0x0d, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x1a, 0x3f, 0x0a, 0x11, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0xe5, 0x03, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x6c, 0x0a, - 0x1b, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x2a, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, - 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x48, 0x00, - 0x52, 0x19, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x16, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, - 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x64, 0x69, 0x61, 0x6c, - 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x6f, 0x62, 0x66, 0x75, 0x73, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x6f, 0x62, 0x66, 0x75, 0x73, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x57, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x2e, 0x52, - 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x5f, 0x0a, 0x04, 0x52, 0x6f, 0x6c, - 0x65, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x55, 0x4d, 0x41, 0x4e, - 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x55, 0x54, 0x4f, - 0x4d, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0c, 0x0a, - 0x08, 0x45, 0x4e, 0x44, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x41, - 0x4e, 0x59, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x42, 0x0d, 0x0a, 0x0b, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0xc2, 0x02, 0x0a, 0x04, 0x56, 0x69, - 0x65, 0x77, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, - 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x64, 0xea, 0x41, 0x61, 0x0a, 0x29, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x69, 0x65, 0x77, 0x12, 0x34, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x7b, 0x76, 0x69, 0x65, 0x77, 0x7d, 0x22, 0x8e, - 0x09, 0x0a, 0x11, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x12, 0x3c, 0x0a, 0x1a, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x72, 0x75, 0x6e, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63, - 0x65, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x13, 0x72, 0x75, 0x6e, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x3f, 0x0a, 0x1c, 0x72, 0x75, 0x6e, 0x5f, 0x70, 0x68, - 0x72, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x72, 0x75, - 0x6e, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x41, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x60, 0x0a, 0x0f, 0x70, 0x68, 0x72, 0x61, 0x73, - 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, - 0x42, 0x37, 0xfa, 0x41, 0x34, 0x0a, 0x32, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x68, 0x72, 0x61, - 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0e, 0x70, 0x68, 0x72, 0x61, 0x73, - 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x75, 0x6e, - 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x72, 0x75, 0x6e, 0x53, - 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x75, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x12, 0x72, 0x75, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x12, 0x72, 0x75, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x72, 0x75, 0x6e, 0x49, 0x73, 0x73, - 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x57, 0x0a, 0x0c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x42, 0x34, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0b, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x3e, 0x0a, 0x1b, 0x72, 0x75, 0x6e, - 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, - 0x72, 0x75, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x7f, 0x0a, 0x14, 0x73, 0x75, 0x6d, - 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x0e, + 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x06, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xaf, 0x02, 0x0a, 0x0e, 0x41, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x73, 0x0a, 0x11, 0x63, 0x6f, 0x72, + 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x73, + 0x77, 0x65, 0x72, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x6f, 0x72, 0x72, + 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x10, 0x63, 0x6f, + 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x22, 0x70, 0x0a, 0x10, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, + 0x74, 0x6e, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x4f, + 0x52, 0x52, 0x45, 0x43, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, + 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x15, + 0x0a, 0x11, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x43, 0x4f, 0x52, 0x52, + 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4c, 0x4c, 0x59, 0x5f, 0x43, + 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x10, 0x03, 0x22, 0xca, 0x02, 0x0a, 0x15, 0x41, 0x72, 0x74, + 0x69, 0x63, 0x6c, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x66, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xf2, 0x02, 0x0a, 0x13, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x67, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x32, 0xfa, 0x41, 0x2f, 0x0a, 0x2d, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, - 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x13, - 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, - 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x12, 0x73, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, - 0x22, 0x4d, 0x0a, 0x12, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x55, 0x4d, 0x4d, 0x41, 0x52, - 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x42, - 0x41, 0x53, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x10, 0x01, 0x42, - 0x0e, 0x0a, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, - 0xe0, 0x05, 0xea, 0x41, 0x84, 0x01, 0x0a, 0x2d, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, - 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x7d, 0xea, 0x41, 0xd4, 0x01, 0x0a, 0x25, - 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x4a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x7d, 0x12, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x41, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, + 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc6, 0x02, 0x0a, 0x0d, 0x46, 0x61, 0x71, 0x41, 0x6e, 0x73, + 0x77, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, + 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x64, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x46, 0x61, 0x71, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, + 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x92, + 0x02, 0x0a, 0x0e, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x12, 0x5f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6d, 0x61, + 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xb4, 0x02, 0x0a, 0x1a, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, + 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x6b, 0x0a, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, + 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x65, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x3b, 0x0a, + 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6d, 0x0a, 0x19, 0x44, 0x69, + 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x69, 0x61, 0x6c, 0x6f, + 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, + 0x77, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xb1, 0x04, 0x0a, 0x27, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x85, 0x01, 0x0a, 0x0d, 0x74, 0x65, + 0x78, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x60, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, + 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, + 0x61, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x65, 0x78, 0x74, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x78, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x5c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x61, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x1a, + 0x3f, 0x0a, 0x11, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe5, 0x03, + 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x6c, 0x0a, 0x1b, 0x64, 0x69, 0x61, + 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, + 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x19, 0x64, 0x69, + 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x39, 0x0a, 0x16, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, + 0x6f, 0x77, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x3d, 0x0a, + 0x1b, 0x6f, 0x62, 0x66, 0x75, 0x73, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x18, 0x6f, 0x62, 0x66, 0x75, 0x73, 0x63, 0x61, 0x74, 0x65, 0x64, 0x45, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x04, + 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, + 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, + 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x5f, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x14, 0x0a, + 0x10, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x55, 0x4d, 0x41, 0x4e, 0x5f, 0x41, 0x47, 0x45, + 0x4e, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, 0x45, + 0x44, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4e, 0x44, + 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4e, 0x59, 0x5f, 0x41, + 0x47, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x42, 0x0d, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0xc2, 0x02, 0x0a, 0x04, 0x56, 0x69, 0x65, 0x77, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x64, 0xea, 0x41, 0x61, 0x0a, 0x29, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x56, 0x69, 0x65, 0x77, 0x12, 0x34, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x69, + 0x65, 0x77, 0x73, 0x2f, 0x7b, 0x76, 0x69, 0x65, 0x77, 0x7d, 0x22, 0x8e, 0x09, 0x0a, 0x11, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x12, 0x3c, 0x0a, 0x1a, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x72, 0x75, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x32, + 0x0a, 0x15, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, + 0x75, 0x6e, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x3f, 0x0a, 0x1c, 0x72, 0x75, 0x6e, 0x5f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x72, 0x75, 0x6e, 0x50, 0x68, 0x72, + 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x60, 0x0a, 0x0f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xfa, 0x41, + 0x34, 0x0a, 0x32, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0e, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x65, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x72, 0x75, 0x6e, 0x53, 0x65, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x30, 0x0a, + 0x14, 0x72, 0x75, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x72, 0x75, 0x6e, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x30, 0x0a, 0x14, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x72, + 0x75, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x72, 0x75, 0x6e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x57, 0x0a, 0x0c, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, + 0x28, 0x09, 0x42, 0x34, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, + 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x73, + 0x73, 0x75, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x3e, 0x0a, 0x1b, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x72, 0x75, 0x6e, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x7f, 0x0a, 0x14, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x13, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xf2, 0x02, 0x0a, 0x13, 0x53, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x67, + 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xfa, 0x41, + 0x2f, 0x0a, 0x2d, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x48, 0x00, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x13, 0x73, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x12, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x4d, 0x0a, 0x12, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x55, 0x4d, 0x4d, 0x41, 0x52, 0x49, 0x5a, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x42, 0x41, 0x53, 0x45, 0x4c, + 0x49, 0x4e, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x10, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0xe0, 0x05, 0xea, 0x41, + 0x84, 0x01, 0x0a, 0x2d, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x12, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x7d, 0xea, 0x41, 0x64, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x63, - 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x40, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, - 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x72, 0x65, - 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x7d, 0x0a, 0x29, 0x63, 0x6f, 0x6d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2f, + 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x7d, 0xea, 0x41, 0xd4, 0x01, 0x0a, 0x25, 0x64, 0x69, 0x61, 0x6c, + 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x12, 0x4a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x7d, 0x12, 0x5f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x7d, 0xea, 0x41, + 0x64, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, + 0x7a, 0x65, 0x72, 0x12, 0x40, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x65, 0x63, + 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, + 0x69, 0x7a, 0x65, 0x72, 0x7d, 0x0a, 0x29, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x76, 0x31, + 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2f, 0x61, 0x70, + 0x69, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, - 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x70, 0x62, 0x3b, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x73, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x70, 0x62, 0xaa, 0x02, 0x25, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x43, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x56, 0x31, 0xca, - 0x02, 0x25, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x43, - 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x28, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, - 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x3a, 0x3a, - 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x70, 0x62, 0xaa, 0x02, 0x25, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x25, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x63, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, + 0x5c, 0x56, 0x31, 0xea, 0x02, 0x28, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x43, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -6496,7 +6702,7 @@ func file_google_cloud_contactcenterinsights_v1_resources_proto_rawDescGZIP() [] } var file_google_cloud_contactcenterinsights_v1_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 10) -var file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 68) +var file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 70) var file_google_cloud_contactcenterinsights_v1_resources_proto_goTypes = []interface{}{ (Conversation_Medium)(0), // 0: google.cloud.contactcenterinsights.v1.Conversation.Medium (Entity_Type)(0), // 1: google.cloud.contactcenterinsights.v1.Entity.Type @@ -6553,148 +6759,153 @@ var file_google_cloud_contactcenterinsights_v1_resources_proto_goTypes = []inter (*View)(nil), // 52: google.cloud.contactcenterinsights.v1.View (*AnnotatorSelector)(nil), // 53: google.cloud.contactcenterinsights.v1.AnnotatorSelector (*Conversation_CallMetadata)(nil), // 54: google.cloud.contactcenterinsights.v1.Conversation.CallMetadata - (*Conversation_Transcript)(nil), // 55: google.cloud.contactcenterinsights.v1.Conversation.Transcript - nil, // 56: google.cloud.contactcenterinsights.v1.Conversation.LabelsEntry - nil, // 57: google.cloud.contactcenterinsights.v1.Conversation.DialogflowIntentsEntry - (*Conversation_Transcript_TranscriptSegment)(nil), // 58: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment - (*Conversation_Transcript_TranscriptSegment_WordInfo)(nil), // 59: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.WordInfo - (*Conversation_Transcript_TranscriptSegment_DialogflowSegmentMetadata)(nil), // 60: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.DialogflowSegmentMetadata - (*AnalysisResult_CallAnalysisMetadata)(nil), // 61: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata - nil, // 62: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.EntitiesEntry - nil, // 63: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.IntentsEntry - nil, // 64: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.PhraseMatchersEntry - nil, // 65: google.cloud.contactcenterinsights.v1.Entity.MetadataEntry - (*IssueModel_InputDataConfig)(nil), // 66: google.cloud.contactcenterinsights.v1.IssueModel.InputDataConfig - (*IssueModelLabelStats_IssueStats)(nil), // 67: google.cloud.contactcenterinsights.v1.IssueModelLabelStats.IssueStats - nil, // 68: google.cloud.contactcenterinsights.v1.IssueModelLabelStats.IssueStatsEntry - (*Settings_AnalysisConfig)(nil), // 69: google.cloud.contactcenterinsights.v1.Settings.AnalysisConfig - nil, // 70: google.cloud.contactcenterinsights.v1.Settings.PubsubNotificationSettingsEntry - nil, // 71: google.cloud.contactcenterinsights.v1.ArticleSuggestionData.MetadataEntry - nil, // 72: google.cloud.contactcenterinsights.v1.FaqAnswerData.MetadataEntry - nil, // 73: google.cloud.contactcenterinsights.v1.SmartReplyData.MetadataEntry - nil, // 74: google.cloud.contactcenterinsights.v1.SmartComposeSuggestionData.MetadataEntry - nil, // 75: google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData.TextSectionsEntry - nil, // 76: google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData.MetadataEntry - (*AnnotatorSelector_SummarizationConfig)(nil), // 77: google.cloud.contactcenterinsights.v1.AnnotatorSelector.SummarizationConfig - (*timestamppb.Timestamp)(nil), // 78: google.protobuf.Timestamp - (*durationpb.Duration)(nil), // 79: google.protobuf.Duration + (*Conversation_QualityMetadata)(nil), // 55: google.cloud.contactcenterinsights.v1.Conversation.QualityMetadata + (*Conversation_Transcript)(nil), // 56: google.cloud.contactcenterinsights.v1.Conversation.Transcript + nil, // 57: google.cloud.contactcenterinsights.v1.Conversation.LabelsEntry + nil, // 58: google.cloud.contactcenterinsights.v1.Conversation.DialogflowIntentsEntry + (*Conversation_QualityMetadata_AgentInfo)(nil), // 59: google.cloud.contactcenterinsights.v1.Conversation.QualityMetadata.AgentInfo + (*Conversation_Transcript_TranscriptSegment)(nil), // 60: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment + (*Conversation_Transcript_TranscriptSegment_WordInfo)(nil), // 61: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.WordInfo + (*Conversation_Transcript_TranscriptSegment_DialogflowSegmentMetadata)(nil), // 62: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.DialogflowSegmentMetadata + (*AnalysisResult_CallAnalysisMetadata)(nil), // 63: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata + nil, // 64: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.EntitiesEntry + nil, // 65: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.IntentsEntry + nil, // 66: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.PhraseMatchersEntry + nil, // 67: google.cloud.contactcenterinsights.v1.Entity.MetadataEntry + (*IssueModel_InputDataConfig)(nil), // 68: google.cloud.contactcenterinsights.v1.IssueModel.InputDataConfig + (*IssueModelLabelStats_IssueStats)(nil), // 69: google.cloud.contactcenterinsights.v1.IssueModelLabelStats.IssueStats + nil, // 70: google.cloud.contactcenterinsights.v1.IssueModelLabelStats.IssueStatsEntry + (*Settings_AnalysisConfig)(nil), // 71: google.cloud.contactcenterinsights.v1.Settings.AnalysisConfig + nil, // 72: google.cloud.contactcenterinsights.v1.Settings.PubsubNotificationSettingsEntry + nil, // 73: google.cloud.contactcenterinsights.v1.ArticleSuggestionData.MetadataEntry + nil, // 74: google.cloud.contactcenterinsights.v1.FaqAnswerData.MetadataEntry + nil, // 75: google.cloud.contactcenterinsights.v1.SmartReplyData.MetadataEntry + nil, // 76: google.cloud.contactcenterinsights.v1.SmartComposeSuggestionData.MetadataEntry + nil, // 77: google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData.TextSectionsEntry + nil, // 78: google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData.MetadataEntry + (*AnnotatorSelector_SummarizationConfig)(nil), // 79: google.cloud.contactcenterinsights.v1.AnnotatorSelector.SummarizationConfig + (*timestamppb.Timestamp)(nil), // 80: google.protobuf.Timestamp + (*durationpb.Duration)(nil), // 81: google.protobuf.Duration } var file_google_cloud_contactcenterinsights_v1_resources_proto_depIdxs = []int32{ 54, // 0: google.cloud.contactcenterinsights.v1.Conversation.call_metadata:type_name -> google.cloud.contactcenterinsights.v1.Conversation.CallMetadata - 78, // 1: google.cloud.contactcenterinsights.v1.Conversation.expire_time:type_name -> google.protobuf.Timestamp - 79, // 2: google.cloud.contactcenterinsights.v1.Conversation.ttl:type_name -> google.protobuf.Duration + 80, // 1: google.cloud.contactcenterinsights.v1.Conversation.expire_time:type_name -> google.protobuf.Timestamp + 81, // 2: google.cloud.contactcenterinsights.v1.Conversation.ttl:type_name -> google.protobuf.Duration 12, // 3: google.cloud.contactcenterinsights.v1.Conversation.data_source:type_name -> google.cloud.contactcenterinsights.v1.ConversationDataSource - 78, // 4: google.cloud.contactcenterinsights.v1.Conversation.create_time:type_name -> google.protobuf.Timestamp - 78, // 5: google.cloud.contactcenterinsights.v1.Conversation.update_time:type_name -> google.protobuf.Timestamp - 78, // 6: google.cloud.contactcenterinsights.v1.Conversation.start_time:type_name -> google.protobuf.Timestamp - 56, // 7: google.cloud.contactcenterinsights.v1.Conversation.labels:type_name -> google.cloud.contactcenterinsights.v1.Conversation.LabelsEntry - 55, // 8: google.cloud.contactcenterinsights.v1.Conversation.transcript:type_name -> google.cloud.contactcenterinsights.v1.Conversation.Transcript - 0, // 9: google.cloud.contactcenterinsights.v1.Conversation.medium:type_name -> google.cloud.contactcenterinsights.v1.Conversation.Medium - 79, // 10: google.cloud.contactcenterinsights.v1.Conversation.duration:type_name -> google.protobuf.Duration - 11, // 11: google.cloud.contactcenterinsights.v1.Conversation.latest_analysis:type_name -> google.cloud.contactcenterinsights.v1.Analysis - 50, // 12: google.cloud.contactcenterinsights.v1.Conversation.latest_summary:type_name -> google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData - 43, // 13: google.cloud.contactcenterinsights.v1.Conversation.runtime_annotations:type_name -> google.cloud.contactcenterinsights.v1.RuntimeAnnotation - 57, // 14: google.cloud.contactcenterinsights.v1.Conversation.dialogflow_intents:type_name -> google.cloud.contactcenterinsights.v1.Conversation.DialogflowIntentsEntry - 78, // 15: google.cloud.contactcenterinsights.v1.Analysis.request_time:type_name -> google.protobuf.Timestamp - 78, // 16: google.cloud.contactcenterinsights.v1.Analysis.create_time:type_name -> google.protobuf.Timestamp - 15, // 17: google.cloud.contactcenterinsights.v1.Analysis.analysis_result:type_name -> google.cloud.contactcenterinsights.v1.AnalysisResult - 53, // 18: google.cloud.contactcenterinsights.v1.Analysis.annotator_selector:type_name -> google.cloud.contactcenterinsights.v1.AnnotatorSelector - 13, // 19: google.cloud.contactcenterinsights.v1.ConversationDataSource.gcs_source:type_name -> google.cloud.contactcenterinsights.v1.GcsSource - 14, // 20: google.cloud.contactcenterinsights.v1.ConversationDataSource.dialogflow_source:type_name -> google.cloud.contactcenterinsights.v1.DialogflowSource - 61, // 21: google.cloud.contactcenterinsights.v1.AnalysisResult.call_analysis_metadata:type_name -> google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata - 78, // 22: google.cloud.contactcenterinsights.v1.AnalysisResult.end_time:type_name -> google.protobuf.Timestamp - 18, // 23: google.cloud.contactcenterinsights.v1.IssueModelResult.issues:type_name -> google.cloud.contactcenterinsights.v1.IssueAssignment - 30, // 24: google.cloud.contactcenterinsights.v1.ConversationLevelSentiment.sentiment_data:type_name -> google.cloud.contactcenterinsights.v1.SentimentData - 25, // 25: google.cloud.contactcenterinsights.v1.CallAnnotation.interruption_data:type_name -> google.cloud.contactcenterinsights.v1.InterruptionData - 30, // 26: google.cloud.contactcenterinsights.v1.CallAnnotation.sentiment_data:type_name -> google.cloud.contactcenterinsights.v1.SentimentData - 26, // 27: google.cloud.contactcenterinsights.v1.CallAnnotation.silence_data:type_name -> google.cloud.contactcenterinsights.v1.SilenceData - 27, // 28: google.cloud.contactcenterinsights.v1.CallAnnotation.hold_data:type_name -> google.cloud.contactcenterinsights.v1.HoldData - 28, // 29: google.cloud.contactcenterinsights.v1.CallAnnotation.entity_mention_data:type_name -> google.cloud.contactcenterinsights.v1.EntityMentionData - 29, // 30: google.cloud.contactcenterinsights.v1.CallAnnotation.intent_match_data:type_name -> google.cloud.contactcenterinsights.v1.IntentMatchData - 23, // 31: google.cloud.contactcenterinsights.v1.CallAnnotation.phrase_match_data:type_name -> google.cloud.contactcenterinsights.v1.PhraseMatchData - 31, // 32: google.cloud.contactcenterinsights.v1.CallAnnotation.issue_match_data:type_name -> google.cloud.contactcenterinsights.v1.IssueMatchData - 20, // 33: google.cloud.contactcenterinsights.v1.CallAnnotation.annotation_start_boundary:type_name -> google.cloud.contactcenterinsights.v1.AnnotationBoundary - 20, // 34: google.cloud.contactcenterinsights.v1.CallAnnotation.annotation_end_boundary:type_name -> google.cloud.contactcenterinsights.v1.AnnotationBoundary - 1, // 35: google.cloud.contactcenterinsights.v1.Entity.type:type_name -> google.cloud.contactcenterinsights.v1.Entity.Type - 65, // 36: google.cloud.contactcenterinsights.v1.Entity.metadata:type_name -> google.cloud.contactcenterinsights.v1.Entity.MetadataEntry - 30, // 37: google.cloud.contactcenterinsights.v1.Entity.sentiment:type_name -> google.cloud.contactcenterinsights.v1.SentimentData - 2, // 38: google.cloud.contactcenterinsights.v1.EntityMentionData.type:type_name -> google.cloud.contactcenterinsights.v1.EntityMentionData.MentionType - 30, // 39: google.cloud.contactcenterinsights.v1.EntityMentionData.sentiment:type_name -> google.cloud.contactcenterinsights.v1.SentimentData - 18, // 40: google.cloud.contactcenterinsights.v1.IssueMatchData.issue_assignment:type_name -> google.cloud.contactcenterinsights.v1.IssueAssignment - 78, // 41: google.cloud.contactcenterinsights.v1.IssueModel.create_time:type_name -> google.protobuf.Timestamp - 78, // 42: google.cloud.contactcenterinsights.v1.IssueModel.update_time:type_name -> google.protobuf.Timestamp - 3, // 43: google.cloud.contactcenterinsights.v1.IssueModel.state:type_name -> google.cloud.contactcenterinsights.v1.IssueModel.State - 66, // 44: google.cloud.contactcenterinsights.v1.IssueModel.input_data_config:type_name -> google.cloud.contactcenterinsights.v1.IssueModel.InputDataConfig - 34, // 45: google.cloud.contactcenterinsights.v1.IssueModel.training_stats:type_name -> google.cloud.contactcenterinsights.v1.IssueModelLabelStats - 4, // 46: google.cloud.contactcenterinsights.v1.IssueModel.model_type:type_name -> google.cloud.contactcenterinsights.v1.IssueModel.ModelType - 78, // 47: google.cloud.contactcenterinsights.v1.Issue.create_time:type_name -> google.protobuf.Timestamp - 78, // 48: google.cloud.contactcenterinsights.v1.Issue.update_time:type_name -> google.protobuf.Timestamp - 68, // 49: google.cloud.contactcenterinsights.v1.IssueModelLabelStats.issue_stats:type_name -> google.cloud.contactcenterinsights.v1.IssueModelLabelStats.IssueStatsEntry - 78, // 50: google.cloud.contactcenterinsights.v1.PhraseMatcher.revision_create_time:type_name -> google.protobuf.Timestamp - 5, // 51: google.cloud.contactcenterinsights.v1.PhraseMatcher.type:type_name -> google.cloud.contactcenterinsights.v1.PhraseMatcher.PhraseMatcherType - 36, // 52: google.cloud.contactcenterinsights.v1.PhraseMatcher.phrase_match_rule_groups:type_name -> google.cloud.contactcenterinsights.v1.PhraseMatchRuleGroup - 78, // 53: google.cloud.contactcenterinsights.v1.PhraseMatcher.activation_update_time:type_name -> google.protobuf.Timestamp - 8, // 54: google.cloud.contactcenterinsights.v1.PhraseMatcher.role_match:type_name -> google.cloud.contactcenterinsights.v1.ConversationParticipant.Role - 78, // 55: google.cloud.contactcenterinsights.v1.PhraseMatcher.update_time:type_name -> google.protobuf.Timestamp - 6, // 56: google.cloud.contactcenterinsights.v1.PhraseMatchRuleGroup.type:type_name -> google.cloud.contactcenterinsights.v1.PhraseMatchRuleGroup.PhraseMatchRuleGroupType - 37, // 57: google.cloud.contactcenterinsights.v1.PhraseMatchRuleGroup.phrase_match_rules:type_name -> google.cloud.contactcenterinsights.v1.PhraseMatchRule - 38, // 58: google.cloud.contactcenterinsights.v1.PhraseMatchRule.config:type_name -> google.cloud.contactcenterinsights.v1.PhraseMatchRuleConfig - 39, // 59: google.cloud.contactcenterinsights.v1.PhraseMatchRuleConfig.exact_match_config:type_name -> google.cloud.contactcenterinsights.v1.ExactMatchConfig - 78, // 60: google.cloud.contactcenterinsights.v1.Settings.create_time:type_name -> google.protobuf.Timestamp - 78, // 61: google.cloud.contactcenterinsights.v1.Settings.update_time:type_name -> google.protobuf.Timestamp - 79, // 62: google.cloud.contactcenterinsights.v1.Settings.conversation_ttl:type_name -> google.protobuf.Duration - 70, // 63: google.cloud.contactcenterinsights.v1.Settings.pubsub_notification_settings:type_name -> google.cloud.contactcenterinsights.v1.Settings.PubsubNotificationSettingsEntry - 69, // 64: google.cloud.contactcenterinsights.v1.Settings.analysis_config:type_name -> google.cloud.contactcenterinsights.v1.Settings.AnalysisConfig - 41, // 65: google.cloud.contactcenterinsights.v1.Settings.redaction_config:type_name -> google.cloud.contactcenterinsights.v1.RedactionConfig - 42, // 66: google.cloud.contactcenterinsights.v1.Settings.speech_config:type_name -> google.cloud.contactcenterinsights.v1.SpeechConfig - 45, // 67: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.article_suggestion:type_name -> google.cloud.contactcenterinsights.v1.ArticleSuggestionData - 46, // 68: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.faq_answer:type_name -> google.cloud.contactcenterinsights.v1.FaqAnswerData - 47, // 69: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.smart_reply:type_name -> google.cloud.contactcenterinsights.v1.SmartReplyData - 48, // 70: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.smart_compose_suggestion:type_name -> google.cloud.contactcenterinsights.v1.SmartComposeSuggestionData - 49, // 71: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.dialogflow_interaction:type_name -> google.cloud.contactcenterinsights.v1.DialogflowInteractionData - 50, // 72: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.conversation_summarization_suggestion:type_name -> google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData - 78, // 73: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.create_time:type_name -> google.protobuf.Timestamp - 20, // 74: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.start_boundary:type_name -> google.cloud.contactcenterinsights.v1.AnnotationBoundary - 20, // 75: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.end_boundary:type_name -> google.cloud.contactcenterinsights.v1.AnnotationBoundary - 44, // 76: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.answer_feedback:type_name -> google.cloud.contactcenterinsights.v1.AnswerFeedback - 7, // 77: google.cloud.contactcenterinsights.v1.AnswerFeedback.correctness_level:type_name -> google.cloud.contactcenterinsights.v1.AnswerFeedback.CorrectnessLevel - 71, // 78: google.cloud.contactcenterinsights.v1.ArticleSuggestionData.metadata:type_name -> google.cloud.contactcenterinsights.v1.ArticleSuggestionData.MetadataEntry - 72, // 79: google.cloud.contactcenterinsights.v1.FaqAnswerData.metadata:type_name -> google.cloud.contactcenterinsights.v1.FaqAnswerData.MetadataEntry - 73, // 80: google.cloud.contactcenterinsights.v1.SmartReplyData.metadata:type_name -> google.cloud.contactcenterinsights.v1.SmartReplyData.MetadataEntry - 74, // 81: google.cloud.contactcenterinsights.v1.SmartComposeSuggestionData.metadata:type_name -> google.cloud.contactcenterinsights.v1.SmartComposeSuggestionData.MetadataEntry - 75, // 82: google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData.text_sections:type_name -> google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData.TextSectionsEntry - 76, // 83: google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData.metadata:type_name -> google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData.MetadataEntry - 8, // 84: google.cloud.contactcenterinsights.v1.ConversationParticipant.role:type_name -> google.cloud.contactcenterinsights.v1.ConversationParticipant.Role - 78, // 85: google.cloud.contactcenterinsights.v1.View.create_time:type_name -> google.protobuf.Timestamp - 78, // 86: google.cloud.contactcenterinsights.v1.View.update_time:type_name -> google.protobuf.Timestamp - 77, // 87: google.cloud.contactcenterinsights.v1.AnnotatorSelector.summarization_config:type_name -> google.cloud.contactcenterinsights.v1.AnnotatorSelector.SummarizationConfig - 58, // 88: google.cloud.contactcenterinsights.v1.Conversation.Transcript.transcript_segments:type_name -> google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment - 24, // 89: google.cloud.contactcenterinsights.v1.Conversation.DialogflowIntentsEntry.value:type_name -> google.cloud.contactcenterinsights.v1.DialogflowIntent - 78, // 90: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.message_time:type_name -> google.protobuf.Timestamp - 59, // 91: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.words:type_name -> google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.WordInfo - 51, // 92: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.segment_participant:type_name -> google.cloud.contactcenterinsights.v1.ConversationParticipant - 60, // 93: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.dialogflow_segment_metadata:type_name -> google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.DialogflowSegmentMetadata - 30, // 94: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.sentiment:type_name -> google.cloud.contactcenterinsights.v1.SentimentData - 79, // 95: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.WordInfo.start_offset:type_name -> google.protobuf.Duration - 79, // 96: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.WordInfo.end_offset:type_name -> google.protobuf.Duration - 19, // 97: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.annotations:type_name -> google.cloud.contactcenterinsights.v1.CallAnnotation - 62, // 98: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.entities:type_name -> google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.EntitiesEntry - 17, // 99: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.sentiments:type_name -> google.cloud.contactcenterinsights.v1.ConversationLevelSentiment - 63, // 100: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.intents:type_name -> google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.IntentsEntry - 64, // 101: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.phrase_matchers:type_name -> google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.PhraseMatchersEntry - 16, // 102: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.issue_model_result:type_name -> google.cloud.contactcenterinsights.v1.IssueModelResult - 21, // 103: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.EntitiesEntry.value:type_name -> google.cloud.contactcenterinsights.v1.Entity - 22, // 104: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.IntentsEntry.value:type_name -> google.cloud.contactcenterinsights.v1.Intent - 23, // 105: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.PhraseMatchersEntry.value:type_name -> google.cloud.contactcenterinsights.v1.PhraseMatchData - 0, // 106: google.cloud.contactcenterinsights.v1.IssueModel.InputDataConfig.medium:type_name -> google.cloud.contactcenterinsights.v1.Conversation.Medium - 67, // 107: google.cloud.contactcenterinsights.v1.IssueModelLabelStats.IssueStatsEntry.value:type_name -> google.cloud.contactcenterinsights.v1.IssueModelLabelStats.IssueStats - 53, // 108: google.cloud.contactcenterinsights.v1.Settings.AnalysisConfig.annotator_selector:type_name -> google.cloud.contactcenterinsights.v1.AnnotatorSelector - 9, // 109: google.cloud.contactcenterinsights.v1.AnnotatorSelector.SummarizationConfig.summarization_model:type_name -> google.cloud.contactcenterinsights.v1.AnnotatorSelector.SummarizationConfig.SummarizationModel - 110, // [110:110] is the sub-list for method output_type - 110, // [110:110] is the sub-list for method input_type - 110, // [110:110] is the sub-list for extension type_name - 110, // [110:110] is the sub-list for extension extendee - 0, // [0:110] is the sub-list for field type_name + 80, // 4: google.cloud.contactcenterinsights.v1.Conversation.create_time:type_name -> google.protobuf.Timestamp + 80, // 5: google.cloud.contactcenterinsights.v1.Conversation.update_time:type_name -> google.protobuf.Timestamp + 80, // 6: google.cloud.contactcenterinsights.v1.Conversation.start_time:type_name -> google.protobuf.Timestamp + 57, // 7: google.cloud.contactcenterinsights.v1.Conversation.labels:type_name -> google.cloud.contactcenterinsights.v1.Conversation.LabelsEntry + 55, // 8: google.cloud.contactcenterinsights.v1.Conversation.quality_metadata:type_name -> google.cloud.contactcenterinsights.v1.Conversation.QualityMetadata + 56, // 9: google.cloud.contactcenterinsights.v1.Conversation.transcript:type_name -> google.cloud.contactcenterinsights.v1.Conversation.Transcript + 0, // 10: google.cloud.contactcenterinsights.v1.Conversation.medium:type_name -> google.cloud.contactcenterinsights.v1.Conversation.Medium + 81, // 11: google.cloud.contactcenterinsights.v1.Conversation.duration:type_name -> google.protobuf.Duration + 11, // 12: google.cloud.contactcenterinsights.v1.Conversation.latest_analysis:type_name -> google.cloud.contactcenterinsights.v1.Analysis + 50, // 13: google.cloud.contactcenterinsights.v1.Conversation.latest_summary:type_name -> google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData + 43, // 14: google.cloud.contactcenterinsights.v1.Conversation.runtime_annotations:type_name -> google.cloud.contactcenterinsights.v1.RuntimeAnnotation + 58, // 15: google.cloud.contactcenterinsights.v1.Conversation.dialogflow_intents:type_name -> google.cloud.contactcenterinsights.v1.Conversation.DialogflowIntentsEntry + 80, // 16: google.cloud.contactcenterinsights.v1.Analysis.request_time:type_name -> google.protobuf.Timestamp + 80, // 17: google.cloud.contactcenterinsights.v1.Analysis.create_time:type_name -> google.protobuf.Timestamp + 15, // 18: google.cloud.contactcenterinsights.v1.Analysis.analysis_result:type_name -> google.cloud.contactcenterinsights.v1.AnalysisResult + 53, // 19: google.cloud.contactcenterinsights.v1.Analysis.annotator_selector:type_name -> google.cloud.contactcenterinsights.v1.AnnotatorSelector + 13, // 20: google.cloud.contactcenterinsights.v1.ConversationDataSource.gcs_source:type_name -> google.cloud.contactcenterinsights.v1.GcsSource + 14, // 21: google.cloud.contactcenterinsights.v1.ConversationDataSource.dialogflow_source:type_name -> google.cloud.contactcenterinsights.v1.DialogflowSource + 63, // 22: google.cloud.contactcenterinsights.v1.AnalysisResult.call_analysis_metadata:type_name -> google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata + 80, // 23: google.cloud.contactcenterinsights.v1.AnalysisResult.end_time:type_name -> google.protobuf.Timestamp + 18, // 24: google.cloud.contactcenterinsights.v1.IssueModelResult.issues:type_name -> google.cloud.contactcenterinsights.v1.IssueAssignment + 30, // 25: google.cloud.contactcenterinsights.v1.ConversationLevelSentiment.sentiment_data:type_name -> google.cloud.contactcenterinsights.v1.SentimentData + 25, // 26: google.cloud.contactcenterinsights.v1.CallAnnotation.interruption_data:type_name -> google.cloud.contactcenterinsights.v1.InterruptionData + 30, // 27: google.cloud.contactcenterinsights.v1.CallAnnotation.sentiment_data:type_name -> google.cloud.contactcenterinsights.v1.SentimentData + 26, // 28: google.cloud.contactcenterinsights.v1.CallAnnotation.silence_data:type_name -> google.cloud.contactcenterinsights.v1.SilenceData + 27, // 29: google.cloud.contactcenterinsights.v1.CallAnnotation.hold_data:type_name -> google.cloud.contactcenterinsights.v1.HoldData + 28, // 30: google.cloud.contactcenterinsights.v1.CallAnnotation.entity_mention_data:type_name -> google.cloud.contactcenterinsights.v1.EntityMentionData + 29, // 31: google.cloud.contactcenterinsights.v1.CallAnnotation.intent_match_data:type_name -> google.cloud.contactcenterinsights.v1.IntentMatchData + 23, // 32: google.cloud.contactcenterinsights.v1.CallAnnotation.phrase_match_data:type_name -> google.cloud.contactcenterinsights.v1.PhraseMatchData + 31, // 33: google.cloud.contactcenterinsights.v1.CallAnnotation.issue_match_data:type_name -> google.cloud.contactcenterinsights.v1.IssueMatchData + 20, // 34: google.cloud.contactcenterinsights.v1.CallAnnotation.annotation_start_boundary:type_name -> google.cloud.contactcenterinsights.v1.AnnotationBoundary + 20, // 35: google.cloud.contactcenterinsights.v1.CallAnnotation.annotation_end_boundary:type_name -> google.cloud.contactcenterinsights.v1.AnnotationBoundary + 1, // 36: google.cloud.contactcenterinsights.v1.Entity.type:type_name -> google.cloud.contactcenterinsights.v1.Entity.Type + 67, // 37: google.cloud.contactcenterinsights.v1.Entity.metadata:type_name -> google.cloud.contactcenterinsights.v1.Entity.MetadataEntry + 30, // 38: google.cloud.contactcenterinsights.v1.Entity.sentiment:type_name -> google.cloud.contactcenterinsights.v1.SentimentData + 2, // 39: google.cloud.contactcenterinsights.v1.EntityMentionData.type:type_name -> google.cloud.contactcenterinsights.v1.EntityMentionData.MentionType + 30, // 40: google.cloud.contactcenterinsights.v1.EntityMentionData.sentiment:type_name -> google.cloud.contactcenterinsights.v1.SentimentData + 18, // 41: google.cloud.contactcenterinsights.v1.IssueMatchData.issue_assignment:type_name -> google.cloud.contactcenterinsights.v1.IssueAssignment + 80, // 42: google.cloud.contactcenterinsights.v1.IssueModel.create_time:type_name -> google.protobuf.Timestamp + 80, // 43: google.cloud.contactcenterinsights.v1.IssueModel.update_time:type_name -> google.protobuf.Timestamp + 3, // 44: google.cloud.contactcenterinsights.v1.IssueModel.state:type_name -> google.cloud.contactcenterinsights.v1.IssueModel.State + 68, // 45: google.cloud.contactcenterinsights.v1.IssueModel.input_data_config:type_name -> google.cloud.contactcenterinsights.v1.IssueModel.InputDataConfig + 34, // 46: google.cloud.contactcenterinsights.v1.IssueModel.training_stats:type_name -> google.cloud.contactcenterinsights.v1.IssueModelLabelStats + 4, // 47: google.cloud.contactcenterinsights.v1.IssueModel.model_type:type_name -> google.cloud.contactcenterinsights.v1.IssueModel.ModelType + 80, // 48: google.cloud.contactcenterinsights.v1.Issue.create_time:type_name -> google.protobuf.Timestamp + 80, // 49: google.cloud.contactcenterinsights.v1.Issue.update_time:type_name -> google.protobuf.Timestamp + 70, // 50: google.cloud.contactcenterinsights.v1.IssueModelLabelStats.issue_stats:type_name -> google.cloud.contactcenterinsights.v1.IssueModelLabelStats.IssueStatsEntry + 80, // 51: google.cloud.contactcenterinsights.v1.PhraseMatcher.revision_create_time:type_name -> google.protobuf.Timestamp + 5, // 52: google.cloud.contactcenterinsights.v1.PhraseMatcher.type:type_name -> google.cloud.contactcenterinsights.v1.PhraseMatcher.PhraseMatcherType + 36, // 53: google.cloud.contactcenterinsights.v1.PhraseMatcher.phrase_match_rule_groups:type_name -> google.cloud.contactcenterinsights.v1.PhraseMatchRuleGroup + 80, // 54: google.cloud.contactcenterinsights.v1.PhraseMatcher.activation_update_time:type_name -> google.protobuf.Timestamp + 8, // 55: google.cloud.contactcenterinsights.v1.PhraseMatcher.role_match:type_name -> google.cloud.contactcenterinsights.v1.ConversationParticipant.Role + 80, // 56: google.cloud.contactcenterinsights.v1.PhraseMatcher.update_time:type_name -> google.protobuf.Timestamp + 6, // 57: google.cloud.contactcenterinsights.v1.PhraseMatchRuleGroup.type:type_name -> google.cloud.contactcenterinsights.v1.PhraseMatchRuleGroup.PhraseMatchRuleGroupType + 37, // 58: google.cloud.contactcenterinsights.v1.PhraseMatchRuleGroup.phrase_match_rules:type_name -> google.cloud.contactcenterinsights.v1.PhraseMatchRule + 38, // 59: google.cloud.contactcenterinsights.v1.PhraseMatchRule.config:type_name -> google.cloud.contactcenterinsights.v1.PhraseMatchRuleConfig + 39, // 60: google.cloud.contactcenterinsights.v1.PhraseMatchRuleConfig.exact_match_config:type_name -> google.cloud.contactcenterinsights.v1.ExactMatchConfig + 80, // 61: google.cloud.contactcenterinsights.v1.Settings.create_time:type_name -> google.protobuf.Timestamp + 80, // 62: google.cloud.contactcenterinsights.v1.Settings.update_time:type_name -> google.protobuf.Timestamp + 81, // 63: google.cloud.contactcenterinsights.v1.Settings.conversation_ttl:type_name -> google.protobuf.Duration + 72, // 64: google.cloud.contactcenterinsights.v1.Settings.pubsub_notification_settings:type_name -> google.cloud.contactcenterinsights.v1.Settings.PubsubNotificationSettingsEntry + 71, // 65: google.cloud.contactcenterinsights.v1.Settings.analysis_config:type_name -> google.cloud.contactcenterinsights.v1.Settings.AnalysisConfig + 41, // 66: google.cloud.contactcenterinsights.v1.Settings.redaction_config:type_name -> google.cloud.contactcenterinsights.v1.RedactionConfig + 42, // 67: google.cloud.contactcenterinsights.v1.Settings.speech_config:type_name -> google.cloud.contactcenterinsights.v1.SpeechConfig + 45, // 68: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.article_suggestion:type_name -> google.cloud.contactcenterinsights.v1.ArticleSuggestionData + 46, // 69: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.faq_answer:type_name -> google.cloud.contactcenterinsights.v1.FaqAnswerData + 47, // 70: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.smart_reply:type_name -> google.cloud.contactcenterinsights.v1.SmartReplyData + 48, // 71: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.smart_compose_suggestion:type_name -> google.cloud.contactcenterinsights.v1.SmartComposeSuggestionData + 49, // 72: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.dialogflow_interaction:type_name -> google.cloud.contactcenterinsights.v1.DialogflowInteractionData + 50, // 73: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.conversation_summarization_suggestion:type_name -> google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData + 80, // 74: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.create_time:type_name -> google.protobuf.Timestamp + 20, // 75: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.start_boundary:type_name -> google.cloud.contactcenterinsights.v1.AnnotationBoundary + 20, // 76: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.end_boundary:type_name -> google.cloud.contactcenterinsights.v1.AnnotationBoundary + 44, // 77: google.cloud.contactcenterinsights.v1.RuntimeAnnotation.answer_feedback:type_name -> google.cloud.contactcenterinsights.v1.AnswerFeedback + 7, // 78: google.cloud.contactcenterinsights.v1.AnswerFeedback.correctness_level:type_name -> google.cloud.contactcenterinsights.v1.AnswerFeedback.CorrectnessLevel + 73, // 79: google.cloud.contactcenterinsights.v1.ArticleSuggestionData.metadata:type_name -> google.cloud.contactcenterinsights.v1.ArticleSuggestionData.MetadataEntry + 74, // 80: google.cloud.contactcenterinsights.v1.FaqAnswerData.metadata:type_name -> google.cloud.contactcenterinsights.v1.FaqAnswerData.MetadataEntry + 75, // 81: google.cloud.contactcenterinsights.v1.SmartReplyData.metadata:type_name -> google.cloud.contactcenterinsights.v1.SmartReplyData.MetadataEntry + 76, // 82: google.cloud.contactcenterinsights.v1.SmartComposeSuggestionData.metadata:type_name -> google.cloud.contactcenterinsights.v1.SmartComposeSuggestionData.MetadataEntry + 77, // 83: google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData.text_sections:type_name -> google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData.TextSectionsEntry + 78, // 84: google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData.metadata:type_name -> google.cloud.contactcenterinsights.v1.ConversationSummarizationSuggestionData.MetadataEntry + 8, // 85: google.cloud.contactcenterinsights.v1.ConversationParticipant.role:type_name -> google.cloud.contactcenterinsights.v1.ConversationParticipant.Role + 80, // 86: google.cloud.contactcenterinsights.v1.View.create_time:type_name -> google.protobuf.Timestamp + 80, // 87: google.cloud.contactcenterinsights.v1.View.update_time:type_name -> google.protobuf.Timestamp + 79, // 88: google.cloud.contactcenterinsights.v1.AnnotatorSelector.summarization_config:type_name -> google.cloud.contactcenterinsights.v1.AnnotatorSelector.SummarizationConfig + 81, // 89: google.cloud.contactcenterinsights.v1.Conversation.QualityMetadata.wait_duration:type_name -> google.protobuf.Duration + 59, // 90: google.cloud.contactcenterinsights.v1.Conversation.QualityMetadata.agent_info:type_name -> google.cloud.contactcenterinsights.v1.Conversation.QualityMetadata.AgentInfo + 60, // 91: google.cloud.contactcenterinsights.v1.Conversation.Transcript.transcript_segments:type_name -> google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment + 24, // 92: google.cloud.contactcenterinsights.v1.Conversation.DialogflowIntentsEntry.value:type_name -> google.cloud.contactcenterinsights.v1.DialogflowIntent + 80, // 93: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.message_time:type_name -> google.protobuf.Timestamp + 61, // 94: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.words:type_name -> google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.WordInfo + 51, // 95: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.segment_participant:type_name -> google.cloud.contactcenterinsights.v1.ConversationParticipant + 62, // 96: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.dialogflow_segment_metadata:type_name -> google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.DialogflowSegmentMetadata + 30, // 97: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.sentiment:type_name -> google.cloud.contactcenterinsights.v1.SentimentData + 81, // 98: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.WordInfo.start_offset:type_name -> google.protobuf.Duration + 81, // 99: google.cloud.contactcenterinsights.v1.Conversation.Transcript.TranscriptSegment.WordInfo.end_offset:type_name -> google.protobuf.Duration + 19, // 100: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.annotations:type_name -> google.cloud.contactcenterinsights.v1.CallAnnotation + 64, // 101: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.entities:type_name -> google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.EntitiesEntry + 17, // 102: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.sentiments:type_name -> google.cloud.contactcenterinsights.v1.ConversationLevelSentiment + 65, // 103: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.intents:type_name -> google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.IntentsEntry + 66, // 104: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.phrase_matchers:type_name -> google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.PhraseMatchersEntry + 16, // 105: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.issue_model_result:type_name -> google.cloud.contactcenterinsights.v1.IssueModelResult + 21, // 106: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.EntitiesEntry.value:type_name -> google.cloud.contactcenterinsights.v1.Entity + 22, // 107: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.IntentsEntry.value:type_name -> google.cloud.contactcenterinsights.v1.Intent + 23, // 108: google.cloud.contactcenterinsights.v1.AnalysisResult.CallAnalysisMetadata.PhraseMatchersEntry.value:type_name -> google.cloud.contactcenterinsights.v1.PhraseMatchData + 0, // 109: google.cloud.contactcenterinsights.v1.IssueModel.InputDataConfig.medium:type_name -> google.cloud.contactcenterinsights.v1.Conversation.Medium + 69, // 110: google.cloud.contactcenterinsights.v1.IssueModelLabelStats.IssueStatsEntry.value:type_name -> google.cloud.contactcenterinsights.v1.IssueModelLabelStats.IssueStats + 53, // 111: google.cloud.contactcenterinsights.v1.Settings.AnalysisConfig.annotator_selector:type_name -> google.cloud.contactcenterinsights.v1.AnnotatorSelector + 9, // 112: google.cloud.contactcenterinsights.v1.AnnotatorSelector.SummarizationConfig.summarization_model:type_name -> google.cloud.contactcenterinsights.v1.AnnotatorSelector.SummarizationConfig.SummarizationModel + 113, // [113:113] is the sub-list for method output_type + 113, // [113:113] is the sub-list for method input_type + 113, // [113:113] is the sub-list for extension type_name + 113, // [113:113] is the sub-list for extension extendee + 0, // [0:113] is the sub-list for field type_name } func init() { file_google_cloud_contactcenterinsights_v1_resources_proto_init() } @@ -7244,6 +7455,18 @@ func file_google_cloud_contactcenterinsights_v1_resources_proto_init() { } } file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Conversation_QualityMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Conversation_Transcript); i { case 0: return &v.state @@ -7255,7 +7478,19 @@ func file_google_cloud_contactcenterinsights_v1_resources_proto_init() { return nil } } - file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Conversation_QualityMetadata_AgentInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Conversation_Transcript_TranscriptSegment); i { case 0: return &v.state @@ -7267,7 +7502,7 @@ func file_google_cloud_contactcenterinsights_v1_resources_proto_init() { return nil } } - file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Conversation_Transcript_TranscriptSegment_WordInfo); i { case 0: return &v.state @@ -7279,7 +7514,7 @@ func file_google_cloud_contactcenterinsights_v1_resources_proto_init() { return nil } } - file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Conversation_Transcript_TranscriptSegment_DialogflowSegmentMetadata); i { case 0: return &v.state @@ -7291,7 +7526,7 @@ func file_google_cloud_contactcenterinsights_v1_resources_proto_init() { return nil } } - file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AnalysisResult_CallAnalysisMetadata); i { case 0: return &v.state @@ -7303,7 +7538,7 @@ func file_google_cloud_contactcenterinsights_v1_resources_proto_init() { return nil } } - file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IssueModel_InputDataConfig); i { case 0: return &v.state @@ -7315,7 +7550,7 @@ func file_google_cloud_contactcenterinsights_v1_resources_proto_init() { return nil } } - file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IssueModelLabelStats_IssueStats); i { case 0: return &v.state @@ -7327,7 +7562,7 @@ func file_google_cloud_contactcenterinsights_v1_resources_proto_init() { return nil } } - file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Settings_AnalysisConfig); i { case 0: return &v.state @@ -7339,7 +7574,7 @@ func file_google_cloud_contactcenterinsights_v1_resources_proto_init() { return nil } } - file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AnnotatorSelector_SummarizationConfig); i { case 0: return &v.state @@ -7392,7 +7627,7 @@ func file_google_cloud_contactcenterinsights_v1_resources_proto_init() { (*ConversationParticipant_DialogflowParticipantName)(nil), (*ConversationParticipant_UserId)(nil), } - file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[67].OneofWrappers = []interface{}{ + file_google_cloud_contactcenterinsights_v1_resources_proto_msgTypes[69].OneofWrappers = []interface{}{ (*AnnotatorSelector_SummarizationConfig_ConversationProfile)(nil), (*AnnotatorSelector_SummarizationConfig_SummarizationModel_)(nil), } @@ -7402,7 +7637,7 @@ func file_google_cloud_contactcenterinsights_v1_resources_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_contactcenterinsights_v1_resources_proto_rawDesc, NumEnums: 10, - NumMessages: 68, + NumMessages: 70, NumExtensions: 0, NumServices: 0, }, diff --git a/container/apiv1/containerpb/cluster_service.pb.go b/container/apiv1/containerpb/cluster_service.pb.go index f2894248fbd..be20fc7d3b8 100755 --- a/container/apiv1/containerpb/cluster_service.pb.go +++ b/container/apiv1/containerpb/cluster_service.pb.go @@ -3181,25 +3181,25 @@ type NodeConfig struct { // Additionally, to avoid ambiguity, keys must not conflict with any other // metadata keys for the project or be one of the reserved keys: // - // - "cluster-location" - // - "cluster-name" - // - "cluster-uid" - // - "configure-sh" - // - "containerd-configure-sh" - // - "enable-os-login" - // - "gci-ensure-gke-docker" - // - "gci-metrics-enabled" - // - "gci-update-strategy" - // - "instance-template" - // - "kube-env" - // - "startup-script" - // - "user-data" - // - "disable-address-manager" - // - "windows-startup-script-ps1" - // - "common-psm1" - // - "k8s-node-setup-psm1" - // - "install-ssh-psm1" - // - "user-profile-psm1" + // - "cluster-location" + // - "cluster-name" + // - "cluster-uid" + // - "configure-sh" + // - "containerd-configure-sh" + // - "enable-os-login" + // - "gci-ensure-gke-docker" + // - "gci-metrics-enabled" + // - "gci-update-strategy" + // - "instance-template" + // - "kube-env" + // - "startup-script" + // - "user-data" + // - "disable-address-manager" + // - "windows-startup-script-ps1" + // - "common-psm1" + // - "k8s-node-setup-psm1" + // - "install-ssh-psm1" + // - "user-profile-psm1" // // Values are free-form strings, and only have meaning as interpreted by // the image running in the instance. The only restriction placed on them is @@ -3279,7 +3279,6 @@ type NodeConfig struct { LinuxNodeConfig *LinuxNodeConfig `protobuf:"bytes,21,opt,name=linux_node_config,json=linuxNodeConfig,proto3" json:"linux_node_config,omitempty"` // Node kubelet configs. KubeletConfig *NodeKubeletConfig `protobuf:"bytes,22,opt,name=kubelet_config,json=kubeletConfig,proto3" json:"kubelet_config,omitempty"` - // // The Customer Managed Encryption Key used to encrypt the boot disk attached // to each node in the node pool. This should be of the form // projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. @@ -6289,9 +6288,9 @@ type Cluster struct { // // * `logging.googleapis.com/kubernetes` - The Cloud Logging // service with a Kubernetes-native resource model - // * `logging.googleapis.com` - The legacy Cloud Logging service (no longer - // available as of GKE 1.15). - // * `none` - no logs will be exported from the cluster. + // - `logging.googleapis.com` - The legacy Cloud Logging service (no longer + // available as of GKE 1.15). + // - `none` - no logs will be exported from the cluster. // // If left as an empty string,`logging.googleapis.com/kubernetes` will be // used for GKE 1.14+ or `logging.googleapis.com` for earlier versions. @@ -6301,9 +6300,9 @@ type Cluster struct { // // * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring // service with a Kubernetes-native resource model - // * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no - // longer available as of GKE 1.15). - // * `none` - No metrics will be exported from the cluster. + // - `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no + // longer available as of GKE 1.15). + // - `none` - No metrics will be exported from the cluster. // // If left as an empty string,`monitoring.googleapis.com/kubernetes` will be // used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions. @@ -7333,9 +7332,9 @@ type ClusterUpdate struct { // // * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring // service with a Kubernetes-native resource model - // * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no - // longer available as of GKE 1.15). - // * `none` - No metrics will be exported from the cluster. + // - `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no + // longer available as of GKE 1.15). + // - `none` - No metrics will be exported from the cluster. // // If left as an empty string,`monitoring.googleapis.com/kubernetes` will be // used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions. @@ -7388,9 +7387,9 @@ type ClusterUpdate struct { // // * `logging.googleapis.com/kubernetes` - The Cloud Logging // service with a Kubernetes-native resource model - // * `logging.googleapis.com` - The legacy Cloud Logging service (no longer - // available as of GKE 1.15). - // * `none` - no logs will be exported from the cluster. + // - `logging.googleapis.com` - The legacy Cloud Logging service (no longer + // available as of GKE 1.15). + // - `none` - no logs will be exported from the cluster. // // If left as an empty string,`logging.googleapis.com/kubernetes` will be // used for GKE 1.14+ or `logging.googleapis.com` for earlier versions. @@ -8217,11 +8216,14 @@ type OperationProgress struct { // Unset for single-stage operations. Status Operation_Status `protobuf:"varint,2,opt,name=status,proto3,enum=google.container.v1.Operation_Status" json:"status,omitempty"` // Progress metric bundle, for example: - // metrics: [{name: "nodes done", int_value: 15}, - // {name: "nodes total", int_value: 32}] + // + // metrics: [{name: "nodes done", int_value: 15}, + // {name: "nodes total", int_value: 32}] + // // or - // metrics: [{name: "progress", double_value: 0.56}, - // {name: "progress scale", double_value: 1.0}] + // + // metrics: [{name: "progress", double_value: 0.56}, + // {name: "progress scale", double_value: 1.0}] Metrics []*OperationProgress_Metric `protobuf:"bytes,3,rep,name=metrics,proto3" json:"metrics,omitempty"` // Substages of an operation or a stage. Stages []*OperationProgress `protobuf:"bytes,4,rep,name=stages,proto3" json:"stages,omitempty"` @@ -9063,9 +9065,9 @@ type SetLoggingServiceRequest struct { // // * `logging.googleapis.com/kubernetes` - The Cloud Logging // service with a Kubernetes-native resource model - // * `logging.googleapis.com` - The legacy Cloud Logging service (no longer - // available as of GKE 1.15). - // * `none` - no logs will be exported from the cluster. + // - `logging.googleapis.com` - The legacy Cloud Logging service (no longer + // available as of GKE 1.15). + // - `none` - no logs will be exported from the cluster. // // If left as an empty string,`logging.googleapis.com/kubernetes` will be // used for GKE 1.14+ or `logging.googleapis.com` for earlier versions. @@ -9174,9 +9176,9 @@ type SetMonitoringServiceRequest struct { // // * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring // service with a Kubernetes-native resource model - // * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no - // longer available as of GKE 1.15). - // * `none` - No metrics will be exported from the cluster. + // - `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no + // longer available as of GKE 1.15). + // - `none` - No metrics will be exported from the cluster. // // If left as an empty string,`monitoring.googleapis.com/kubernetes` will be // used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions. @@ -10828,6 +10830,7 @@ type BlueGreenSettings struct { // The rollout policy controls the general rollout progress of blue-green. // // Types that are assignable to RolloutPolicy: + // // *BlueGreenSettings_StandardRolloutPolicy_ RolloutPolicy isBlueGreenSettings_RolloutPolicy `protobuf_oneof:"rollout_policy"` // Time needed after draining entire blue pool. After this period, blue pool @@ -11428,6 +11431,7 @@ type MaintenanceWindow struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Policy: + // // *MaintenanceWindow_DailyMaintenanceWindow // *MaintenanceWindow_RecurringWindow Policy isMaintenanceWindow_Policy `protobuf_oneof:"policy"` @@ -11523,6 +11527,7 @@ type TimeWindow struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Options: + // // *TimeWindow_MaintenanceExclusionOptions Options isTimeWindow_Options `protobuf_oneof:"options"` // The time that the window first starts. @@ -17089,6 +17094,7 @@ type OperationProgress_Metric struct { // Strictly one of the values is required. // // Types that are assignable to Value: + // // *OperationProgress_Metric_IntValue // *OperationProgress_Metric_DoubleValue // *OperationProgress_Metric_StringValue @@ -17263,6 +17269,7 @@ type BlueGreenSettings_StandardRolloutPolicy struct { // Blue pool size to drain in a batch. // // Types that are assignable to UpdateBatchSize: + // // *BlueGreenSettings_StandardRolloutPolicy_BatchPercentage // *BlueGreenSettings_StandardRolloutPolicy_BatchNodeCount UpdateBatchSize isBlueGreenSettings_StandardRolloutPolicy_UpdateBatchSize `protobuf_oneof:"update_batch_size"` diff --git a/datacatalog/apiv1/datacatalogpb/bigquery.pb.go b/datacatalog/apiv1/datacatalogpb/bigquery.pb.go index 82cc3df0606..581dc6dcab2 100755 --- a/datacatalog/apiv1/datacatalogpb/bigquery.pb.go +++ b/datacatalog/apiv1/datacatalogpb/bigquery.pb.go @@ -147,6 +147,7 @@ type BigQueryConnectionSpec struct { // The type of the BigQuery connection. ConnectionType BigQueryConnectionSpec_ConnectionType `protobuf:"varint,1,opt,name=connection_type,json=connectionType,proto3,enum=google.cloud.datacatalog.v1.BigQueryConnectionSpec_ConnectionType" json:"connection_type,omitempty"` // Types that are assignable to ConnectionSpec: + // // *BigQueryConnectionSpec_CloudSql ConnectionSpec isBigQueryConnectionSpec_ConnectionSpec `protobuf_oneof:"connection_spec"` // True if there are credentials attached to the BigQuery connection; false diff --git a/datacatalog/apiv1/datacatalogpb/data_source.pb.go b/datacatalog/apiv1/datacatalogpb/data_source.pb.go index b9ccd63dfe5..3323d83dde0 100755 --- a/datacatalog/apiv1/datacatalogpb/data_source.pb.go +++ b/datacatalog/apiv1/datacatalogpb/data_source.pb.go @@ -104,6 +104,7 @@ type DataSource struct { // Output only. Data Catalog entry name, if applicable. SourceEntry string `protobuf:"bytes,3,opt,name=source_entry,json=sourceEntry,proto3" json:"source_entry,omitempty"` // Types that are assignable to Properties: + // // *DataSource_StorageProperties Properties isDataSource_Properties `protobuf_oneof:"properties"` } @@ -196,22 +197,22 @@ type StorageProperties struct { // // Examples of a valid `file_pattern`: // - // * `gs://bucket_name/dir/*`: matches all files in the `bucket_name/dir` - // directory - // * `gs://bucket_name/dir/**`: matches all files in the `bucket_name/dir` - // and all subdirectories recursively - // * `gs://bucket_name/file*`: matches files prefixed by `file` in - // `bucket_name` - // * `gs://bucket_name/??.txt`: matches files with two characters followed by - // `.txt` in `bucket_name` - // * `gs://bucket_name/[aeiou].txt`: matches files that contain a single - // vowel character followed by `.txt` in - // `bucket_name` - // * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... - // or `m` followed by `.txt` in `bucket_name` - // * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match - // the `a/*/b` pattern, such as `a/c/b`, `a/d/b` - // * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` + // - `gs://bucket_name/dir/*`: matches all files in the `bucket_name/dir` + // directory + // - `gs://bucket_name/dir/**`: matches all files in the `bucket_name/dir` + // and all subdirectories recursively + // - `gs://bucket_name/file*`: matches files prefixed by `file` in + // `bucket_name` + // - `gs://bucket_name/??.txt`: matches files with two characters followed by + // `.txt` in `bucket_name` + // - `gs://bucket_name/[aeiou].txt`: matches files that contain a single + // vowel character followed by `.txt` in + // `bucket_name` + // - `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... + // or `m` followed by `.txt` in `bucket_name` + // - `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match + // the `a/*/b` pattern, such as `a/c/b`, `a/d/b` + // - `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` FilePattern []string `protobuf:"bytes,1,rep,name=file_pattern,json=filePattern,proto3" json:"file_pattern,omitempty"` // File type in MIME format, for example, `text/plain`. FileType string `protobuf:"bytes,2,opt,name=file_type,json=fileType,proto3" json:"file_type,omitempty"` diff --git a/datacatalog/apiv1/datacatalogpb/datacatalog.pb.go b/datacatalog/apiv1/datacatalogpb/datacatalog.pb.go index dfbcf80d7ef..208b96b78c0 100755 --- a/datacatalog/apiv1/datacatalogpb/datacatalog.pb.go +++ b/datacatalog/apiv1/datacatalogpb/datacatalog.pb.go @@ -1552,6 +1552,7 @@ type LookupEntryRequest struct { // Google Cloud Platform resource. // // Types that are assignable to TargetName: + // // *LookupEntryRequest_LinkedResource // *LookupEntryRequest_SqlResource // *LookupEntryRequest_FullyQualifiedName @@ -1651,8 +1652,8 @@ type LookupEntryRequest_LinkedResource struct { // // Full names are case-sensitive. For example: // - // * `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` - // * `//pubsub.googleapis.com/projects/{PROJECT_ID}/topics/{TOPIC_ID}` + // - `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` + // - `//pubsub.googleapis.com/projects/{PROJECT_ID}/topics/{TOPIC_ID}` LinkedResource string `protobuf:"bytes,1,opt,name=linked_resource,json=linkedResource,proto3,oneof"` } @@ -1662,7 +1663,7 @@ type LookupEntryRequest_SqlResource struct { // Examples: // // * `pubsub.topic.{PROJECT_ID}.{TOPIC_ID}` - // * `pubsub.topic.{PROJECT_ID}.`\``{TOPIC.ID.SEPARATED.WITH.DOTS}`\` + // * `pubsub.topic.{PROJECT_ID}.`\“{TOPIC.ID.SEPARATED.WITH.DOTS}`\` // * `bigquery.table.{PROJECT_ID}.{DATASET_ID}.{TABLE_ID}` // * `bigquery.dataset.{PROJECT_ID}.{DATASET_ID}` // * `datacatalog.entry.{PROJECT_ID}.{LOCATION_ID}.{ENTRY_GROUP_ID}.{ENTRY_ID}` @@ -1682,11 +1683,11 @@ type LookupEntryRequest_FullyQualifiedName struct { // // * For non-regionalized resources: // - // `{SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` + // `{SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` // // * For regionalized resources: // - // `{SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` + // `{SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` // // Example for a DPMS table: // @@ -1744,17 +1745,18 @@ type Entry struct { // of the resource. Set automatically for entries representing resources from // synced systems. Settable only during creation, and read-only later. Can // be used for search and lookup of the entries. - // FullyQualifiedName string `protobuf:"bytes,29,opt,name=fully_qualified_name,json=fullyQualifiedName,proto3" json:"fully_qualified_name,omitempty"` // Required. Entry type. // // Types that are assignable to EntryType: + // // *Entry_Type // *Entry_UserSpecifiedType EntryType isEntry_EntryType `protobuf_oneof:"entry_type"` // The source system of the entry. // // Types that are assignable to System: + // // *Entry_IntegratedSystem // *Entry_UserSpecifiedSystem System isEntry_System `protobuf_oneof:"system"` @@ -1763,6 +1765,7 @@ type Entry struct { // all entries existing within given system // // Types that are assignable to SystemSpec: + // // *Entry_SqlDatabaseSystemSpec // *Entry_LookerSystemSpec // *Entry_CloudBigtableSystemSpec @@ -1770,6 +1773,7 @@ type Entry struct { // Type specification. // // Types that are assignable to TypeSpec: + // // *Entry_GcsFilesetSpec // *Entry_BigqueryTableSpec // *Entry_BigqueryDateShardedSpec @@ -1782,6 +1786,7 @@ type Entry struct { // of the legacy `type_spec`. // // Types that are assignable to Spec: + // // *Entry_DatabaseTableSpec // *Entry_DataSourceConnectionSpec // *Entry_RoutineSpec @@ -2473,6 +2478,7 @@ type RoutineSpec struct { // Contains fields specific to the source system. // // Types that are assignable to SystemSpec: + // // *RoutineSpec_BigqueryRoutineSpec SystemSpec isRoutineSpec_SystemSpec `protobuf_oneof:"system_spec"` } @@ -2579,6 +2585,7 @@ type DatasetSpec struct { // Fields specific to the source system. // // Types that are assignable to SystemSpec: + // // *DatasetSpec_VertexDatasetSpec SystemSpec isDatasetSpec_SystemSpec `protobuf_oneof:"system_spec"` } @@ -2649,24 +2656,28 @@ type SqlDatabaseSystemSpec struct { unknownFields protoimpl.UnknownFields // SQL Database Engine. - // enum SqlEngine { - // UNDEFINED = 0; - // MY_SQL = 1; - // POSTGRE_SQL = 2; - // SQL_SERVER = 3; - // } + // + // enum SqlEngine { + // UNDEFINED = 0; + // MY_SQL = 1; + // POSTGRE_SQL = 2; + // SQL_SERVER = 3; + // } + // // Engine of the enclosing database instance. SqlEngine string `protobuf:"bytes,1,opt,name=sql_engine,json=sqlEngine,proto3" json:"sql_engine,omitempty"` // Version of the database engine. DatabaseVersion string `protobuf:"bytes,2,opt,name=database_version,json=databaseVersion,proto3" json:"database_version,omitempty"` // Host of the SQL database - // enum InstanceHost { - // UNDEFINED = 0; - // SELF_HOSTED = 1; - // CLOUD_SQL = 2; - // AMAZON_RDS = 3; - // AZURE_SQL = 4; - // } + // + // enum InstanceHost { + // UNDEFINED = 0; + // SELF_HOSTED = 1; + // CLOUD_SQL = 2; + // AMAZON_RDS = 3; + // AZURE_SQL = 4; + // } + // // Host of the enclousing database instance. InstanceHost string `protobuf:"bytes,3,opt,name=instance_host,json=instanceHost,proto3" json:"instance_host,omitempty"` } @@ -2934,6 +2945,7 @@ type ServiceSpec struct { // System spec // // Types that are assignable to SystemSpec: + // // *ServiceSpec_CloudBigtableInstanceSpec SystemSpec isServiceSpec_SystemSpec `protobuf_oneof:"system_spec"` } @@ -3212,6 +3224,7 @@ type ModelSpec struct { // System spec // // Types that are assignable to SystemSpec: + // // *ModelSpec_VertexModelSpec SystemSpec isModelSpec_SystemSpec `protobuf_oneof:"system_spec"` } @@ -4975,6 +4988,7 @@ type ImportEntriesRequest struct { // Source of imported entries, e.g. dump stored in a Cloud Storage // // Types that are assignable to Source: + // // *ImportEntriesRequest_GcsBucketPath Source isImportEntriesRequest_Source `protobuf_oneof:"source"` // Optional. (Optional) Dataplex task job id, if specified will be used as @@ -5426,6 +5440,7 @@ type DatabaseTableSpec_DatabaseViewSpec struct { // Definition of the view. // // Types that are assignable to SourceDefinition: + // // *DatabaseTableSpec_DatabaseViewSpec_BaseTable // *DatabaseTableSpec_DatabaseViewSpec_SqlQuery SourceDefinition isDatabaseTableSpec_DatabaseViewSpec_SourceDefinition `protobuf_oneof:"source_definition"` @@ -8498,10 +8513,10 @@ type DataCatalogClient interface { DeleteTagTemplateField(ctx context.Context, in *DeleteTagTemplateFieldRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) // Creates a tag and assigns it to: // - // * An [Entry][google.cloud.datacatalog.v1.Entry] if the method name is - // `projects.locations.entryGroups.entries.tags.create`. - // * Or [EntryGroup][google.cloud.datacatalog.v1.EntryGroup]if the method - // name is `projects.locations.entryGroups.tags.create`. + // - An [Entry][google.cloud.datacatalog.v1.Entry] if the method name is + // `projects.locations.entryGroups.entries.tags.create`. + // - Or [EntryGroup][google.cloud.datacatalog.v1.EntryGroup]if the method + // name is `projects.locations.entryGroups.tags.create`. // // Note: The project identified by the `parent` parameter for the [tag] // (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) @@ -8551,17 +8566,17 @@ type DataCatalogClient interface { // // To call this method, you must have the following Google IAM permissions: // - // - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag - // templates. - // - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups. + // - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag + // templates. + // - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups. SetIamPolicy(ctx context.Context, in *iampb.SetIamPolicyRequest, opts ...grpc.CallOption) (*iampb.Policy, error) // Gets the access control policy for a resource. // // May return: // - // * A`NOT_FOUND` error if the resource doesn't exist or you don't have the - // permission to view it. - // * An empty policy if the resource exists but doesn't have a set policy. + // - A`NOT_FOUND` error if the resource doesn't exist or you don't have the + // permission to view it. + // - An empty policy if the resource exists but doesn't have a set policy. // // Supported resources are: // @@ -8573,9 +8588,9 @@ type DataCatalogClient interface { // // To call this method, you must have the following Google IAM permissions: // - // - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag - // templates. - // - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. + // - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag + // templates. + // - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. GetIamPolicy(ctx context.Context, in *iampb.GetIamPolicyRequest, opts ...grpc.CallOption) (*iampb.Policy, error) // Gets your permissions on a resource. // @@ -9104,10 +9119,10 @@ type DataCatalogServer interface { DeleteTagTemplateField(context.Context, *DeleteTagTemplateFieldRequest) (*emptypb.Empty, error) // Creates a tag and assigns it to: // - // * An [Entry][google.cloud.datacatalog.v1.Entry] if the method name is - // `projects.locations.entryGroups.entries.tags.create`. - // * Or [EntryGroup][google.cloud.datacatalog.v1.EntryGroup]if the method - // name is `projects.locations.entryGroups.tags.create`. + // - An [Entry][google.cloud.datacatalog.v1.Entry] if the method name is + // `projects.locations.entryGroups.entries.tags.create`. + // - Or [EntryGroup][google.cloud.datacatalog.v1.EntryGroup]if the method + // name is `projects.locations.entryGroups.tags.create`. // // Note: The project identified by the `parent` parameter for the [tag] // (https://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) @@ -9157,17 +9172,17 @@ type DataCatalogServer interface { // // To call this method, you must have the following Google IAM permissions: // - // - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag - // templates. - // - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups. + // - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag + // templates. + // - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups. SetIamPolicy(context.Context, *iampb.SetIamPolicyRequest) (*iampb.Policy, error) // Gets the access control policy for a resource. // // May return: // - // * A`NOT_FOUND` error if the resource doesn't exist or you don't have the - // permission to view it. - // * An empty policy if the resource exists but doesn't have a set policy. + // - A`NOT_FOUND` error if the resource doesn't exist or you don't have the + // permission to view it. + // - An empty policy if the resource exists but doesn't have a set policy. // // Supported resources are: // @@ -9179,9 +9194,9 @@ type DataCatalogServer interface { // // To call this method, you must have the following Google IAM permissions: // - // - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag - // templates. - // - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. + // - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag + // templates. + // - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest) (*iampb.Policy, error) // Gets your permissions on a resource. // diff --git a/datacatalog/apiv1/datacatalogpb/dump_content.pb.go b/datacatalog/apiv1/datacatalogpb/dump_content.pb.go index b21430a1944..44e111e7e6c 100755 --- a/datacatalog/apiv1/datacatalogpb/dump_content.pb.go +++ b/datacatalog/apiv1/datacatalogpb/dump_content.pb.go @@ -46,6 +46,7 @@ type TaggedEntry struct { // Required. Entry to be ingested. // // Types that are assignable to Entry: + // // *TaggedEntry_V1Entry Entry isTaggedEntry_Entry `protobuf_oneof:"entry"` // Optional. Tags that should be ingested into the Data Catalog. @@ -134,6 +135,7 @@ type DumpItem struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Item: + // // *DumpItem_TaggedEntry Item isDumpItem_Item `protobuf_oneof:"item"` } diff --git a/datacatalog/apiv1/datacatalogpb/gcs_fileset_spec.pb.go b/datacatalog/apiv1/datacatalogpb/gcs_fileset_spec.pb.go index 7286790db80..71235b58678 100755 --- a/datacatalog/apiv1/datacatalogpb/gcs_fileset_spec.pb.go +++ b/datacatalog/apiv1/datacatalogpb/gcs_fileset_spec.pb.go @@ -51,22 +51,22 @@ type GcsFilesetSpec struct { // // Examples of valid `file_patterns`: // - // * `gs://bucket_name/dir/*`: matches all files in `bucket_name/dir` - // directory - // * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir` - // and all subdirectories - // * `gs://bucket_name/file*`: matches files prefixed by `file` in - // `bucket_name` - // * `gs://bucket_name/??.txt`: matches files with two characters followed by - // `.txt` in `bucket_name` - // * `gs://bucket_name/[aeiou].txt`: matches files that contain a single - // vowel character followed by `.txt` in - // `bucket_name` - // * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... - // or `m` followed by `.txt` in `bucket_name` - // * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match - // the `a/*/b` pattern, such as `a/c/b`, `a/d/b` - // * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` + // - `gs://bucket_name/dir/*`: matches all files in `bucket_name/dir` + // directory + // - `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir` + // and all subdirectories + // - `gs://bucket_name/file*`: matches files prefixed by `file` in + // `bucket_name` + // - `gs://bucket_name/??.txt`: matches files with two characters followed by + // `.txt` in `bucket_name` + // - `gs://bucket_name/[aeiou].txt`: matches files that contain a single + // vowel character followed by `.txt` in + // `bucket_name` + // - `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... + // or `m` followed by `.txt` in `bucket_name` + // - `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match + // the `a/*/b` pattern, such as `a/c/b`, `a/d/b` + // - `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` // // You can combine wildcards to match complex sets of files, for example: // diff --git a/datacatalog/apiv1/datacatalogpb/physical_schema.pb.go b/datacatalog/apiv1/datacatalogpb/physical_schema.pb.go index 7e01e86676e..4caec9baf30 100755 --- a/datacatalog/apiv1/datacatalogpb/physical_schema.pb.go +++ b/datacatalog/apiv1/datacatalogpb/physical_schema.pb.go @@ -43,6 +43,7 @@ type PhysicalSchema struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Schema: + // // *PhysicalSchema_Avro // *PhysicalSchema_Thrift // *PhysicalSchema_Protobuf diff --git a/datacatalog/apiv1/datacatalogpb/policytagmanager.pb.go b/datacatalog/apiv1/datacatalogpb/policytagmanager.pb.go index 4eedb2c7b13..02fdca54a28 100755 --- a/datacatalog/apiv1/datacatalogpb/policytagmanager.pb.go +++ b/datacatalog/apiv1/datacatalogpb/policytagmanager.pb.go @@ -1846,10 +1846,10 @@ type PolicyTagManagerClient interface { CreatePolicyTag(ctx context.Context, in *CreatePolicyTagRequest, opts ...grpc.CallOption) (*PolicyTag, error) // Deletes a policy tag together with the following: // - // * All of its descendant policy tags, if any - // * Policies associated with the policy tag and its descendants - // * References from BigQuery table schema of the policy tag and its - // descendants + // - All of its descendant policy tags, if any + // - Policies associated with the policy tag and its descendants + // - References from BigQuery table schema of the policy tag and its + // descendants DeletePolicyTag(ctx context.Context, in *DeletePolicyTagRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) // Updates a policy tag, including its display // name, description, and parent policy tag. @@ -2014,10 +2014,10 @@ type PolicyTagManagerServer interface { CreatePolicyTag(context.Context, *CreatePolicyTagRequest) (*PolicyTag, error) // Deletes a policy tag together with the following: // - // * All of its descendant policy tags, if any - // * Policies associated with the policy tag and its descendants - // * References from BigQuery table schema of the policy tag and its - // descendants + // - All of its descendant policy tags, if any + // - Policies associated with the policy tag and its descendants + // - References from BigQuery table schema of the policy tag and its + // descendants DeletePolicyTag(context.Context, *DeletePolicyTagRequest) (*emptypb.Empty, error) // Updates a policy tag, including its display // name, description, and parent policy tag. diff --git a/datacatalog/apiv1/datacatalogpb/policytagmanagerserialization.pb.go b/datacatalog/apiv1/datacatalogpb/policytagmanagerserialization.pb.go index 1ba2bc51d94..ffa4f8d2d65 100755 --- a/datacatalog/apiv1/datacatalogpb/policytagmanagerserialization.pb.go +++ b/datacatalog/apiv1/datacatalogpb/policytagmanagerserialization.pb.go @@ -274,6 +274,7 @@ type ImportTaxonomiesRequest struct { // Source taxonomies to import. // // Types that are assignable to Source: + // // *ImportTaxonomiesRequest_InlineSource // *ImportTaxonomiesRequest_CrossRegionalSource Source isImportTaxonomiesRequest_Source `protobuf_oneof:"source"` @@ -521,6 +522,7 @@ type ExportTaxonomiesRequest struct { // Required. Export destination for taxonomies. // // Types that are assignable to Destination: + // // *ExportTaxonomiesRequest_SerializedTaxonomies Destination isExportTaxonomiesRequest_Destination `protobuf_oneof:"destination"` } @@ -1042,11 +1044,11 @@ type PolicyTagManagerSerializationClient interface { // // This operation automatically does the following: // - // - Deletes the existing policy tags that are missing from the - // `SerializedPolicyTag`. - // - Creates policy tags that don't have resource names. They are considered - // new. - // - Updates policy tags with valid resources names accordingly. + // - Deletes the existing policy tags that are missing from the + // `SerializedPolicyTag`. + // - Creates policy tags that don't have resource names. They are considered + // new. + // - Updates policy tags with valid resources names accordingly. ReplaceTaxonomy(ctx context.Context, in *ReplaceTaxonomyRequest, opts ...grpc.CallOption) (*Taxonomy, error) // Creates new taxonomies (including their policy tags) in a given project // by importing from inlined or cross-regional sources. @@ -1111,11 +1113,11 @@ type PolicyTagManagerSerializationServer interface { // // This operation automatically does the following: // - // - Deletes the existing policy tags that are missing from the - // `SerializedPolicyTag`. - // - Creates policy tags that don't have resource names. They are considered - // new. - // - Updates policy tags with valid resources names accordingly. + // - Deletes the existing policy tags that are missing from the + // `SerializedPolicyTag`. + // - Creates policy tags that don't have resource names. They are considered + // new. + // - Updates policy tags with valid resources names accordingly. ReplaceTaxonomy(context.Context, *ReplaceTaxonomyRequest) (*Taxonomy, error) // Creates new taxonomies (including their policy tags) in a given project // by importing from inlined or cross-regional sources. diff --git a/datacatalog/apiv1/datacatalogpb/schema.pb.go b/datacatalog/apiv1/datacatalogpb/schema.pb.go index 4d063c85546..d94e30cc103 100755 --- a/datacatalog/apiv1/datacatalogpb/schema.pb.go +++ b/datacatalog/apiv1/datacatalogpb/schema.pb.go @@ -253,6 +253,7 @@ type ColumnSchema struct { // Information only applying for columns in Entries from a specific system. // // Types that are assignable to SystemSpec: + // // *ColumnSchema_LookerColumnSpec_ SystemSpec isColumnSchema_SystemSpec `protobuf_oneof:"system_spec"` // Optional. Garbage collection policy for the column or column family. diff --git a/datacatalog/apiv1/datacatalogpb/search.pb.go b/datacatalog/apiv1/datacatalogpb/search.pb.go index 77c6f728a32..79f85685c62 100755 --- a/datacatalog/apiv1/datacatalogpb/search.pb.go +++ b/datacatalog/apiv1/datacatalogpb/search.pb.go @@ -118,8 +118,8 @@ type SearchCatalogResult struct { // // Examples: // - // * `projects/{PROJECT_ID}/locations/{LOCATION_ID}/entryGroups/{ENTRY_GROUP_ID}/entries/{ENTRY_ID}` - // * `projects/{PROJECT_ID}/tagTemplates/{TAG_TEMPLATE_ID}` + // - `projects/{PROJECT_ID}/locations/{LOCATION_ID}/entryGroups/{ENTRY_GROUP_ID}/entries/{ENTRY_ID}` + // - `projects/{PROJECT_ID}/tagTemplates/{TAG_TEMPLATE_ID}` RelativeResourceName string `protobuf:"bytes,3,opt,name=relative_resource_name,json=relativeResourceName,proto3" json:"relative_resource_name,omitempty"` // The full name of the Google Cloud resource the entry belongs to. // @@ -136,6 +136,7 @@ type SearchCatalogResult struct { // `search_result_type` is `ENTRY`. // // Types that are assignable to System: + // // *SearchCatalogResult_IntegratedSystem // *SearchCatalogResult_UserSpecifiedSystem System isSearchCatalogResult_System `protobuf_oneof:"system"` @@ -145,11 +146,11 @@ type SearchCatalogResult struct { // // * For non-regionalized resources: // - // `{SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` + // `{SYSTEM}:{PROJECT}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` // // * For regionalized resources: // - // `{SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` + // `{SYSTEM}:{PROJECT}.{LOCATION_ID}.{PATH_TO_RESOURCE_SEPARATED_WITH_DOTS}` // // Example for a DPMS table: // diff --git a/datacatalog/apiv1/datacatalogpb/table_spec.pb.go b/datacatalog/apiv1/datacatalogpb/table_spec.pb.go index 60d4e41ca0e..c7c4e48d4c7 100755 --- a/datacatalog/apiv1/datacatalogpb/table_spec.pb.go +++ b/datacatalog/apiv1/datacatalogpb/table_spec.pb.go @@ -104,6 +104,7 @@ type BigQueryTableSpec struct { // Output only. // // Types that are assignable to TypeSpec: + // // *BigQueryTableSpec_ViewSpec // *BigQueryTableSpec_TableSpec TypeSpec isBigQueryTableSpec_TypeSpec `protobuf_oneof:"type_spec"` diff --git a/datacatalog/apiv1/datacatalogpb/tags.pb.go b/datacatalog/apiv1/datacatalogpb/tags.pb.go index e3935fdc102..9c9e8573b19 100755 --- a/datacatalog/apiv1/datacatalogpb/tags.pb.go +++ b/datacatalog/apiv1/datacatalogpb/tags.pb.go @@ -135,6 +135,7 @@ type Tag struct { // These fields cannot be updated after creation. // // Types that are assignable to Scope: + // // *Tag_Column Scope isTag_Scope `protobuf_oneof:"scope"` // Required. Maps the ID of a tag field to its value and additional @@ -246,6 +247,7 @@ type TagField struct { // Required. The value of this field. // // Types that are assignable to Kind: + // // *TagField_DoubleValue // *TagField_StringValue // *TagField_BoolValue @@ -444,7 +446,7 @@ type TagTemplate struct { // [ListTags][google.cloud.datacatalog.v1.ListTags] API response. // // Additionally, you can search for a public tag by value with a - // simple search query in addition to using a ``tag:`` predicate. + // simple search query in addition to using a “tag:“ predicate. IsPubliclyReadable bool `protobuf:"varint,5,opt,name=is_publicly_readable,json=isPubliclyReadable,proto3" json:"is_publicly_readable,omitempty"` // Required. Map of tag template field IDs to the settings for the field. // This map is an exhaustive list of the allowed fields. The map must contain @@ -453,10 +455,10 @@ type TagTemplate struct { // The keys to this map are tag template field IDs. The IDs have the // following limitations: // - // * Can contain uppercase and lowercase letters, numbers (0-9) and - // underscores (_). - // * Must be at least 1 character and at most 64 characters long. - // * Must start with a letter or underscore. + // - Can contain uppercase and lowercase letters, numbers (0-9) and + // underscores (_). + // - Must be at least 1 character and at most 64 characters long. + // - Must start with a letter or underscore. Fields map[string]*TagTemplateField `protobuf:"bytes,3,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -641,6 +643,7 @@ type FieldType struct { // Required. // // Types that are assignable to TypeDecl: + // // *FieldType_PrimitiveType_ // *FieldType_EnumType_ TypeDecl isFieldType_TypeDecl `protobuf_oneof:"type_decl"` diff --git a/datacatalog/apiv1beta1/datacatalogpb/datacatalog.pb.go b/datacatalog/apiv1beta1/datacatalogpb/datacatalog.pb.go index 6d83699015e..55bf6b37ad5 100755 --- a/datacatalog/apiv1beta1/datacatalogpb/datacatalog.pb.go +++ b/datacatalog/apiv1beta1/datacatalogpb/datacatalog.pb.go @@ -148,10 +148,10 @@ type SearchCatalogRequest struct { // Specifies the ordering of results, currently supported case-sensitive // choices are: // - // * `relevance`, only supports descending - // * `last_modified_timestamp [asc|desc]`, defaults to descending if not + // - `relevance`, only supports descending + // - `last_modified_timestamp [asc|desc]`, defaults to descending if not // specified - // * `default` that can only be descending + // - `default` that can only be descending // // If not specified, defaults to `relevance` descending. OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` @@ -786,21 +786,23 @@ type UpdateEntryRequest struct { // The following fields are modifiable: // // * For entries with type `DATA_STREAM`: - // * `schema` + // - `schema` + // // * For entries with type `FILESET`: - // * `schema` - // * `display_name` - // * `description` - // * `gcs_fileset_spec` - // * `gcs_fileset_spec.file_patterns` + // - `schema` + // - `display_name` + // - `description` + // - `gcs_fileset_spec` + // - `gcs_fileset_spec.file_patterns` + // // * For entries with `user_specified_type`: - // * `schema` - // * `display_name` - // * `description` - // * `user_specified_type` - // * `user_specified_system` - // * `linked_resource` - // * `source_system_timestamps` + // - `schema` + // - `display_name` + // - `description` + // - `user_specified_type` + // - `user_specified_system` + // - `linked_resource` + // - `source_system_timestamps` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -965,6 +967,7 @@ type LookupEntryRequest struct { // for a Google Cloud Platform resource. // // Types that are assignable to TargetName: + // // *LookupEntryRequest_LinkedResource // *LookupEntryRequest_SqlResource TargetName isLookupEntryRequest_TargetName `protobuf_oneof:"target_name"` @@ -1035,8 +1038,8 @@ type LookupEntryRequest_LinkedResource struct { // // Examples: // - // * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId - // * //pubsub.googleapis.com/projects/projectId/topics/topicId + // - //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId + // - //pubsub.googleapis.com/projects/projectId/topics/topicId LinkedResource string `protobuf:"bytes,1,opt,name=linked_resource,json=linkedResource,proto3,oneof"` } @@ -1045,11 +1048,11 @@ type LookupEntryRequest_SqlResource struct { // // Examples: // - // * `pubsub.project_id.topic_id` - // * ``pubsub.project_id.`topic.id.with.dots` `` - // * `bigquery.table.project_id.dataset_id.table_id` - // * `bigquery.dataset.project_id.dataset_id` - // * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id` + // - `pubsub.project_id.topic_id` + // - “pubsub.project_id.`topic.id.with.dots` “ + // - `bigquery.table.project_id.dataset_id.table_id` + // - `bigquery.dataset.project_id.dataset_id` + // - `datacatalog.entry.project_id.location_id.entry_group_id.entry_id` // // `*_id`s should satisfy the standard SQL rules for identifiers. // https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical. @@ -1099,18 +1102,21 @@ type Entry struct { // Required. Entry type. // // Types that are assignable to EntryType: + // // *Entry_Type // *Entry_UserSpecifiedType EntryType isEntry_EntryType `protobuf_oneof:"entry_type"` // The source system of the entry. // // Types that are assignable to System: + // // *Entry_IntegratedSystem // *Entry_UserSpecifiedSystem System isEntry_System `protobuf_oneof:"system"` // Type specification information. // // Types that are assignable to TypeSpec: + // // *Entry_GcsFilesetSpec // *Entry_BigqueryTableSpec // *Entry_BigqueryDateShardedSpec @@ -1979,9 +1985,9 @@ type UpdateTagTemplateFieldRequest struct { // Optional. Names of fields whose values to overwrite on an individual field // of a tag template. The following fields are modifiable: // - // * `display_name` - // * `type.enum_type` - // * `is_required` + // - `display_name` + // - `type.enum_type` + // - `is_required` // // If this parameter is absent or empty, all modifiable fields // are overwritten. If such fields are non-required and omitted in the request @@ -2546,30 +2552,30 @@ type SearchCatalogRequest_Scope struct { // additional information on the error. // // Valid locations: - // * asia-east1 - // * asia-east2 - // * asia-northeast1 - // * asia-northeast2 - // * asia-northeast3 - // * asia-south1 - // * asia-southeast1 - // * australia-southeast1 - // * eu - // * europe-north1 - // * europe-west1 - // * europe-west2 - // * europe-west3 - // * europe-west4 - // * europe-west6 - // * global - // * northamerica-northeast1 - // * southamerica-east1 - // * us - // * us-central1 - // * us-east1 - // * us-east4 - // * us-west1 - // * us-west2 + // - asia-east1 + // - asia-east2 + // - asia-northeast1 + // - asia-northeast2 + // - asia-northeast3 + // - asia-south1 + // - asia-southeast1 + // - australia-southeast1 + // - eu + // - europe-north1 + // - europe-west1 + // - europe-west2 + // - europe-west3 + // - europe-west4 + // - europe-west6 + // - global + // - northamerica-northeast1 + // - southamerica-east1 + // - us + // - us-central1 + // - us-east1 + // - us-east4 + // - us-west1 + // - us-west2 RestrictedLocations []string `protobuf:"bytes,16,rep,name=restricted_locations,json=restrictedLocations,proto3" json:"restricted_locations,omitempty"` } @@ -4293,6 +4299,7 @@ type DataCatalogClient interface { // - Tag templates. // - Entries. // - Entry groups. + // // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub // and any external Google Cloud Platform resources synced to Data Catalog. // @@ -4310,6 +4317,7 @@ type DataCatalogClient interface { // - Tag templates. // - Entries. // - Entry groups. + // // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub // and any external Google Cloud Platform resources synced to Data Catalog. // @@ -4327,6 +4335,7 @@ type DataCatalogClient interface { // - Tag templates. // - Entries. // - Entry groups. + // // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub // and any external Google Cloud Platform resources synced to Data Catalog. // @@ -4742,6 +4751,7 @@ type DataCatalogServer interface { // - Tag templates. // - Entries. // - Entry groups. + // // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub // and any external Google Cloud Platform resources synced to Data Catalog. // @@ -4759,6 +4769,7 @@ type DataCatalogServer interface { // - Tag templates. // - Entries. // - Entry groups. + // // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub // and any external Google Cloud Platform resources synced to Data Catalog. // @@ -4776,6 +4787,7 @@ type DataCatalogServer interface { // - Tag templates. // - Entries. // - Entry groups. + // // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub // and any external Google Cloud Platform resources synced to Data Catalog. // diff --git a/datacatalog/apiv1beta1/datacatalogpb/gcs_fileset_spec.pb.go b/datacatalog/apiv1beta1/datacatalogpb/gcs_fileset_spec.pb.go index c125ec6d407..ddea33e07eb 100755 --- a/datacatalog/apiv1beta1/datacatalogpb/gcs_fileset_spec.pb.go +++ b/datacatalog/apiv1beta1/datacatalogpb/gcs_fileset_spec.pb.go @@ -50,26 +50,26 @@ type GcsFilesetSpec struct { // // Examples of valid file_patterns: // - // * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir` - // directory. - // * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir` - // spanning all subdirectories. - // * `gs://bucket_name/file*`: matches files prefixed by `file` in - // `bucket_name` - // * `gs://bucket_name/??.txt`: matches files with two characters followed by - // `.txt` in `bucket_name` - // * `gs://bucket_name/[aeiou].txt`: matches files that contain a single - // vowel character followed by `.txt` in - // `bucket_name` - // * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... - // or `m` followed by `.txt` in `bucket_name` - // * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match - // `a/*/b` pattern, such as `a/c/b`, `a/d/b` - // * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` + // - `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir` + // directory. + // - `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir` + // spanning all subdirectories. + // - `gs://bucket_name/file*`: matches files prefixed by `file` in + // `bucket_name` + // - `gs://bucket_name/??.txt`: matches files with two characters followed by + // `.txt` in `bucket_name` + // - `gs://bucket_name/[aeiou].txt`: matches files that contain a single + // vowel character followed by `.txt` in + // `bucket_name` + // - `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... + // or `m` followed by `.txt` in `bucket_name` + // - `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match + // `a/*/b` pattern, such as `a/c/b`, `a/d/b` + // - `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` // // You can combine wildcards to provide more powerful matches, for example: // - // * `gs://bucket_name/[a-m]??.j*g` + // - `gs://bucket_name/[a-m]??.j*g` FilePatterns []string `protobuf:"bytes,1,rep,name=file_patterns,json=filePatterns,proto3" json:"file_patterns,omitempty"` // Output only. Sample files contained in this fileset, not all files // contained in this fileset are represented here. diff --git a/datacatalog/apiv1beta1/datacatalogpb/policytagmanagerserialization.pb.go b/datacatalog/apiv1beta1/datacatalogpb/policytagmanagerserialization.pb.go index d22f4bd42fa..bf2f68ae468 100755 --- a/datacatalog/apiv1beta1/datacatalogpb/policytagmanagerserialization.pb.go +++ b/datacatalog/apiv1beta1/datacatalogpb/policytagmanagerserialization.pb.go @@ -214,6 +214,7 @@ type ImportTaxonomiesRequest struct { // Source taxonomies to be imported. // // Types that are assignable to Source: + // // *ImportTaxonomiesRequest_InlineSource Source isImportTaxonomiesRequest_Source `protobuf_oneof:"source"` } @@ -396,6 +397,7 @@ type ExportTaxonomiesRequest struct { // Required. Taxonomies export destination. // // Types that are assignable to Destination: + // // *ExportTaxonomiesRequest_SerializedTaxonomies Destination isExportTaxonomiesRequest_Destination `protobuf_oneof:"destination"` } diff --git a/datacatalog/apiv1beta1/datacatalogpb/search.pb.go b/datacatalog/apiv1beta1/datacatalogpb/search.pb.go index ebac1e142d8..444328e47cb 100755 --- a/datacatalog/apiv1beta1/datacatalogpb/search.pb.go +++ b/datacatalog/apiv1beta1/datacatalogpb/search.pb.go @@ -112,14 +112,14 @@ type SearchCatalogResult struct { // The relative resource name of the resource in URL format. // Examples: // - // * `projects/{project_id}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` - // * `projects/{project_id}/tagTemplates/{tag_template_id}` + // - `projects/{project_id}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` + // - `projects/{project_id}/tagTemplates/{tag_template_id}` RelativeResourceName string `protobuf:"bytes,3,opt,name=relative_resource_name,json=relativeResourceName,proto3" json:"relative_resource_name,omitempty"` // The full name of the cloud resource the entry belongs to. See: // https://cloud.google.com/apis/design/resource_names#full_resource_name. // Example: // - // * `//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId` + // - `//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId` LinkedResource string `protobuf:"bytes,4,opt,name=linked_resource,json=linkedResource,proto3" json:"linked_resource,omitempty"` // Last-modified timestamp of the entry from the managing system. ModifyTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=modify_time,json=modifyTime,proto3" json:"modify_time,omitempty"` diff --git a/datacatalog/apiv1beta1/datacatalogpb/table_spec.pb.go b/datacatalog/apiv1beta1/datacatalogpb/table_spec.pb.go index a937ad68f54..74665cb11d8 100755 --- a/datacatalog/apiv1beta1/datacatalogpb/table_spec.pb.go +++ b/datacatalog/apiv1beta1/datacatalogpb/table_spec.pb.go @@ -104,6 +104,7 @@ type BigQueryTableSpec struct { // Output only. // // Types that are assignable to TypeSpec: + // // *BigQueryTableSpec_ViewSpec // *BigQueryTableSpec_TableSpec TypeSpec isBigQueryTableSpec_TypeSpec `protobuf_oneof:"type_spec"` diff --git a/datacatalog/apiv1beta1/datacatalogpb/tags.pb.go b/datacatalog/apiv1beta1/datacatalogpb/tags.pb.go index 871266c0d48..841be7569a9 100755 --- a/datacatalog/apiv1beta1/datacatalogpb/tags.pb.go +++ b/datacatalog/apiv1beta1/datacatalogpb/tags.pb.go @@ -130,6 +130,7 @@ type Tag struct { // to that scope. These fields cannot be updated after creation. // // Types that are assignable to Scope: + // // *Tag_Column Scope isTag_Scope `protobuf_oneof:"scope"` // Required. This maps the ID of a tag field to the value of and additional @@ -241,6 +242,7 @@ type TagField struct { // Required. The value of this field. // // Types that are assignable to Kind: + // // *TagField_DoubleValue // *TagField_StringValue // *TagField_BoolValue @@ -581,6 +583,7 @@ type FieldType struct { // Required. // // Types that are assignable to TypeDecl: + // // *FieldType_PrimitiveType_ // *FieldType_EnumType_ TypeDecl isFieldType_TypeDecl `protobuf_oneof:"type_decl"` diff --git a/datacatalog/lineage/apiv1/lineagepb/lineage.pb.go b/datacatalog/lineage/apiv1/lineagepb/lineage.pb.go index cb41d02c16a..86f4d162cb7 100755 --- a/datacatalog/lineage/apiv1/lineagepb/lineage.pb.go +++ b/datacatalog/lineage/apiv1/lineagepb/lineage.pb.go @@ -2023,6 +2023,7 @@ type SearchLinksRequest struct { // The asset for which you want to retrieve links. // // Types that are assignable to Criteria: + // // *SearchLinksRequest_Source // *SearchLinksRequest_Target Criteria isSearchLinksRequest_Criteria `protobuf_oneof:"criteria"` @@ -2584,10 +2585,10 @@ type Origin struct { // location parts of the resource name must match the project and location of // the lineage resource being created. Examples: // - // - `{source_type: COMPOSER, name: - // "projects/foo/locations/us/environments/bar"}` - // - `{source_type: BIGQUERY, name: "projects/foo/locations/eu"}` - // - `{source_type: CUSTOM, name: "myCustomIntegration"}` + // - `{source_type: COMPOSER, name: + // "projects/foo/locations/us/environments/bar"}` + // - `{source_type: BIGQUERY, name: "projects/foo/locations/eu"}` + // - `{source_type: CUSTOM, name: "myCustomIntegration"}` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } diff --git a/dataflow/apiv1beta3/dataflowpb/environment.pb.go b/dataflow/apiv1beta3/dataflowpb/environment.pb.go index 09bc2ffdf17..fa2b5f4d99a 100755 --- a/dataflow/apiv1beta3/dataflowpb/environment.pb.go +++ b/dataflow/apiv1beta3/dataflowpb/environment.pb.go @@ -449,8 +449,8 @@ type Environment struct { // // Google Cloud Storage: // - // storage.googleapis.com/{bucket}/{object} - // bucket.storage.googleapis.com/{object} + // storage.googleapis.com/{bucket}/{object} + // bucket.storage.googleapis.com/{object} TempStoragePrefix string `protobuf:"bytes,1,opt,name=temp_storage_prefix,json=tempStoragePrefix,proto3" json:"temp_storage_prefix,omitempty"` // The type of cluster manager API to use. If unknown or // unspecified, the service will attempt to choose a reasonable @@ -469,7 +469,8 @@ type Environment struct { // at rest, AKA a Customer Managed Encryption Key (CMEK). // // Format: - // projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY + // + // projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY ServiceKmsKeyName string `protobuf:"bytes,12,opt,name=service_kms_key_name,json=serviceKmsKeyName,proto3" json:"service_kms_key_name,omitempty"` // The worker pools. At least one "harness" worker pool must be // specified in order for the job to have workers. @@ -485,7 +486,8 @@ type Environment struct { // The supported resource type is: // // Google BigQuery: - // bigquery.googleapis.com/{dataset} + // + // bigquery.googleapis.com/{dataset} Dataset string `protobuf:"bytes,7,opt,name=dataset,proto3" json:"dataset,omitempty"` // The Cloud Dataflow SDK pipeline options specified by the user. These // options are passed through the service and are used to recreate the @@ -687,8 +689,8 @@ type Package struct { // // Google Cloud Storage: // - // storage.googleapis.com/{bucket} - // bucket.storage.googleapis.com/ + // storage.googleapis.com/{bucket} + // bucket.storage.googleapis.com/ Location string `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"` } @@ -856,8 +858,8 @@ type WorkerSettings struct { // // Google Cloud Storage: // - // storage.googleapis.com/{bucket}/{object} - // bucket.storage.googleapis.com/{object} + // storage.googleapis.com/{bucket}/{object} + // bucket.storage.googleapis.com/{object} TempStoragePrefix string `protobuf:"bytes,6,opt,name=temp_storage_prefix,json=tempStoragePrefix,proto3" json:"temp_storage_prefix,omitempty"` } @@ -979,8 +981,9 @@ type TaskRunnerSettings struct { // The supported resource type is: // // Google Cloud Storage: - // storage.googleapis.com/{bucket}/{object} - // bucket.storage.googleapis.com/{object} + // + // storage.googleapis.com/{bucket}/{object} + // bucket.storage.googleapis.com/{object} LogUploadLocation string `protobuf:"bytes,11,opt,name=log_upload_location,json=logUploadLocation,proto3" json:"log_upload_location,omitempty"` // The directory on the VM to store logs. LogDir string `protobuf:"bytes,12,opt,name=log_dir,json=logDir,proto3" json:"log_dir,omitempty"` @@ -990,8 +993,9 @@ type TaskRunnerSettings struct { // The supported resource type is: // // Google Cloud Storage: - // storage.googleapis.com/{bucket}/{object} - // bucket.storage.googleapis.com/{object} + // + // storage.googleapis.com/{bucket}/{object} + // bucket.storage.googleapis.com/{object} TempStoragePrefix string `protobuf:"bytes,13,opt,name=temp_storage_prefix,json=tempStoragePrefix,proto3" json:"temp_storage_prefix,omitempty"` // The command to launch the worker harness. HarnessCommand string `protobuf:"bytes,14,opt,name=harness_command,json=harnessCommand,proto3" json:"harness_command,omitempty"` diff --git a/dataflow/apiv1beta3/dataflowpb/jobs.pb.go b/dataflow/apiv1beta3/dataflowpb/jobs.pb.go index 371a1df7120..f5b885bfca0 100755 --- a/dataflow/apiv1beta3/dataflowpb/jobs.pb.go +++ b/dataflow/apiv1beta3/dataflowpb/jobs.pb.go @@ -524,8 +524,8 @@ type Job struct { // // Google Cloud Storage: // - // storage.googleapis.com/{bucket}/{object} - // bucket.storage.googleapis.com/{object} + // storage.googleapis.com/{bucket}/{object} + // bucket.storage.googleapis.com/{object} TempFiles []string `protobuf:"bytes,16,rep,name=temp_files,json=tempFiles,proto3" json:"temp_files,omitempty"` // User-defined labels for this job. // @@ -1684,6 +1684,7 @@ type DisplayData struct { // set. // // Types that are assignable to Value: + // // *DisplayData_StrValue // *DisplayData_Int64Value // *DisplayData_FloatValue diff --git a/dataflow/apiv1beta3/dataflowpb/streaming.pb.go b/dataflow/apiv1beta3/dataflowpb/streaming.pb.go index 7549d622807..f4cf5b546f3 100755 --- a/dataflow/apiv1beta3/dataflowpb/streaming.pb.go +++ b/dataflow/apiv1beta3/dataflowpb/streaming.pb.go @@ -398,6 +398,7 @@ type StreamLocation struct { // A specification of a stream's location. // // Types that are assignable to Location: + // // *StreamLocation_StreamingStageLocation // *StreamLocation_PubsubLocation // *StreamLocation_SideInputLocation diff --git a/dataflow/apiv1beta3/dataflowpb/templates.pb.go b/dataflow/apiv1beta3/dataflowpb/templates.pb.go index defc58b15f7..cfa94e8cc5b 100755 --- a/dataflow/apiv1beta3/dataflowpb/templates.pb.go +++ b/dataflow/apiv1beta3/dataflowpb/templates.pb.go @@ -412,6 +412,7 @@ type LaunchFlexTemplateParameter struct { // Launch Mechanism. // // Types that are assignable to Template: + // // *LaunchFlexTemplateParameter_ContainerSpec // *LaunchFlexTemplateParameter_ContainerSpecGcsPath Template isLaunchFlexTemplateParameter_Template `protobuf_oneof:"template"` @@ -1425,6 +1426,7 @@ type CreateJobFromTemplateRequest struct { // The template from which to create the job. // // Types that are assignable to Template: + // // *CreateJobFromTemplateRequest_GcsPath Template isCreateJobFromTemplateRequest_Template `protobuf_oneof:"template"` // The runtime parameters to pass to the job. @@ -1542,6 +1544,7 @@ type GetTemplateRequest struct { // The template from which to create the job. // // Types that are assignable to Template: + // // *GetTemplateRequest_GcsPath Template isGetTemplateRequest_Template `protobuf_oneof:"template"` // The view to retrieve. Defaults to METADATA_ONLY. @@ -1811,6 +1814,7 @@ type LaunchTemplateRequest struct { // The template from which to create the job. // // Types that are assignable to Template: + // // *LaunchTemplateRequest_GcsPath // *LaunchTemplateRequest_DynamicTemplate Template isLaunchTemplateRequest_Template `protobuf_oneof:"template"` diff --git a/dataform/apiv1alpha2/dataformpb/dataform.pb.go b/dataform/apiv1alpha2/dataformpb/dataform.pb.go index 01427d95768..c4a50fc5eb3 100755 --- a/dataform/apiv1alpha2/dataformpb/dataform.pb.go +++ b/dataform/apiv1alpha2/dataformpb/dataform.pb.go @@ -2830,6 +2830,7 @@ type CompilationResult struct { // Output only. The compilation result's name. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to Source: + // // *CompilationResult_GitCommitish // *CompilationResult_Workspace Source isCompilationResult_Source `protobuf_oneof:"source"` @@ -3347,6 +3348,7 @@ type CompilationResultAction struct { // to the workspace root. FilePath string `protobuf:"bytes,3,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` // Types that are assignable to CompiledObject: + // // *CompilationResultAction_Relation_ // *CompilationResultAction_Operations_ // *CompilationResultAction_Assertion_ @@ -4425,6 +4427,7 @@ type QueryDirectoryContentsResponse_DirectoryEntry struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Entry: + // // *QueryDirectoryContentsResponse_DirectoryEntry_File // *QueryDirectoryContentsResponse_DirectoryEntry_Directory Entry isQueryDirectoryContentsResponse_DirectoryEntry_Entry `protobuf_oneof:"entry"` diff --git a/dataform/apiv1beta1/dataformpb/dataform.pb.go b/dataform/apiv1beta1/dataformpb/dataform.pb.go index 71f67981154..d6a27347848 100755 --- a/dataform/apiv1beta1/dataformpb/dataform.pb.go +++ b/dataform/apiv1beta1/dataformpb/dataform.pb.go @@ -2936,6 +2936,7 @@ type DirectoryEntry struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Entry: + // // *DirectoryEntry_File // *DirectoryEntry_Directory Entry isDirectoryEntry_Entry `protobuf_oneof:"entry"` @@ -4242,6 +4243,7 @@ type CompilationResult struct { // Output only. The compilation result's name. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to Source: + // // *CompilationResult_GitCommitish // *CompilationResult_Workspace // *CompilationResult_ReleaseConfig @@ -4903,6 +4905,7 @@ type CompilationResultAction struct { // to the workspace root. FilePath string `protobuf:"bytes,3,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` // Types that are assignable to CompiledObject: + // // *CompilationResultAction_Relation_ // *CompilationResultAction_Operations_ // *CompilationResultAction_Assertion_ @@ -5751,6 +5754,7 @@ type WorkflowInvocation struct { // Output only. The workflow invocation's name. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to CompilationSource: + // // *WorkflowInvocation_CompilationResult // *WorkflowInvocation_WorkflowConfig CompilationSource isWorkflowInvocation_CompilationSource `protobuf_oneof:"compilation_source"` @@ -6703,6 +6707,7 @@ type CommitRepositoryChangesRequest_FileOperation struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Operation: + // // *CommitRepositoryChangesRequest_FileOperation_WriteFile_ // *CommitRepositoryChangesRequest_FileOperation_DeleteFile_ Operation isCommitRepositoryChangesRequest_FileOperation_Operation `protobuf_oneof:"operation"` @@ -6937,6 +6942,7 @@ type ReleaseConfig_ScheduledReleaseRecord struct { // The timestamp of this release attempt. ReleaseTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=release_time,json=releaseTime,proto3" json:"release_time,omitempty"` // Types that are assignable to Result: + // // *ReleaseConfig_ScheduledReleaseRecord_CompilationResult // *ReleaseConfig_ScheduledReleaseRecord_ErrorStatus Result isReleaseConfig_ScheduledReleaseRecord_Result `protobuf_oneof:"result"` @@ -7699,6 +7705,7 @@ type WorkflowConfig_ScheduledExecutionRecord struct { // The timestamp of this execution attempt. ExecutionTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=execution_time,json=executionTime,proto3" json:"execution_time,omitempty"` // Types that are assignable to Result: + // // *WorkflowConfig_ScheduledExecutionRecord_WorkflowInvocation // *WorkflowConfig_ScheduledExecutionRecord_ErrorStatus Result isWorkflowConfig_ScheduledExecutionRecord_Result `protobuf_oneof:"result"` diff --git a/datalabeling/apiv1beta1/datalabelingpb/annotation.pb.go b/datalabeling/apiv1beta1/datalabelingpb/annotation.pb.go index 8b28407a570..4c4eee82c41 100755 --- a/datalabeling/apiv1beta1/datalabelingpb/annotation.pb.go +++ b/datalabeling/apiv1beta1/datalabelingpb/annotation.pb.go @@ -332,6 +332,7 @@ type AnnotationValue struct { unknownFields protoimpl.UnknownFields // Types that are assignable to ValueType: + // // *AnnotationValue_ImageClassificationAnnotation // *AnnotationValue_ImageBoundingPolyAnnotation // *AnnotationValue_ImagePolylineAnnotation @@ -794,6 +795,7 @@ type ImageBoundingPolyAnnotation struct { // four points. // // Types that are assignable to BoundedArea: + // // *ImageBoundingPolyAnnotation_BoundingPoly // *ImageBoundingPolyAnnotation_NormalizedBoundingPoly BoundedArea isImageBoundingPolyAnnotation_BoundedArea `protobuf_oneof:"bounded_area"` @@ -983,6 +985,7 @@ type ImagePolylineAnnotation struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Poly: + // // *ImagePolylineAnnotation_Polyline // *ImagePolylineAnnotation_NormalizedPolyline Poly isImagePolylineAnnotation_Poly `protobuf_oneof:"poly"` @@ -1427,6 +1430,7 @@ type ObjectTrackingFrame struct { // The bounding box location of this object track for the frame. // // Types that are assignable to BoundedArea: + // // *ObjectTrackingFrame_BoundingPoly // *ObjectTrackingFrame_NormalizedBoundingPoly BoundedArea isObjectTrackingFrame_BoundedArea `protobuf_oneof:"bounded_area"` diff --git a/datalabeling/apiv1beta1/datalabelingpb/data_labeling_service.pb.go b/datalabeling/apiv1beta1/datalabelingpb/data_labeling_service.pb.go index 15eb1a04b3c..6183fc663b1 100755 --- a/datalabeling/apiv1beta1/datalabelingpb/data_labeling_service.pb.go +++ b/datalabeling/apiv1beta1/datalabelingpb/data_labeling_service.pb.go @@ -1129,6 +1129,7 @@ type LabelImageRequest struct { // match the selected feature. // // Types that are assignable to RequestConfig: + // // *LabelImageRequest_ImageClassificationConfig // *LabelImageRequest_BoundingPolyConfig // *LabelImageRequest_PolylineConfig @@ -1281,6 +1282,7 @@ type LabelVideoRequest struct { // match the selected feature. // // Types that are assignable to RequestConfig: + // // *LabelVideoRequest_VideoClassificationConfig // *LabelVideoRequest_ObjectDetectionConfig // *LabelVideoRequest_ObjectTrackingConfig @@ -1433,6 +1435,7 @@ type LabelTextRequest struct { // match the selected feature. // // Types that are assignable to RequestConfig: + // // *LabelTextRequest_TextClassificationConfig // *LabelTextRequest_TextEntityExtractionConfig RequestConfig isLabelTextRequest_RequestConfig `protobuf_oneof:"request_config"` @@ -2407,22 +2410,22 @@ type SearchEvaluationsRequest struct { Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. To search evaluations, you can filter by the following: // - // * evaluation_job.evaluation_job_id (the last part of - // [EvaluationJob.name][google.cloud.datalabeling.v1beta1.EvaluationJob.name]) - // * evaluation_job.model_id (the {model_name} portion - // of [EvaluationJob.modelVersion][google.cloud.datalabeling.v1beta1.EvaluationJob.model_version]) - // * evaluation_job.evaluation_job_run_time_start (Minimum - // threshold for the - // [evaluationJobRunTime][google.cloud.datalabeling.v1beta1.Evaluation.evaluation_job_run_time] that created - // the evaluation) - // * evaluation_job.evaluation_job_run_time_end (Maximum - // threshold for the - // [evaluationJobRunTime][google.cloud.datalabeling.v1beta1.Evaluation.evaluation_job_run_time] that created - // the evaluation) - // * evaluation_job.job_state ([EvaluationJob.state][google.cloud.datalabeling.v1beta1.EvaluationJob.state]) - // * annotation_spec.display_name (the Evaluation contains a - // metric for the annotation spec with this - // [displayName][google.cloud.datalabeling.v1beta1.AnnotationSpec.display_name]) + // - evaluation_job.evaluation_job_id (the last part of + // [EvaluationJob.name][google.cloud.datalabeling.v1beta1.EvaluationJob.name]) + // - evaluation_job.model_id (the {model_name} portion + // of [EvaluationJob.modelVersion][google.cloud.datalabeling.v1beta1.EvaluationJob.model_version]) + // - evaluation_job.evaluation_job_run_time_start (Minimum + // threshold for the + // [evaluationJobRunTime][google.cloud.datalabeling.v1beta1.Evaluation.evaluation_job_run_time] that created + // the evaluation) + // - evaluation_job.evaluation_job_run_time_end (Maximum + // threshold for the + // [evaluationJobRunTime][google.cloud.datalabeling.v1beta1.Evaluation.evaluation_job_run_time] that created + // the evaluation) + // - evaluation_job.job_state ([EvaluationJob.state][google.cloud.datalabeling.v1beta1.EvaluationJob.state]) + // - annotation_spec.display_name (the Evaluation contains a + // metric for the annotation spec with this + // [displayName][google.cloud.datalabeling.v1beta1.AnnotationSpec.display_name]) // // To filter by multiple critiera, use the `AND` operator or the `OR` // operator. The following examples shows a string that filters by several diff --git a/datalabeling/apiv1beta1/datalabelingpb/dataset.pb.go b/datalabeling/apiv1beta1/datalabelingpb/dataset.pb.go index 4d32b78956a..849ecd61bf7 100755 --- a/datalabeling/apiv1beta1/datalabelingpb/dataset.pb.go +++ b/datalabeling/apiv1beta1/datalabelingpb/dataset.pb.go @@ -214,11 +214,13 @@ type InputConfig struct { // Optional. The metadata associated with each data type. // // Types that are assignable to DataTypeMetadata: + // // *InputConfig_TextMetadata DataTypeMetadata isInputConfig_DataTypeMetadata `protobuf_oneof:"data_type_metadata"` // Required. Where the data is from. // // Types that are assignable to Source: + // // *InputConfig_GcsSource // *InputConfig_BigquerySource Source isInputConfig_Source `protobuf_oneof:"source"` @@ -584,6 +586,7 @@ type OutputConfig struct { // Required. Location to output data to. // // Types that are assignable to Destination: + // // *OutputConfig_GcsDestination // *OutputConfig_GcsFolderDestination Destination isOutputConfig_Destination `protobuf_oneof:"destination"` @@ -781,6 +784,7 @@ type DataItem struct { // Output only. // // Types that are assignable to Payload: + // // *DataItem_ImagePayload // *DataItem_TextPayload // *DataItem_VideoPayload @@ -1094,6 +1098,7 @@ type AnnotatedDatasetMetadata struct { // Specific request configuration used when requesting the labeling task. // // Types that are assignable to AnnotationRequestConfig: + // // *AnnotatedDatasetMetadata_ImageClassificationConfig // *AnnotatedDatasetMetadata_BoundingPolyConfig // *AnnotatedDatasetMetadata_PolylineConfig @@ -1319,6 +1324,7 @@ type Example struct { // Output only. The data part of Example. // // Types that are assignable to Payload: + // // *Example_ImagePayload // *Example_TextPayload // *Example_VideoPayload diff --git a/datalabeling/apiv1beta1/datalabelingpb/evaluation.pb.go b/datalabeling/apiv1beta1/datalabelingpb/evaluation.pb.go index ff60041cf34..40a49e6c3ca 100755 --- a/datalabeling/apiv1beta1/datalabelingpb/evaluation.pb.go +++ b/datalabeling/apiv1beta1/datalabelingpb/evaluation.pb.go @@ -163,6 +163,7 @@ type EvaluationConfig struct { // Vertical specific options for general metrics. // // Types that are assignable to VerticalOption: + // // *EvaluationConfig_BoundingBoxEvaluationOptions VerticalOption isEvaluationConfig_VerticalOption `protobuf_oneof:"vertical_option"` } @@ -288,6 +289,7 @@ type EvaluationMetrics struct { // Common metrics covering most general cases. // // Types that are assignable to Metrics: + // // *EvaluationMetrics_ClassificationMetrics // *EvaluationMetrics_ObjectDetectionMetrics Metrics isEvaluationMetrics_Metrics `protobuf_oneof:"metrics"` diff --git a/datalabeling/apiv1beta1/datalabelingpb/evaluation_job.pb.go b/datalabeling/apiv1beta1/datalabelingpb/evaluation_job.pb.go index f5000ea6e3e..c95c7c449ef 100755 --- a/datalabeling/apiv1beta1/datalabelingpb/evaluation_job.pb.go +++ b/datalabeling/apiv1beta1/datalabelingpb/evaluation_job.pb.go @@ -54,25 +54,25 @@ const ( // The job is currently running. When the job runs, Data Labeling Service // does several things: // - // 1. If you have configured your job to use Data Labeling Service for - // ground truth labeling, the service creates a - // [Dataset][google.cloud.datalabeling.v1beta1.Dataset] and a labeling task for all data sampled - // since the last time the job ran. Human labelers provide ground truth - // labels for your data. Human labeling may take hours, or even days, - // depending on how much data has been sampled. The job remains in the - // `RUNNING` state during this time, and it can even be running multiple - // times in parallel if it gets triggered again (for example 24 hours - // later) before the earlier run has completed. When human labelers have - // finished labeling the data, the next step occurs. - //

- // If you have configured your job to provide your own ground truth - // labels, Data Labeling Service still creates a [Dataset][google.cloud.datalabeling.v1beta1.Dataset] for newly - // sampled data, but it expects that you have already added ground truth - // labels to the BigQuery table by this time. The next step occurs - // immediately. + // 1. If you have configured your job to use Data Labeling Service for + // ground truth labeling, the service creates a + // [Dataset][google.cloud.datalabeling.v1beta1.Dataset] and a labeling task for all data sampled + // since the last time the job ran. Human labelers provide ground truth + // labels for your data. Human labeling may take hours, or even days, + // depending on how much data has been sampled. The job remains in the + // `RUNNING` state during this time, and it can even be running multiple + // times in parallel if it gets triggered again (for example 24 hours + // later) before the earlier run has completed. When human labelers have + // finished labeling the data, the next step occurs. + //

+ // If you have configured your job to provide your own ground truth + // labels, Data Labeling Service still creates a [Dataset][google.cloud.datalabeling.v1beta1.Dataset] for newly + // sampled data, but it expects that you have already added ground truth + // labels to the BigQuery table by this time. The next step occurs + // immediately. // - // 2. Data Labeling Service creates an [Evaluation][google.cloud.datalabeling.v1beta1.Evaluation] by comparing your - // model version's predictions with the ground truth labels. + // 2. Data Labeling Service creates an [Evaluation][google.cloud.datalabeling.v1beta1.Evaluation] by comparing your + // model version's predictions with the ground truth labels. // // If the job remains in this state for a long time, it continues to sample // prediction data into your BigQuery table and will run again at the next @@ -306,6 +306,7 @@ type EvaluationJobConfig struct { // labels. // // Types that are assignable to HumanAnnotationRequestConfig: + // // *EvaluationJobConfig_ImageClassificationConfig // *EvaluationJobConfig_BoundingPolyConfig // *EvaluationJobConfig_TextClassificationConfig @@ -313,13 +314,13 @@ type EvaluationJobConfig struct { // Rquired. Details for the sampled prediction input. Within this // configuration, there are requirements for several fields: // - // * `dataType` must be one of `IMAGE`, `TEXT`, or `GENERAL_DATA`. - // * `annotationType` must be one of `IMAGE_CLASSIFICATION_ANNOTATION`, - // `TEXT_CLASSIFICATION_ANNOTATION`, `GENERAL_CLASSIFICATION_ANNOTATION`, - // or `IMAGE_BOUNDING_BOX_ANNOTATION` (image object detection). - // * If your machine learning model performs classification, you must specify - // `classificationMetadata.isMultiLabel`. - // * You must specify `bigquerySource` (not `gcsSource`). + // - `dataType` must be one of `IMAGE`, `TEXT`, or `GENERAL_DATA`. + // - `annotationType` must be one of `IMAGE_CLASSIFICATION_ANNOTATION`, + // `TEXT_CLASSIFICATION_ANNOTATION`, `GENERAL_CLASSIFICATION_ANNOTATION`, + // or `IMAGE_BOUNDING_BOX_ANNOTATION` (image object detection). + // - If your machine learning model performs classification, you must specify + // `classificationMetadata.isMultiLabel`. + // - You must specify `bigquerySource` (not `gcsSource`). InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"` // Required. Details for calculating evaluation metrics and creating // [Evaulations][google.cloud.datalabeling.v1beta1.Evaluation]. If your model version performs image object @@ -344,14 +345,14 @@ type EvaluationJobConfig struct { // // You can provide the following entries in this field: // - // * `data_json_key`: the data key for prediction input. You must provide - // either this key or `reference_json_key`. - // * `reference_json_key`: the data reference key for prediction input. You - // must provide either this key or `data_json_key`. - // * `label_json_key`: the label key for prediction output. Required. - // * `label_score_json_key`: the score key for prediction output. Required. - // * `bounding_box_json_key`: the bounding box key for prediction output. - // Required if your model version perform image object detection. + // - `data_json_key`: the data key for prediction input. You must provide + // either this key or `reference_json_key`. + // - `reference_json_key`: the data reference key for prediction input. You + // must provide either this key or `data_json_key`. + // - `label_json_key`: the label key for prediction output. Required. + // - `label_score_json_key`: the score key for prediction output. Required. + // - `bounding_box_json_key`: the bounding box key for prediction output. + // Required if your model version perform image object detection. // // Learn [how to configure prediction // keys](/ml-engine/docs/continuous-evaluation/create-job#prediction-keys). diff --git a/datalabeling/apiv1beta1/datalabelingpb/operations.pb.go b/datalabeling/apiv1beta1/datalabelingpb/operations.pb.go index d4f6c9de59a..ac3c8f67dc0 100755 --- a/datalabeling/apiv1beta1/datalabelingpb/operations.pb.go +++ b/datalabeling/apiv1beta1/datalabelingpb/operations.pb.go @@ -341,6 +341,7 @@ type LabelOperationMetadata struct { // Ouptut only. Details of specific label operation. // // Types that are assignable to Details: + // // *LabelOperationMetadata_ImageClassificationDetails // *LabelOperationMetadata_ImageBoundingBoxDetails // *LabelOperationMetadata_ImageBoundingPolyDetails diff --git a/dataplex/apiv1/dataplexpb/analyze.pb.go b/dataplex/apiv1/dataplexpb/analyze.pb.go index 607ca238d47..c3f0c34850b 100755 --- a/dataplex/apiv1/dataplexpb/analyze.pb.go +++ b/dataplex/apiv1/dataplexpb/analyze.pb.go @@ -317,11 +317,13 @@ type Content struct { // Only returned in `GetContent` requests and not in `ListContent` request. // // Types that are assignable to Data: + // // *Content_DataText Data isContent_Data `protobuf_oneof:"data"` // Types of content // // Types that are assignable to Content: + // // *Content_SqlScript_ // *Content_Notebook_ Content isContent_Content `protobuf_oneof:"content"` @@ -558,11 +560,13 @@ type Environment_InfrastructureSpec struct { // Hardware config // // Types that are assignable to Resources: + // // *Environment_InfrastructureSpec_Compute Resources isEnvironment_InfrastructureSpec_Resources `protobuf_oneof:"resources"` // Software config // // Types that are assignable to Runtime: + // // *Environment_InfrastructureSpec_OsImage Runtime isEnvironment_InfrastructureSpec_Runtime `protobuf_oneof:"runtime"` } diff --git a/dataplex/apiv1/dataplexpb/data_profile.pb.go b/dataplex/apiv1/dataplexpb/data_profile.pb.go index fb8ba97ef8d..9eca6a64418 100755 --- a/dataplex/apiv1/dataplexpb/data_profile.pb.go +++ b/dataplex/apiv1/dataplexpb/data_profile.pb.go @@ -631,6 +631,7 @@ type DataProfileResult_Profile_Field_ProfileInfo struct { // available, if mode is REPEATABLE. // // Types that are assignable to FieldInfo: + // // *DataProfileResult_Profile_Field_ProfileInfo_StringProfile // *DataProfileResult_Profile_Field_ProfileInfo_IntegerProfile // *DataProfileResult_Profile_Field_ProfileInfo_DoubleProfile diff --git a/dataplex/apiv1/dataplexpb/data_quality.pb.go b/dataplex/apiv1/dataplexpb/data_quality.pb.go index 2f33cc394c0..6b4b9ff8bb3 100755 --- a/dataplex/apiv1/dataplexpb/data_quality.pb.go +++ b/dataplex/apiv1/dataplexpb/data_quality.pb.go @@ -371,7 +371,7 @@ type DataQualityRuleResult struct { // // This field is only valid for row-level type rules. // - // Evaluated count can be configured to either + // # Evaluated count can be configured to either // // * include all rows (default) - with `null` rows automatically failing rule // evaluation, or @@ -608,6 +608,7 @@ type DataQualityRule struct { // The rule-specific configuration. // // Types that are assignable to RuleType: + // // *DataQualityRule_RangeExpectation_ // *DataQualityRule_NonNullExpectation_ // *DataQualityRule_SetExpectation_ diff --git a/dataplex/apiv1/dataplexpb/data_taxonomy.pb.go b/dataplex/apiv1/dataplexpb/data_taxonomy.pb.go index e235b81f7d2..231ad592ffc 100755 --- a/dataplex/apiv1/dataplexpb/data_taxonomy.pb.go +++ b/dataplex/apiv1/dataplexpb/data_taxonomy.pb.go @@ -385,6 +385,7 @@ type DataAttributeBinding struct { // the query to match resources and associate attributes. // // Types that are assignable to ResourceReference: + // // *DataAttributeBinding_Resource ResourceReference isDataAttributeBinding_ResourceReference `protobuf_oneof:"resource_reference"` // Optional. List of attributes to be associated with the resource, provided diff --git a/dataplex/apiv1/dataplexpb/datascans.pb.go b/dataplex/apiv1/dataplexpb/datascans.pb.go index 0a2729fb415..0cef8fbb2ac 100755 --- a/dataplex/apiv1/dataplexpb/datascans.pb.go +++ b/dataplex/apiv1/dataplexpb/datascans.pb.go @@ -1081,12 +1081,14 @@ type DataScan struct { // cannot be changed to data_profile_spec. // // Types that are assignable to Spec: + // // *DataScan_DataQualitySpec // *DataScan_DataProfileSpec Spec isDataScan_Spec `protobuf_oneof:"spec"` // The result of the data scan. // // Types that are assignable to Result: + // // *DataScan_DataQualityResult // *DataScan_DataProfileResult Result isDataScan_Result `protobuf_oneof:"result"` @@ -1312,12 +1314,14 @@ type DataScanJob struct { // Data Scan related setting. // // Types that are assignable to Spec: + // // *DataScanJob_DataQualitySpec // *DataScanJob_DataProfileSpec Spec isDataScanJob_Spec `protobuf_oneof:"spec"` // The result of the data scan. // // Types that are assignable to Result: + // // *DataScanJob_DataQualityResult // *DataScanJob_DataProfileResult Result isDataScanJob_Result `protobuf_oneof:"result"` @@ -1500,6 +1504,7 @@ type DataScan_ExecutionSpec struct { // table. // // Types that are assignable to Incremental: + // // *DataScan_ExecutionSpec_Field Incremental isDataScan_ExecutionSpec_Incremental `protobuf_oneof:"incremental"` } diff --git a/dataplex/apiv1/dataplexpb/logs.pb.go b/dataplex/apiv1/dataplexpb/logs.pb.go index 6f58adac40c..ecd1cc55813 100755 --- a/dataplex/apiv1/dataplexpb/logs.pb.go +++ b/dataplex/apiv1/dataplexpb/logs.pb.go @@ -1152,6 +1152,7 @@ type DiscoveryEvent struct { // Additional details about the event. // // Types that are assignable to Details: + // // *DiscoveryEvent_Config // *DiscoveryEvent_Entity // *DiscoveryEvent_Partition @@ -1450,6 +1451,7 @@ type SessionEvent struct { // Additional information about the Query metadata. // // Types that are assignable to Detail: + // // *SessionEvent_Query Detail isSessionEvent_Detail `protobuf_oneof:"detail"` // The status of the event. @@ -1668,12 +1670,14 @@ type DataScanEvent struct { // The result of the data scan job. // // Types that are assignable to Result: + // // *DataScanEvent_DataProfile // *DataScanEvent_DataQuality Result isDataScanEvent_Result `protobuf_oneof:"result"` // The applied configs in the data scan job. // // Types that are assignable to AppliedConfigs: + // // *DataScanEvent_DataProfileConfigs // *DataScanEvent_DataQualityConfigs AppliedConfigs isDataScanEvent_AppliedConfigs `protobuf_oneof:"appliedConfigs"` diff --git a/dataplex/apiv1/dataplexpb/metadata.pb.go b/dataplex/apiv1/dataplexpb/metadata.pb.go index 27d4945d485..977fdc4c1a8 100755 --- a/dataplex/apiv1/dataplexpb/metadata.pb.go +++ b/dataplex/apiv1/dataplexpb/metadata.pb.go @@ -1108,17 +1108,18 @@ type ListPartitionsRequest struct { // - LIKE operators: // - The right hand of a LIKE operator supports "." and // "*" for wildcard searches, for example "value1 LIKE ".*oo.*" + // // - parenthetical grouping: ( ) // // Sample filter expression: `?filter="key1 < value1 OR key2 > value2" // // **Notes:** // - // - Keys to the left of operators are case insensitive. - // - Partition results are sorted first by creation time, then by - // lexicographic order. - // - Up to 20 key value filter pairs are allowed, but due to performance - // considerations, only the first 10 will be used as a filter. + // - Keys to the left of operators are case insensitive. + // - Partition results are sorted first by creation time, then by + // lexicographic order. + // - Up to 20 key value filter pairs are allowed, but due to performance + // considerations, only the first 10 will be used as a filter. Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } @@ -1744,16 +1745,16 @@ type Schema struct { // Required. Set to `true` if user-managed or `false` if managed by Dataplex. // The default is `false` (managed by Dataplex). // - // - Set to `false`to enable Dataplex discovery to update the schema. - // including new data discovery, schema inference, and schema evolution. - // Users retain the ability to input and edit the schema. Dataplex - // treats schema input by the user as though produced - // by a previous Dataplex discovery operation, and it will - // evolve the schema and take action based on that treatment. + // - Set to `false`to enable Dataplex discovery to update the schema. + // including new data discovery, schema inference, and schema evolution. + // Users retain the ability to input and edit the schema. Dataplex + // treats schema input by the user as though produced + // by a previous Dataplex discovery operation, and it will + // evolve the schema and take action based on that treatment. // - // - Set to `true` to fully manage the entity - // schema. This setting guarantees that Dataplex will not - // change schema fields. + // - Set to `true` to fully manage the entity + // schema. This setting guarantees that Dataplex will not + // change schema fields. UserManaged bool `protobuf:"varint,1,opt,name=user_managed,json=userManaged,proto3" json:"user_managed,omitempty"` // Optional. The sequence of fields describing data in table entities. // **Note:** BigQuery SchemaFields are immutable. @@ -1859,6 +1860,7 @@ type StorageFormat struct { // Additional format-specific options. // // Types that are assignable to Options: + // // *StorageFormat_Csv // *StorageFormat_Json // *StorageFormat_Iceberg @@ -2305,7 +2307,7 @@ type StorageFormat_CsvOptions struct { // Optional. The delimiter used to separate values. Defaults to ','. Delimiter string `protobuf:"bytes,3,opt,name=delimiter,proto3" json:"delimiter,omitempty"` // Optional. The character used to quote column values. Accepts '"' - // (double quotation mark) or ''' (single quotation mark). Defaults to + // (double quotation mark) or ”' (single quotation mark). Defaults to // '"' (double quotation mark) if unspecified. Quote string `protobuf:"bytes,4,opt,name=quote,proto3" json:"quote,omitempty"` } diff --git a/dataplex/apiv1/dataplexpb/processing.pb.go b/dataplex/apiv1/dataplexpb/processing.pb.go index 1b70572bd30..ecfb49e771a 100755 --- a/dataplex/apiv1/dataplexpb/processing.pb.go +++ b/dataplex/apiv1/dataplexpb/processing.pb.go @@ -47,6 +47,7 @@ type Trigger struct { // If not specified, the default is `onDemand`. // // Types that are assignable to Mode: + // // *Trigger_OnDemand_ // *Trigger_Schedule_ Mode isTrigger_Mode `protobuf_oneof:"mode"` @@ -133,6 +134,7 @@ type DataSource struct { // to others. // // Types that are assignable to Source: + // // *DataSource_Entity // *DataSource_Resource Source isDataSource_Source `protobuf_oneof:"source"` @@ -223,6 +225,7 @@ type ScannedData struct { // The range of scanned data // // Types that are assignable to DataRange: + // // *ScannedData_IncrementalField_ DataRange isScannedData_DataRange `protobuf_oneof:"data_range"` } diff --git a/dataplex/apiv1/dataplexpb/resources.pb.go b/dataplex/apiv1/dataplexpb/resources.pb.go index 173d5d784b7..e84f6b43852 100755 --- a/dataplex/apiv1/dataplexpb/resources.pb.go +++ b/dataplex/apiv1/dataplexpb/resources.pb.go @@ -1133,6 +1133,7 @@ type Action struct { // Additional details about the action based on the action category. // // Types that are assignable to Details: + // // *Action_InvalidDataFormat_ // *Action_IncompatibleDataSchema_ // *Action_InvalidDataPartition_ @@ -1726,6 +1727,7 @@ type Zone_DiscoverySpec struct { // Determines when discovery is triggered. // // Types that are assignable to Trigger: + // // *Zone_DiscoverySpec_Schedule Trigger isZone_DiscoverySpec_Trigger `protobuf_oneof:"trigger"` } @@ -2479,6 +2481,7 @@ type Asset_DiscoverySpec struct { // Determines when discovery is triggered. // // Types that are assignable to Trigger: + // // *Asset_DiscoverySpec_Schedule Trigger isAsset_DiscoverySpec_Trigger `protobuf_oneof:"trigger"` } @@ -2590,8 +2593,9 @@ type Asset_ResourceSpec struct { // Immutable. Relative name of the cloud resource that contains the data // that is being managed within a lake. For example: - // `projects/{project_number}/buckets/{bucket_id}` - // `projects/{project_number}/datasets/{dataset_id}` + // + // `projects/{project_number}/buckets/{bucket_id}` + // `projects/{project_number}/datasets/{dataset_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. Immutable. Type of resource. Type Asset_ResourceSpec_Type `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.dataplex.v1.Asset_ResourceSpec_Type" json:"type,omitempty"` diff --git a/dataplex/apiv1/dataplexpb/tasks.pb.go b/dataplex/apiv1/dataplexpb/tasks.pb.go index d7729ad1445..dccadb3b78a 100755 --- a/dataplex/apiv1/dataplexpb/tasks.pb.go +++ b/dataplex/apiv1/dataplexpb/tasks.pb.go @@ -295,6 +295,7 @@ type Task struct { // Task template specific user-specified config. // // Types that are assignable to Config: + // // *Task_Spark // *Task_Notebook Config isTask_Config `protobuf_oneof:"config"` @@ -608,16 +609,19 @@ type Task_InfrastructureSpec struct { // Hardware config. // // Types that are assignable to Resources: + // // *Task_InfrastructureSpec_Batch Resources isTask_InfrastructureSpec_Resources `protobuf_oneof:"resources"` // Software config. // // Types that are assignable to Runtime: + // // *Task_InfrastructureSpec_ContainerImage Runtime isTask_InfrastructureSpec_Runtime `protobuf_oneof:"runtime"` // Networking config. // // Types that are assignable to Network: + // // *Task_InfrastructureSpec_VpcNetwork_ Network isTask_InfrastructureSpec_Network `protobuf_oneof:"network"` } @@ -751,6 +755,7 @@ type Task_TriggerSpec struct { // Trigger only applies for RECURRING tasks. // // Types that are assignable to Trigger: + // // *Task_TriggerSpec_Schedule Trigger isTask_TriggerSpec_Trigger `protobuf_oneof:"trigger"` } @@ -959,6 +964,7 @@ type Task_SparkTaskConfig struct { // main class name. // // Types that are assignable to Driver: + // // *Task_SparkTaskConfig_MainJarFileUri // *Task_SparkTaskConfig_MainClass // *Task_SparkTaskConfig_PythonScriptFile @@ -1417,6 +1423,7 @@ type Task_InfrastructureSpec_VpcNetwork struct { // The Cloud VPC network identifier. // // Types that are assignable to NetworkName: + // // *Task_InfrastructureSpec_VpcNetwork_Network // *Task_InfrastructureSpec_VpcNetwork_SubNetwork NetworkName isTask_InfrastructureSpec_VpcNetwork_NetworkName `protobuf_oneof:"network_name"` diff --git a/dataproc/apiv1/dataprocpb/autoscaling_policies.pb.go b/dataproc/apiv1/dataprocpb/autoscaling_policies.pb.go index 4968f931839..364bc1118e8 100755 --- a/dataproc/apiv1/dataprocpb/autoscaling_policies.pb.go +++ b/dataproc/apiv1/dataprocpb/autoscaling_policies.pb.go @@ -53,22 +53,22 @@ type AutoscalingPolicy struct { // The id must contain only letters (a-z, A-Z), numbers (0-9), // underscores (_), and hyphens (-). Cannot begin or end with underscore // or hyphen. Must consist of between 3 and 50 characters. - // Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Output only. The "resource name" of the autoscaling policy, as described // in https://cloud.google.com/apis/design/resource_names. // - // * For `projects.regions.autoscalingPolicies`, the resource name of the - // policy has the following format: - // `projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id}` + // - For `projects.regions.autoscalingPolicies`, the resource name of the + // policy has the following format: + // `projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id}` // - // * For `projects.locations.autoscalingPolicies`, the resource name of the - // policy has the following format: - // `projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}` + // - For `projects.locations.autoscalingPolicies`, the resource name of the + // policy has the following format: + // `projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Autoscaling algorithm for policy. // // Types that are assignable to Algorithm: + // // *AutoscalingPolicy_BasicAlgorithm Algorithm isAutoscalingPolicy_Algorithm `protobuf_oneof:"algorithm"` // Required. Describes how the autoscaler will operate for primary workers. @@ -183,6 +183,7 @@ type BasicAutoscalingAlgorithm struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Config: + // // *BasicAutoscalingAlgorithm_YarnConfig Config isBasicAutoscalingAlgorithm_Config `protobuf_oneof:"config"` // Optional. Duration between scaling events. A scaling period starts after @@ -478,13 +479,13 @@ type CreateAutoscalingPolicyRequest struct { // Required. The "resource name" of the region or location, as described // in https://cloud.google.com/apis/design/resource_names. // - // * For `projects.regions.autoscalingPolicies.create`, the resource name - // of the region has the following format: - // `projects/{project_id}/regions/{region}` + // - For `projects.regions.autoscalingPolicies.create`, the resource name + // of the region has the following format: + // `projects/{project_id}/regions/{region}` // - // * For `projects.locations.autoscalingPolicies.create`, the resource name - // of the location has the following format: - // `projects/{project_id}/locations/{location}` + // - For `projects.locations.autoscalingPolicies.create`, the resource name + // of the location has the following format: + // `projects/{project_id}/locations/{location}` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The autoscaling policy to create. Policy *AutoscalingPolicy `protobuf:"bytes,2,opt,name=policy,proto3" json:"policy,omitempty"` @@ -545,13 +546,13 @@ type GetAutoscalingPolicyRequest struct { // Required. The "resource name" of the autoscaling policy, as described // in https://cloud.google.com/apis/design/resource_names. // - // * For `projects.regions.autoscalingPolicies.get`, the resource name - // of the policy has the following format: - // `projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id}` + // - For `projects.regions.autoscalingPolicies.get`, the resource name + // of the policy has the following format: + // `projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id}` // - // * For `projects.locations.autoscalingPolicies.get`, the resource name - // of the policy has the following format: - // `projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}` + // - For `projects.locations.autoscalingPolicies.get`, the resource name + // of the policy has the following format: + // `projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -654,13 +655,13 @@ type DeleteAutoscalingPolicyRequest struct { // Required. The "resource name" of the autoscaling policy, as described // in https://cloud.google.com/apis/design/resource_names. // - // * For `projects.regions.autoscalingPolicies.delete`, the resource name - // of the policy has the following format: - // `projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id}` + // - For `projects.regions.autoscalingPolicies.delete`, the resource name + // of the policy has the following format: + // `projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id}` // - // * For `projects.locations.autoscalingPolicies.delete`, the resource name - // of the policy has the following format: - // `projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}` + // - For `projects.locations.autoscalingPolicies.delete`, the resource name + // of the policy has the following format: + // `projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -712,13 +713,13 @@ type ListAutoscalingPoliciesRequest struct { // Required. The "resource name" of the region or location, as described // in https://cloud.google.com/apis/design/resource_names. // - // * For `projects.regions.autoscalingPolicies.list`, the resource name - // of the region has the following format: - // `projects/{project_id}/regions/{region}` + // - For `projects.regions.autoscalingPolicies.list`, the resource name + // of the region has the following format: + // `projects/{project_id}/regions/{region}` // - // * For `projects.locations.autoscalingPolicies.list`, the resource name - // of the location has the following format: - // `projects/{project_id}/locations/{location}` + // - For `projects.locations.autoscalingPolicies.list`, the resource name + // of the location has the following format: + // `projects/{project_id}/locations/{location}` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. The maximum number of results to return in each response. // Must be less than or equal to 1000. Defaults to 100. diff --git a/dataproc/apiv1/dataprocpb/batches.pb.go b/dataproc/apiv1/dataprocpb/batches.pb.go index f2ed422c638..9487befcca1 100755 --- a/dataproc/apiv1/dataprocpb/batches.pb.go +++ b/dataproc/apiv1/dataprocpb/batches.pb.go @@ -483,6 +483,7 @@ type Batch struct { // The application/framework-specific portion of the batch configuration. // // Types that are assignable to BatchConfig: + // // *Batch_PysparkBatch // *Batch_SparkBatch // *Batch_SparkRBatch @@ -826,6 +827,7 @@ type SparkBatch struct { // name in `main_class`. // // Types that are assignable to Driver: + // // *SparkBatch_MainJarFileUri // *SparkBatch_MainClass Driver isSparkBatch_Driver `protobuf_oneof:"driver"` diff --git a/dataproc/apiv1/dataprocpb/clusters.pb.go b/dataproc/apiv1/dataprocpb/clusters.pb.go index 18cd5509a5d..2e9027590e7 100755 --- a/dataproc/apiv1/dataprocpb/clusters.pb.go +++ b/dataproc/apiv1/dataprocpb/clusters.pb.go @@ -718,13 +718,13 @@ type ClusterConfig struct { // a master or worker node, as shown below using `curl` (you can also use // `wget`): // - // ROLE=$(curl -H Metadata-Flavor:Google - // http://metadata/computeMetadata/v1/instance/attributes/dataproc-role) - // if [[ "${ROLE}" == 'Master' ]]; then - // ... master specific actions ... - // else - // ... worker specific actions ... - // fi + // ROLE=$(curl -H Metadata-Flavor:Google + // http://metadata/computeMetadata/v1/instance/attributes/dataproc-role) + // if [[ "${ROLE}" == 'Master' ]]; then + // ... master specific actions ... + // else + // ... worker specific actions ... + // fi InitializationActions []*NodeInitializationAction `protobuf:"bytes,11,rep,name=initialization_actions,json=initializationActions,proto3" json:"initialization_actions,omitempty"` // Optional. Encryption settings for the cluster. EncryptionConfig *EncryptionConfig `protobuf:"bytes,15,opt,name=encryption_config,json=encryptionConfig,proto3" json:"encryption_config,omitempty"` @@ -910,6 +910,7 @@ type VirtualClusterConfig struct { // a Cloud Storage bucket.** StagingBucket string `protobuf:"bytes,1,opt,name=staging_bucket,json=stagingBucket,proto3" json:"staging_bucket,omitempty"` // Types that are assignable to InfrastructureConfig: + // // *VirtualClusterConfig_KubernetesClusterConfig InfrastructureConfig isVirtualClusterConfig_InfrastructureConfig `protobuf_oneof:"infrastructure_config"` // Optional. Configuration of auxiliary services used by this cluster. @@ -1694,12 +1695,12 @@ type InstanceGroupConfig struct { // Example: Cluster creation request with `num_instances` = `5` and // `min_num_instances` = `3`: // - // * If 4 VMs are created and 1 instance fails, - // the failed VM is deleted. The cluster is - // resized to 4 instances and placed in a `RUNNING` state. - // * If 2 instances are created and 3 instances fail, - // the cluster in placed in an `ERROR` state. The failed VMs - // are not deleted. + // - If 4 VMs are created and 1 instance fails, + // the failed VM is deleted. The cluster is + // resized to 4 instances and placed in a `RUNNING` state. + // - If 2 instances are created and 3 instances fail, + // the cluster in placed in an `ERROR` state. The failed VMs + // are not deleted. MinNumInstances int32 `protobuf:"varint,12,opt,name=min_num_instances,json=minNumInstances,proto3" json:"min_num_instances,omitempty"` // Optional. Instance flexibility Policy allowing a mixture of VM shapes and // provisioning models. @@ -2345,12 +2346,12 @@ type NodeGroup struct { NodeGroupConfig *InstanceGroupConfig `protobuf:"bytes,3,opt,name=node_group_config,json=nodeGroupConfig,proto3" json:"node_group_config,omitempty"` // Optional. Node group labels. // - // * Label **keys** must consist of from 1 to 63 characters and conform to - // [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). - // * Label **values** can be empty. If specified, they must consist of from - // 1 to 63 characters and conform to [RFC 1035] - // (https://www.ietf.org/rfc/rfc1035.txt). - // * The node group must have no more than 32 labels. + // - Label **keys** must consist of from 1 to 63 characters and conform to + // [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). + // - Label **values** can be empty. If specified, they must consist of from + // 1 to 63 characters and conform to [RFC 1035] + // (https://www.ietf.org/rfc/rfc1035.txt). + // - The node group must have no more than 32 labels. Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -2969,6 +2970,7 @@ type LifecycleConfig struct { // the cluster maximum age. // // Types that are assignable to Ttl: + // // *LifecycleConfig_AutoDeleteTime // *LifecycleConfig_AutoDeleteTtl Ttl isLifecycleConfig_Ttl `protobuf_oneof:"ttl"` @@ -3360,51 +3362,53 @@ type UpdateClusterRequest struct { // specified as `config.worker_config.num_instances`, // and the `PATCH` request body would specify the new value, as follows: // - // { - // "config":{ - // "workerConfig":{ - // "numInstances":"5" - // } - // } - // } + // { + // "config":{ + // "workerConfig":{ + // "numInstances":"5" + // } + // } + // } + // // Similarly, to change the number of preemptible workers in a cluster to 5, // the `update_mask` parameter would be // `config.secondary_worker_config.num_instances`, and the `PATCH` request // body would be set as follows: // - // { - // "config":{ - // "secondaryWorkerConfig":{ - // "numInstances":"5" - // } - // } - // } + // { + // "config":{ + // "secondaryWorkerConfig":{ + // "numInstances":"5" + // } + // } + // } + // // Note: Currently, only the following fields can be updated: // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - //
MaskPurpose
labelsUpdate labels
config.worker_config.num_instancesResize primary worker group
config.secondary_worker_config.num_instancesResize secondary worker group
config.autoscaling_config.policy_uriUse, stop using, or - // change autoscaling policies
+ // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + //
MaskPurpose
labelsUpdate labels
config.worker_config.num_instancesResize primary worker group
config.secondary_worker_config.num_instancesResize secondary worker group
config.autoscaling_config.policy_uriUse, stop using, or + // change autoscaling policies
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` // Optional. A unique ID used to identify the request. If the server // receives two @@ -4409,13 +4413,13 @@ type DataprocMetricConfig_Metric struct { // // Notes: // - // * Only the specified overridden metrics are collected for the - // metric source. For example, if one or more `spark:executive` metrics - // are listed as metric overrides, other `SPARK` metrics are not - // collected. The collection of the metrics for other enabled custom - // metric sources is unaffected. For example, if both `SPARK` andd `YARN` - // metric sources are enabled, and overrides are provided for Spark - // metrics only, all YARN metrics are collected. + // - Only the specified overridden metrics are collected for the + // metric source. For example, if one or more `spark:executive` metrics + // are listed as metric overrides, other `SPARK` metrics are not + // collected. The collection of the metrics for other enabled custom + // metric sources is unaffected. For example, if both `SPARK` andd `YARN` + // metric sources are enabled, and overrides are provided for Spark + // metrics only, all YARN metrics are collected. MetricOverrides []string `protobuf:"bytes,2,rep,name=metric_overrides,json=metricOverrides,proto3" json:"metric_overrides,omitempty"` } diff --git a/dataproc/apiv1/dataprocpb/jobs.pb.go b/dataproc/apiv1/dataprocpb/jobs.pb.go index 7004976355d..7a272cb4e46 100755 --- a/dataproc/apiv1/dataprocpb/jobs.pb.go +++ b/dataproc/apiv1/dataprocpb/jobs.pb.go @@ -478,6 +478,7 @@ type HadoopJob struct { // the main class name in this property. // // Types that are assignable to Driver: + // // *HadoopJob_MainJarFileUri // *HadoopJob_MainClass Driver isHadoopJob_Driver `protobuf_oneof:"driver"` @@ -608,9 +609,10 @@ type isHadoopJob_Driver interface { type HadoopJob_MainJarFileUri struct { // The HCFS URI of the jar file containing the main class. // Examples: - // 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' - // 'hdfs:/tmp/test-samples/custom-wordcount.jar' - // 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' + // + // 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' + // 'hdfs:/tmp/test-samples/custom-wordcount.jar' + // 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' MainJarFileUri string `protobuf:"bytes,1,opt,name=main_jar_file_uri,json=mainJarFileUri,proto3,oneof"` } @@ -638,6 +640,7 @@ type SparkJob struct { // `main_class`. // // Types that are assignable to Driver: + // // *SparkJob_MainJarFileUri // *SparkJob_MainClass Driver isSparkJob_Driver `protobuf_oneof:"driver"` @@ -915,15 +918,15 @@ type QueryList struct { // string by separating each with a semicolon. Here is an example of a // Dataproc API snippet that uses a QueryList to specify a HiveJob: // - // "hiveJob": { - // "queryList": { - // "queries": [ - // "query1", - // "query2", - // "query3;query4", - // ] - // } - // } + // "hiveJob": { + // "queryList": { + // "queries": [ + // "query1", + // "query2", + // "query3;query4", + // ] + // } + // } Queries []string `protobuf:"bytes,1,rep,name=queries,proto3" json:"queries,omitempty"` } @@ -977,6 +980,7 @@ type HiveJob struct { // an HCFS file URI or a list of queries. // // Types that are assignable to Queries: + // // *HiveJob_QueryFileUri // *HiveJob_QueryList Queries isHiveJob_Queries `protobuf_oneof:"queries"` @@ -1108,6 +1112,7 @@ type SparkSqlJob struct { // either an HCFS file URI or as a list of queries. // // Types that are assignable to Queries: + // // *SparkSqlJob_QueryFileUri // *SparkSqlJob_QueryList Queries isSparkSqlJob_Queries `protobuf_oneof:"queries"` @@ -1234,6 +1239,7 @@ type PigJob struct { // file URI or a list of queries. // // Types that are assignable to Queries: + // // *PigJob_QueryFileUri // *PigJob_QueryList Queries isPigJob_Queries `protobuf_oneof:"queries"` @@ -1481,6 +1487,7 @@ type PrestoJob struct { // either an HCFS file URI or as a list of queries. // // Types that are assignable to Queries: + // // *PrestoJob_QueryFileUri // *PrestoJob_QueryList Queries isPrestoJob_Queries `protobuf_oneof:"queries"` @@ -1621,6 +1628,7 @@ type TrinoJob struct { // either an HCFS file URI or as a list of queries. // // Types that are assignable to Queries: + // // *TrinoJob_QueryFileUri // *TrinoJob_QueryList Queries isTrinoJob_Queries `protobuf_oneof:"queries"` @@ -2058,6 +2066,7 @@ type Job struct { // Required. The application/framework-specific portion of the job. // // Types that are assignable to TypeJob: + // // *Job_HadoopJob // *Job_SparkJob // *Job_PysparkJob diff --git a/dataproc/apiv1/dataprocpb/shared.pb.go b/dataproc/apiv1/dataprocpb/shared.pb.go index dd26e88a0f8..92e75069c15 100755 --- a/dataproc/apiv1/dataprocpb/shared.pb.go +++ b/dataproc/apiv1/dataprocpb/shared.pb.go @@ -405,6 +405,7 @@ type ExecutionConfig struct { // Network configuration for workload execution. // // Types that are assignable to Network: + // // *ExecutionConfig_NetworkUri // *ExecutionConfig_SubnetworkUri Network isExecutionConfig_Network `protobuf_oneof:"network"` @@ -956,6 +957,7 @@ type KubernetesClusterConfig struct { // specified, the name of the Dataproc Cluster is used. KubernetesNamespace string `protobuf:"bytes,1,opt,name=kubernetes_namespace,json=kubernetesNamespace,proto3" json:"kubernetes_namespace,omitempty"` // Types that are assignable to Config: + // // *KubernetesClusterConfig_GkeClusterConfig Config isKubernetesClusterConfig_Config `protobuf_oneof:"config"` // Optional. The software configuration for this Dataproc cluster running on diff --git a/dataproc/apiv1/dataprocpb/workflow_templates.pb.go b/dataproc/apiv1/dataprocpb/workflow_templates.pb.go index fc5d6f30ea3..5f48889d197 100755 --- a/dataproc/apiv1/dataprocpb/workflow_templates.pb.go +++ b/dataproc/apiv1/dataprocpb/workflow_templates.pb.go @@ -177,13 +177,13 @@ type WorkflowTemplate struct { // Output only. The resource name of the workflow template, as described // in https://cloud.google.com/apis/design/resource_names. // - // * For `projects.regions.workflowTemplates`, the resource name of the - // template has the following format: - // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` + // - For `projects.regions.workflowTemplates`, the resource name of the + // template has the following format: + // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` // - // * For `projects.locations.workflowTemplates`, the resource name of the - // template has the following format: - // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` + // - For `projects.locations.workflowTemplates`, the resource name of the + // template has the following format: + // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. Used to perform a consistent read-modify-write. // @@ -347,6 +347,7 @@ type WorkflowTemplatePlacement struct { // cluster or an existing cluster chosen by labels. // // Types that are assignable to Placement: + // // *WorkflowTemplatePlacement_ManagedCluster // *WorkflowTemplatePlacement_ClusterSelector Placement isWorkflowTemplatePlacement_Placement `protobuf_oneof:"placement"` @@ -591,6 +592,7 @@ type OrderedJob struct { // Required. The job definition. // // Types that are assignable to JobType: + // // *OrderedJob_HadoopJob // *OrderedJob_SparkJob // *OrderedJob_PysparkJob @@ -835,30 +837,30 @@ type TemplateParameter struct { // Also, field paths can reference fields using the following syntax: // // * Values in maps can be referenced by key: - // * labels['key'] - // * placement.clusterSelector.clusterLabels['key'] - // * placement.managedCluster.labels['key'] - // * placement.clusterSelector.clusterLabels['key'] - // * jobs['step-id'].labels['key'] + // - labels['key'] + // - placement.clusterSelector.clusterLabels['key'] + // - placement.managedCluster.labels['key'] + // - placement.clusterSelector.clusterLabels['key'] + // - jobs['step-id'].labels['key'] // // * Jobs in the jobs list can be referenced by step-id: - // * jobs['step-id'].hadoopJob.mainJarFileUri - // * jobs['step-id'].hiveJob.queryFileUri - // * jobs['step-id'].pySparkJob.mainPythonFileUri - // * jobs['step-id'].hadoopJob.jarFileUris[0] - // * jobs['step-id'].hadoopJob.archiveUris[0] - // * jobs['step-id'].hadoopJob.fileUris[0] - // * jobs['step-id'].pySparkJob.pythonFileUris[0] + // - jobs['step-id'].hadoopJob.mainJarFileUri + // - jobs['step-id'].hiveJob.queryFileUri + // - jobs['step-id'].pySparkJob.mainPythonFileUri + // - jobs['step-id'].hadoopJob.jarFileUris[0] + // - jobs['step-id'].hadoopJob.archiveUris[0] + // - jobs['step-id'].hadoopJob.fileUris[0] + // - jobs['step-id'].pySparkJob.pythonFileUris[0] // // * Items in repeated fields can be referenced by a zero-based index: - // * jobs['step-id'].sparkJob.args[0] + // - jobs['step-id'].sparkJob.args[0] // // * Other examples: - // * jobs['step-id'].hadoopJob.properties['key'] - // * jobs['step-id'].hadoopJob.args[0] - // * jobs['step-id'].hiveJob.scriptVariables['key'] - // * jobs['step-id'].hadoopJob.mainJarFileUri - // * placement.clusterSelector.zone + // - jobs['step-id'].hadoopJob.properties['key'] + // - jobs['step-id'].hadoopJob.args[0] + // - jobs['step-id'].hiveJob.scriptVariables['key'] + // - jobs['step-id'].hadoopJob.mainJarFileUri + // - placement.clusterSelector.zone // // It may not be possible to parameterize maps and repeated fields in their // entirety since only individual map values and individual items in repeated @@ -944,6 +946,7 @@ type ParameterValidation struct { // Required. The type of validation to be performed. // // Types that are assignable to ValidationType: + // // *ParameterValidation_Regex // *ParameterValidation_Values ValidationType isParameterValidation_ValidationType `protobuf_oneof:"validation_type"` @@ -1129,13 +1132,13 @@ type WorkflowMetadata struct { // Output only. The resource name of the workflow template as described // in https://cloud.google.com/apis/design/resource_names. // - // * For `projects.regions.workflowTemplates`, the resource name of the - // template has the following format: - // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` + // - For `projects.regions.workflowTemplates`, the resource name of the + // template has the following format: + // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` // - // * For `projects.locations.workflowTemplates`, the resource name of the - // template has the following format: - // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` + // - For `projects.locations.workflowTemplates`, the resource name of the + // template has the following format: + // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` Template string `protobuf:"bytes,1,opt,name=template,proto3" json:"template,omitempty"` // Output only. The version of template at the time of // workflow instantiation. @@ -1512,13 +1515,13 @@ type CreateWorkflowTemplateRequest struct { // Required. The resource name of the region or location, as described // in https://cloud.google.com/apis/design/resource_names. // - // * For `projects.regions.workflowTemplates.create`, the resource name of the - // region has the following format: - // `projects/{project_id}/regions/{region}` + // - For `projects.regions.workflowTemplates.create`, the resource name of the + // region has the following format: + // `projects/{project_id}/regions/{region}` // - // * For `projects.locations.workflowTemplates.create`, the resource name of - // the location has the following format: - // `projects/{project_id}/locations/{location}` + // - For `projects.locations.workflowTemplates.create`, the resource name of + // the location has the following format: + // `projects/{project_id}/locations/{location}` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The Dataproc workflow template to create. Template *WorkflowTemplate `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"` @@ -1579,13 +1582,13 @@ type GetWorkflowTemplateRequest struct { // Required. The resource name of the workflow template, as described // in https://cloud.google.com/apis/design/resource_names. // - // * For `projects.regions.workflowTemplates.get`, the resource name of the - // template has the following format: - // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` + // - For `projects.regions.workflowTemplates.get`, the resource name of the + // template has the following format: + // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` // - // * For `projects.locations.workflowTemplates.get`, the resource name of the - // template has the following format: - // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` + // - For `projects.locations.workflowTemplates.get`, the resource name of the + // template has the following format: + // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. The version of workflow template to retrieve. Only previously // instantiated versions can be retrieved. @@ -1651,11 +1654,12 @@ type InstantiateWorkflowTemplateRequest struct { // // * For `projects.regions.workflowTemplates.instantiate`, the resource name // of the template has the following format: - // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` // - // * For `projects.locations.workflowTemplates.instantiate`, the resource name - // of the template has the following format: - // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` + // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` + // + // - For `projects.locations.workflowTemplates.instantiate`, the resource name + // of the template has the following format: + // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. The version of workflow template to instantiate. If specified, // the workflow will be instantiated only if the current version of @@ -1748,13 +1752,13 @@ type InstantiateInlineWorkflowTemplateRequest struct { // Required. The resource name of the region or location, as described // in https://cloud.google.com/apis/design/resource_names. // - // * For `projects.regions.workflowTemplates,instantiateinline`, the resource - // name of the region has the following format: - // `projects/{project_id}/regions/{region}` + // - For `projects.regions.workflowTemplates,instantiateinline`, the resource + // name of the region has the following format: + // `projects/{project_id}/regions/{region}` // - // * For `projects.locations.workflowTemplates.instantiateinline`, the - // resource name of the location has the following format: - // `projects/{project_id}/locations/{location}` + // - For `projects.locations.workflowTemplates.instantiateinline`, the + // resource name of the location has the following format: + // `projects/{project_id}/locations/{location}` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The workflow template to instantiate. Template *WorkflowTemplate `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"` @@ -1883,13 +1887,13 @@ type ListWorkflowTemplatesRequest struct { // Required. The resource name of the region or location, as described // in https://cloud.google.com/apis/design/resource_names. // - // * For `projects.regions.workflowTemplates,list`, the resource - // name of the region has the following format: - // `projects/{project_id}/regions/{region}` + // - For `projects.regions.workflowTemplates,list`, the resource + // name of the region has the following format: + // `projects/{project_id}/regions/{region}` // - // * For `projects.locations.workflowTemplates.list`, the - // resource name of the location has the following format: - // `projects/{project_id}/locations/{location}` + // - For `projects.locations.workflowTemplates.list`, the + // resource name of the location has the following format: + // `projects/{project_id}/locations/{location}` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. The maximum number of results to return in each response. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -2024,11 +2028,12 @@ type DeleteWorkflowTemplateRequest struct { // // * For `projects.regions.workflowTemplates.delete`, the resource name // of the template has the following format: - // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` // - // * For `projects.locations.workflowTemplates.instantiate`, the resource name - // of the template has the following format: - // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` + // `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` + // + // - For `projects.locations.workflowTemplates.instantiate`, the resource name + // of the template has the following format: + // `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. The version of workflow template to delete. If specified, // will only delete the template if the current server version matches diff --git a/dataqna/apiv1alpha/dataqnapb/question.pb.go b/dataqna/apiv1alpha/dataqnapb/question.pb.go index b13022a03cd..0e2b7db62f3 100755 --- a/dataqna/apiv1alpha/dataqnapb/question.pb.go +++ b/dataqna/apiv1alpha/dataqnapb/question.pb.go @@ -698,7 +698,8 @@ type Interpretation struct { // considered a low confidence. Confidence float64 `protobuf:"fixed64,2,opt,name=confidence,proto3" json:"confidence,omitempty"` // A list of unused phrases. Clients should display a Did You Mean (DYM) - // dialog if this is non-empty, even if this is the only interpretation. + // + // dialog if this is non-empty, even if this is the only interpretation. UnusedPhrases []string `protobuf:"bytes,3,rep,name=unused_phrases,json=unusedPhrases,proto3" json:"unused_phrases,omitempty"` // Human readable representation of the query. HumanReadable *HumanReadable `protobuf:"bytes,4,opt,name=human_readable,json=humanReadable,proto3" json:"human_readable,omitempty"` diff --git a/datastore/admin/apiv1/adminpb/migration.pb.go b/datastore/admin/apiv1/adminpb/migration.pb.go index 0528a8502e8..282eae67b11 100755 --- a/datastore/admin/apiv1/adminpb/migration.pb.go +++ b/datastore/admin/apiv1/adminpb/migration.pb.go @@ -290,6 +290,7 @@ type MigrationProgressEvent struct { // Details about this step. // // Types that are assignable to StepDetails: + // // *MigrationProgressEvent_PrepareStepDetails_ // *MigrationProgressEvent_RedirectWritesStepDetails_ StepDetails isMigrationProgressEvent_StepDetails `protobuf_oneof:"step_details"` diff --git a/datastream/apiv1/datastreampb/datastream.pb.go b/datastream/apiv1/datastreampb/datastream.pb.go index 008d34911b3..b5c67fae559 100755 --- a/datastream/apiv1/datastreampb/datastream.pb.go +++ b/datastream/apiv1/datastreampb/datastream.pb.go @@ -56,18 +56,21 @@ type DiscoverConnectionProfileRequest struct { // The connection profile on which to run discover. // // Types that are assignable to Target: + // // *DiscoverConnectionProfileRequest_ConnectionProfile // *DiscoverConnectionProfileRequest_ConnectionProfileName Target isDiscoverConnectionProfileRequest_Target `protobuf_oneof:"target"` // The depth of the retrieved hierarchy of data objects. // // Types that are assignable to Hierarchy: + // // *DiscoverConnectionProfileRequest_FullHierarchy // *DiscoverConnectionProfileRequest_HierarchyDepth Hierarchy isDiscoverConnectionProfileRequest_Hierarchy `protobuf_oneof:"hierarchy"` // The data object to populate with child data objects and metadata. // // Types that are assignable to DataObject: + // // *DiscoverConnectionProfileRequest_OracleRdbms // *DiscoverConnectionProfileRequest_MysqlRdbms // *DiscoverConnectionProfileRequest_PostgresqlRdbms @@ -260,6 +263,7 @@ type DiscoverConnectionProfileResponse struct { // The data object that has been enriched by the discover API call. // // Types that are assignable to DataObject: + // // *DiscoverConnectionProfileResponse_OracleRdbms // *DiscoverConnectionProfileResponse_MysqlRdbms // *DiscoverConnectionProfileResponse_PostgresqlRdbms diff --git a/datastream/apiv1/datastreampb/datastream_resources.pb.go b/datastream/apiv1/datastreampb/datastream_resources.pb.go index f75bd921742..1e31aa2c9b8 100755 --- a/datastream/apiv1/datastreampb/datastream_resources.pb.go +++ b/datastream/apiv1/datastreampb/datastream_resources.pb.go @@ -945,6 +945,7 @@ type ForwardSshTunnelConnectivity struct { // Port for the SSH tunnel, default value is 22. Port int32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` // Types that are assignable to AuthenticationMethod: + // // *ForwardSshTunnelConnectivity_Password // *ForwardSshTunnelConnectivity_PrivateKey AuthenticationMethod isForwardSshTunnelConnectivity_AuthenticationMethod `protobuf_oneof:"authentication_method"` @@ -1490,6 +1491,7 @@ type ConnectionProfile struct { // Connection configuration for the ConnectionProfile. // // Types that are assignable to Profile: + // // *ConnectionProfile_OracleProfile // *ConnectionProfile_GcsProfile // *ConnectionProfile_MysqlProfile @@ -1499,6 +1501,7 @@ type ConnectionProfile struct { // Connectivity options used to establish a connection to the profile. // // Types that are assignable to Connectivity: + // // *ConnectionProfile_StaticServiceIpConnectivity // *ConnectionProfile_ForwardSshConnectivity // *ConnectionProfile_PrivateConnectivity @@ -2013,6 +2016,7 @@ type OracleSourceConfig struct { // The configuration for handle Oracle large objects. // // Types that are assignable to LargeObjectsHandling: + // // *OracleSourceConfig_DropLargeObjects_ // *OracleSourceConfig_StreamLargeObjects_ LargeObjectsHandling isOracleSourceConfig_LargeObjectsHandling `protobuf_oneof:"large_objects_handling"` @@ -2865,6 +2869,7 @@ type SourceConfig struct { // Stream configuration that is specific to the data source type. // // Types that are assignable to SourceStreamConfig: + // // *SourceConfig_OracleSourceConfig // *SourceConfig_MysqlSourceConfig // *SourceConfig_PostgresqlSourceConfig @@ -3077,6 +3082,7 @@ type GcsDestinationConfig struct { // File Format that the data should be written in. // // Types that are assignable to FileFormat: + // // *GcsDestinationConfig_AvroFileFormat // *GcsDestinationConfig_JsonFileFormat FileFormat isGcsDestinationConfig_FileFormat `protobuf_oneof:"file_format"` @@ -3183,6 +3189,7 @@ type BigQueryDestinationConfig struct { // Target dataset(s) configuration. // // Types that are assignable to DatasetConfig: + // // *BigQueryDestinationConfig_SingleTargetDataset_ // *BigQueryDestinationConfig_SourceHierarchyDatasets_ DatasetConfig isBigQueryDestinationConfig_DatasetConfig `protobuf_oneof:"dataset_config"` @@ -3284,6 +3291,7 @@ type DestinationConfig struct { // Stream configuration that is specific to the data destination type. // // Types that are assignable to DestinationStreamConfig: + // // *DestinationConfig_GcsDestinationConfig // *DestinationConfig_BigqueryDestinationConfig DestinationStreamConfig isDestinationConfig_DestinationStreamConfig `protobuf_oneof:"destination_stream_config"` @@ -3392,6 +3400,7 @@ type Stream struct { // Stream backfill strategy. // // Types that are assignable to BackfillStrategy: + // // *Stream_BackfillAll // *Stream_BackfillNone BackfillStrategy isStream_BackfillStrategy `protobuf_oneof:"backfill_strategy"` @@ -3658,6 +3667,7 @@ type SourceObjectIdentifier struct { // The identifier for an object in the data source. // // Types that are assignable to SourceIdentifier: + // // *SourceObjectIdentifier_OracleIdentifier // *SourceObjectIdentifier_MysqlIdentifier // *SourceObjectIdentifier_PostgresqlIdentifier @@ -4386,6 +4396,7 @@ type Stream_BackfillAllStrategy struct { // List of objects to exclude. // // Types that are assignable to ExcludedObjects: + // // *Stream_BackfillAllStrategy_OracleExcludedObjects // *Stream_BackfillAllStrategy_MysqlExcludedObjects // *Stream_BackfillAllStrategy_PostgresqlExcludedObjects diff --git a/datastream/apiv1alpha1/datastreampb/datastream.pb.go b/datastream/apiv1alpha1/datastreampb/datastream.pb.go index 8d4126a1a2a..c1915b4fd4a 100755 --- a/datastream/apiv1alpha1/datastreampb/datastream.pb.go +++ b/datastream/apiv1alpha1/datastreampb/datastream.pb.go @@ -55,16 +55,19 @@ type DiscoverConnectionProfileRequest struct { // The connection profile on which to run discover. // // Types that are assignable to Target: + // // *DiscoverConnectionProfileRequest_ConnectionProfile // *DiscoverConnectionProfileRequest_ConnectionProfileName Target isDiscoverConnectionProfileRequest_Target `protobuf_oneof:"target"` // Types that are assignable to Depth: + // // *DiscoverConnectionProfileRequest_Recursive // *DiscoverConnectionProfileRequest_RecursionDepth Depth isDiscoverConnectionProfileRequest_Depth `protobuf_oneof:"depth"` // The data object to enrich with child data objects and metadata. // // Types that are assignable to DataObject: + // // *DiscoverConnectionProfileRequest_OracleRdbms // *DiscoverConnectionProfileRequest_MysqlRdbms DataObject isDiscoverConnectionProfileRequest_DataObject `protobuf_oneof:"data_object"` @@ -238,6 +241,7 @@ type DiscoverConnectionProfileResponse struct { // The data object that has been enriched by the discover API call. // // Types that are assignable to DataObject: + // // *DiscoverConnectionProfileResponse_OracleRdbms // *DiscoverConnectionProfileResponse_MysqlRdbms DataObject isDiscoverConnectionProfileResponse_DataObject `protobuf_oneof:"data_object"` diff --git a/datastream/apiv1alpha1/datastreampb/datastream_resources.pb.go b/datastream/apiv1alpha1/datastreampb/datastream_resources.pb.go index 56abd2a9bae..b0953022040 100755 --- a/datastream/apiv1alpha1/datastreampb/datastream_resources.pb.go +++ b/datastream/apiv1alpha1/datastreampb/datastream_resources.pb.go @@ -771,6 +771,7 @@ type ForwardSshTunnelConnectivity struct { // Port for the SSH tunnel, default value is 22. Port int32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` // Types that are assignable to AuthenticationMethod: + // // *ForwardSshTunnelConnectivity_Password // *ForwardSshTunnelConnectivity_PrivateKey AuthenticationMethod isForwardSshTunnelConnectivity_AuthenticationMethod `protobuf_oneof:"authentication_method"` @@ -1310,6 +1311,7 @@ type ConnectionProfile struct { // Connection configuration for the ConnectionProfile. // // Types that are assignable to Profile: + // // *ConnectionProfile_OracleProfile // *ConnectionProfile_GcsProfile // *ConnectionProfile_MysqlProfile @@ -1317,6 +1319,7 @@ type ConnectionProfile struct { // Connectivity options used to establish a connection to the profile. // // Types that are assignable to Connectivity: + // // *ConnectionProfile_NoConnectivity // *ConnectionProfile_StaticServiceIpConnectivity // *ConnectionProfile_ForwardSshConnectivity @@ -2197,6 +2200,7 @@ type SourceConfig struct { // Stream configuration that is specific to the data source type. // // Types that are assignable to SourceStreamConfig: + // // *SourceConfig_OracleSourceConfig // *SourceConfig_MysqlSourceConfig SourceStreamConfig isSourceConfig_SourceStreamConfig `protobuf_oneof:"source_stream_config"` @@ -2398,6 +2402,7 @@ type GcsDestinationConfig struct { // File Format that the data should be written in. // // Types that are assignable to FileFormat: + // // *GcsDestinationConfig_AvroFileFormat // *GcsDestinationConfig_JsonFileFormat FileFormat isGcsDestinationConfig_FileFormat `protobuf_oneof:"file_format"` @@ -2514,6 +2519,7 @@ type DestinationConfig struct { // Stream configuration that is specific to the data destination type. // // Types that are assignable to DestinationStreamConfig: + // // *DestinationConfig_GcsDestinationConfig DestinationStreamConfig isDestinationConfig_DestinationStreamConfig `protobuf_oneof:"destination_stream_config"` } @@ -2605,6 +2611,7 @@ type Stream struct { // Stream backfill strategy. // // Types that are assignable to BackfillStrategy: + // // *Stream_BackfillAll // *Stream_BackfillNone BackfillStrategy isStream_BackfillStrategy `protobuf_oneof:"backfill_strategy"` @@ -3044,6 +3051,7 @@ type Stream_BackfillAllStrategy struct { // List of objects to exclude. // // Types that are assignable to ExcludedObjects: + // // *Stream_BackfillAllStrategy_OracleExcludedObjects // *Stream_BackfillAllStrategy_MysqlExcludedObjects ExcludedObjects isStream_BackfillAllStrategy_ExcludedObjects `protobuf_oneof:"excluded_objects"` diff --git a/deploy/apiv1/deploypb/cloud_deploy.pb.go b/deploy/apiv1/deploypb/cloud_deploy.pb.go index 1935ff2db2c..4f26a6d6837 100755 --- a/deploy/apiv1/deploypb/cloud_deploy.pb.go +++ b/deploy/apiv1/deploypb/cloud_deploy.pb.go @@ -1301,6 +1301,7 @@ type DeliveryPipeline struct { // The ordering configuration of the `DeliveryPipeline`. // // Types that are assignable to Pipeline: + // // *DeliveryPipeline_SerialPipeline Pipeline isDeliveryPipeline_Pipeline `protobuf_oneof:"pipeline"` // Output only. Information around the state of the Delivery Pipeline. @@ -1643,6 +1644,7 @@ type Strategy struct { // Deployment strategy details. // // Types that are assignable to DeploymentStrategy: + // // *Strategy_Standard // *Strategy_Canary DeploymentStrategy isStrategy_DeploymentStrategy `protobuf_oneof:"deployment_strategy"` @@ -1903,6 +1905,7 @@ type Canary struct { // The mode to use for the canary deployment strategy. // // Types that are assignable to Mode: + // // *Canary_CanaryDeployment // *Canary_CustomCanaryDeployment Mode isCanary_Mode `protobuf_oneof:"mode"` @@ -2128,6 +2131,7 @@ type KubernetesConfig struct { // The service definition configuration. // // Types that are assignable to ServiceDefinition: + // // *KubernetesConfig_GatewayServiceMesh_ // *KubernetesConfig_ServiceNetworking_ ServiceDefinition isKubernetesConfig_ServiceDefinition `protobuf_oneof:"service_definition"` @@ -2296,6 +2300,7 @@ type RuntimeConfig struct { // The runtime configuration details. // // Types that are assignable to RuntimeConfig: + // // *RuntimeConfig_Kubernetes // *RuntimeConfig_CloudRun RuntimeConfig isRuntimeConfig_RuntimeConfig `protobuf_oneof:"runtime_config"` @@ -3422,6 +3427,7 @@ type Target struct { // rollout. // // Types that are assignable to DeploymentTarget: + // // *Target_Gke // *Target_AnthosCluster // *Target_Run @@ -3652,6 +3658,7 @@ type ExecutionConfig struct { // Details of the environment. // // Types that are assignable to ExecutionEnvironment: + // // *ExecutionConfig_DefaultPool // *ExecutionConfig_PrivatePool ExecutionEnvironment isExecutionConfig_ExecutionEnvironment `protobuf_oneof:"execution_environment"` @@ -4749,6 +4756,7 @@ type CustomTargetType struct { // Defines the `CustomTargetType` renderer and deployer. // // Types that are assignable to Definition: + // // *CustomTargetType_CustomActions Definition isCustomTargetType_Definition `protobuf_oneof:"definition"` } @@ -4956,6 +4964,7 @@ type SkaffoldModules struct { // The source that contains the Skaffold Config modules. // // Types that are assignable to Source: + // // *SkaffoldModules_Git // *SkaffoldModules_GoogleCloudStorage Source isSkaffoldModules_Source `protobuf_oneof:"source"` @@ -5950,6 +5959,7 @@ type TargetArtifact struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Uri: + // // *TargetArtifact_ArtifactUri Uri isTargetArtifact_Uri `protobuf_oneof:"uri"` // Output only. File path of the resolved Skaffold configuration relative to @@ -7192,6 +7202,7 @@ type Phase struct { // The job composition of this Phase. // // Types that are assignable to Jobs: + // // *Phase_DeploymentJobs // *Phase_ChildRolloutJobs Jobs isPhase_Jobs `protobuf_oneof:"jobs"` @@ -7442,6 +7453,7 @@ type Job struct { // The type of Job. // // Types that are assignable to JobType: + // // *Job_DeployJob // *Job_VerifyJob // *Job_PredeployJob @@ -8905,6 +8917,7 @@ type JobRun struct { // The `JobRun` type and the information for that type. // // Types that are assignable to JobRun: + // // *JobRun_DeployJobRun // *JobRun_VerifyJobRun // *JobRun_PredeployJobRun @@ -10289,6 +10302,7 @@ type AutomationRule struct { // The configuration of the Automation rule. // // Types that are assignable to Rule: + // // *AutomationRule_PromoteReleaseRule // *AutomationRule_AdvanceRolloutRule // *AutomationRule_RepairRolloutRule @@ -10668,6 +10682,7 @@ type RepairMode struct { // The repair action to perform. // // Types that are assignable to Mode: + // // *RepairMode_Retry // *RepairMode_Rollback Mode isRepairMode_Mode `protobuf_oneof:"mode"` @@ -11479,6 +11494,7 @@ type AutomationRun struct { // The operation that the `AutomationRun` will perform. // // Types that are assignable to Operation: + // // *AutomationRun_PromoteReleaseOperation // *AutomationRun_AdvanceRolloutOperation // *AutomationRun_RepairRolloutOperation @@ -11894,6 +11910,7 @@ type RepairPhase struct { unknownFields protoimpl.UnknownFields // Types that are assignable to RepairPhase: + // // *RepairPhase_Retry // *RepairPhase_Rollback RepairPhase isRepairPhase_RepairPhase `protobuf_oneof:"repair_phase"` diff --git a/dialogflow/apiv2/dialogflowpb/agent.pb.go b/dialogflow/apiv2/dialogflowpb/agent.pb.go index 72ad7bf6e44..6aa48104195 100755 --- a/dialogflow/apiv2/dialogflowpb/agent.pb.go +++ b/dialogflow/apiv2/dialogflowpb/agent.pb.go @@ -819,6 +819,7 @@ type ExportAgentResponse struct { // The exported agent. // // Types that are assignable to Agent: + // // *ExportAgentResponse_AgentUri // *ExportAgentResponse_AgentContent Agent isExportAgentResponse_Agent `protobuf_oneof:"agent"` @@ -909,6 +910,7 @@ type ImportAgentRequest struct { // Required. The agent to import. // // Types that are assignable to Agent: + // // *ImportAgentRequest_AgentUri // *ImportAgentRequest_AgentContent Agent isImportAgentRequest_Agent `protobuf_oneof:"agent"` @@ -1012,6 +1014,7 @@ type RestoreAgentRequest struct { // Required. The agent to restore. // // Types that are assignable to Agent: + // // *RestoreAgentRequest_AgentUri // *RestoreAgentRequest_AgentContent Agent isRestoreAgentRequest_Agent `protobuf_oneof:"agent"` @@ -1786,10 +1789,10 @@ type AgentsClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -1801,9 +1804,10 @@ type AgentsClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ExportAgentResponse][google.cloud.dialogflow.v2.ExportAgentResponse] ExportAgent(ctx context.Context, in *ExportAgentRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Imports the specified agent from a ZIP file. @@ -1822,10 +1826,10 @@ type AgentsClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // The operation only tracks when importing is complete, not when it is done // training. @@ -1848,10 +1852,10 @@ type AgentsClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // The operation only tracks when restoring is complete, not when it is done // training. @@ -1980,10 +1984,10 @@ type AgentsServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -1995,9 +1999,10 @@ type AgentsServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ExportAgentResponse][google.cloud.dialogflow.v2.ExportAgentResponse] ExportAgent(context.Context, *ExportAgentRequest) (*longrunningpb.Operation, error) // Imports the specified agent from a ZIP file. @@ -2016,10 +2021,10 @@ type AgentsServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // The operation only tracks when importing is complete, not when it is done // training. @@ -2042,10 +2047,10 @@ type AgentsServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // The operation only tracks when restoring is complete, not when it is done // training. diff --git a/dialogflow/apiv2/dialogflowpb/answer_record.pb.go b/dialogflow/apiv2/dialogflowpb/answer_record.pb.go index 78b1661f2c4..4118216fc70 100755 --- a/dialogflow/apiv2/dialogflowpb/answer_record.pb.go +++ b/dialogflow/apiv2/dialogflowpb/answer_record.pb.go @@ -304,6 +304,7 @@ type AnswerRecord struct { // The record for this answer. // // Types that are assignable to Record: + // // *AnswerRecord_AgentAssistantRecord Record isAnswerRecord_Record `protobuf_oneof:"record"` } @@ -606,6 +607,7 @@ type AnswerFeedback struct { // Normally, detail feedback is provided when answer is not fully correct. // // Types that are assignable to DetailFeedback: + // // *AnswerFeedback_AgentAssistantDetailFeedback DetailFeedback isAnswerFeedback_DetailFeedback `protobuf_oneof:"detail_feedback"` // Indicates whether the answer/item was clicked by the human agent @@ -724,20 +726,20 @@ type AgentAssistantFeedback struct { // // For example: // - // * Query: "Can I change my mailing address?" - // * Suggested document says: "Items must be returned/exchanged within 60 - // days of the purchase date." - // * [answer_relevance][google.cloud.dialogflow.v2.AgentAssistantFeedback.answer_relevance]: [AnswerRelevance.IRRELEVANT][google.cloud.dialogflow.v2.AgentAssistantFeedback.AnswerRelevance.IRRELEVANT] + // - Query: "Can I change my mailing address?" + // - Suggested document says: "Items must be returned/exchanged within 60 + // days of the purchase date." + // - [answer_relevance][google.cloud.dialogflow.v2.AgentAssistantFeedback.answer_relevance]: [AnswerRelevance.IRRELEVANT][google.cloud.dialogflow.v2.AgentAssistantFeedback.AnswerRelevance.IRRELEVANT] AnswerRelevance AgentAssistantFeedback_AnswerRelevance `protobuf:"varint,1,opt,name=answer_relevance,json=answerRelevance,proto3,enum=google.cloud.dialogflow.v2.AgentAssistantFeedback_AnswerRelevance" json:"answer_relevance,omitempty"` // Optional. Whether or not the information in the document is correct. // // For example: // - // * Query: "Can I return the package in 2 days once received?" - // * Suggested document says: "Items must be returned/exchanged within 60 - // days of the purchase date." - // * Ground truth: "No return or exchange is allowed." - // * [document_correctness]: INCORRECT + // - Query: "Can I return the package in 2 days once received?" + // - Suggested document says: "Items must be returned/exchanged within 60 + // days of the purchase date." + // - Ground truth: "No return or exchange is allowed." + // - [document_correctness]: INCORRECT DocumentCorrectness AgentAssistantFeedback_DocumentCorrectness `protobuf:"varint,2,opt,name=document_correctness,json=documentCorrectness,proto3,enum=google.cloud.dialogflow.v2.AgentAssistantFeedback_DocumentCorrectness" json:"document_correctness,omitempty"` // Optional. Whether or not the suggested document is efficient. For example, // if the document is poorly written, hard to understand, hard to use or @@ -828,6 +830,7 @@ type AgentAssistantRecord struct { // Output only. The agent assist answer. // // Types that are assignable to Answer: + // // *AgentAssistantRecord_ArticleSuggestionAnswer // *AgentAssistantRecord_FaqAnswer // *AgentAssistantRecord_DialogflowAssistAnswer diff --git a/dialogflow/apiv2/dialogflowpb/audio_config.pb.go b/dialogflow/apiv2/dialogflowpb/audio_config.pb.go index d5e47def25d..5569ce9f530 100755 --- a/dialogflow/apiv2/dialogflowpb/audio_config.pb.go +++ b/dialogflow/apiv2/dialogflowpb/audio_config.pb.go @@ -270,18 +270,18 @@ const ( SpeechModelVariant_USE_STANDARD SpeechModelVariant = 2 // Use an enhanced model variant: // - // * If an enhanced variant does not exist for the given - // [model][google.cloud.dialogflow.v2.InputAudioConfig.model] and request - // language, Dialogflow falls back to the standard variant. + // - If an enhanced variant does not exist for the given + // [model][google.cloud.dialogflow.v2.InputAudioConfig.model] and request + // language, Dialogflow falls back to the standard variant. // - // The [Cloud Speech - // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) - // describes which models have enhanced variants. + // The [Cloud Speech + // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) + // describes which models have enhanced variants. // - // * If the API caller isn't eligible for enhanced models, Dialogflow returns - // an error. Please see the [Dialogflow - // docs](https://cloud.google.com/dialogflow/docs/data-logging) - // for how to make your project eligible. + // - If the API caller isn't eligible for enhanced models, Dialogflow returns + // an error. Please see the [Dialogflow + // docs](https://cloud.google.com/dialogflow/docs/data-logging) + // for how to make your project eligible. SpeechModelVariant_USE_ENHANCED SpeechModelVariant = 3 ) @@ -468,10 +468,10 @@ type SpeechContext struct { // // This list can be used to: // - // * improve accuracy for words and phrases you expect the user to say, - // e.g. typical commands for your Dialogflow agent - // * add additional words to the speech recognizer vocabulary - // * ... + // - improve accuracy for words and phrases you expect the user to say, + // e.g. typical commands for your Dialogflow agent + // - add additional words to the speech recognizer vocabulary + // - ... // // See the [Cloud Speech // documentation](https://cloud.google.com/speech-to-text/quotas) for usage @@ -479,10 +479,10 @@ type SpeechContext struct { Phrases []string `protobuf:"bytes,1,rep,name=phrases,proto3" json:"phrases,omitempty"` // Optional. Boost for this context compared to other contexts: // - // * If the boost is positive, Dialogflow will increase the probability that - // the phrases in this context are recognized over similar sounding phrases. - // * If the boost is unspecified or non-positive, Dialogflow will not apply - // any boost. + // - If the boost is positive, Dialogflow will increase the probability that + // the phrases in this context are recognized over similar sounding phrases. + // - If the boost is unspecified or non-positive, Dialogflow will not apply + // any boost. // // Dialogflow recommends that you use boosts in the range (0, 20] and that you // find a value that fits your use case with binary search. diff --git a/dialogflow/apiv2/dialogflowpb/conversation.pb.go b/dialogflow/apiv2/dialogflowpb/conversation.pb.go index bbaa4f54418..1ca71d9a329 100755 --- a/dialogflow/apiv2/dialogflowpb/conversation.pb.go +++ b/dialogflow/apiv2/dialogflowpb/conversation.pb.go @@ -433,11 +433,13 @@ type ListConversationsRequest struct { // general, the expression must specify the field name, a comparison operator, // and the value to use for filtering: //

    - //
  • The value must be a string, a number, or a boolean.
  • - //
  • The comparison operator must be either `=`,`!=`, `>`, or `<`.
  • - //
  • To filter on multiple expressions, separate the - // expressions with `AND` or `OR` (omitting both implies `AND`).
  • - //
  • For clarity, expressions can be enclosed in parentheses.
  • + // + //
  • The value must be a string, a number, or a boolean.
  • + //
  • The comparison operator must be either `=`,`!=`, `>`, or `<`.
  • + //
  • To filter on multiple expressions, separate the + // expressions with `AND` or `OR` (omitting both implies `AND`).
  • + //
  • For clarity, expressions can be enclosed in parentheses.
  • + // //
// Only `lifecycle_state` can be filtered on in this way. For example, // the following expression only returns `COMPLETED` conversations: diff --git a/dialogflow/apiv2/dialogflowpb/conversation_dataset.pb.go b/dialogflow/apiv2/dialogflowpb/conversation_dataset.pb.go index 89032eba04c..edb38abf3ef 100755 --- a/dialogflow/apiv2/dialogflowpb/conversation_dataset.pb.go +++ b/dialogflow/apiv2/dialogflowpb/conversation_dataset.pb.go @@ -105,6 +105,7 @@ type InputConfig struct { // Required. Where the data is from. // // Types that are assignable to Source: + // // *InputConfig_GcsSource Source isInputConfig_Source `protobuf_oneof:"source"` } @@ -1424,8 +1425,8 @@ type ConversationDatasetsClient interface { // // - `metadata`: // [DeleteConversationDatasetOperationMetadata][google.cloud.dialogflow.v2.DeleteConversationDatasetOperationMetadata] - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) DeleteConversationDataset(ctx context.Context, in *DeleteConversationDatasetRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Import data into the specified conversation dataset. Note that it // is not allowed to import data to a conversation dataset that @@ -1521,8 +1522,8 @@ type ConversationDatasetsServer interface { // // - `metadata`: // [DeleteConversationDatasetOperationMetadata][google.cloud.dialogflow.v2.DeleteConversationDatasetOperationMetadata] - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) DeleteConversationDataset(context.Context, *DeleteConversationDatasetRequest) (*longrunningpb.Operation, error) // Import data into the specified conversation dataset. Note that it // is not allowed to import data to a conversation dataset that diff --git a/dialogflow/apiv2/dialogflowpb/conversation_event.pb.go b/dialogflow/apiv2/dialogflowpb/conversation_event.pb.go index 628c0d6d0fc..7569c6f8067 100755 --- a/dialogflow/apiv2/dialogflowpb/conversation_event.pb.go +++ b/dialogflow/apiv2/dialogflowpb/conversation_event.pb.go @@ -134,6 +134,7 @@ type ConversationEvent struct { // Payload of conversation event. // // Types that are assignable to Payload: + // // *ConversationEvent_NewMessagePayload Payload isConversationEvent_Payload `protobuf_oneof:"payload"` } diff --git a/dialogflow/apiv2/dialogflowpb/conversation_model.pb.go b/dialogflow/apiv2/dialogflowpb/conversation_model.pb.go index 4faa335ab57..d4d6ec99b9c 100755 --- a/dialogflow/apiv2/dialogflowpb/conversation_model.pb.go +++ b/dialogflow/apiv2/dialogflowpb/conversation_model.pb.go @@ -340,6 +340,7 @@ type ConversationModel struct { // Must match the metadata type of the dataset used to train the model. // // Types that are assignable to ModelMetadata: + // // *ConversationModel_ArticleSuggestionModelMetadata // *ConversationModel_SmartReplyModelMetadata ModelMetadata isConversationModel_ModelMetadata `protobuf_oneof:"model_metadata"` @@ -477,6 +478,7 @@ type ConversationModelEvaluation struct { // Metrics details. // // Types that are assignable to Metrics: + // // *ConversationModelEvaluation_SmartReplyMetrics Metrics isConversationModelEvaluation_Metrics `protobuf_oneof:"metrics"` // Output only. Human eval template in csv format. @@ -600,6 +602,7 @@ type EvaluationConfig struct { // Specific configurations for different models in order to do evaluation. // // Types that are assignable to ModelSpecificConfig: + // // *EvaluationConfig_SmartReplyConfig_ // *EvaluationConfig_SmartComposeConfig_ ModelSpecificConfig isEvaluationConfig_ModelSpecificConfig `protobuf_oneof:"model_specific_config"` @@ -3130,8 +3133,8 @@ type ConversationModelsClient interface { // // - `metadata`: // [DeleteConversationModelOperationMetadata][google.cloud.dialogflow.v2.DeleteConversationModelOperationMetadata] - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) DeleteConversationModel(ctx context.Context, in *DeleteConversationModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Deploys a model. If a model is already deployed, deploying it // has no effect. A model can only serve prediction requests after it gets @@ -3144,8 +3147,8 @@ type ConversationModelsClient interface { // // - `metadata`: // [DeployConversationModelOperationMetadata][google.cloud.dialogflow.v2.DeployConversationModelOperationMetadata] - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) DeployConversationModel(ctx context.Context, in *DeployConversationModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Undeploys a model. If the model is not deployed this method has no effect. // If the model is currently being used: @@ -3158,8 +3161,8 @@ type ConversationModelsClient interface { // // - `metadata`: // [UndeployConversationModelOperationMetadata][google.cloud.dialogflow.v2.UndeployConversationModelOperationMetadata] - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) UndeployConversationModel(ctx context.Context, in *UndeployConversationModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Gets an evaluation of conversation model. GetConversationModelEvaluation(ctx context.Context, in *GetConversationModelEvaluationRequest, opts ...grpc.CallOption) (*ConversationModelEvaluation, error) @@ -3283,8 +3286,8 @@ type ConversationModelsServer interface { // // - `metadata`: // [DeleteConversationModelOperationMetadata][google.cloud.dialogflow.v2.DeleteConversationModelOperationMetadata] - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) DeleteConversationModel(context.Context, *DeleteConversationModelRequest) (*longrunningpb.Operation, error) // Deploys a model. If a model is already deployed, deploying it // has no effect. A model can only serve prediction requests after it gets @@ -3297,8 +3300,8 @@ type ConversationModelsServer interface { // // - `metadata`: // [DeployConversationModelOperationMetadata][google.cloud.dialogflow.v2.DeployConversationModelOperationMetadata] - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) DeployConversationModel(context.Context, *DeployConversationModelRequest) (*longrunningpb.Operation, error) // Undeploys a model. If the model is not deployed this method has no effect. // If the model is currently being used: @@ -3311,8 +3314,8 @@ type ConversationModelsServer interface { // // - `metadata`: // [UndeployConversationModelOperationMetadata][google.cloud.dialogflow.v2.UndeployConversationModelOperationMetadata] - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) UndeployConversationModel(context.Context, *UndeployConversationModelRequest) (*longrunningpb.Operation, error) // Gets an evaluation of conversation model. GetConversationModelEvaluation(context.Context, *GetConversationModelEvaluationRequest) (*ConversationModelEvaluation, error) diff --git a/dialogflow/apiv2/dialogflowpb/conversation_profile.pb.go b/dialogflow/apiv2/dialogflowpb/conversation_profile.pb.go index cd30084ca91..a3a903f7a5a 100755 --- a/dialogflow/apiv2/dialogflowpb/conversation_profile.pb.go +++ b/dialogflow/apiv2/dialogflowpb/conversation_profile.pb.go @@ -957,6 +957,7 @@ type HumanAgentHandoffConfig struct { // Required. Specifies which agent service to connect for human agent handoff. // // Types that are assignable to AgentService: + // // *HumanAgentHandoffConfig_LivePersonConfig_ // *HumanAgentHandoffConfig_SalesforceLiveAgentConfig_ AgentService isHumanAgentHandoffConfig_AgentService `protobuf_oneof:"agent_service"` @@ -1768,6 +1769,7 @@ type HumanAgentAssistantConfig_SuggestionQueryConfig struct { // Source of query. // // Types that are assignable to QuerySource: + // // *HumanAgentAssistantConfig_SuggestionQueryConfig_KnowledgeBaseQuerySource_ // *HumanAgentAssistantConfig_SuggestionQueryConfig_DocumentQuerySource_ // *HumanAgentAssistantConfig_SuggestionQueryConfig_DialogflowQuerySource_ @@ -1937,11 +1939,12 @@ type HumanAgentAssistantConfig_ConversationModelConfig struct { // Version of current baseline model. It will be ignored if // [model][google.cloud.dialogflow.v2.HumanAgentAssistantConfig.ConversationModelConfig.model] // is set. Valid versions are: - // Article Suggestion baseline model: - // - 0.9 - // - 1.0 (default) - // Summarization baseline model: - // - 1.0 + // + // Article Suggestion baseline model: + // - 0.9 + // - 1.0 (default) + // Summarization baseline model: + // - 1.0 BaselineModelVersion string `protobuf:"bytes,8,opt,name=baseline_model_version,json=baselineModelVersion,proto3" json:"baseline_model_version,omitempty"` } diff --git a/dialogflow/apiv2/dialogflowpb/document.pb.go b/dialogflow/apiv2/dialogflowpb/document.pb.go index b6880ca27c1..f2a37a6a463 100755 --- a/dialogflow/apiv2/dialogflowpb/document.pb.go +++ b/dialogflow/apiv2/dialogflowpb/document.pb.go @@ -264,6 +264,7 @@ type Document struct { // Required. The source of this document. // // Types that are assignable to Source: + // // *Document_ContentUri // *Document_RawContent Source isDocument_Source `protobuf_oneof:"source"` @@ -504,7 +505,7 @@ type ListDocumentsRequest struct { // The filter expression used to filter documents returned by the list method. // The expression has the following syntax: // - // [AND ] ... + // [AND ] ... // // The following fields and operators are supported: // @@ -514,11 +515,11 @@ type ListDocumentsRequest struct { // // Examples: // - // * "knowledge_types:FAQ" matches documents with FAQ knowledge type. - // * "display_name:customer" matches documents whose display name contains - // "customer". - // * "state=ACTIVE" matches documents with ACTIVE state. - // * "knowledge_types:FAQ AND state=ACTIVE" matches all active FAQ documents. + // - "knowledge_types:FAQ" matches documents with FAQ knowledge type. + // - "display_name:customer" matches documents whose display name contains + // "customer". + // - "state=ACTIVE" matches documents with ACTIVE state. + // - "knowledge_types:FAQ AND state=ACTIVE" matches all active FAQ documents. // // For more information about filtering, see // [API Filtering](https://aip.dev/160). @@ -727,6 +728,7 @@ type ImportDocumentsRequest struct { // import more, Dialogflow will return an error. // // Types that are assignable to Source: + // // *ImportDocumentsRequest_GcsSource Source isImportDocumentsRequest_Source `protobuf_oneof:"source"` // Required. Document template used for importing all the documents. @@ -1073,6 +1075,7 @@ type ReloadDocumentRequest struct { // please delete the existing document and create a new one instead. // // Types that are assignable to Source: + // // *ReloadDocumentRequest_ContentUri Source isReloadDocumentRequest_Source `protobuf_oneof:"source"` // Optional. Whether to import custom metadata from Google Cloud Storage. @@ -1179,6 +1182,7 @@ type ExportDocumentRequest struct { // Required. The destination for the export. // // Types that are assignable to Destination: + // // *ExportDocumentRequest_GcsDestination Destination isExportDocumentRequest_Destination `protobuf_oneof:"destination"` // When enabled, export the full content of the document including empirical @@ -1329,6 +1333,7 @@ type KnowledgeOperationMetadata struct { // Additional metadata for the Knowledge operation. // // Types that are assignable to OperationMetadata: + // // *KnowledgeOperationMetadata_ExportOperationMetadata OperationMetadata isKnowledgeOperationMetadata_OperationMetadata `protobuf_oneof:"operation_metadata"` } @@ -2281,8 +2286,8 @@ type DocumentsClient interface { // // - `metadata`: // [KnowledgeOperationMetadata][google.cloud.dialogflow.v2.KnowledgeOperationMetadata] - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) DeleteDocument(ctx context.Context, in *DeleteDocumentRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Updates the specified document. // @@ -2440,8 +2445,8 @@ type DocumentsServer interface { // // - `metadata`: // [KnowledgeOperationMetadata][google.cloud.dialogflow.v2.KnowledgeOperationMetadata] - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) DeleteDocument(context.Context, *DeleteDocumentRequest) (*longrunningpb.Operation, error) // Updates the specified document. // diff --git a/dialogflow/apiv2/dialogflowpb/entity_type.pb.go b/dialogflow/apiv2/dialogflowpb/entity_type.pb.go index fe592c8811f..aa413856aa5 100755 --- a/dialogflow/apiv2/dialogflowpb/entity_type.pb.go +++ b/dialogflow/apiv2/dialogflowpb/entity_type.pb.go @@ -691,6 +691,7 @@ type BatchUpdateEntityTypesRequest struct { // * If `name` is not specified, we create a new entity type. // // Types that are assignable to EntityTypeBatch: + // // *BatchUpdateEntityTypesRequest_EntityTypeBatchUri // *BatchUpdateEntityTypesRequest_EntityTypeBatchInline EntityTypeBatch isBatchUpdateEntityTypesRequest_EntityTypeBatch `protobuf_oneof:"entity_type_batch"` @@ -1207,7 +1208,7 @@ type EntityType_Entity struct { // // For `KIND_LIST` entity types: // - // * A string that can contain references to other entity types (with or + // - A string that can contain references to other entity types (with or // without aliases). Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` // Required. A collection of value synonyms. For example, if the entity type @@ -2041,9 +2042,10 @@ type EntityTypesClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [BatchUpdateEntityTypesResponse][google.cloud.dialogflow.v2.BatchUpdateEntityTypesResponse] // // Note: You should always train an agent prior to sending it queries. See the @@ -2056,10 +2058,10 @@ type EntityTypesClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -2071,10 +2073,10 @@ type EntityTypesClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -2088,15 +2090,14 @@ type EntityTypesClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training // documentation](https://cloud.google.com/dialogflow/es/docs/training). - // BatchUpdateEntities(ctx context.Context, in *BatchUpdateEntitiesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Deletes entities in the specified entity type. // @@ -2104,10 +2105,10 @@ type EntityTypesClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -2243,9 +2244,10 @@ type EntityTypesServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [BatchUpdateEntityTypesResponse][google.cloud.dialogflow.v2.BatchUpdateEntityTypesResponse] // // Note: You should always train an agent prior to sending it queries. See the @@ -2258,10 +2260,10 @@ type EntityTypesServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -2273,10 +2275,10 @@ type EntityTypesServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -2290,15 +2292,14 @@ type EntityTypesServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training // documentation](https://cloud.google.com/dialogflow/es/docs/training). - // BatchUpdateEntities(context.Context, *BatchUpdateEntitiesRequest) (*longrunningpb.Operation, error) // Deletes entities in the specified entity type. // @@ -2306,10 +2307,10 @@ type EntityTypesServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training diff --git a/dialogflow/apiv2/dialogflowpb/environment.pb.go b/dialogflow/apiv2/dialogflowpb/environment.pb.go index bd42decd373..d9a56455c03 100755 --- a/dialogflow/apiv2/dialogflowpb/environment.pb.go +++ b/dialogflow/apiv2/dialogflowpb/environment.pb.go @@ -130,9 +130,9 @@ type Environment struct { // Output only. The unique identifier of this agent environment. // Supported formats: // - // - `projects//agent/environments/` - // - `projects//locations//agent/environments/` + // - `projects//agent/environments/` + // - `projects//locations//agent/environments/` // // The environment ID for the default environment is `-`. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` @@ -142,9 +142,9 @@ type Environment struct { // Optional. The agent version loaded into this environment. // Supported formats: // - // - `projects//agent/versions/` - // - `projects//locations//agent/versions/` + // - `projects//agent/versions/` + // - `projects//locations//agent/versions/` AgentVersion string `protobuf:"bytes,3,opt,name=agent_version,json=agentVersion,proto3" json:"agent_version,omitempty"` // Output only. The state of this environment. This field is read-only, i.e., // it cannot be set by create and update methods. @@ -466,9 +466,9 @@ type GetEnvironmentRequest struct { // Required. The name of the environment. // Supported formats: // - // - `projects//agent/environments/` - // - `projects//locations//agent/environments/` + // - `projects//agent/environments/` + // - `projects//locations//agent/environments/` // // The environment ID for the default environment is `-`. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` @@ -666,9 +666,9 @@ type DeleteEnvironmentRequest struct { // Required. The name of the environment to delete. // / Format: // - // - `projects//agent/environments/` - // - `projects//locations//agent/environments/` + // - `projects//agent/environments/` + // - `projects//locations//agent/environments/` // // The environment ID for the default environment is `-`. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` @@ -723,9 +723,9 @@ type GetEnvironmentHistoryRequest struct { // Required. The name of the environment to retrieve history for. // Supported formats: // - // - `projects//agent/environments/` - // - `projects//locations//agent/environments/` + // - `projects//agent/environments/` + // - `projects//locations//agent/environments/` // // The environment ID for the default environment is `-`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` @@ -799,9 +799,9 @@ type EnvironmentHistory struct { // Output only. The name of the environment this history is for. // Supported formats: // - // - `projects//agent/environments/` - // - `projects//locations//agent/environments/` + // - `projects//agent/environments/` + // - `projects//locations//agent/environments/` // // The environment ID for the default environment is `-`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` diff --git a/dialogflow/apiv2/dialogflowpb/fulfillment.pb.go b/dialogflow/apiv2/dialogflowpb/fulfillment.pb.go index b362660b502..5f4490268f2 100755 --- a/dialogflow/apiv2/dialogflowpb/fulfillment.pb.go +++ b/dialogflow/apiv2/dialogflowpb/fulfillment.pb.go @@ -121,6 +121,7 @@ type Fulfillment struct { // Required. The fulfillment configuration. // // Types that are assignable to Fulfillment: + // // *Fulfillment_GenericWebService_ Fulfillment isFulfillment_Fulfillment `protobuf_oneof:"fulfillment"` // Optional. Whether fulfillment is enabled. diff --git a/dialogflow/apiv2/dialogflowpb/intent.pb.go b/dialogflow/apiv2/dialogflowpb/intent.pb.go index 48aca8d8193..ea54e29872e 100755 --- a/dialogflow/apiv2/dialogflowpb/intent.pb.go +++ b/dialogflow/apiv2/dialogflowpb/intent.pb.go @@ -554,11 +554,11 @@ type Intent struct { // Optional. The priority of this intent. Higher numbers represent higher // priorities. // - // - If the supplied value is unspecified or 0, the service - // translates the value to 500,000, which corresponds to the - // `Normal` priority in the console. - // - If the supplied value is negative, the intent is ignored - // in runtime detect intent requests. + // - If the supplied value is unspecified or 0, the service + // translates the value to 500,000, which corresponds to the + // `Normal` priority in the console. + // - If the supplied value is negative, the intent is ignored + // in runtime detect intent requests. Priority int32 `protobuf:"varint,3,opt,name=priority,proto3" json:"priority,omitempty"` // Optional. Indicates whether this is a fallback intent. IsFallback bool `protobuf:"varint,4,opt,name=is_fallback,json=isFallback,proto3" json:"is_fallback,omitempty"` @@ -1263,6 +1263,7 @@ type BatchUpdateIntentsRequest struct { // The source of the intent batch. // // Types that are assignable to IntentBatch: + // // *BatchUpdateIntentsRequest_IntentBatchUri // *BatchUpdateIntentsRequest_IntentBatchInline IntentBatch isBatchUpdateIntentsRequest_IntentBatch `protobuf_oneof:"intent_batch"` @@ -1566,8 +1567,8 @@ type Intent_TrainingPhrase struct { // If you want to annotate the training phrase, you must create multiple // parts, where the fields of each part are populated in one of two ways: // - // - `Part.text` is set to a part of the phrase that has no parameters. - // - `Part.text` is set to a part of the phrase that you want to annotate, + // - `Part.text` is set to a part of the phrase that has no parameters. + // - `Part.text` is set to a part of the phrase that you want to annotate, // and the `entity_type`, `alias`, and `user_defined` fields are all // set. Parts []*Intent_TrainingPhrase_Part `protobuf:"bytes,3,rep,name=parts,proto3" json:"parts,omitempty"` @@ -1649,11 +1650,11 @@ type Intent_Parameter struct { DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` // Optional. The definition of the parameter value. It can be: // - // - a constant string, - // - a parameter value defined as `$parameter_name`, - // - an original parameter value defined as `$parameter_name.original`, - // - a parameter value from some context defined as - // `#context_name.parameter_name`. + // - a constant string, + // - a parameter value defined as `$parameter_name`, + // - an original parameter value defined as `$parameter_name.original`, + // - a parameter value from some context defined as + // `#context_name.parameter_name`. Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` // Optional. The default value to use when the `value` yields an empty // result. @@ -1776,6 +1777,7 @@ type Intent_Message struct { // Required. The rich response message. // // Types that are assignable to Message: + // // *Intent_Message_Text_ // *Intent_Message_Image_ // *Intent_Message_QuickReplies_ @@ -3679,6 +3681,7 @@ type Intent_Message_MediaContent_ResponseMediaObject struct { // Image to show with the media card. // // Types that are assignable to Image: + // // *Intent_Message_MediaContent_ResponseMediaObject_LargeImage // *Intent_Message_MediaContent_ResponseMediaObject_Icon Image isIntent_Message_MediaContent_ResponseMediaObject_Image `protobuf_oneof:"image"` @@ -5536,9 +5539,10 @@ type IntentsClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [BatchUpdateIntentsResponse][google.cloud.dialogflow.v2.BatchUpdateIntentsResponse] // // Note: You should always train an agent prior to sending it queries. See the @@ -5551,10 +5555,10 @@ type IntentsClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -5663,9 +5667,10 @@ type IntentsServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [BatchUpdateIntentsResponse][google.cloud.dialogflow.v2.BatchUpdateIntentsResponse] // // Note: You should always train an agent prior to sending it queries. See the @@ -5678,10 +5683,10 @@ type IntentsServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training diff --git a/dialogflow/apiv2/dialogflowpb/knowledge_base.pb.go b/dialogflow/apiv2/dialogflowpb/knowledge_base.pb.go index ffc43d7a7bd..32c1b6b1ea6 100755 --- a/dialogflow/apiv2/dialogflowpb/knowledge_base.pb.go +++ b/dialogflow/apiv2/dialogflowpb/knowledge_base.pb.go @@ -142,7 +142,7 @@ type ListKnowledgeBasesRequest struct { // The filter expression used to filter knowledge bases returned by the list // method. The expression has the following syntax: // - // [AND ] ... + // [AND ] ... // // The following fields and operators are supported: // @@ -151,14 +151,14 @@ type ListKnowledgeBasesRequest struct { // // Examples: // - // * 'language_code=en-us' matches knowledge bases with en-us language code. - // * 'display_name:articles' matches knowledge bases whose display name - // contains "articles". - // * 'display_name:"Best Articles"' matches knowledge bases whose display - // name contains "Best Articles". - // * 'language_code=en-gb AND display_name=articles' matches all knowledge - // bases whose display name contains "articles" and whose language code is - // "en-gb". + // - 'language_code=en-us' matches knowledge bases with en-us language code. + // - 'display_name:articles' matches knowledge bases whose display name + // contains "articles". + // - 'display_name:"Best Articles"' matches knowledge bases whose display + // name contains "Best Articles". + // - 'language_code=en-gb AND display_name=articles' matches all knowledge + // bases whose display name contains "articles" and whose language code is + // "en-gb". // // Note: An empty filter string (i.e. "") is a no-op and will result in no // filtering. diff --git a/dialogflow/apiv2/dialogflowpb/participant.pb.go b/dialogflow/apiv2/dialogflowpb/participant.pb.go index 5ec23bae6fa..607ea7e7df3 100755 --- a/dialogflow/apiv2/dialogflowpb/participant.pb.go +++ b/dialogflow/apiv2/dialogflowpb/participant.pb.go @@ -179,18 +179,18 @@ type Participant struct { // // You can specify a user id as follows: // - // 1. If you set this field in - // [CreateParticipantRequest][google.cloud.dialogflow.v2.CreateParticipantRequest.participant] - // or - // [UpdateParticipantRequest][google.cloud.dialogflow.v2.UpdateParticipantRequest.participant], - // Dialogflow adds the obfuscated user id with the participant. + // 1. If you set this field in + // [CreateParticipantRequest][google.cloud.dialogflow.v2.CreateParticipantRequest.participant] + // or + // [UpdateParticipantRequest][google.cloud.dialogflow.v2.UpdateParticipantRequest.participant], + // Dialogflow adds the obfuscated user id with the participant. // - // 2. If you set this field in - // [AnalyzeContent][google.cloud.dialogflow.v2.AnalyzeContentRequest.obfuscated_external_user_id] - // or - // [StreamingAnalyzeContent][google.cloud.dialogflow.v2.StreamingAnalyzeContentRequest.obfuscated_external_user_id], - // Dialogflow will update - // [Participant.obfuscated_external_user_id][google.cloud.dialogflow.v2.Participant.obfuscated_external_user_id]. + // 2. If you set this field in + // [AnalyzeContent][google.cloud.dialogflow.v2.AnalyzeContentRequest.obfuscated_external_user_id] + // or + // [StreamingAnalyzeContent][google.cloud.dialogflow.v2.StreamingAnalyzeContentRequest.obfuscated_external_user_id], + // Dialogflow will update + // [Participant.obfuscated_external_user_id][google.cloud.dialogflow.v2.Participant.obfuscated_external_user_id]. // // Dialogflow returns an error if you try to add a user id for a // non-[END_USER][google.cloud.dialogflow.v2.Participant.Role.END_USER] @@ -202,11 +202,11 @@ type Participant struct { // // Note: // - // * Please never pass raw user ids to Dialogflow. Always obfuscate your user - // id first. - // * Dialogflow only accepts a UTF-8 encoded string, e.g., a hex digest of a - // hash function like SHA-512. - // * The length of the user id must be <= 256 characters. + // - Please never pass raw user ids to Dialogflow. Always obfuscate your user + // id first. + // - Dialogflow only accepts a UTF-8 encoded string, e.g., a hex digest of a + // hash function like SHA-512. + // - The length of the user id must be <= 256 characters. ObfuscatedExternalUserId string `protobuf:"bytes,7,opt,name=obfuscated_external_user_id,json=obfuscatedExternalUserId,proto3" json:"obfuscated_external_user_id,omitempty"` // Optional. Key-value filters on the metadata of documents returned by // article suggestion. If specified, article suggestion only returns suggested @@ -216,14 +216,17 @@ type Participant struct { // filters to match all documents that have 'US' or 'CA' in their market // metadata values and 'agent' in their user metadata values will be // ``` - // documents_metadata_filters { - // key: "market" - // value: "US,CA" - // } - // documents_metadata_filters { - // key: "user" - // value: "agent" - // } + // + // documents_metadata_filters { + // key: "market" + // value: "US,CA" + // } + // + // documents_metadata_filters { + // key: "user" + // value: "agent" + // } + // // ``` DocumentsMetadataFilters map[string]string `protobuf:"bytes,8,rep,name=documents_metadata_filters,json=documentsMetadataFilters,proto3" json:"documents_metadata_filters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -738,6 +741,7 @@ type AnalyzeContentRequest struct { // Required. The input content. // // Types that are assignable to Input: + // // *AnalyzeContentRequest_TextInput // *AnalyzeContentRequest_EventInput // *AnalyzeContentRequest_SuggestionInput @@ -955,10 +959,10 @@ type AnalyzeContentResponse struct { // The audio data bytes encoded as specified in the request. // This field is set if: // - // - `reply_audio_config` was specified in the request, or - // - The automated agent responded with audio to play to the user. In such - // case, `reply_audio.config` contains settings used to synthesize the - // speech. + // - `reply_audio_config` was specified in the request, or + // - The automated agent responded with audio to play to the user. In such + // case, `reply_audio.config` contains settings used to synthesize the + // speech. // // In some scenarios, multiple output audio fields may be present in the // response structure. In these cases, only the top-most-level audio output @@ -1130,6 +1134,7 @@ type StreamingAnalyzeContentRequest struct { // The input config. // // Types that are assignable to Config: + // // *StreamingAnalyzeContentRequest_AudioConfig // *StreamingAnalyzeContentRequest_TextConfig Config isStreamingAnalyzeContentRequest_Config `protobuf_oneof:"config"` @@ -1142,6 +1147,7 @@ type StreamingAnalyzeContentRequest struct { // The input. // // Types that are assignable to Input: + // // *StreamingAnalyzeContentRequest_InputAudio // *StreamingAnalyzeContentRequest_InputText // *StreamingAnalyzeContentRequest_InputDtmf @@ -1168,8 +1174,8 @@ type StreamingAnalyzeContentRequest struct { // [AudioEncoding.AUDIO_ENCODING_LINEAR_16][google.cloud.dialogflow.v2.AudioEncoding.AUDIO_ENCODING_LINEAR_16] // and // [AudioEncoding.AUDIO_ENCODING_MULAW][google.cloud.dialogflow.v2.AudioEncoding.AUDIO_ENCODING_MULAW] - // - Lifecycle: conversation should be in `Assist Stage`, go to - // [Conversation.CreateConversation][] for more information. + // - Lifecycle: conversation should be in `Assist Stage`, go to + // [Conversation.CreateConversation][] for more information. // // InvalidArgument Error will be returned if the one of restriction checks // failed. @@ -1410,10 +1416,10 @@ type StreamingAnalyzeContentResponse struct { // The audio data bytes encoded as specified in the request. // This field is set if: // - // - The `reply_audio_config` field is specified in the request. - // - The automated agent, which this output comes from, responded with audio. - // In such case, the `reply_audio.config` field contains settings used to - // synthesize the speech. + // - The `reply_audio_config` field is specified in the request. + // - The automated agent, which this output comes from, responded with audio. + // In such case, the `reply_audio.config` field contains settings used to + // synthesize the speech. // // In some scenarios, multiple output audio fields may be present in the // response structure. In these cases, only the top-most-level audio output @@ -2457,6 +2463,7 @@ type IntentSuggestion struct { // The name of the intent. // // Types that are assignable to Intent: + // // *IntentSuggestion_IntentV2 Intent isIntentSuggestion_Intent `protobuf_oneof:"intent"` // Human readable description for better understanding an intent like its @@ -2546,6 +2553,7 @@ type DialogflowAssistAnswer struct { // Result from DetectIntent for one matched intent. // // Types that are assignable to Result: + // // *DialogflowAssistAnswer_QueryResult // *DialogflowAssistAnswer_IntentSuggestion Result isDialogflowAssistAnswer_Result `protobuf_oneof:"result"` @@ -2648,6 +2656,7 @@ type SuggestionResult struct { // Different type of suggestion response. // // Types that are assignable to SuggestionResponse: + // // *SuggestionResult_Error // *SuggestionResult_SuggestArticlesResponse // *SuggestionResult_SuggestFaqAnswersResponse @@ -2825,10 +2834,12 @@ type AnnotatedMessagePart struct { // this message part. For example for a system entity of type // `@sys.unit-currency`, this may contain: //
-	// {
-	//   "amount": 5,
-	//   "currency": "USD"
-	// }
+	//
+	//	{
+	//	  "amount": 5,
+	//	  "currency": "USD"
+	//	}
+	//
 	// 
FormattedValue *structpb.Value `protobuf:"bytes,3,opt,name=formatted_value,json=formattedValue,proto3" json:"formatted_value,omitempty"` } @@ -3014,14 +3025,17 @@ type AssistQueryParameters struct { // filters to match all documents that have 'US' or 'CA' in their market // metadata values and 'agent' in their user metadata values will be // ``` - // documents_metadata_filters { - // key: "market" - // value: "US,CA" - // } - // documents_metadata_filters { - // key: "user" - // value: "agent" - // } + // + // documents_metadata_filters { + // key: "market" + // value: "US,CA" + // } + // + // documents_metadata_filters { + // key: "user" + // value: "agent" + // } + // // ``` DocumentsMetadataFilters map[string]string `protobuf:"bytes,1,rep,name=documents_metadata_filters,json=documentsMetadataFilters,proto3" json:"documents_metadata_filters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } diff --git a/dialogflow/apiv2/dialogflowpb/session.pb.go b/dialogflow/apiv2/dialogflowpb/session.pb.go index c63925ba74f..8dfb36642ff 100755 --- a/dialogflow/apiv2/dialogflowpb/session.pb.go +++ b/dialogflow/apiv2/dialogflowpb/session.pb.go @@ -490,6 +490,7 @@ type QueryInput struct { // Required. The input specification. // // Types that are assignable to Input: + // // *QueryInput_AudioConfig // *QueryInput_Text // *QueryInput_Event @@ -590,13 +591,13 @@ type QueryResult struct { // The original conversational query text: // - // - If natural language text was provided as input, `query_text` contains - // a copy of the input. - // - If natural language speech audio was provided as input, `query_text` - // contains the speech recognition result. If speech recognizer produced - // multiple alternatives, a particular one is picked. - // - If automatic spell correction is enabled, `query_text` will contain the - // corrected user input. + // - If natural language text was provided as input, `query_text` contains + // a copy of the input. + // - If natural language speech audio was provided as input, `query_text` + // contains the speech recognition result. If speech recognizer produced + // multiple alternatives, a particular one is picked. + // - If automatic spell correction is enabled, `query_text` will contain the + // corrected user input. QueryText string `protobuf:"bytes,1,opt,name=query_text,json=queryText,proto3" json:"query_text,omitempty"` // The language that was triggered during intent detection. // See [Language @@ -632,10 +633,10 @@ type QueryResult struct { Parameters *structpb.Struct `protobuf:"bytes,4,opt,name=parameters,proto3" json:"parameters,omitempty"` // This field is set to: // - // - `false` if the matched intent has required parameters and not all of - // the required parameter values have been collected. - // - `true` if all required parameter values have been collected, or if the - // matched intent doesn't contain any required parameters. + // - `false` if the matched intent has required parameters and not all of + // the required parameter values have been collected. + // - `true` if all required parameter values have been collected, or if the + // matched intent doesn't contain any required parameters. AllRequiredParamsPresent bool `protobuf:"varint,5,opt,name=all_required_params_present,json=allRequiredParamsPresent,proto3" json:"all_required_params_present,omitempty"` // Indicates whether the conversational query triggers a cancellation for slot // filling. For more information, see the [cancel slot filling diff --git a/dialogflow/apiv2/dialogflowpb/version.pb.go b/dialogflow/apiv2/dialogflowpb/version.pb.go index 8a3f6134862..0434df04114 100755 --- a/dialogflow/apiv2/dialogflowpb/version.pb.go +++ b/dialogflow/apiv2/dialogflowpb/version.pb.go @@ -126,9 +126,9 @@ type Version struct { // Output only. The unique identifier of this agent version. // Supported formats: // - // - `projects//agent/versions/` - // - `projects//locations//agent/versions/` + // - `projects//agent/versions/` + // - `projects//locations//agent/versions/` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. The developer-provided description of this version. Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` @@ -354,9 +354,9 @@ type GetVersionRequest struct { // Required. The name of the version. // Supported formats: // - // - `projects//agent/versions/` - // - `projects//locations//agent/versions/` + // - `projects//agent/versions/` + // - `projects//locations//agent/versions/` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -472,9 +472,9 @@ type UpdateVersionRequest struct { // Required. The version to update. // Supported formats: // - // - `projects//agent/versions/` - // - `projects//locations//agent/versions/` + // - `projects//agent/versions/` + // - `projects//locations//agent/versions/` Version *Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // Required. The mask to control which fields get updated. UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` @@ -536,9 +536,9 @@ type DeleteVersionRequest struct { // Required. The name of the version to delete. // Supported formats: // - // - `projects//agent/versions/` - // - `projects//locations//agent/versions/` + // - `projects//agent/versions/` + // - `projects//locations//agent/versions/` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } diff --git a/dialogflow/apiv2/dialogflowpb/webhook.pb.go b/dialogflow/apiv2/dialogflowpb/webhook.pb.go index 3a628eeb7ab..64dde7f166c 100755 --- a/dialogflow/apiv2/dialogflowpb/webhook.pb.go +++ b/dialogflow/apiv2/dialogflowpb/webhook.pb.go @@ -287,11 +287,13 @@ type OriginalDetectIntentRequest struct { // // In particular, for the Dialogflow Phone Gateway integration, this field has // the form: - //
{
-	//  "telephony": {
-	//    "caller_id": "+18558363987"
-	//  }
-	// }
+ // + //
{
+	//	 "telephony": {
+	//	   "caller_id": "+18558363987"
+	//	 }
+	//	}
+ // // Note: The caller ID field (`caller_id`) will be redacted for Trial // Edition agents and populated with the caller ID in [E.164 // format](https://en.wikipedia.org/wiki/E.164) for Essentials Edition agents. diff --git a/dialogflow/apiv2beta1/dialogflowpb/agent.pb.go b/dialogflow/apiv2beta1/dialogflowpb/agent.pb.go index a0dcff4c7e3..b437529e13a 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/agent.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/agent.pb.go @@ -232,7 +232,8 @@ type Agent struct { // Required. The project of this agent. // Format: `projects/` or - // `projects//locations/` + // + // `projects//locations/` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The name of this agent. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -407,7 +408,8 @@ type GetAgentRequest struct { // Required. The project that the agent to fetch is associated with. // Format: `projects/` or - // `projects//locations/`. + // + // `projects//locations/`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` } @@ -518,7 +520,8 @@ type DeleteAgentRequest struct { // Required. The project that the agent to delete is associated with. // Format: `projects/` or - // `projects//locations/`. + // + // `projects//locations/`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` } @@ -569,7 +572,8 @@ type SubAgent struct { // Required. The project of this agent. // Format: `projects/` or - // `projects//locations/`. + // + // `projects//locations/`. Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` // Optional. The unique identifier (`environment name` in dialogflow console) // of this sub-agent environment. Assumes draft environment if `environment` @@ -632,7 +636,8 @@ type SearchAgentsRequest struct { // Required. The project to list agents from. // Format: `projects/` or - // `projects//locations/`. + // + // `projects//locations/`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. The maximum number of items to return in a single page. By // default 100 and at most 1000. @@ -764,7 +769,8 @@ type TrainAgentRequest struct { // Required. The project that the agent to train is associated with. // Format: `projects/` or - // `projects//locations/`. + // + // `projects//locations/`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` } @@ -816,7 +822,8 @@ type ExportAgentRequest struct { // Required. The project that the agent to export is associated with. // Format: `projects/` or - // `projects//locations/`. + // + // `projects//locations/`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. The // [Google Cloud Storage](https://cloud.google.com/storage/docs/) @@ -888,6 +895,7 @@ type ExportAgentResponse struct { // The exported agent. // // Types that are assignable to Agent: + // // *ExportAgentResponse_AgentUri // *ExportAgentResponse_AgentContent Agent isExportAgentResponse_Agent `protobuf_oneof:"agent"` @@ -974,11 +982,13 @@ type ImportAgentRequest struct { // Required. The project that the agent to import is associated with. // Format: `projects/` or - // `projects//locations/`. + // + // `projects//locations/`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The agent to import. // // Types that are assignable to Agent: + // // *ImportAgentRequest_AgentUri // *ImportAgentRequest_AgentContent Agent isImportAgentRequest_Agent `protobuf_oneof:"agent"` @@ -1078,11 +1088,13 @@ type RestoreAgentRequest struct { // Required. The project that the agent to restore is associated with. // Format: `projects/` or - // `projects//locations/`. + // + // `projects//locations/`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The agent to restore. // // Types that are assignable to Agent: + // // *RestoreAgentRequest_AgentUri // *RestoreAgentRequest_AgentContent Agent isRestoreAgentRequest_Agent `protobuf_oneof:"agent"` @@ -1182,7 +1194,8 @@ type GetValidationResultRequest struct { // Required. The project that the agent is associated with. // Format: `projects/` or - // `projects//locations/`. + // + // `projects//locations/`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. The language for which you want a validation result. If not // specified, the agent's default language is used. [Many @@ -1884,10 +1897,10 @@ type AgentsClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -1899,9 +1912,10 @@ type AgentsClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ExportAgentResponse][google.cloud.dialogflow.v2beta1.ExportAgentResponse] ExportAgent(ctx context.Context, in *ExportAgentRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Imports the specified agent from a ZIP file. @@ -1920,10 +1934,10 @@ type AgentsClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // The operation only tracks when importing is complete, not when it is done // training. @@ -1946,10 +1960,10 @@ type AgentsClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // The operation only tracks when restoring is complete, not when it is done // training. @@ -2077,10 +2091,10 @@ type AgentsServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -2092,9 +2106,10 @@ type AgentsServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ExportAgentResponse][google.cloud.dialogflow.v2beta1.ExportAgentResponse] ExportAgent(context.Context, *ExportAgentRequest) (*longrunningpb.Operation, error) // Imports the specified agent from a ZIP file. @@ -2113,10 +2128,10 @@ type AgentsServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // The operation only tracks when importing is complete, not when it is done // training. @@ -2139,10 +2154,10 @@ type AgentsServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // The operation only tracks when restoring is complete, not when it is done // training. diff --git a/dialogflow/apiv2beta1/dialogflowpb/answer_record.pb.go b/dialogflow/apiv2beta1/dialogflowpb/answer_record.pb.go index 7504afc2f56..21fb361598c 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/answer_record.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/answer_record.pb.go @@ -307,6 +307,7 @@ type AnswerRecord struct { // Output only. The record for this answer. // // Types that are assignable to Record: + // // *AnswerRecord_AgentAssistantRecord Record isAnswerRecord_Record `protobuf_oneof:"record"` } @@ -391,6 +392,7 @@ type AgentAssistantRecord struct { // Output only. The agent assistant answer. // // Types that are assignable to Answer: + // // *AgentAssistantRecord_ArticleSuggestionAnswer // *AgentAssistantRecord_FaqAnswer // *AgentAssistantRecord_DialogflowAssistAnswer @@ -494,6 +496,7 @@ type AnswerFeedback struct { // Normally, detail feedback is provided when answer is not fully correct. // // Types that are assignable to DetailFeedback: + // // *AnswerFeedback_AgentAssistantDetailFeedback DetailFeedback isAnswerFeedback_DetailFeedback `protobuf_oneof:"detail_feedback"` // Indicates whether the answer/item was clicked by the human agent @@ -612,20 +615,20 @@ type AgentAssistantFeedback struct { // // For example: // - // * Query: "Can I change my mailing address?" - // * Suggested document says: "Items must be returned/exchanged within 60 - // days of the purchase date." - // * [answer_relevance][google.cloud.dialogflow.v2beta1.AgentAssistantFeedback.answer_relevance]: [AnswerRelevance.IRRELEVANT][google.cloud.dialogflow.v2beta1.AgentAssistantFeedback.AnswerRelevance.IRRELEVANT] + // - Query: "Can I change my mailing address?" + // - Suggested document says: "Items must be returned/exchanged within 60 + // days of the purchase date." + // - [answer_relevance][google.cloud.dialogflow.v2beta1.AgentAssistantFeedback.answer_relevance]: [AnswerRelevance.IRRELEVANT][google.cloud.dialogflow.v2beta1.AgentAssistantFeedback.AnswerRelevance.IRRELEVANT] AnswerRelevance AgentAssistantFeedback_AnswerRelevance `protobuf:"varint,1,opt,name=answer_relevance,json=answerRelevance,proto3,enum=google.cloud.dialogflow.v2beta1.AgentAssistantFeedback_AnswerRelevance" json:"answer_relevance,omitempty"` // Optional. Whether or not the information in the document is correct. // // For example: // - // * Query: "Can I return the package in 2 days once received?" - // * Suggested document says: "Items must be returned/exchanged within 60 - // days of the purchase date." - // * Ground truth: "No return or exchange is allowed." - // * [document_correctness]: INCORRECT + // - Query: "Can I return the package in 2 days once received?" + // - Suggested document says: "Items must be returned/exchanged within 60 + // days of the purchase date." + // - Ground truth: "No return or exchange is allowed." + // - [document_correctness]: INCORRECT DocumentCorrectness AgentAssistantFeedback_DocumentCorrectness `protobuf:"varint,2,opt,name=document_correctness,json=documentCorrectness,proto3,enum=google.cloud.dialogflow.v2beta1.AgentAssistantFeedback_DocumentCorrectness" json:"document_correctness,omitempty"` // Optional. Whether or not the suggested document is efficient. For example, // if the document is poorly written, hard to understand, hard to use or diff --git a/dialogflow/apiv2beta1/dialogflowpb/audio_config.pb.go b/dialogflow/apiv2beta1/dialogflowpb/audio_config.pb.go index 34f16452271..60a6307bb1f 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/audio_config.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/audio_config.pb.go @@ -270,18 +270,18 @@ const ( SpeechModelVariant_USE_STANDARD SpeechModelVariant = 2 // Use an enhanced model variant: // - // * If an enhanced variant does not exist for the given - // [model][google.cloud.dialogflow.v2beta1.InputAudioConfig.model] and - // request language, Dialogflow falls back to the standard variant. + // - If an enhanced variant does not exist for the given + // [model][google.cloud.dialogflow.v2beta1.InputAudioConfig.model] and + // request language, Dialogflow falls back to the standard variant. // - // The [Cloud Speech - // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) - // describes which models have enhanced variants. + // The [Cloud Speech + // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) + // describes which models have enhanced variants. // - // * If the API caller isn't eligible for enhanced models, Dialogflow returns - // an error. Please see the [Dialogflow - // docs](https://cloud.google.com/dialogflow/docs/data-logging) - // for how to make your project eligible. + // - If the API caller isn't eligible for enhanced models, Dialogflow returns + // an error. Please see the [Dialogflow + // docs](https://cloud.google.com/dialogflow/docs/data-logging) + // for how to make your project eligible. SpeechModelVariant_USE_ENHANCED SpeechModelVariant = 3 ) @@ -468,10 +468,10 @@ type SpeechContext struct { // // This list can be used to: // - // * improve accuracy for words and phrases you expect the user to say, - // e.g. typical commands for your Dialogflow agent - // * add additional words to the speech recognizer vocabulary - // * ... + // - improve accuracy for words and phrases you expect the user to say, + // e.g. typical commands for your Dialogflow agent + // - add additional words to the speech recognizer vocabulary + // - ... // // See the [Cloud Speech // documentation](https://cloud.google.com/speech-to-text/quotas) for usage @@ -479,10 +479,10 @@ type SpeechContext struct { Phrases []string `protobuf:"bytes,1,rep,name=phrases,proto3" json:"phrases,omitempty"` // Optional. Boost for this context compared to other contexts: // - // * If the boost is positive, Dialogflow will increase the probability that - // the phrases in this context are recognized over similar sounding phrases. - // * If the boost is unspecified or non-positive, Dialogflow will not apply - // any boost. + // - If the boost is positive, Dialogflow will increase the probability that + // the phrases in this context are recognized over similar sounding phrases. + // - If the boost is unspecified or non-positive, Dialogflow will not apply + // any boost. // // Dialogflow recommends that you use boosts in the range (0, 20] and that you // find a value that fits your use case with binary search. diff --git a/dialogflow/apiv2beta1/dialogflowpb/context.pb.go b/dialogflow/apiv2beta1/dialogflowpb/context.pb.go index f2a48bd76c2..53f763e3553 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/context.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/context.pb.go @@ -64,15 +64,15 @@ type Context struct { unknownFields protoimpl.UnknownFields // Required. The unique identifier of the context. Supported formats: - // - `projects//agent/sessions//contexts/`, - // - `projects//locations//agent/sessions//contexts/`, - // - `projects//agent/environments//users//sessions//contexts/`, - // - `projects//locations//agent/environments//users//sessions//contexts/`, + // - `projects//agent/sessions//contexts/`, + // - `projects//locations//agent/sessions//contexts/`, + // - `projects//agent/environments//users//sessions//contexts/`, + // - `projects//locations//agent/environments//users//sessions//contexts/`, // // The `Context ID` is always converted to lowercase, may only contain // characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. @@ -170,14 +170,14 @@ type ListContextsRequest struct { unknownFields protoimpl.UnknownFields // Required. The session to list all contexts from. Supported formats: - // - `projects//agent/sessions/, - // - `projects//locations//agent/sessions/`, - // - `projects//agent/environments//users//sessions/`, - // - `projects//locations//agent/environments//users//sessions/`, + // - `projects//agent/sessions/, + // - `projects//locations//agent/sessions/`, + // - `projects//agent/environments//users//sessions/`, + // - `projects//locations//agent/environments//users//sessions/`, // // If `Location ID` is not specified we assume default 'us' location. If // `Environment ID` is not specified, we assume default 'draft' environment. @@ -312,15 +312,15 @@ type GetContextRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the context. Supported formats: - // - `projects//agent/sessions//contexts/`, - // - `projects//locations//agent/sessions//contexts/`, - // - `projects//agent/environments//users//sessions//contexts/`, - // - `projects//locations//agent/environments//users//sessions//contexts/`, + // - `projects//agent/sessions//contexts/`, + // - `projects//locations//agent/sessions//contexts/`, + // - `projects//agent/environments//users//sessions//contexts/`, + // - `projects//locations//agent/environments//users//sessions//contexts/`, // // If `Location ID` is not specified we assume default 'us' location. If // `Environment ID` is not specified, we assume default 'draft' environment. @@ -375,14 +375,14 @@ type CreateContextRequest struct { unknownFields protoimpl.UnknownFields // Required. The session to create a context for. Supported formats: - // - `projects//agent/sessions/, - // - `projects//locations//agent/sessions/`, - // - `projects//agent/environments//users//sessions/`, - // - `projects//locations//agent/environments//users//sessions/`, + // - `projects//agent/sessions/, + // - `projects//locations//agent/sessions/`, + // - `projects//agent/environments//users//sessions/`, + // - `projects//locations//agent/environments//users//sessions/`, // // If `Location ID` is not specified we assume default 'us' location. If // `Environment ID` is not specified, we assume default 'draft' environment. @@ -505,15 +505,15 @@ type DeleteContextRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the context to delete. Supported formats: - // - `projects//agent/sessions//contexts/`, - // - `projects//locations//agent/sessions//contexts/`, - // - `projects//agent/environments//users//sessions//contexts/`, - // - `projects//locations//agent/environments//users//sessions//contexts/`, + // - `projects//agent/sessions//contexts/`, + // - `projects//locations//agent/sessions//contexts/`, + // - `projects//agent/environments//users//sessions//contexts/`, + // - `projects//locations//agent/environments//users//sessions//contexts/`, // // If `Location ID` is not specified we assume default 'us' location. If // `Environment ID` is not specified, we assume default 'draft' environment. @@ -569,14 +569,14 @@ type DeleteAllContextsRequest struct { // Required. The name of the session to delete all contexts from. Supported // formats: - // - `projects//agent/sessions/, - // - `projects//locations//agent/sessions/`, - // - `projects//agent/environments//users//sessions/`, - // - `projects//locations//agent/environments//users//sessions/`, + // - `projects//agent/sessions/, + // - `projects//locations//agent/sessions/`, + // - `projects//agent/environments//users//sessions/`, + // - `projects//locations//agent/environments//users//sessions/`, // // If `Location ID` is not specified we assume default 'us' location. If // `Environment ID` is not specified we assume default 'draft' environment. If diff --git a/dialogflow/apiv2beta1/dialogflowpb/conversation.pb.go b/dialogflow/apiv2beta1/dialogflowpb/conversation.pb.go index 2443f1c6b44..9b06514f570 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/conversation.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/conversation.pb.go @@ -483,11 +483,13 @@ type ListConversationsRequest struct { // general, the expression must specify the field name, a comparison operator, // and the value to use for filtering: //
    - //
  • The value must be a string, a number, or a boolean.
  • - //
  • The comparison operator must be either `=`,`!=`, `>`, or `<`.
  • - //
  • To filter on multiple expressions, separate the - // expressions with `AND` or `OR` (omitting both implies `AND`).
  • - //
  • For clarity, expressions can be enclosed in parentheses.
  • + // + //
  • The value must be a string, a number, or a boolean.
  • + //
  • The comparison operator must be either `=`,`!=`, `>`, or `<`.
  • + //
  • To filter on multiple expressions, separate the + // expressions with `AND` or `OR` (omitting both implies `AND`).
  • + //
  • For clarity, expressions can be enclosed in parentheses.
  • + // //
// Only `lifecycle_state` can be filtered on in this way. For example, // the following expression only returns `COMPLETED` conversations: diff --git a/dialogflow/apiv2beta1/dialogflowpb/conversation_event.pb.go b/dialogflow/apiv2beta1/dialogflowpb/conversation_event.pb.go index 3a300d717f0..639873ac710 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/conversation_event.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/conversation_event.pb.go @@ -134,6 +134,7 @@ type ConversationEvent struct { // Payload of conversation event. // // Types that are assignable to Payload: + // // *ConversationEvent_NewMessagePayload Payload isConversationEvent_Payload `protobuf_oneof:"payload"` } diff --git a/dialogflow/apiv2beta1/dialogflowpb/conversation_profile.pb.go b/dialogflow/apiv2beta1/dialogflowpb/conversation_profile.pb.go index 2dda92e52b5..e929315013b 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/conversation_profile.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/conversation_profile.pb.go @@ -540,6 +540,7 @@ type HumanAgentHandoffConfig struct { // Required. Specifies which agent service to connect for human agent handoff. // // Types that are assignable to AgentService: + // // *HumanAgentHandoffConfig_LivePersonConfig_ // *HumanAgentHandoffConfig_SalesforceLiveAgentConfig_ AgentService isHumanAgentHandoffConfig_AgentService `protobuf_oneof:"agent_service"` @@ -1660,6 +1661,7 @@ type HumanAgentAssistantConfig_SuggestionQueryConfig struct { // Source of query. // // Types that are assignable to QuerySource: + // // *HumanAgentAssistantConfig_SuggestionQueryConfig_KnowledgeBaseQuerySource_ // *HumanAgentAssistantConfig_SuggestionQueryConfig_DocumentQuerySource_ // *HumanAgentAssistantConfig_SuggestionQueryConfig_DialogflowQuerySource_ @@ -1830,11 +1832,12 @@ type HumanAgentAssistantConfig_ConversationModelConfig struct { // Version of current baseline model. It will be ignored if // [model][google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.ConversationModelConfig.model] // is set. Valid versions are: - // Article Suggestion baseline model: - // - 0.9 - // - 1.0 (default) - // Summarization baseline model: - // - 1.0 + // + // Article Suggestion baseline model: + // - 0.9 + // - 1.0 (default) + // Summarization baseline model: + // - 1.0 BaselineModelVersion string `protobuf:"bytes,8,opt,name=baseline_model_version,json=baselineModelVersion,proto3" json:"baseline_model_version,omitempty"` } diff --git a/dialogflow/apiv2beta1/dialogflowpb/document.pb.go b/dialogflow/apiv2beta1/dialogflowpb/document.pb.go index 12cc54ecb66..af64c1fa1a1 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/document.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/document.pb.go @@ -268,6 +268,7 @@ type Document struct { // The source of this document. // // Types that are assignable to Source: + // // *Document_ContentUri // *Document_Content // *Document_RawContent @@ -529,7 +530,7 @@ type ListDocumentsRequest struct { // The filter expression used to filter documents returned by the list method. // The expression has the following syntax: // - // [AND ] ... + // [AND ] ... // // The following fields and operators are supported: // @@ -539,11 +540,11 @@ type ListDocumentsRequest struct { // // Examples: // - // * "knowledge_types:FAQ" matches documents with FAQ knowledge type. - // * "display_name:customer" matches documents whose display name contains - // "customer". - // * "state=ACTIVE" matches documents with ACTIVE state. - // * "knowledge_types:FAQ AND state=ACTIVE" matches all active FAQ documents. + // - "knowledge_types:FAQ" matches documents with FAQ knowledge type. + // - "display_name:customer" matches documents whose display name contains + // "customer". + // - "state=ACTIVE" matches documents with ACTIVE state. + // - "knowledge_types:FAQ AND state=ACTIVE" matches all active FAQ documents. // // For more information about filtering, see // [API Filtering](https://aip.dev/160). @@ -762,6 +763,7 @@ type ImportDocumentsRequest struct { // import more, Dialogflow will return an error. // // Types that are assignable to Source: + // // *ImportDocumentsRequest_GcsSource Source isImportDocumentsRequest_Source `protobuf_oneof:"source"` // Required. Document template used for importing all the documents. @@ -1149,6 +1151,7 @@ type KnowledgeOperationMetadata struct { // Additional metadata for the Knowledge operation. // // Types that are assignable to OperationMetadata: + // // *KnowledgeOperationMetadata_ExportOperationMetadata OperationMetadata isKnowledgeOperationMetadata_OperationMetadata `protobuf_oneof:"operation_metadata"` } @@ -1246,6 +1249,7 @@ type ReloadDocumentRequest struct { // please delete the existing document and create a new one instead. // // Types that are assignable to Source: + // // *ReloadDocumentRequest_GcsSource Source isReloadDocumentRequest_Source `protobuf_oneof:"source"` // Whether to import custom metadata from Google Cloud Storage. @@ -2177,8 +2181,8 @@ type DocumentsClient interface { // // - `metadata`: // [KnowledgeOperationMetadata][google.cloud.dialogflow.v2beta1.KnowledgeOperationMetadata] - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; // only use `projects.knowledgeBases.documents`. @@ -2334,8 +2338,8 @@ type DocumentsServer interface { // // - `metadata`: // [KnowledgeOperationMetadata][google.cloud.dialogflow.v2beta1.KnowledgeOperationMetadata] - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; // only use `projects.knowledgeBases.documents`. diff --git a/dialogflow/apiv2beta1/dialogflowpb/entity_type.pb.go b/dialogflow/apiv2beta1/dialogflowpb/entity_type.pb.go index d89756fd49e..cc12e5fcc11 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/entity_type.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/entity_type.pb.go @@ -180,9 +180,9 @@ type EntityType struct { // and // [EntityTypes.BatchUpdateEntityTypes][google.cloud.dialogflow.v2beta1.EntityTypes.BatchUpdateEntityTypes] // methods. Supported formats: - // - `projects//agent/entityTypes/` - // - `projects//locations//agent/entityTypes/` + // - `projects//agent/entityTypes/` + // - `projects//locations//agent/entityTypes/` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. The name of the entity type. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -426,9 +426,9 @@ type GetEntityTypeRequest struct { // Required. The name of the entity type. // Supported formats: - // - `projects//agent/entityTypes/` - // - `projects//locations//agent/entityTypes/` + // - `projects//agent/entityTypes/` + // - `projects//locations//agent/entityTypes/` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. The language used to access language-specific data. // If not specified, the agent's default language is used. @@ -640,9 +640,9 @@ type DeleteEntityTypeRequest struct { // Required. The name of the entity type to delete. // Supported formats: - // - `projects//agent/entityTypes/` - // - `projects//locations//agent/entityTypes/` + // - `projects//agent/entityTypes/` + // - `projects//locations//agent/entityTypes/` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -705,6 +705,7 @@ type BatchUpdateEntityTypesRequest struct { // * If `name` is not specified, we create a new entity type. // // Types that are assignable to EntityTypeBatch: + // // *BatchUpdateEntityTypesRequest_EntityTypeBatchUri // *BatchUpdateEntityTypesRequest_EntityTypeBatchInline EntityTypeBatch isBatchUpdateEntityTypesRequest_EntityTypeBatch `protobuf_oneof:"entity_type_batch"` @@ -937,9 +938,9 @@ type BatchCreateEntitiesRequest struct { // Required. The name of the entity type to create entities in. // Supported formats: - // - `projects//agent/entityTypes/` - // - `projects//locations//agent/entityTypes/` + // - `projects//agent/entityTypes/` + // - `projects//locations//agent/entityTypes/` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The entities to create. Entities []*EntityType_Entity `protobuf:"bytes,2,rep,name=entities,proto3" json:"entities,omitempty"` @@ -1013,9 +1014,9 @@ type BatchUpdateEntitiesRequest struct { // Required. The name of the entity type to update or create entities in. // Supported formats: - // - `projects//agent/entityTypes/` - // - `projects//locations//agent/entityTypes/` + // - `projects//agent/entityTypes/` + // - `projects//locations//agent/entityTypes/` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The entities to update or create. Entities []*EntityType_Entity `protobuf:"bytes,2,rep,name=entities,proto3" json:"entities,omitempty"` @@ -1098,9 +1099,9 @@ type BatchDeleteEntitiesRequest struct { // Required. The name of the entity type to delete entries for. // Supported formats: - // - `projects//agent/entityTypes/` - // - `projects//locations//agent/entityTypes/` + // - `projects//agent/entityTypes/` + // - `projects//locations//agent/entityTypes/` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The reference `values` of the entities to delete. Note that // these are not fully-qualified names, i.e. they don't start with @@ -1232,7 +1233,7 @@ type EntityType_Entity struct { // // For `KIND_LIST` entity types: // - // * A string that can contain references to other entity types (with or + // - A string that can contain references to other entity types (with or // without aliases). Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` // Required. A collection of value synonyms. For example, if the entity type @@ -2084,9 +2085,10 @@ type EntityTypesClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [BatchUpdateEntityTypesResponse][google.cloud.dialogflow.v2beta1.BatchUpdateEntityTypesResponse] // // Note: You should always train an agent prior to sending it queries. See the @@ -2099,10 +2101,10 @@ type EntityTypesClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -2114,10 +2116,10 @@ type EntityTypesClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -2135,10 +2137,10 @@ type EntityTypesClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) BatchUpdateEntities(ctx context.Context, in *BatchUpdateEntitiesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Deletes entities in the specified entity type. // @@ -2146,10 +2148,10 @@ type EntityTypesClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -2285,9 +2287,10 @@ type EntityTypesServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [BatchUpdateEntityTypesResponse][google.cloud.dialogflow.v2beta1.BatchUpdateEntityTypesResponse] // // Note: You should always train an agent prior to sending it queries. See the @@ -2300,10 +2303,10 @@ type EntityTypesServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -2315,10 +2318,10 @@ type EntityTypesServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -2336,10 +2339,10 @@ type EntityTypesServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) BatchUpdateEntities(context.Context, *BatchUpdateEntitiesRequest) (*longrunningpb.Operation, error) // Deletes entities in the specified entity type. // @@ -2347,10 +2350,10 @@ type EntityTypesServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training diff --git a/dialogflow/apiv2beta1/dialogflowpb/environment.pb.go b/dialogflow/apiv2beta1/dialogflowpb/environment.pb.go index b6df275e489..8bcc7110118 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/environment.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/environment.pb.go @@ -460,9 +460,9 @@ type GetEnvironmentRequest struct { // Required. The name of the environment. // Supported formats: - // - `projects//agent/environments/` - // - `projects//locations//agent/environments/` + // - `projects//agent/environments/` + // - `projects//locations//agent/environments/` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -710,9 +710,9 @@ type GetEnvironmentHistoryRequest struct { // Required. The name of the environment to retrieve history for. // Supported formats: - // - `projects//agent/environments/` - // - `projects//locations//agent/environments/` + // - `projects//agent/environments/` + // - `projects//locations//agent/environments/` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. The maximum number of items to return in a single page. By // default 100 and at most 1000. @@ -783,9 +783,9 @@ type EnvironmentHistory struct { // Output only. The name of the environment this history is for. // Supported formats: - // - `projects//agent/environments/` - // - `projects//locations//agent/environments/` + // - `projects//agent/environments/` + // - `projects//locations//agent/environments/` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Output only. The list of agent environments. There will be a maximum number // of items returned based on the page_size field in the request. diff --git a/dialogflow/apiv2beta1/dialogflowpb/fulfillment.pb.go b/dialogflow/apiv2beta1/dialogflowpb/fulfillment.pb.go index 9ec5aa43e98..c7a66632e8c 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/fulfillment.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/fulfillment.pb.go @@ -120,6 +120,7 @@ type Fulfillment struct { // Required. The fulfillment configuration. // // Types that are assignable to Fulfillment: + // // *Fulfillment_GenericWebService_ Fulfillment isFulfillment_Fulfillment `protobuf_oneof:"fulfillment"` // Whether fulfillment is enabled. diff --git a/dialogflow/apiv2beta1/dialogflowpb/intent.pb.go b/dialogflow/apiv2beta1/dialogflowpb/intent.pb.go index 5186a6a742e..ead76d3291d 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/intent.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/intent.pb.go @@ -779,11 +779,11 @@ type Intent struct { // Optional. The priority of this intent. Higher numbers represent higher // priorities. // - // - If the supplied value is unspecified or 0, the service - // translates the value to 500,000, which corresponds to the - // `Normal` priority in the console. - // - If the supplied value is negative, the intent is ignored - // in runtime detect intent requests. + // - If the supplied value is unspecified or 0, the service + // translates the value to 500,000, which corresponds to the + // `Normal` priority in the console. + // - If the supplied value is negative, the intent is ignored + // in runtime detect intent requests. Priority int32 `protobuf:"varint,3,opt,name=priority,proto3" json:"priority,omitempty"` // Optional. Indicates whether this is a fallback intent. IsFallback bool `protobuf:"varint,4,opt,name=is_fallback,json=isFallback,proto3" json:"is_fallback,omitempty"` @@ -795,10 +795,10 @@ type Intent struct { // NOTE: If both `ml_enabled` and `ml_disabled` are either not set or false, // then the default value is determined as follows: // - // - Before April 15th, 2018 the default is: - // ml_enabled = false / ml_disabled = true. - // - After April 15th, 2018 the default is: - // ml_enabled = true / ml_disabled = false. + // - Before April 15th, 2018 the default is: + // ml_enabled = false / ml_disabled = true. + // - After April 15th, 2018 the default is: + // ml_enabled = true / ml_disabled = false. // // Deprecated: Marked as deprecated in google/cloud/dialogflow/v2beta1/intent.proto. MlEnabled bool `protobuf:"varint,5,opt,name=ml_enabled,json=mlEnabled,proto3" json:"ml_enabled,omitempty"` @@ -820,9 +820,9 @@ type Intent struct { // triggered. // Formats: // - // - `projects//agent/sessions/-/contexts/` - // - `projects//locations//agent/sessions/-/contexts/` + // - `projects//agent/sessions/-/contexts/` + // - `projects//locations//agent/sessions/-/contexts/` InputContextNames []string `protobuf:"bytes,7,rep,name=input_context_names,json=inputContextNames,proto3" json:"input_context_names,omitempty"` // Optional. The collection of event names that trigger the intent. // If the collection of input contexts is not empty, all of the contexts must @@ -1533,6 +1533,7 @@ type BatchUpdateIntentsRequest struct { // * If `name` is not specified, we create a new intent. // // Types that are assignable to IntentBatch: + // // *BatchUpdateIntentsRequest_IntentBatchUri // *BatchUpdateIntentsRequest_IntentBatchInline IntentBatch isBatchUpdateIntentsRequest_IntentBatch `protobuf_oneof:"intent_batch"` @@ -1839,8 +1840,8 @@ type Intent_TrainingPhrase struct { // If you want to annotate the training phrase, you must create multiple // parts, where the fields of each part are populated in one of two ways: // - // - `Part.text` is set to a part of the phrase that has no parameters. - // - `Part.text` is set to a part of the phrase that you want to annotate, + // - `Part.text` is set to a part of the phrase that has no parameters. + // - `Part.text` is set to a part of the phrase that you want to annotate, // and the `entity_type`, `alias`, and `user_defined` fields are all // set. Parts []*Intent_TrainingPhrase_Part `protobuf:"bytes,3,rep,name=parts,proto3" json:"parts,omitempty"` @@ -1922,11 +1923,11 @@ type Intent_Parameter struct { DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` // Optional. The definition of the parameter value. It can be: // - // - a constant string, - // - a parameter value defined as `$parameter_name`, - // - an original parameter value defined as `$parameter_name.original`, - // - a parameter value from some context defined as - // `#context_name.parameter_name`. + // - a constant string, + // - a parameter value defined as `$parameter_name`, + // - an original parameter value defined as `$parameter_name.original`, + // - a parameter value from some context defined as + // `#context_name.parameter_name`. Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` // Optional. The default value to use when the `value` yields an empty // result. @@ -2045,6 +2046,7 @@ type Intent_Message struct { // Required. The rich response message. // // Types that are assignable to Message: + // // *Intent_Message_Text_ // *Intent_Message_Image_ // *Intent_Message_QuickReplies_ @@ -3405,6 +3407,7 @@ type Intent_Message_TelephonySynthesizeSpeech struct { // Required. The source to be synthesized. // // Types that are assignable to Source: + // // *Intent_Message_TelephonySynthesizeSpeech_Text // *Intent_Message_TelephonySynthesizeSpeech_Ssml Source isIntent_Message_TelephonySynthesizeSpeech_Source `protobuf_oneof:"source"` @@ -3828,6 +3831,7 @@ type Intent_Message_RbmSuggestion struct { // Predefined suggested response or action for user to choose // // Types that are assignable to Suggestion: + // // *Intent_Message_RbmSuggestion_Reply // *Intent_Message_RbmSuggestion_Action Suggestion isIntent_Message_RbmSuggestion_Suggestion `protobuf_oneof:"suggestion"` @@ -3981,6 +3985,7 @@ type Intent_Message_RbmSuggestedAction struct { // Action that needs to be triggered. // // Types that are assignable to Action: + // // *Intent_Message_RbmSuggestedAction_Dial // *Intent_Message_RbmSuggestedAction_OpenUrl // *Intent_Message_RbmSuggestedAction_ShareLocation @@ -5038,6 +5043,7 @@ type Intent_Message_MediaContent_ResponseMediaObject struct { // Image to show with the media card. // // Types that are assignable to Image: + // // *Intent_Message_MediaContent_ResponseMediaObject_LargeImage // *Intent_Message_MediaContent_ResponseMediaObject_Icon Image isIntent_Message_MediaContent_ResponseMediaObject_Image `protobuf_oneof:"image"` @@ -7342,9 +7348,10 @@ type IntentsClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [BatchUpdateIntentsResponse][google.cloud.dialogflow.v2beta1.BatchUpdateIntentsResponse] // // Note: You should always train an agent prior to sending it queries. See the @@ -7357,10 +7364,10 @@ type IntentsClient interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training @@ -7469,9 +7476,10 @@ type IntentsServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [BatchUpdateIntentsResponse][google.cloud.dialogflow.v2beta1.BatchUpdateIntentsResponse] // // Note: You should always train an agent prior to sending it queries. See the @@ -7484,10 +7492,10 @@ type IntentsServer interface { // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train an agent prior to sending it queries. See the // [training diff --git a/dialogflow/apiv2beta1/dialogflowpb/knowledge_base.pb.go b/dialogflow/apiv2beta1/dialogflowpb/knowledge_base.pb.go index a1a0a18d025..7e383fad835 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/knowledge_base.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/knowledge_base.pb.go @@ -142,7 +142,7 @@ type ListKnowledgeBasesRequest struct { // The filter expression used to filter knowledge bases returned by the list // method. The expression has the following syntax: // - // [AND ] ... + // [AND ] ... // // The following fields and operators are supported: // @@ -151,14 +151,14 @@ type ListKnowledgeBasesRequest struct { // // Examples: // - // * 'language_code=en-us' matches knowledge bases with en-us language code. - // * 'display_name:articles' matches knowledge bases whose display name - // contains "articles". - // * 'display_name:"Best Articles"' matches knowledge bases whose display - // name contains "Best Articles". - // * 'language_code=en-gb AND display_name=articles' matches all knowledge - // bases whose display name contains "articles" and whose language code is - // "en-gb". + // - 'language_code=en-us' matches knowledge bases with en-us language code. + // - 'display_name:articles' matches knowledge bases whose display name + // contains "articles". + // - 'display_name:"Best Articles"' matches knowledge bases whose display + // name contains "Best Articles". + // - 'language_code=en-gb AND display_name=articles' matches all knowledge + // bases whose display name contains "articles" and whose language code is + // "en-gb". // // Note: An empty filter string (i.e. "") is a no-op and will result in no // filtering. diff --git a/dialogflow/apiv2beta1/dialogflowpb/participant.pb.go b/dialogflow/apiv2beta1/dialogflowpb/participant.pb.go index fa2cef7177a..8d87bb0ac3d 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/participant.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/participant.pb.go @@ -245,18 +245,18 @@ type Participant struct { // // You can specify a user id as follows: // - // 1. If you set this field in - // [CreateParticipantRequest][google.cloud.dialogflow.v2beta1.CreateParticipantRequest.participant] - // or - // [UpdateParticipantRequest][google.cloud.dialogflow.v2beta1.UpdateParticipantRequest.participant], - // Dialogflow adds the obfuscated user id with the participant. + // 1. If you set this field in + // [CreateParticipantRequest][google.cloud.dialogflow.v2beta1.CreateParticipantRequest.participant] + // or + // [UpdateParticipantRequest][google.cloud.dialogflow.v2beta1.UpdateParticipantRequest.participant], + // Dialogflow adds the obfuscated user id with the participant. // - // 2. If you set this field in - // [AnalyzeContent][google.cloud.dialogflow.v2beta1.AnalyzeContentRequest.obfuscated_external_user_id] - // or - // [StreamingAnalyzeContent][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentRequest.obfuscated_external_user_id], - // Dialogflow will update - // [Participant.obfuscated_external_user_id][google.cloud.dialogflow.v2beta1.Participant.obfuscated_external_user_id]. + // 2. If you set this field in + // [AnalyzeContent][google.cloud.dialogflow.v2beta1.AnalyzeContentRequest.obfuscated_external_user_id] + // or + // [StreamingAnalyzeContent][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentRequest.obfuscated_external_user_id], + // Dialogflow will update + // [Participant.obfuscated_external_user_id][google.cloud.dialogflow.v2beta1.Participant.obfuscated_external_user_id]. // // Dialogflow uses this user id for billing and measurement. If a user with // the same obfuscated_external_user_id is created in a later conversation, @@ -268,11 +268,11 @@ type Participant struct { // // Note: // - // * Please never pass raw user ids to Dialogflow. Always obfuscate your user - // id first. - // * Dialogflow only accepts a UTF-8 encoded string, e.g., a hex digest of a - // hash function like SHA-512. - // * The length of the user id must be <= 256 characters. + // - Please never pass raw user ids to Dialogflow. Always obfuscate your user + // id first. + // - Dialogflow only accepts a UTF-8 encoded string, e.g., a hex digest of a + // hash function like SHA-512. + // - The length of the user id must be <= 256 characters. ObfuscatedExternalUserId string `protobuf:"bytes,7,opt,name=obfuscated_external_user_id,json=obfuscatedExternalUserId,proto3" json:"obfuscated_external_user_id,omitempty"` // Optional. Key-value filters on the metadata of documents returned by // article suggestion. If specified, article suggestion only returns suggested @@ -282,14 +282,17 @@ type Participant struct { // example, filters to match all documents that have 'US' or 'CA' in their // market metadata values and 'agent' in their user metadata values will be // ``` - // documents_metadata_filters { - // key: "market" - // value: "US,CA" - // } - // documents_metadata_filters { - // key: "user" - // value: "agent" - // } + // + // documents_metadata_filters { + // key: "market" + // value: "US,CA" + // } + // + // documents_metadata_filters { + // key: "user" + // value: "agent" + // } + // // ``` DocumentsMetadataFilters map[string]string `protobuf:"bytes,8,rep,name=documents_metadata_filters,json=documentsMetadataFilters,proto3" json:"documents_metadata_filters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -912,6 +915,7 @@ type AutomatedAgentReply struct { // Required. // // Types that are assignable to Response: + // // *AutomatedAgentReply_DetectIntentResponse Response isAutomatedAgentReply_Response `protobuf_oneof:"response"` // Response messages from the automated agent. @@ -919,6 +923,7 @@ type AutomatedAgentReply struct { // Info on the query match for the automated agent response. // // Types that are assignable to Match: + // // *AutomatedAgentReply_Intent // *AutomatedAgentReply_Event Match isAutomatedAgentReply_Match `protobuf_oneof:"match"` @@ -1333,14 +1338,17 @@ type AssistQueryParameters struct { // example, filters to match all documents that have 'US' or 'CA' in their // market metadata values and 'agent' in their user metadata values will be // ``` - // documents_metadata_filters { - // key: "market" - // value: "US,CA" - // } - // documents_metadata_filters { - // key: "user" - // value: "agent" - // } + // + // documents_metadata_filters { + // key: "market" + // value: "US,CA" + // } + // + // documents_metadata_filters { + // key: "user" + // value: "agent" + // } + // // ``` DocumentsMetadataFilters map[string]string `protobuf:"bytes,1,rep,name=documents_metadata_filters,json=documentsMetadataFilters,proto3" json:"documents_metadata_filters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -1398,6 +1406,7 @@ type AnalyzeContentRequest struct { // Required. The input content. // // Types that are assignable to Input: + // // *AnalyzeContentRequest_TextInput // *AnalyzeContentRequest_AudioInput // *AnalyzeContentRequest_EventInput @@ -1674,10 +1683,10 @@ type AnalyzeContentResponse struct { // Optional. The audio data bytes encoded as specified in the request. // This field is set if: // - // - `reply_audio_config` was specified in the request, or - // - The automated agent responded with audio to play to the user. In such - // case, `reply_audio.config` contains settings used to synthesize the - // speech. + // - `reply_audio_config` was specified in the request, or + // - The automated agent responded with audio to play to the user. In such + // case, `reply_audio.config` contains settings used to synthesize the + // speech. // // In some scenarios, multiple output audio fields may be present in the // response structure. In these cases, only the top-most-level audio output @@ -1905,6 +1914,7 @@ type StreamingAnalyzeContentRequest struct { // Required. The input config. // // Types that are assignable to Config: + // // *StreamingAnalyzeContentRequest_AudioConfig // *StreamingAnalyzeContentRequest_TextConfig Config isStreamingAnalyzeContentRequest_Config `protobuf_oneof:"config"` @@ -1917,6 +1927,7 @@ type StreamingAnalyzeContentRequest struct { // Required. The input. // // Types that are assignable to Input: + // // *StreamingAnalyzeContentRequest_InputAudio // *StreamingAnalyzeContentRequest_InputText // *StreamingAnalyzeContentRequest_InputDtmf @@ -1958,8 +1969,8 @@ type StreamingAnalyzeContentRequest struct { // [AudioEncoding.AUDIO_ENCODING_LINEAR_16][google.cloud.dialogflow.v2beta1.AudioEncoding.AUDIO_ENCODING_LINEAR_16] // and // [AudioEncoding.AUDIO_ENCODING_MULAW][google.cloud.dialogflow.v2beta1.AudioEncoding.AUDIO_ENCODING_MULAW] - // - Lifecycle: conversation should be in `Assist Stage`, go to - // [Conversation.CreateConversation][] for more information. + // - Lifecycle: conversation should be in `Assist Stage`, go to + // [Conversation.CreateConversation][] for more information. // // InvalidArgument Error will be returned if the one of restriction checks // failed. @@ -2207,10 +2218,10 @@ type StreamingAnalyzeContentResponse struct { // Optional. The audio data bytes encoded as specified in the request. // This field is set if: // - // - The `reply_audio_config` field is specified in the request. - // - The automated agent, which this output comes from, responded with audio. - // In such case, the `reply_audio.config` field contains settings used to - // synthesize the speech. + // - The `reply_audio_config` field is specified in the request. + // - The automated agent, which this output comes from, responded with audio. + // In such case, the `reply_audio.config` field contains settings used to + // synthesize the speech. // // In some scenarios, multiple output audio fields may be present in the // response structure. In these cases, only the top-most-level audio output @@ -2357,10 +2368,12 @@ type AnnotatedMessagePart struct { // this message part. For example for a system entity of type // `@sys.unit-currency`, this may contain: //
-	// {
-	//   "amount": 5,
-	//   "currency": "USD"
-	// }
+	//
+	//	{
+	//	  "amount": 5,
+	//	  "currency": "USD"
+	//	}
+	//
 	// 
FormattedValue *structpb.Value `protobuf:"bytes,3,opt,name=formatted_value,json=formattedValue,proto3" json:"formatted_value,omitempty"` } @@ -2751,6 +2764,7 @@ type IntentSuggestion struct { // The name of the intent. // // Types that are assignable to Intent: + // // *IntentSuggestion_IntentV2 Intent isIntentSuggestion_Intent `protobuf_oneof:"intent"` // Human readable description for better understanding an intent like its @@ -2841,6 +2855,7 @@ type DialogflowAssistAnswer struct { // Result from DetectIntent for one matched intent. // // Types that are assignable to Result: + // // *DialogflowAssistAnswer_QueryResult // *DialogflowAssistAnswer_IntentSuggestion Result isDialogflowAssistAnswer_Result `protobuf_oneof:"result"` @@ -2943,6 +2958,7 @@ type SuggestionResult struct { // Different type of suggestion response. // // Types that are assignable to SuggestionResponse: + // // *SuggestionResult_Error // *SuggestionResult_SuggestArticlesResponse // *SuggestionResult_SuggestFaqAnswersResponse @@ -4059,6 +4075,7 @@ type ResponseMessage struct { // Required. The rich response message. // // Types that are assignable to Message: + // // *ResponseMessage_Text_ // *ResponseMessage_Payload // *ResponseMessage_LiveAgentHandoff_ @@ -4598,6 +4615,7 @@ type ResponseMessage_TelephonyTransferCall struct { // Endpoint to transfer the call to. // // Types that are assignable to Endpoint: + // // *ResponseMessage_TelephonyTransferCall_PhoneNumber // *ResponseMessage_TelephonyTransferCall_SipUri Endpoint isResponseMessage_TelephonyTransferCall_Endpoint `protobuf_oneof:"endpoint"` @@ -4686,6 +4704,7 @@ type ResponseMessage_MixedAudio_Segment struct { // Content of the segment. // // Types that are assignable to Content: + // // *ResponseMessage_MixedAudio_Segment_Audio // *ResponseMessage_MixedAudio_Segment_Uri Content isResponseMessage_MixedAudio_Segment_Content `protobuf_oneof:"content"` diff --git a/dialogflow/apiv2beta1/dialogflowpb/session.pb.go b/dialogflow/apiv2beta1/dialogflowpb/session.pb.go index 1533f74a9eb..dbdd6ba00d7 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/session.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/session.pb.go @@ -179,14 +179,14 @@ type DetectIntentRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the session this query is sent to. Supported formats: - // - `projects//agent/sessions/, - // - `projects//locations//agent/sessions/`, - // - `projects//agent/environments//users//sessions/`, - // - `projects//locations//agent/environments//users//sessions/`, + // - `projects//agent/sessions/, + // - `projects//locations//agent/sessions/`, + // - `projects//agent/environments//users//sessions/`, + // - `projects//locations//agent/environments//users//sessions/`, // // If `Location ID` is not specified we assume default 'us' location. If // `Environment ID` is not specified, we assume default 'draft' environment @@ -603,6 +603,7 @@ type QueryInput struct { // Required. The input specification. // // Types that are assignable to Input: + // // *QueryInput_AudioConfig // *QueryInput_Text // *QueryInput_Event @@ -717,13 +718,13 @@ type QueryResult struct { // The original conversational query text: // - // - If natural language text was provided as input, `query_text` contains - // a copy of the input. - // - If natural language speech audio was provided as input, `query_text` - // contains the speech recognition result. If speech recognizer produced - // multiple alternatives, a particular one is picked. - // - If automatic spell correction is enabled, `query_text` will contain the - // corrected user input. + // - If natural language text was provided as input, `query_text` contains + // a copy of the input. + // - If natural language speech audio was provided as input, `query_text` + // contains the speech recognition result. If speech recognizer produced + // multiple alternatives, a particular one is picked. + // - If automatic spell correction is enabled, `query_text` will contain the + // corrected user input. QueryText string `protobuf:"bytes,1,opt,name=query_text,json=queryText,proto3" json:"query_text,omitempty"` // The language that was triggered during intent detection. // See [Language @@ -759,10 +760,10 @@ type QueryResult struct { Parameters *structpb.Struct `protobuf:"bytes,4,opt,name=parameters,proto3" json:"parameters,omitempty"` // This field is set to: // - // - `false` if the matched intent has required parameters and not all of - // the required parameter values have been collected. - // - `true` if all required parameter values have been collected, or if the - // matched intent doesn't contain any required parameters. + // - `false` if the matched intent has required parameters and not all of + // the required parameter values have been collected. + // - `true` if all required parameter values have been collected, or if the + // matched intent doesn't contain any required parameters. AllRequiredParamsPresent bool `protobuf:"varint,5,opt,name=all_required_params_present,json=allRequiredParamsPresent,proto3" json:"all_required_params_present,omitempty"` // Indicates whether the conversational query triggers a cancellation for slot // filling. For more information, see the [cancel slot filling @@ -1057,14 +1058,14 @@ type StreamingDetectIntentRequest struct { // Required. The name of the session the query is sent to. // Supported formats: - // - `projects//agent/sessions/, - // - `projects//locations//agent/sessions/`, - // - `projects//agent/environments//users//sessions/`, - // - `projects//locations//agent/environments//users//sessions/`, + // - `projects//agent/sessions/, + // - `projects//locations//agent/sessions/`, + // - `projects//agent/environments//users//sessions/`, + // - `projects//locations//agent/environments//users//sessions/`, // // If `Location ID` is not specified we assume default 'us' location. If // `Environment ID` is not specified, we assume default 'draft' environment. @@ -1637,11 +1638,11 @@ type StreamingRecognitionResult struct { // An estimate of the likelihood that the speech recognizer will // not change its guess about this interim recognition result: // - // * If the value is unspecified or 0.0, Dialogflow didn't compute the - // stability. In particular, Dialogflow will only provide stability for - // `TRANSCRIPT` results with `is_final = false`. - // * Otherwise, the value is in (0.0, 1.0] where 0.0 means completely - // unstable and 1.0 means completely stable. + // - If the value is unspecified or 0.0, Dialogflow didn't compute the + // stability. In particular, Dialogflow will only provide stability for + // `TRANSCRIPT` results with `is_final = false`. + // - Otherwise, the value is in (0.0, 1.0] where 0.0 means completely + // unstable and 1.0 means completely stable. Stability float32 `protobuf:"fixed32,6,opt,name=stability,proto3" json:"stability,omitempty"` // Word-specific information for the words recognized by Speech in // [transcript][google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.transcript]. diff --git a/dialogflow/apiv2beta1/dialogflowpb/session_entity_type.pb.go b/dialogflow/apiv2beta1/dialogflowpb/session_entity_type.pb.go index 6877947237c..7807e037a54 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/session_entity_type.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/session_entity_type.pb.go @@ -120,15 +120,15 @@ type SessionEntityType struct { // Required. The unique identifier of this session entity type. Supported // formats: - // - `projects//agent/sessions//entityTypes/` - // - `projects//locations//agent/sessions//entityTypes/` - // - `projects//agent/environments//users//sessions//entityTypes/` - // - `projects//locations//agent/environments/ - // /users//sessions//entityTypes/` + // - `projects//agent/sessions//entityTypes/` + // - `projects//locations//agent/sessions//entityTypes/` + // - `projects//agent/environments//users//sessions//entityTypes/` + // - `projects//locations//agent/environments/ + // /users//sessions//entityTypes/` // // If `Location ID` is not specified we assume default 'us' location. If // `Environment ID` is not specified, we assume default 'draft' environment. @@ -206,14 +206,14 @@ type ListSessionEntityTypesRequest struct { // Required. The session to list all session entity types from. // Supported formats: - // - `projects//agent/sessions/, - // - `projects//locations//agent/sessions/`, - // - `projects//agent/environments//users//sessions/`, - // - `projects//locations//agent/environments//users//sessions/`, + // - `projects//agent/sessions/, + // - `projects//locations//agent/sessions/`, + // - `projects//agent/environments//users//sessions/`, + // - `projects//locations//agent/environments//users//sessions/`, // // If `Location ID` is not specified we assume default 'us' location. If // `Environment ID` is not specified, we assume default 'draft' environment. @@ -348,15 +348,15 @@ type GetSessionEntityTypeRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the session entity type. Supported formats: - // - `projects//agent/sessions//entityTypes/` - // - `projects//locations//agent/sessions//entityTypes/` - // - `projects//agent/environments//users//sessions//entityTypes/` - // - `projects//locations//agent/environments/ - // /users//sessions//entityTypes/` + // - `projects//agent/sessions//entityTypes/` + // - `projects//locations//agent/sessions//entityTypes/` + // - `projects//agent/environments//users//sessions//entityTypes/` + // - `projects//locations//agent/environments/ + // /users//sessions//entityTypes/` // // If `Location ID` is not specified we assume default 'us' location. If // `Environment ID` is not specified, we assume default 'draft' environment. @@ -412,14 +412,14 @@ type CreateSessionEntityTypeRequest struct { // Required. The session to create a session entity type for. // Supported formats: - // - `projects//agent/sessions/, - // - `projects//locations//agent/sessions/`, - // - `projects//agent/environments//users//sessions/`, - // - `projects//locations//agent/environments//users//sessions/`, + // - `projects//agent/sessions/, + // - `projects//locations//agent/sessions/`, + // - `projects//agent/environments//users//sessions/`, + // - `projects//locations//agent/environments//users//sessions/`, // // If `Location ID` is not specified we assume default 'us' location. If // `Environment ID` is not specified, we assume default 'draft' environment. @@ -543,15 +543,15 @@ type DeleteSessionEntityTypeRequest struct { // Required. The name of the entity type to delete. // Supported formats: - // - `projects//agent/sessions//entityTypes/` - // - `projects//locations//agent/sessions//entityTypes/` - // - `projects//agent/environments//users//sessions//entityTypes/` - // - `projects//locations//agent/environments/ - // /users//sessions//entityTypes/` + // - `projects//agent/sessions//entityTypes/` + // - `projects//locations//agent/sessions//entityTypes/` + // - `projects//agent/environments//users//sessions//entityTypes/` + // - `projects//locations//agent/environments/ + // /users//sessions//entityTypes/` // // If `Location ID` is not specified we assume default 'us' location. If // `Environment ID` is not specified, we assume default 'draft' environment. diff --git a/dialogflow/apiv2beta1/dialogflowpb/version.pb.go b/dialogflow/apiv2beta1/dialogflowpb/version.pb.go index a9c87e70b9c..75e5584109c 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/version.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/version.pb.go @@ -125,9 +125,9 @@ type Version struct { // Output only. The unique identifier of this agent version. // Supported formats: - // - `projects//agent/versions/` - // - `projects//locations//agent/versions/` + // - `projects//agent/versions/` + // - `projects//locations//agent/versions/` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. The developer-provided description of this version. Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` @@ -351,9 +351,9 @@ type GetVersionRequest struct { // Required. The name of the version. // Supported formats: - // - `projects//agent/versions/` - // - `projects//locations//agent/versions/` + // - `projects//agent/versions/` + // - `projects//locations//agent/versions/` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -467,9 +467,9 @@ type UpdateVersionRequest struct { // Required. The version to update. // Supported formats: - // - `projects//agent/versions/` - // - `projects//locations//agent/versions/` + // - `projects//agent/versions/` + // - `projects//locations//agent/versions/` Version *Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // Required. The mask to control which fields get updated. UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` @@ -530,9 +530,9 @@ type DeleteVersionRequest struct { // Required. The name of the version to delete. // Supported formats: - // - `projects//agent/versions/` - // - `projects//locations//agent/versions/` + // - `projects//agent/versions/` + // - `projects//locations//agent/versions/` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } diff --git a/dialogflow/apiv2beta1/dialogflowpb/webhook.pb.go b/dialogflow/apiv2beta1/dialogflowpb/webhook.pb.go index 737fbfc3bf7..95417831af6 100755 --- a/dialogflow/apiv2beta1/dialogflowpb/webhook.pb.go +++ b/dialogflow/apiv2beta1/dialogflowpb/webhook.pb.go @@ -45,14 +45,14 @@ type WebhookRequest struct { // The unique identifier of detectIntent request session. // Can be used to identify end-user inside webhook implementation. // Supported formats: - // - `projects//agent/sessions/, - // - `projects//locations//agent/sessions/`, - // - `projects//agent/environments//users//sessions/`, - // - `projects//locations//agent/environments//users//sessions/`, + // - `projects//agent/sessions/, + // - `projects//locations//agent/sessions/`, + // - `projects//agent/environments//users//sessions/`, + // - `projects//locations//agent/environments//users//sessions/`, Session string `protobuf:"bytes,4,opt,name=session,proto3" json:"session,omitempty"` // The unique identifier of the response. Contains the same value as // `[Streaming]DetectIntentResponse.response_id`. @@ -325,11 +325,13 @@ type OriginalDetectIntentRequest struct { // // In particular, for the Dialogflow Phone Gateway integration, this field has // the form: - //
{
-	//  "telephony": {
-	//    "caller_id": "+18558363987"
-	//  }
-	// }
+ // + //
{
+	//	 "telephony": {
+	//	   "caller_id": "+18558363987"
+	//	 }
+	//	}
+ // // Note: The caller ID field (`caller_id`) will be redacted for Trial // Edition agents and populated with the caller ID in [E.164 // format](https://en.wikipedia.org/wiki/E.164) for Essentials Edition agents. diff --git a/dialogflow/cx/apiv3/cxpb/agent.pb.go b/dialogflow/cx/apiv3/cxpb/agent.pb.go index c387a2bc437..b17fdbdb855 100755 --- a/dialogflow/cx/apiv3/cxpb/agent.pb.go +++ b/dialogflow/cx/apiv3/cxpb/agent.pb.go @@ -922,6 +922,7 @@ type ExportAgentResponse struct { // The exported agent. // // Types that are assignable to Agent: + // // *ExportAgentResponse_AgentUri // *ExportAgentResponse_AgentContent // *ExportAgentResponse_CommitSha @@ -1032,6 +1033,7 @@ type RestoreAgentRequest struct { // Required. The agent to restore. // // Types that are assignable to Agent: + // // *RestoreAgentRequest_AgentUri // *RestoreAgentRequest_AgentContent // *RestoreAgentRequest_GitSource_ @@ -1460,6 +1462,7 @@ type Agent_GitIntegrationSettings struct { // The git settings to specific systems. // // Types that are assignable to GitSettings: + // // *Agent_GitIntegrationSettings_GithubSettings_ GitSettings isAgent_GitIntegrationSettings_GitSettings `protobuf_oneof:"git_settings"` } @@ -2761,9 +2764,10 @@ type AgentsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ExportAgentResponse][google.cloud.dialogflow.cx.v3.ExportAgentResponse] ExportAgent(ctx context.Context, in *ExportAgentRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Restores the specified agent from a binary file. @@ -2775,10 +2779,10 @@ type AgentsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train flows prior to sending them queries. See the // [training @@ -2930,9 +2934,10 @@ type AgentsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ExportAgentResponse][google.cloud.dialogflow.cx.v3.ExportAgentResponse] ExportAgent(context.Context, *ExportAgentRequest) (*longrunningpb.Operation, error) // Restores the specified agent from a binary file. @@ -2944,10 +2949,10 @@ type AgentsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train flows prior to sending them queries. See the // [training diff --git a/dialogflow/cx/apiv3/cxpb/audio_config.pb.go b/dialogflow/cx/apiv3/cxpb/audio_config.pb.go index dfac18085fe..ddacd69cd2e 100755 --- a/dialogflow/cx/apiv3/cxpb/audio_config.pb.go +++ b/dialogflow/cx/apiv3/cxpb/audio_config.pb.go @@ -160,18 +160,18 @@ const ( SpeechModelVariant_USE_STANDARD SpeechModelVariant = 2 // Use an enhanced model variant: // - // * If an enhanced variant does not exist for the given - // [model][google.cloud.dialogflow.cx.v3.InputAudioConfig.model] and request - // language, Dialogflow falls back to the standard variant. + // - If an enhanced variant does not exist for the given + // [model][google.cloud.dialogflow.cx.v3.InputAudioConfig.model] and request + // language, Dialogflow falls back to the standard variant. // - // The [Cloud Speech - // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) - // describes which models have enhanced variants. + // The [Cloud Speech + // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) + // describes which models have enhanced variants. // - // * If the API caller isn't eligible for enhanced models, Dialogflow returns - // an error. Please see the [Dialogflow - // docs](https://cloud.google.com/dialogflow/docs/data-logging) - // for how to make your project eligible. + // - If the API caller isn't eligible for enhanced models, Dialogflow returns + // an error. Please see the [Dialogflow + // docs](https://cloud.google.com/dialogflow/docs/data-logging) + // for how to make your project eligible. SpeechModelVariant_USE_ENHANCED SpeechModelVariant = 3 ) @@ -922,17 +922,17 @@ type TextToSpeechSettings struct { // // These settings affect: // - // - The [phone - // gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) - // synthesize configuration set via - // [Agent.text_to_speech_settings][google.cloud.dialogflow.cx.v3.Agent.text_to_speech_settings]. + // - The [phone + // gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) + // synthesize configuration set via + // [Agent.text_to_speech_settings][google.cloud.dialogflow.cx.v3.Agent.text_to_speech_settings]. // - // - How speech is synthesized when invoking - // [session][google.cloud.dialogflow.cx.v3.Sessions] APIs. - // [Agent.text_to_speech_settings][google.cloud.dialogflow.cx.v3.Agent.text_to_speech_settings] - // only applies if - // [OutputAudioConfig.synthesize_speech_config][google.cloud.dialogflow.cx.v3.OutputAudioConfig.synthesize_speech_config] - // is not specified. + // - How speech is synthesized when invoking + // [session][google.cloud.dialogflow.cx.v3.Sessions] APIs. + // [Agent.text_to_speech_settings][google.cloud.dialogflow.cx.v3.Agent.text_to_speech_settings] + // only applies if + // [OutputAudioConfig.synthesize_speech_config][google.cloud.dialogflow.cx.v3.OutputAudioConfig.synthesize_speech_config] + // is not specified. SynthesizeSpeechConfigs map[string]*SynthesizeSpeechConfig `protobuf:"bytes,1,rep,name=synthesize_speech_configs,json=synthesizeSpeechConfigs,proto3" json:"synthesize_speech_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } diff --git a/dialogflow/cx/apiv3/cxpb/changelog.pb.go b/dialogflow/cx/apiv3/cxpb/changelog.pb.go index f79c5e9b960..13502111c6b 100755 --- a/dialogflow/cx/apiv3/cxpb/changelog.pb.go +++ b/dialogflow/cx/apiv3/cxpb/changelog.pb.go @@ -53,24 +53,24 @@ type ListChangelogsRequest struct { Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The filter string. Supports filter by user_email, resource, type and // create_time. Some examples: - // 1. By user email: - // user_email = "someone@google.com" - // 2. By resource name: - // resource = "projects/123/locations/global/agents/456/flows/789" - // 3. By resource display name: - // display_name = "my agent" - // 4. By action: - // action = "Create" - // 5. By type: - // type = "flows" - // 6. By create time. Currently predicates on `create_time` and - // `create_time_epoch_seconds` are supported: - // create_time_epoch_seconds > 1551790877 AND create_time <= - // 2017-01-15T01:30:15.01Z - // 7. Combination of above filters: - // resource = "projects/123/locations/global/agents/456/flows/789" - // AND user_email = "someone@google.com" - // AND create_time <= 2017-01-15T01:30:15.01Z + // 1. By user email: + // user_email = "someone@google.com" + // 2. By resource name: + // resource = "projects/123/locations/global/agents/456/flows/789" + // 3. By resource display name: + // display_name = "my agent" + // 4. By action: + // action = "Create" + // 5. By type: + // type = "flows" + // 6. By create time. Currently predicates on `create_time` and + // `create_time_epoch_seconds` are supported: + // create_time_epoch_seconds > 1551790877 AND create_time <= + // 2017-01-15T01:30:15.01Z + // 7. Combination of above filters: + // resource = "projects/123/locations/global/agents/456/flows/789" + // AND user_email = "someone@google.com" + // AND create_time <= 2017-01-15T01:30:15.01Z Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of items to return in a single page. By default 100 and // at most 1000. diff --git a/dialogflow/cx/apiv3/cxpb/entity_type.pb.go b/dialogflow/cx/apiv3/cxpb/entity_type.pb.go index 94da4cef768..8cc93033576 100755 --- a/dialogflow/cx/apiv3/cxpb/entity_type.pb.go +++ b/dialogflow/cx/apiv3/cxpb/entity_type.pb.go @@ -700,15 +700,15 @@ type DeleteEntityTypeRequest struct { // This field has no effect for entity type not being used. // For entity types that are used by intents or pages: // - // * If `force` is set to false, an error will be returned with message - // indicating the referencing resources. - // * If `force` is set to true, Dialogflow will remove the entity type, as - // well as any references to the entity type (i.e. Page - // [parameter][google.cloud.dialogflow.cx.v3.Form.Parameter] of the entity - // type will be changed to - // '@sys.any' and intent - // [parameter][google.cloud.dialogflow.cx.v3.Intent.Parameter] of the - // entity type will be removed). + // - If `force` is set to false, an error will be returned with message + // indicating the referencing resources. + // - If `force` is set to true, Dialogflow will remove the entity type, as + // well as any references to the entity type (i.e. Page + // [parameter][google.cloud.dialogflow.cx.v3.Form.Parameter] of the entity + // type will be changed to + // '@sys.any' and intent + // [parameter][google.cloud.dialogflow.cx.v3.Intent.Parameter] of the + // entity type will be removed). Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` } @@ -774,7 +774,7 @@ type EntityType_Entity struct { // // For `KIND_LIST` entity types: // - // * A string that can contain references to other entity types (with or + // - A string that can contain references to other entity types (with or // without aliases). Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` // Required. A collection of value synonyms. For example, if the entity type diff --git a/dialogflow/cx/apiv3/cxpb/environment.pb.go b/dialogflow/cx/apiv3/cxpb/environment.pb.go index 399453cfcba..7d99e5789f5 100755 --- a/dialogflow/cx/apiv3/cxpb/environment.pb.go +++ b/dialogflow/cx/apiv3/cxpb/environment.pb.go @@ -2243,9 +2243,9 @@ type EnvironmentsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: [Environment][google.cloud.dialogflow.cx.v3.Environment] + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: [Environment][google.cloud.dialogflow.cx.v3.Environment] CreateEnvironment(ctx context.Context, in *CreateEnvironmentRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Updates the specified // [Environment][google.cloud.dialogflow.cx.v3.Environment]. @@ -2254,9 +2254,9 @@ type EnvironmentsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: [Environment][google.cloud.dialogflow.cx.v3.Environment] + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: [Environment][google.cloud.dialogflow.cx.v3.Environment] UpdateEnvironment(ctx context.Context, in *UpdateEnvironmentRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Deletes the specified // [Environment][google.cloud.dialogflow.cx.v3.Environment]. @@ -2396,9 +2396,9 @@ type EnvironmentsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: [Environment][google.cloud.dialogflow.cx.v3.Environment] + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: [Environment][google.cloud.dialogflow.cx.v3.Environment] CreateEnvironment(context.Context, *CreateEnvironmentRequest) (*longrunningpb.Operation, error) // Updates the specified // [Environment][google.cloud.dialogflow.cx.v3.Environment]. @@ -2407,9 +2407,9 @@ type EnvironmentsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: [Environment][google.cloud.dialogflow.cx.v3.Environment] + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: [Environment][google.cloud.dialogflow.cx.v3.Environment] UpdateEnvironment(context.Context, *UpdateEnvironmentRequest) (*longrunningpb.Operation, error) // Deletes the specified // [Environment][google.cloud.dialogflow.cx.v3.Environment]. diff --git a/dialogflow/cx/apiv3/cxpb/experiment.pb.go b/dialogflow/cx/apiv3/cxpb/experiment.pb.go index afff43a5e5f..75d4d28669d 100755 --- a/dialogflow/cx/apiv3/cxpb/experiment.pb.go +++ b/dialogflow/cx/apiv3/cxpb/experiment.pb.go @@ -475,6 +475,7 @@ type VariantsHistory struct { // experiment. // // Types that are assignable to Variants: + // // *VariantsHistory_VersionVariants Variants isVariantsHistory_Variants `protobuf_oneof:"variants"` // Update time of the variants. @@ -1168,6 +1169,7 @@ type Experiment_Definition struct { // experiment. // // Types that are assignable to Variants: + // // *Experiment_Definition_VersionVariants Variants isExperiment_Definition_Variants `protobuf_oneof:"variants"` } @@ -1390,6 +1392,7 @@ type Experiment_Result_Metric struct { // The actual value of the metric. // // Types that are assignable to Value: + // // *Experiment_Result_Metric_Ratio // *Experiment_Result_Metric_Count Value isExperiment_Result_Metric_Value `protobuf_oneof:"value"` diff --git a/dialogflow/cx/apiv3/cxpb/flow.pb.go b/dialogflow/cx/apiv3/cxpb/flow.pb.go index 2869284882a..ad648cd03a6 100755 --- a/dialogflow/cx/apiv3/cxpb/flow.pb.go +++ b/dialogflow/cx/apiv3/cxpb/flow.pb.go @@ -553,13 +553,13 @@ type DeleteFlowRequest struct { // This field has no effect for flows with no incoming transitions. // For flows with incoming transitions: // - // * If `force` is set to false, an error will be returned with message - // indicating the incoming transitions. - // * If `force` is set to true, Dialogflow will remove the flow, as well as - // any transitions to the flow (i.e. [Target - // flow][EventHandler.target_flow] in event handlers or [Target - // flow][TransitionRoute.target_flow] in transition routes that point to - // this flow will be cleared). + // - If `force` is set to false, an error will be returned with message + // indicating the incoming transitions. + // - If `force` is set to true, Dialogflow will remove the flow, as well as + // any transitions to the flow (i.e. [Target + // flow][EventHandler.target_flow] in event handlers or [Target + // flow][TransitionRoute.target_flow] in transition routes that point to + // this flow will be cleared). Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` } @@ -1171,6 +1171,7 @@ type ImportFlowRequest struct { // Required. The flow to import. // // Types that are assignable to Flow: + // // *ImportFlowRequest_FlowUri // *ImportFlowRequest_FlowContent Flow isImportFlowRequest_Flow `protobuf_oneof:"flow"` @@ -1475,6 +1476,7 @@ type ExportFlowResponse struct { // The exported flow. // // Types that are assignable to Flow: + // // *ExportFlowResponse_FlowUri // *ExportFlowResponse_FlowContent Flow isExportFlowResponse_Flow `protobuf_oneof:"flow"` @@ -2342,10 +2344,10 @@ type FlowsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train a flow prior to sending it queries. See the // [training @@ -2364,9 +2366,10 @@ type FlowsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ImportFlowResponse][google.cloud.dialogflow.cx.v3.ImportFlowResponse] // // Note: You should always train a flow prior to sending it queries. See the @@ -2379,9 +2382,10 @@ type FlowsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ExportFlowResponse][google.cloud.dialogflow.cx.v3.ExportFlowResponse] // // Note that resources (e.g. intents, entities, webhooks) that the flow @@ -2514,10 +2518,10 @@ type FlowsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train a flow prior to sending it queries. See the // [training @@ -2536,9 +2540,10 @@ type FlowsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ImportFlowResponse][google.cloud.dialogflow.cx.v3.ImportFlowResponse] // // Note: You should always train a flow prior to sending it queries. See the @@ -2551,9 +2556,10 @@ type FlowsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ExportFlowResponse][google.cloud.dialogflow.cx.v3.ExportFlowResponse] // // Note that resources (e.g. intents, entities, webhooks) that the flow diff --git a/dialogflow/cx/apiv3/cxpb/fulfillment.pb.go b/dialogflow/cx/apiv3/cxpb/fulfillment.pb.go index 521df7eed37..88e70fc4fda 100755 --- a/dialogflow/cx/apiv3/cxpb/fulfillment.pb.go +++ b/dialogflow/cx/apiv3/cxpb/fulfillment.pb.go @@ -366,6 +366,7 @@ type Fulfillment_ConditionalCases_Case_CaseContent struct { // Either a message is returned or additional cases to be evaluated. // // Types that are assignable to CasesOrMessage: + // // *Fulfillment_ConditionalCases_Case_CaseContent_Message // *Fulfillment_ConditionalCases_Case_CaseContent_AdditionalCases CasesOrMessage isFulfillment_ConditionalCases_Case_CaseContent_CasesOrMessage `protobuf_oneof:"cases_or_message"` diff --git a/dialogflow/cx/apiv3/cxpb/generator.pb.go b/dialogflow/cx/apiv3/cxpb/generator.pb.go index bf247f3b3ae..2de78ad5baa 100755 --- a/dialogflow/cx/apiv3/cxpb/generator.pb.go +++ b/dialogflow/cx/apiv3/cxpb/generator.pb.go @@ -533,11 +533,11 @@ type DeleteGeneratorRequest struct { // This field has no effect for generators not being used. // For generators that are used by pages/flows/transition route groups: // - // * If `force` is set to false, an error will be returned with message - // indicating the referenced resources. - // * If `force` is set to true, Dialogflow will remove the generator, as well - // as any references to the generator (i.e. - // [Generator][Fulfillment.generator]) in fulfillments. + // - If `force` is set to false, an error will be returned with message + // indicating the referenced resources. + // - If `force` is set to true, Dialogflow will remove the generator, as well + // as any references to the generator (i.e. + // [Generator][Fulfillment.generator]) in fulfillments. Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` } diff --git a/dialogflow/cx/apiv3/cxpb/intent.pb.go b/dialogflow/cx/apiv3/cxpb/intent.pb.go index 181c1813822..d41d5671833 100755 --- a/dialogflow/cx/apiv3/cxpb/intent.pb.go +++ b/dialogflow/cx/apiv3/cxpb/intent.pb.go @@ -263,11 +263,11 @@ type Intent struct { // The priority of this intent. Higher numbers represent higher // priorities. // - // - If the supplied value is unspecified or 0, the service - // translates the value to 500,000, which corresponds to the - // `Normal` priority in the console. - // - If the supplied value is negative, the intent is ignored - // in runtime detect intent requests. + // - If the supplied value is unspecified or 0, the service + // translates the value to 500,000, which corresponds to the + // `Normal` priority in the console. + // - If the supplied value is negative, the intent is ignored + // in runtime detect intent requests. Priority int32 `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"` // Indicates whether this is a fallback intent. Currently only default // fallback intent is allowed in the agent, which is added upon agent @@ -829,6 +829,7 @@ type ImportIntentsRequest struct { // Required. The intents to import. // // Types that are assignable to Intents: + // // *ImportIntentsRequest_IntentsUri // *ImportIntentsRequest_IntentsContent Intents isImportIntentsRequest_Intents `protobuf_oneof:"intents"` @@ -1051,6 +1052,7 @@ type ExportIntentsRequest struct { // The destination to export. // // Types that are assignable to Destination: + // // *ExportIntentsRequest_IntentsUri // *ExportIntentsRequest_IntentsContentInline Destination isExportIntentsRequest_Destination `protobuf_oneof:"destination"` @@ -1170,6 +1172,7 @@ type ExportIntentsResponse struct { // The exported intents. // // Types that are assignable to Intents: + // // *ExportIntentsResponse_IntentsUri // *ExportIntentsResponse_IntentsContent Intents isExportIntentsResponse_Intents `protobuf_oneof:"intents"` @@ -1316,8 +1319,8 @@ type Intent_TrainingPhrase struct { // If you want to annotate the training phrase, you must create multiple // parts, where the fields of each part are populated in one of two ways: // - // - `Part.text` is set to a part of the phrase that has no parameters. - // - `Part.text` is set to a part of the phrase that you want to annotate, + // - `Part.text` is set to a part of the phrase that has no parameters. + // - `Part.text` is set to a part of the phrase that you want to annotate, // and the `parameter_id` field is set. Parts []*Intent_TrainingPhrase_Part `protobuf:"bytes,2,rep,name=parts,proto3" json:"parts,omitempty"` // Indicates how many times this example was added to the intent. diff --git a/dialogflow/cx/apiv3/cxpb/page.pb.go b/dialogflow/cx/apiv3/cxpb/page.pb.go index 404b285e80f..953f7949f0a 100755 --- a/dialogflow/cx/apiv3/cxpb/page.pb.go +++ b/dialogflow/cx/apiv3/cxpb/page.pb.go @@ -86,11 +86,11 @@ type Page struct { // transition route groups, the flow-level ones will have higher priority and // will be put before the agent-level ones. // - // * If multiple transition routes within a page scope refer to the same + // - If multiple transition routes within a page scope refer to the same // intent, then the precedence order is: page's transition route -> page's // transition route group -> flow's transition routes. // - // * If multiple transition route groups within a page contain the same + // - If multiple transition route groups within a page contain the same // intent, then the first group in the ordered list takes precedence. // // Format:`projects//locations//agents/ [OR name = ] ... + // name = [OR name = ] ... // // For example: // - // * "name = t1 OR name = t2" matches the test case with the exact resource + // - "name = t1 OR name = t2" matches the test case with the exact resource // name "t1" or "t2". Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } @@ -2254,6 +2257,7 @@ type ExportTestCasesResponse struct { // The exported test cases. // // Types that are assignable to Destination: + // // *ExportTestCasesResponse_GcsUri // *ExportTestCasesResponse_Content Destination isExportTestCasesResponse_Destination `protobuf_oneof:"destination"` @@ -2396,8 +2400,8 @@ type ListTestCaseResultsRequest struct { // The expression is case insensitive. Only 'AND' is supported for logical // operators. The supported syntax is listed below in detail: // - // [AND ] ... - // [AND latest] + // [AND ] ... + // [AND latest] // // The supported fields and operators are: // field operator @@ -2408,11 +2412,11 @@ type ListTestCaseResultsRequest struct { // case. // // Examples: - // * "environment=draft AND latest" matches the latest test result for each + // - "environment=draft AND latest" matches the latest test result for each // test case in the draft environment. - // * "environment IN (e1,e2)" matches any test case results with an + // - "environment IN (e1,e2)" matches any test case results with an // environment resource name of either "e1" or "e2". - // * "test_time > 1602540713" matches any test case results with test time + // - "test_time > 1602540713" matches any test case results with test time // later than a unix timestamp in seconds 1602540713. Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } @@ -2790,6 +2794,7 @@ type TransitionCoverage_TransitionNode struct { // A TransitionNode can be either a page or a flow. // // Types that are assignable to Kind: + // // *TransitionCoverage_TransitionNode_Page // *TransitionCoverage_TransitionNode_Flow Kind isTransitionCoverage_TransitionNode_Kind `protobuf_oneof:"kind"` @@ -2886,6 +2891,7 @@ type TransitionCoverage_Transition struct { // The detailed transition. // // Types that are assignable to Detail: + // // *TransitionCoverage_Transition_TransitionRoute // *TransitionCoverage_Transition_EventHandler Detail isTransitionCoverage_Transition_Detail `protobuf_oneof:"detail"` diff --git a/dialogflow/cx/apiv3/cxpb/transition_route_group.pb.go b/dialogflow/cx/apiv3/cxpb/transition_route_group.pb.go index 9c46419fe27..5ed91146b44 100755 --- a/dialogflow/cx/apiv3/cxpb/transition_route_group.pb.go +++ b/dialogflow/cx/apiv3/cxpb/transition_route_group.pb.go @@ -142,7 +142,6 @@ type ListTransitionRouteGroupsRequest struct { // * // `TransitionRouteGroup.transition_routes.trigger_fulfillment.conditional_cases` // - // // If not specified, the agent's default language is used. // [Many // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) @@ -527,10 +526,10 @@ type DeleteTransitionRouteGroupRequest struct { // This field has no effect for transition route group that no page is using. // If the transition route group is referenced by any page: // - // * If `force` is set to false, an error will be returned with message - // indicating pages that reference the transition route group. - // * If `force` is set to true, Dialogflow will remove the transition route - // group, as well as any reference to it. + // - If `force` is set to false, an error will be returned with message + // indicating pages that reference the transition route group. + // - If `force` is set to true, Dialogflow will remove the transition route + // group, as well as any reference to it. Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` } diff --git a/dialogflow/cx/apiv3/cxpb/version.pb.go b/dialogflow/cx/apiv3/cxpb/version.pb.go index 345e0de80bb..3ccbe91bc97 100755 --- a/dialogflow/cx/apiv3/cxpb/version.pb.go +++ b/dialogflow/cx/apiv3/cxpb/version.pb.go @@ -1355,10 +1355,10 @@ type VersionsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) LoadVersion(ctx context.Context, in *LoadVersionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Compares the specified base version with target version. CompareVersions(ctx context.Context, in *CompareVersionsRequest, opts ...grpc.CallOption) (*CompareVersionsResponse, error) @@ -1463,10 +1463,10 @@ type VersionsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) LoadVersion(context.Context, *LoadVersionRequest) (*longrunningpb.Operation, error) // Compares the specified base version with target version. CompareVersions(context.Context, *CompareVersionsRequest) (*CompareVersionsResponse, error) diff --git a/dialogflow/cx/apiv3/cxpb/webhook.pb.go b/dialogflow/cx/apiv3/cxpb/webhook.pb.go index 7def99c95e6..89b0263291b 100755 --- a/dialogflow/cx/apiv3/cxpb/webhook.pb.go +++ b/dialogflow/cx/apiv3/cxpb/webhook.pb.go @@ -306,6 +306,7 @@ type Webhook struct { // Required. The webhook configuration. // // Types that are assignable to Webhook: + // // *Webhook_GenericWebService_ // *Webhook_ServiceDirectory Webhook isWebhook_Webhook `protobuf_oneof:"webhook"` @@ -734,13 +735,13 @@ type DeleteWebhookRequest struct { // This field has no effect for webhook not being used. // For webhooks that are used by pages/flows/transition route groups: // - // * If `force` is set to false, an error will be returned with message - // indicating the referenced resources. - // * If `force` is set to true, Dialogflow will remove the webhook, as well - // as any references to the webhook (i.e. - // [Webhook][google.cloud.dialogflow.cx.v3.Fulfillment.webhook] and - // [tag][google.cloud.dialogflow.cx.v3.Fulfillment.tag]in fulfillments that - // point to this webhook will be removed). + // - If `force` is set to false, an error will be returned with message + // indicating the referenced resources. + // - If `force` is set to true, Dialogflow will remove the webhook, as well + // as any references to the webhook (i.e. + // [Webhook][google.cloud.dialogflow.cx.v3.Fulfillment.webhook] and + // [tag][google.cloud.dialogflow.cx.v3.Fulfillment.tag]in fulfillments that + // point to this webhook will be removed). Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` } @@ -807,6 +808,7 @@ type WebhookRequest struct { // The original conversational query. // // Types that are assignable to Query: + // // *WebhookRequest_Text // *WebhookRequest_TriggerIntent // *WebhookRequest_Transcript @@ -1044,6 +1046,7 @@ type WebhookResponse struct { // different flow in the same agent. // // Types that are assignable to Transition: + // // *WebhookResponse_TargetPage // *WebhookResponse_TargetFlow Transition isWebhookResponse_Transition `protobuf_oneof:"transition"` @@ -1331,10 +1334,12 @@ type Webhook_GenericWebService struct { // server certificates are signed with "subject alt name". For instance a // certificate can be self-signed using the following command, // ``` - // openssl x509 -req -days 200 -in example.com.csr \ - // -signkey example.com.key \ - // -out example.com.crt \ - // -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") + // + // openssl x509 -req -days 200 -in example.com.csr \ + // -signkey example.com.key \ + // -out example.com.crt \ + // -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") + // // ``` AllowedCaCerts [][]byte `protobuf:"bytes,5,rep,name=allowed_ca_certs,json=allowedCaCerts,proto3" json:"allowed_ca_certs,omitempty"` // Optional. Type of the webhook. diff --git a/dialogflow/cx/apiv3beta1/cxpb/agent.pb.go b/dialogflow/cx/apiv3beta1/cxpb/agent.pb.go index 984c9f54d26..7415280b1ef 100755 --- a/dialogflow/cx/apiv3beta1/cxpb/agent.pb.go +++ b/dialogflow/cx/apiv3beta1/cxpb/agent.pb.go @@ -922,6 +922,7 @@ type ExportAgentResponse struct { // The exported agent. // // Types that are assignable to Agent: + // // *ExportAgentResponse_AgentUri // *ExportAgentResponse_AgentContent // *ExportAgentResponse_CommitSha @@ -1032,6 +1033,7 @@ type RestoreAgentRequest struct { // Required. The agent to restore. // // Types that are assignable to Agent: + // // *RestoreAgentRequest_AgentUri // *RestoreAgentRequest_AgentContent // *RestoreAgentRequest_GitSource_ @@ -1460,6 +1462,7 @@ type Agent_GitIntegrationSettings struct { // The git settings to specific systems. // // Types that are assignable to GitSettings: + // // *Agent_GitIntegrationSettings_GithubSettings_ GitSettings isAgent_GitIntegrationSettings_GitSettings `protobuf_oneof:"git_settings"` } @@ -2779,9 +2782,10 @@ type AgentsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ExportAgentResponse][google.cloud.dialogflow.cx.v3beta1.ExportAgentResponse] ExportAgent(ctx context.Context, in *ExportAgentRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Restores the specified agent from a binary file. @@ -2793,10 +2797,10 @@ type AgentsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train a flow prior to sending it queries. See the // [training @@ -2948,9 +2952,10 @@ type AgentsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ExportAgentResponse][google.cloud.dialogflow.cx.v3beta1.ExportAgentResponse] ExportAgent(context.Context, *ExportAgentRequest) (*longrunningpb.Operation, error) // Restores the specified agent from a binary file. @@ -2962,10 +2967,10 @@ type AgentsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train a flow prior to sending it queries. See the // [training diff --git a/dialogflow/cx/apiv3beta1/cxpb/audio_config.pb.go b/dialogflow/cx/apiv3beta1/cxpb/audio_config.pb.go index 82587d8b71a..d0ed1a84788 100755 --- a/dialogflow/cx/apiv3beta1/cxpb/audio_config.pb.go +++ b/dialogflow/cx/apiv3beta1/cxpb/audio_config.pb.go @@ -160,18 +160,18 @@ const ( SpeechModelVariant_USE_STANDARD SpeechModelVariant = 2 // Use an enhanced model variant: // - // * If an enhanced variant does not exist for the given - // [model][google.cloud.dialogflow.cx.v3beta1.InputAudioConfig.model] and - // request language, Dialogflow falls back to the standard variant. + // - If an enhanced variant does not exist for the given + // [model][google.cloud.dialogflow.cx.v3beta1.InputAudioConfig.model] and + // request language, Dialogflow falls back to the standard variant. // - // The [Cloud Speech - // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) - // describes which models have enhanced variants. + // The [Cloud Speech + // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) + // describes which models have enhanced variants. // - // * If the API caller isn't eligible for enhanced models, Dialogflow returns - // an error. Please see the [Dialogflow - // docs](https://cloud.google.com/dialogflow/docs/data-logging) - // for how to make your project eligible. + // - If the API caller isn't eligible for enhanced models, Dialogflow returns + // an error. Please see the [Dialogflow + // docs](https://cloud.google.com/dialogflow/docs/data-logging) + // for how to make your project eligible. SpeechModelVariant_USE_ENHANCED SpeechModelVariant = 3 ) @@ -922,17 +922,17 @@ type TextToSpeechSettings struct { // // These settings affect: // - // - The [phone - // gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) - // synthesize configuration set via - // [Agent.text_to_speech_settings][google.cloud.dialogflow.cx.v3beta1.Agent.text_to_speech_settings]. + // - The [phone + // gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) + // synthesize configuration set via + // [Agent.text_to_speech_settings][google.cloud.dialogflow.cx.v3beta1.Agent.text_to_speech_settings]. // - // - How speech is synthesized when invoking - // [session][google.cloud.dialogflow.cx.v3beta1.Sessions] APIs. - // [Agent.text_to_speech_settings][google.cloud.dialogflow.cx.v3beta1.Agent.text_to_speech_settings] - // only applies if - // [OutputAudioConfig.synthesize_speech_config][google.cloud.dialogflow.cx.v3beta1.OutputAudioConfig.synthesize_speech_config] - // is not specified. + // - How speech is synthesized when invoking + // [session][google.cloud.dialogflow.cx.v3beta1.Sessions] APIs. + // [Agent.text_to_speech_settings][google.cloud.dialogflow.cx.v3beta1.Agent.text_to_speech_settings] + // only applies if + // [OutputAudioConfig.synthesize_speech_config][google.cloud.dialogflow.cx.v3beta1.OutputAudioConfig.synthesize_speech_config] + // is not specified. SynthesizeSpeechConfigs map[string]*SynthesizeSpeechConfig `protobuf:"bytes,1,rep,name=synthesize_speech_configs,json=synthesizeSpeechConfigs,proto3" json:"synthesize_speech_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } diff --git a/dialogflow/cx/apiv3beta1/cxpb/changelog.pb.go b/dialogflow/cx/apiv3beta1/cxpb/changelog.pb.go index a5a598f75cd..4f0b317ac72 100755 --- a/dialogflow/cx/apiv3beta1/cxpb/changelog.pb.go +++ b/dialogflow/cx/apiv3beta1/cxpb/changelog.pb.go @@ -53,24 +53,24 @@ type ListChangelogsRequest struct { Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The filter string. Supports filter by user_email, resource, type and // create_time. Some examples: - // 1. By user email: - // user_email = "someone@google.com" - // 2. By resource name: - // resource = "projects/123/locations/global/agents/456/flows/789" - // 3. By resource display name: - // display_name = "my agent" - // 4. By action: - // action = "Create" - // 5. By type: - // type = "flows" - // 6. By create time. Currently predicates on `create_time` and - // `create_time_epoch_seconds` are supported: - // create_time_epoch_seconds > 1551790877 AND create_time <= - // 2017-01-15T01:30:15.01Z - // 7. Combination of above filters: - // resource = "projects/123/locations/global/agents/456/flows/789" - // AND user_email = "someone@google.com" - // AND create_time <= 2017-01-15T01:30:15.01Z + // 1. By user email: + // user_email = "someone@google.com" + // 2. By resource name: + // resource = "projects/123/locations/global/agents/456/flows/789" + // 3. By resource display name: + // display_name = "my agent" + // 4. By action: + // action = "Create" + // 5. By type: + // type = "flows" + // 6. By create time. Currently predicates on `create_time` and + // `create_time_epoch_seconds` are supported: + // create_time_epoch_seconds > 1551790877 AND create_time <= + // 2017-01-15T01:30:15.01Z + // 7. Combination of above filters: + // resource = "projects/123/locations/global/agents/456/flows/789" + // AND user_email = "someone@google.com" + // AND create_time <= 2017-01-15T01:30:15.01Z Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The maximum number of items to return in a single page. By default 100 and // at most 1000. diff --git a/dialogflow/cx/apiv3beta1/cxpb/entity_type.pb.go b/dialogflow/cx/apiv3beta1/cxpb/entity_type.pb.go index f60e5f39e36..f601c45bd25 100755 --- a/dialogflow/cx/apiv3beta1/cxpb/entity_type.pb.go +++ b/dialogflow/cx/apiv3beta1/cxpb/entity_type.pb.go @@ -700,15 +700,15 @@ type DeleteEntityTypeRequest struct { // This field has no effect for entity type not being used. // For entity types that are used by intents or pages: // - // * If `force` is set to false, an error will be returned with message - // indicating the referencing resources. - // * If `force` is set to true, Dialogflow will remove the entity type, as - // well as any references to the entity type (i.e. Page - // [parameter][google.cloud.dialogflow.cx.v3beta1.Form.Parameter] of the - // entity type will be changed to - // '@sys.any' and intent - // [parameter][google.cloud.dialogflow.cx.v3beta1.Intent.Parameter] of the - // entity type will be removed). + // - If `force` is set to false, an error will be returned with message + // indicating the referencing resources. + // - If `force` is set to true, Dialogflow will remove the entity type, as + // well as any references to the entity type (i.e. Page + // [parameter][google.cloud.dialogflow.cx.v3beta1.Form.Parameter] of the + // entity type will be changed to + // '@sys.any' and intent + // [parameter][google.cloud.dialogflow.cx.v3beta1.Intent.Parameter] of the + // entity type will be removed). Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` } @@ -774,7 +774,7 @@ type EntityType_Entity struct { // // For `KIND_LIST` entity types: // - // * A string that can contain references to other entity types (with or + // - A string that can contain references to other entity types (with or // without aliases). Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` // Required. A collection of value synonyms. For example, if the entity type diff --git a/dialogflow/cx/apiv3beta1/cxpb/environment.pb.go b/dialogflow/cx/apiv3beta1/cxpb/environment.pb.go index 25ebb2ae3b7..471254ee616 100755 --- a/dialogflow/cx/apiv3beta1/cxpb/environment.pb.go +++ b/dialogflow/cx/apiv3beta1/cxpb/environment.pb.go @@ -2255,9 +2255,9 @@ type EnvironmentsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: [Environment][google.cloud.dialogflow.cx.v3beta1.Environment] + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: [Environment][google.cloud.dialogflow.cx.v3beta1.Environment] CreateEnvironment(ctx context.Context, in *CreateEnvironmentRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Updates the specified // [Environment][google.cloud.dialogflow.cx.v3beta1.Environment]. @@ -2266,9 +2266,9 @@ type EnvironmentsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: [Environment][google.cloud.dialogflow.cx.v3beta1.Environment] + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: [Environment][google.cloud.dialogflow.cx.v3beta1.Environment] UpdateEnvironment(ctx context.Context, in *UpdateEnvironmentRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Deletes the specified // [Environment][google.cloud.dialogflow.cx.v3beta1.Environment]. @@ -2408,9 +2408,9 @@ type EnvironmentsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: [Environment][google.cloud.dialogflow.cx.v3beta1.Environment] + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: [Environment][google.cloud.dialogflow.cx.v3beta1.Environment] CreateEnvironment(context.Context, *CreateEnvironmentRequest) (*longrunningpb.Operation, error) // Updates the specified // [Environment][google.cloud.dialogflow.cx.v3beta1.Environment]. @@ -2419,9 +2419,9 @@ type EnvironmentsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: [Environment][google.cloud.dialogflow.cx.v3beta1.Environment] + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: [Environment][google.cloud.dialogflow.cx.v3beta1.Environment] UpdateEnvironment(context.Context, *UpdateEnvironmentRequest) (*longrunningpb.Operation, error) // Deletes the specified // [Environment][google.cloud.dialogflow.cx.v3beta1.Environment]. diff --git a/dialogflow/cx/apiv3beta1/cxpb/experiment.pb.go b/dialogflow/cx/apiv3beta1/cxpb/experiment.pb.go index 684e57c8ac2..27e79aefc62 100755 --- a/dialogflow/cx/apiv3beta1/cxpb/experiment.pb.go +++ b/dialogflow/cx/apiv3beta1/cxpb/experiment.pb.go @@ -617,6 +617,7 @@ type VariantsHistory struct { // experiment. // // Types that are assignable to Variants: + // // *VariantsHistory_VersionVariants Variants isVariantsHistory_Variants `protobuf_oneof:"variants"` // Update time of the variants. @@ -1168,6 +1169,7 @@ type Experiment_Definition struct { // experiment. // // Types that are assignable to Variants: + // // *Experiment_Definition_VersionVariants Variants isExperiment_Definition_Variants `protobuf_oneof:"variants"` } @@ -1390,6 +1392,7 @@ type Experiment_Result_Metric struct { // The actual value of the metric. // // Types that are assignable to Value: + // // *Experiment_Result_Metric_Ratio // *Experiment_Result_Metric_Count Value isExperiment_Result_Metric_Value `protobuf_oneof:"value"` diff --git a/dialogflow/cx/apiv3beta1/cxpb/flow.pb.go b/dialogflow/cx/apiv3beta1/cxpb/flow.pb.go index 58379a10938..40e7a11cb23 100755 --- a/dialogflow/cx/apiv3beta1/cxpb/flow.pb.go +++ b/dialogflow/cx/apiv3beta1/cxpb/flow.pb.go @@ -553,13 +553,13 @@ type DeleteFlowRequest struct { // This field has no effect for flows with no incoming transitions. // For flows with incoming transitions: // - // * If `force` is set to false, an error will be returned with message - // indicating the incoming transitions. - // * If `force` is set to true, Dialogflow will remove the flow, as well as - // any transitions to the flow (i.e. [Target - // flow][EventHandler.target_flow] in event handlers or [Target - // flow][TransitionRoute.target_flow] in transition routes that point to - // this flow will be cleared). + // - If `force` is set to false, an error will be returned with message + // indicating the incoming transitions. + // - If `force` is set to true, Dialogflow will remove the flow, as well as + // any transitions to the flow (i.e. [Target + // flow][EventHandler.target_flow] in event handlers or [Target + // flow][TransitionRoute.target_flow] in transition routes that point to + // this flow will be cleared). Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` } @@ -1171,6 +1171,7 @@ type ImportFlowRequest struct { // Required. The flow to import. // // Types that are assignable to Flow: + // // *ImportFlowRequest_FlowUri // *ImportFlowRequest_FlowContent Flow isImportFlowRequest_Flow `protobuf_oneof:"flow"` @@ -1477,6 +1478,7 @@ type ExportFlowResponse struct { // The exported flow. // // Types that are assignable to Flow: + // // *ExportFlowResponse_FlowUri // *ExportFlowResponse_FlowContent Flow isExportFlowResponse_Flow `protobuf_oneof:"flow"` @@ -2360,10 +2362,10 @@ type FlowsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train a flow prior to sending it queries. See the // [training @@ -2382,9 +2384,10 @@ type FlowsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ImportFlowResponse][google.cloud.dialogflow.cx.v3beta1.ImportFlowResponse] // // Note: You should always train a flow prior to sending it queries. See the @@ -2397,9 +2400,10 @@ type FlowsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ExportFlowResponse][google.cloud.dialogflow.cx.v3beta1.ExportFlowResponse] // // Note that resources (e.g. intents, entities, webhooks) that the flow @@ -2532,10 +2536,10 @@ type FlowsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) // // Note: You should always train a flow prior to sending it queries. See the // [training @@ -2554,9 +2558,10 @@ type FlowsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ImportFlowResponse][google.cloud.dialogflow.cx.v3beta1.ImportFlowResponse] // // Note: You should always train a flow prior to sending it queries. See the @@ -2569,9 +2574,10 @@ type FlowsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // // [ExportFlowResponse][google.cloud.dialogflow.cx.v3beta1.ExportFlowResponse] // // Note that resources (e.g. intents, entities, webhooks) that the flow diff --git a/dialogflow/cx/apiv3beta1/cxpb/fulfillment.pb.go b/dialogflow/cx/apiv3beta1/cxpb/fulfillment.pb.go index 849db0215b9..57526bb483b 100755 --- a/dialogflow/cx/apiv3beta1/cxpb/fulfillment.pb.go +++ b/dialogflow/cx/apiv3beta1/cxpb/fulfillment.pb.go @@ -368,6 +368,7 @@ type Fulfillment_ConditionalCases_Case_CaseContent struct { // Either a message is returned or additional cases to be evaluated. // // Types that are assignable to CasesOrMessage: + // // *Fulfillment_ConditionalCases_Case_CaseContent_Message // *Fulfillment_ConditionalCases_Case_CaseContent_AdditionalCases CasesOrMessage isFulfillment_ConditionalCases_Case_CaseContent_CasesOrMessage `protobuf_oneof:"cases_or_message"` diff --git a/dialogflow/cx/apiv3beta1/cxpb/generator.pb.go b/dialogflow/cx/apiv3beta1/cxpb/generator.pb.go index 21659dd46a6..d3a74ec61ae 100755 --- a/dialogflow/cx/apiv3beta1/cxpb/generator.pb.go +++ b/dialogflow/cx/apiv3beta1/cxpb/generator.pb.go @@ -533,11 +533,11 @@ type DeleteGeneratorRequest struct { // This field has no effect for generators not being used. // For generators that are used by pages/flows/transition route groups: // - // * If `force` is set to false, an error will be returned with message - // indicating the referenced resources. - // * If `force` is set to true, Dialogflow will remove the generator, as well - // as any references to the generator (i.e. - // [Generator][Fulfillment.generator]) in fulfillments. + // - If `force` is set to false, an error will be returned with message + // indicating the referenced resources. + // - If `force` is set to true, Dialogflow will remove the generator, as well + // as any references to the generator (i.e. + // [Generator][Fulfillment.generator]) in fulfillments. Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` } diff --git a/dialogflow/cx/apiv3beta1/cxpb/intent.pb.go b/dialogflow/cx/apiv3beta1/cxpb/intent.pb.go index a4462e1acc8..d9ccadf9572 100755 --- a/dialogflow/cx/apiv3beta1/cxpb/intent.pb.go +++ b/dialogflow/cx/apiv3beta1/cxpb/intent.pb.go @@ -263,11 +263,11 @@ type Intent struct { // The priority of this intent. Higher numbers represent higher // priorities. // - // - If the supplied value is unspecified or 0, the service - // translates the value to 500,000, which corresponds to the - // `Normal` priority in the console. - // - If the supplied value is negative, the intent is ignored - // in runtime detect intent requests. + // - If the supplied value is unspecified or 0, the service + // translates the value to 500,000, which corresponds to the + // `Normal` priority in the console. + // - If the supplied value is negative, the intent is ignored + // in runtime detect intent requests. Priority int32 `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"` // Indicates whether this is a fallback intent. Currently only default // fallback intent is allowed in the agent, which is added upon agent @@ -829,6 +829,7 @@ type ImportIntentsRequest struct { // Required. The intents to import. // // Types that are assignable to Intents: + // // *ImportIntentsRequest_IntentsUri // *ImportIntentsRequest_IntentsContent Intents isImportIntentsRequest_Intents `protobuf_oneof:"intents"` @@ -1051,6 +1052,7 @@ type ExportIntentsRequest struct { // The destination to export. // // Types that are assignable to Destination: + // // *ExportIntentsRequest_IntentsUri // *ExportIntentsRequest_IntentsContentInline Destination isExportIntentsRequest_Destination `protobuf_oneof:"destination"` @@ -1170,6 +1172,7 @@ type ExportIntentsResponse struct { // The exported intents. // // Types that are assignable to Intents: + // // *ExportIntentsResponse_IntentsUri // *ExportIntentsResponse_IntentsContent Intents isExportIntentsResponse_Intents `protobuf_oneof:"intents"` @@ -1316,8 +1319,8 @@ type Intent_TrainingPhrase struct { // If you want to annotate the training phrase, you must create multiple // parts, where the fields of each part are populated in one of two ways: // - // - `Part.text` is set to a part of the phrase that has no parameters. - // - `Part.text` is set to a part of the phrase that you want to annotate, + // - `Part.text` is set to a part of the phrase that has no parameters. + // - `Part.text` is set to a part of the phrase that you want to annotate, // and the `parameter_id` field is set. Parts []*Intent_TrainingPhrase_Part `protobuf:"bytes,2,rep,name=parts,proto3" json:"parts,omitempty"` // Indicates how many times this example was added to the intent. diff --git a/dialogflow/cx/apiv3beta1/cxpb/page.pb.go b/dialogflow/cx/apiv3beta1/cxpb/page.pb.go index ed206ccf1dd..f588d020e84 100755 --- a/dialogflow/cx/apiv3beta1/cxpb/page.pb.go +++ b/dialogflow/cx/apiv3beta1/cxpb/page.pb.go @@ -87,11 +87,11 @@ type Page struct { // transition route groups, the flow-level ones will have higher priority and // will be put before the agent-level ones. // - // * If multiple transition routes within a page scope refer to the same + // - If multiple transition routes within a page scope refer to the same // intent, then the precedence order is: page's transition route -> page's // transition route group -> flow's transition routes. // - // * If multiple transition route groups within a page contain the same + // - If multiple transition route groups within a page contain the same // intent, then the first group in the ordered list takes precedence. // // Format:`projects//locations//agents/ [OR name = ] ... + // name = [OR name = ] ... // // For example: // - // * "name = t1 OR name = t2" matches the test case with the exact resource + // - "name = t1 OR name = t2" matches the test case with the exact resource // name "t1" or "t2". Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } @@ -2255,6 +2258,7 @@ type ExportTestCasesResponse struct { // The exported test cases. // // Types that are assignable to Destination: + // // *ExportTestCasesResponse_GcsUri // *ExportTestCasesResponse_Content Destination isExportTestCasesResponse_Destination `protobuf_oneof:"destination"` @@ -2397,8 +2401,8 @@ type ListTestCaseResultsRequest struct { // The expression is case insensitive. Only 'AND' is supported for logical // operators. The supported syntax is listed below in detail: // - // [AND ] ... - // [AND latest] + // [AND ] ... + // [AND latest] // // The supported fields and operators are: // field operator @@ -2409,11 +2413,11 @@ type ListTestCaseResultsRequest struct { // case. // // Examples: - // * "environment=draft AND latest" matches the latest test result for each + // - "environment=draft AND latest" matches the latest test result for each // test case in the draft environment. - // * "environment IN (e1,e2)" matches any test case results with an + // - "environment IN (e1,e2)" matches any test case results with an // environment resource name of either "e1" or "e2". - // * "test_time > 1602540713" matches any test case results with test time + // - "test_time > 1602540713" matches any test case results with test time // later than a unix timestamp in seconds 1602540713. Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } @@ -2793,6 +2797,7 @@ type TransitionCoverage_TransitionNode struct { // A TransitionNode can be either a page or a flow. // // Types that are assignable to Kind: + // // *TransitionCoverage_TransitionNode_Page // *TransitionCoverage_TransitionNode_Flow Kind isTransitionCoverage_TransitionNode_Kind `protobuf_oneof:"kind"` @@ -2891,6 +2896,7 @@ type TransitionCoverage_Transition struct { // The detailed transition. // // Types that are assignable to Detail: + // // *TransitionCoverage_Transition_TransitionRoute // *TransitionCoverage_Transition_EventHandler Detail isTransitionCoverage_Transition_Detail `protobuf_oneof:"detail"` diff --git a/dialogflow/cx/apiv3beta1/cxpb/transition_route_group.pb.go b/dialogflow/cx/apiv3beta1/cxpb/transition_route_group.pb.go index ddc25d04e07..3ce8f03eb0e 100755 --- a/dialogflow/cx/apiv3beta1/cxpb/transition_route_group.pb.go +++ b/dialogflow/cx/apiv3beta1/cxpb/transition_route_group.pb.go @@ -528,10 +528,10 @@ type DeleteTransitionRouteGroupRequest struct { // This field has no effect for transition route group that no page is using. // If the transition route group is referenced by any page: // - // * If `force` is set to false, an error will be returned with message - // indicating pages that reference the transition route group. - // * If `force` is set to true, Dialogflow will remove the transition route - // group, as well as any reference to it. + // - If `force` is set to false, an error will be returned with message + // indicating pages that reference the transition route group. + // - If `force` is set to true, Dialogflow will remove the transition route + // group, as well as any reference to it. Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` } diff --git a/dialogflow/cx/apiv3beta1/cxpb/version.pb.go b/dialogflow/cx/apiv3beta1/cxpb/version.pb.go index f0f9da85f29..82bb9bbea72 100755 --- a/dialogflow/cx/apiv3beta1/cxpb/version.pb.go +++ b/dialogflow/cx/apiv3beta1/cxpb/version.pb.go @@ -1370,10 +1370,10 @@ type VersionsClient interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) LoadVersion(ctx context.Context, in *LoadVersionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Compares the specified base version with target version. CompareVersions(ctx context.Context, in *CompareVersionsRequest, opts ...grpc.CallOption) (*CompareVersionsResponse, error) @@ -1481,10 +1481,10 @@ type VersionsServer interface { // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). // The returned `Operation` type has the following method-specific fields: // - // - `metadata`: An empty [Struct - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - // - `response`: An [Empty - // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) LoadVersion(context.Context, *LoadVersionRequest) (*longrunningpb.Operation, error) // Compares the specified base version with target version. CompareVersions(context.Context, *CompareVersionsRequest) (*CompareVersionsResponse, error) diff --git a/dialogflow/cx/apiv3beta1/cxpb/webhook.pb.go b/dialogflow/cx/apiv3beta1/cxpb/webhook.pb.go index bd53ca9b09d..e493843abaf 100755 --- a/dialogflow/cx/apiv3beta1/cxpb/webhook.pb.go +++ b/dialogflow/cx/apiv3beta1/cxpb/webhook.pb.go @@ -306,6 +306,7 @@ type Webhook struct { // Required. The webhook configuration. // // Types that are assignable to Webhook: + // // *Webhook_GenericWebService_ // *Webhook_ServiceDirectory Webhook isWebhook_Webhook `protobuf_oneof:"webhook"` @@ -734,13 +735,13 @@ type DeleteWebhookRequest struct { // This field has no effect for webhook not being used. // For webhooks that are used by pages/flows/transition route groups: // - // * If `force` is set to false, an error will be returned with message - // indicating the referenced resources. - // * If `force` is set to true, Dialogflow will remove the webhook, as well - // as any references to the webhook (i.e. - // [Webhook][google.cloud.dialogflow.cx.v3beta1.Fulfillment.webhook] and - // [tag][google.cloud.dialogflow.cx.v3beta1.Fulfillment.tag]in fulfillments - // that point to this webhook will be removed). + // - If `force` is set to false, an error will be returned with message + // indicating the referenced resources. + // - If `force` is set to true, Dialogflow will remove the webhook, as well + // as any references to the webhook (i.e. + // [Webhook][google.cloud.dialogflow.cx.v3beta1.Fulfillment.webhook] and + // [tag][google.cloud.dialogflow.cx.v3beta1.Fulfillment.tag]in fulfillments + // that point to this webhook will be removed). Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` } @@ -807,6 +808,7 @@ type WebhookRequest struct { // The original conversational query. // // Types that are assignable to Query: + // // *WebhookRequest_Text // *WebhookRequest_TriggerIntent // *WebhookRequest_Transcript @@ -1044,6 +1046,7 @@ type WebhookResponse struct { // different flow in the same agent. // // Types that are assignable to Transition: + // // *WebhookResponse_TargetPage // *WebhookResponse_TargetFlow Transition isWebhookResponse_Transition `protobuf_oneof:"transition"` @@ -1336,10 +1339,12 @@ type Webhook_GenericWebService struct { // server certificates are signed with "subject alt name". For instance a // certificate can be self-signed using the following command, // ``` - // openssl x509 -req -days 200 -in example.com.csr \ - // -signkey example.com.key \ - // -out example.com.crt \ - // -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") + // + // openssl x509 -req -days 200 -in example.com.csr \ + // -signkey example.com.key \ + // -out example.com.crt \ + // -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") + // // ``` AllowedCaCerts [][]byte `protobuf:"bytes,5,rep,name=allowed_ca_certs,json=allowedCaCerts,proto3" json:"allowed_ca_certs,omitempty"` // Optional. Type of the webhook. diff --git a/discoveryengine/apiv1/discoveryenginepb/common.pb.go b/discoveryengine/apiv1/discoveryenginepb/common.pb.go index 3bec6d88017..4b6e64b7f01 100755 --- a/discoveryengine/apiv1/discoveryenginepb/common.pb.go +++ b/discoveryengine/apiv1/discoveryenginepb/common.pb.go @@ -49,6 +49,7 @@ type Interval struct { // Otherwise, an `INVALID_ARGUMENT` error is returned. // // Types that are assignable to Min: + // // *Interval_Minimum // *Interval_ExclusiveMinimum Min isInterval_Min `protobuf_oneof:"min"` @@ -59,6 +60,7 @@ type Interval struct { // Otherwise, an `INVALID_ARGUMENT` error is returned. // // Types that are assignable to Max: + // // *Interval_Maximum // *Interval_ExclusiveMaximum Max isInterval_Max `protobuf_oneof:"max"` diff --git a/discoveryengine/apiv1/discoveryenginepb/conversation.pb.go b/discoveryengine/apiv1/discoveryenginepb/conversation.pb.go index f325a6bfde7..162a1d0d0ec 100755 --- a/discoveryengine/apiv1/discoveryenginepb/conversation.pb.go +++ b/discoveryengine/apiv1/discoveryenginepb/conversation.pb.go @@ -359,6 +359,7 @@ type ConversationMessage struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Message: + // // *ConversationMessage_UserInput // *ConversationMessage_Reply Message isConversationMessage_Message `protobuf_oneof:"message"` diff --git a/discoveryengine/apiv1/discoveryenginepb/conversational_search_service.pb.go b/discoveryengine/apiv1/discoveryenginepb/conversational_search_service.pb.go index 41bd9258f75..12e83c72689 100755 --- a/discoveryengine/apiv1/discoveryenginepb/conversational_search_service.pb.go +++ b/discoveryengine/apiv1/discoveryenginepb/conversational_search_service.pb.go @@ -71,17 +71,17 @@ type ConverseConversationRequest struct { SafeSearch bool `protobuf:"varint,6,opt,name=safe_search,json=safeSearch,proto3" json:"safe_search,omitempty"` // The user labels applied to a resource must meet the following requirements: // - // * Each resource can have multiple labels, up to a maximum of 64. - // * Each label must be a key-value pair. - // * Keys have a minimum length of 1 character and a maximum length of 63 - // characters and cannot be empty. Values can be empty and have a maximum - // length of 63 characters. - // * Keys and values can contain only lowercase letters, numeric characters, - // underscores, and dashes. All characters must use UTF-8 encoding, and - // international characters are allowed. - // * The key portion of a label must be unique. However, you can use the same - // key with multiple resources. - // * Keys must start with a lowercase letter or international character. + // - Each resource can have multiple labels, up to a maximum of 64. + // - Each label must be a key-value pair. + // - Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // - Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // - The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // - Keys must start with a lowercase letter or international character. // // See [Google Cloud // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) @@ -488,9 +488,9 @@ type ListConversationsRequest struct { // A comma-separated list of fields to order by, sorted in ascending order. // Use "desc" after a field name for descending. // Supported fields: - // * `update_time` - // * `create_time` - // * `conversation_name` + // - `update_time` + // - `create_time` + // - `conversation_name` // // Example: // "update_time desc" diff --git a/discoveryengine/apiv1/discoveryenginepb/document.pb.go b/discoveryengine/apiv1/discoveryenginepb/document.pb.go index 4c4c02c279d..2d73186ccc2 100755 --- a/discoveryengine/apiv1/discoveryenginepb/document.pb.go +++ b/discoveryengine/apiv1/discoveryenginepb/document.pb.go @@ -50,6 +50,7 @@ type Document struct { // provided otherwise an `INVALID_ARGUMENT` error is thrown. // // Types that are assignable to Data: + // // *Document_StructData // *Document_JsonData Data isDocument_Data `protobuf_oneof:"data"` @@ -206,6 +207,7 @@ type Document_Content struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Content: + // // *Document_Content_RawBytes // *Document_Content_Uri Content isDocument_Content_Content `protobuf_oneof:"content"` diff --git a/discoveryengine/apiv1/discoveryenginepb/import_config.pb.go b/discoveryengine/apiv1/discoveryenginepb/import_config.pb.go index f99c94152bd..405a73a6454 100755 --- a/discoveryengine/apiv1/discoveryenginepb/import_config.pb.go +++ b/discoveryengine/apiv1/discoveryenginepb/import_config.pb.go @@ -116,17 +116,20 @@ type GcsSource struct { // * `document` (default): One JSON // [Document][google.cloud.discoveryengine.v1.Document] per line. Each // document must - // have a valid [Document.id][google.cloud.discoveryengine.v1.Document.id]. - // * `content`: Unstructured data (e.g. PDF, HTML). Each file matched by - // `input_uris` becomes a document, with the ID set to the first 128 - // bits of SHA256(URI) encoded as a hex string. - // * `custom`: One custom data JSON per row in arbitrary format that conforms - // to the defined [Schema][google.cloud.discoveryengine.v1.Schema] of the - // data store. This can only be used by Gen App Builder. - // * `csv`: A CSV file with header conforming to the defined + // + // have a valid [Document.id][google.cloud.discoveryengine.v1.Document.id]. + // - `content`: Unstructured data (e.g. PDF, HTML). Each file matched by + // `input_uris` becomes a document, with the ID set to the first 128 + // bits of SHA256(URI) encoded as a hex string. + // - `custom`: One custom data JSON per row in arbitrary format that conforms + // to the defined [Schema][google.cloud.discoveryengine.v1.Schema] of the + // data store. This can only be used by Gen App Builder. + // - `csv`: A CSV file with header conforming to the defined + // // [Schema][google.cloud.discoveryengine.v1.Schema] of the - // data store. Each entry after the header is imported as a Document. - // This can only be used by Gen App Builder. + // + // data store. Each entry after the header is imported as a Document. + // This can only be used by Gen App Builder. // // Supported values for user even imports: // @@ -191,6 +194,7 @@ type BigQuerySource struct { // is not partitioned. // // Types that are assignable to Partition: + // // *BigQuerySource_PartitionDate Partition isBigQuerySource_Partition `protobuf_oneof:"partition"` // The project ID (can be project # or ID) that the BigQuery source is in with @@ -218,14 +222,15 @@ type BigQuerySource struct { // // * `document` (default): One // [Document][google.cloud.discoveryengine.v1.Document] format per - // row. Each document must have a valid - // [Document.id][google.cloud.discoveryengine.v1.Document.id] and one of - // [Document.json_data][google.cloud.discoveryengine.v1.Document.json_data] - // or - // [Document.struct_data][google.cloud.discoveryengine.v1.Document.struct_data]. - // * `custom`: One custom data per row in arbitrary format that conforms to - // the defined [Schema][google.cloud.discoveryengine.v1.Schema] of the data - // store. This can only be used by Gen App Builder. + // + // row. Each document must have a valid + // [Document.id][google.cloud.discoveryengine.v1.Document.id] and one of + // [Document.json_data][google.cloud.discoveryengine.v1.Document.json_data] + // or + // [Document.struct_data][google.cloud.discoveryengine.v1.Document.struct_data]. + // - `custom`: One custom data per row in arbitrary format that conforms to + // the defined [Schema][google.cloud.discoveryengine.v1.Schema] of the data + // store. This can only be used by Gen App Builder. DataSchema string `protobuf:"bytes,6,opt,name=data_schema,json=dataSchema,proto3" json:"data_schema,omitempty"` } @@ -330,6 +335,7 @@ type ImportErrorConfig struct { // Required. Errors destination. // // Types that are assignable to Destination: + // // *ImportErrorConfig_GcsPrefix Destination isImportErrorConfig_Destination `protobuf_oneof:"destination"` } @@ -403,6 +409,7 @@ type ImportUserEventsRequest struct { // Required - The desired input source of the user event data. // // Types that are assignable to Source: + // // *ImportUserEventsRequest_InlineSource_ // *ImportUserEventsRequest_GcsSource // *ImportUserEventsRequest_BigquerySource @@ -759,6 +766,7 @@ type ImportDocumentsRequest struct { // Required. The source of the input. // // Types that are assignable to Source: + // // *ImportDocumentsRequest_InlineSource_ // *ImportDocumentsRequest_GcsSource // *ImportDocumentsRequest_BigquerySource diff --git a/discoveryengine/apiv1/discoveryenginepb/schema.pb.go b/discoveryengine/apiv1/discoveryenginepb/schema.pb.go index 2f32553a2e7..aebc15c39ce 100755 --- a/discoveryengine/apiv1/discoveryenginepb/schema.pb.go +++ b/discoveryengine/apiv1/discoveryenginepb/schema.pb.go @@ -49,6 +49,7 @@ type Schema struct { // provided otherwise an `INVALID_ARGUMENT` error is thrown. // // Types that are assignable to Schema: + // // *Schema_StructSchema // *Schema_JsonSchema Schema isSchema_Schema `protobuf_oneof:"schema"` diff --git a/discoveryengine/apiv1/discoveryenginepb/search_service.pb.go b/discoveryengine/apiv1/discoveryenginepb/search_service.pb.go index 64a8b595404..70e64ea1839 100755 --- a/discoveryengine/apiv1/discoveryenginepb/search_service.pb.go +++ b/discoveryengine/apiv1/discoveryenginepb/search_service.pb.go @@ -275,7 +275,8 @@ type SearchRequest struct { // When paginating, all other parameters provided to // [SearchService.Search][google.cloud.discoveryengine.v1.SearchService.Search] // must match the call that provided the page token. Otherwise, an - // `INVALID_ARGUMENT` error is returned. + // + // `INVALID_ARGUMENT` error is returned. PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` // A 0-indexed integer that specifies the current offset (that is, starting // result location, amongst the @@ -315,11 +316,11 @@ type SearchRequest struct { // // For public website search only, supported values are: // - // * `user_country_code`: string. Default empty. If set to non-empty, results - // are restricted or boosted based on the location provided. - // * `search_type`: double. Default empty. Enables non-webpage searching - // depending on the value. The only valid non-default value is 1, - // which enables image searching. + // - `user_country_code`: string. Default empty. If set to non-empty, results + // are restricted or boosted based on the location provided. + // - `search_type`: double. Default empty. Enables non-webpage searching + // depending on the value. The only valid non-default value is 1, + // which enables image searching. Params map[string]*structpb.Value `protobuf:"bytes,11,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The query expansion specification that specifies the conditions under which // query expansion occurs. @@ -349,17 +350,17 @@ type SearchRequest struct { SafeSearch bool `protobuf:"varint,20,opt,name=safe_search,json=safeSearch,proto3" json:"safe_search,omitempty"` // The user labels applied to a resource must meet the following requirements: // - // * Each resource can have multiple labels, up to a maximum of 64. - // * Each label must be a key-value pair. - // * Keys have a minimum length of 1 character and a maximum length of 63 - // characters and cannot be empty. Values can be empty and have a maximum - // length of 63 characters. - // * Keys and values can contain only lowercase letters, numeric characters, - // underscores, and dashes. All characters must use UTF-8 encoding, and - // international characters are allowed. - // * The key portion of a label must be unique. However, you can use the same - // key with multiple resources. - // * Keys must start with a lowercase letter or international character. + // - Each resource can have multiple labels, up to a maximum of 64. + // - Each label must be a key-value pair. + // - Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // - Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // - The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // - Keys must start with a lowercase letter or international character. // // See [Google Cloud // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) @@ -682,6 +683,7 @@ type SearchRequest_ImageQuery struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Image: + // // *SearchRequest_ImageQuery_ImageBytes Image isSearchRequest_ImageQuery_Image `protobuf_oneof:"image"` } @@ -760,7 +762,6 @@ type SearchRequest_FacetSpec struct { Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` // List of keys to exclude when faceting. // - // // By default, // [FacetKey.key][google.cloud.discoveryengine.v1.SearchRequest.FacetSpec.FacetKey.key] // is not excluded from the filter unless it is listed in this field. @@ -1150,7 +1151,8 @@ type SearchRequest_FacetSpec_FacetKey struct { // * "value desc", which means order by // [SearchResponse.Facet.values.value][google.cloud.discoveryengine.v1.SearchResponse.Facet.FacetValue.value] // descending. - // Only applies to textual facets. + // + // Only applies to textual facets. // // If not set, textual values are sorted in [natural // order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical @@ -1255,8 +1257,9 @@ type SearchRequest_BoostSpec_ConditionBoostSpec struct { // // * To boost documents with document ID "doc_1" or "doc_2", and // color - // "Red" or "Blue": - // * (id: ANY("doc_1", "doc_2")) AND (color: ANY("Red","Blue")) + // + // "Red" or "Blue": + // * (id: ANY("doc_1", "doc_2")) AND (color: ANY("Red","Blue")) Condition string `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"` // Strength of the condition boost, which should be in [-1, 1]. Negative // boost means demotion. Default is 0.0. @@ -1796,6 +1799,7 @@ type SearchResponse_Facet_FacetValue struct { // A facet value which contains values. // // Types that are assignable to FacetValue: + // // *SearchResponse_Facet_FacetValue_Value // *SearchResponse_Facet_FacetValue_Interval FacetValue isSearchResponse_Facet_FacetValue_FacetValue `protobuf_oneof:"facet_value"` diff --git a/discoveryengine/apiv1/discoveryenginepb/user_event.pb.go b/discoveryengine/apiv1/discoveryenginepb/user_event.pb.go index 358ec5b206b..1674f13e0ec 100755 --- a/discoveryengine/apiv1/discoveryenginepb/user_event.pb.go +++ b/discoveryengine/apiv1/discoveryenginepb/user_event.pb.go @@ -207,12 +207,12 @@ type UserEvent struct { // This field needs to pass all below criteria, otherwise an // `INVALID_ARGUMENT` error is returned: // - // * The key must be a UTF-8 encoded string with a length limit of 5,000 - // characters. - // * For text attributes, at most 400 values are allowed. Empty values are not - // allowed. Each value must be a UTF-8 encoded string with a length limit of - // 256 characters. - // * For number attributes, at most 400 values are allowed. + // - The key must be a UTF-8 encoded string with a length limit of 5,000 + // characters. + // - For text attributes, at most 400 values are allowed. Empty values are not + // allowed. Each value must be a UTF-8 encoded string with a length limit of + // 256 characters. + // - For number attributes, at most 400 values are allowed. // // For product recommendations, an example of extra user information is // `traffic_channel`, which is how a user arrives at the site. Users can @@ -789,6 +789,7 @@ type DocumentInfo struct { // `{branch_id}` are used when annotating with the stored Document. // // Types that are assignable to DocumentDescriptor: + // // *DocumentInfo_Id // *DocumentInfo_Name // *DocumentInfo_Uri diff --git a/discoveryengine/apiv1alpha/discoveryenginepb/common.pb.go b/discoveryengine/apiv1alpha/discoveryenginepb/common.pb.go index bd2ad3c672e..60e0702b087 100755 --- a/discoveryengine/apiv1alpha/discoveryenginepb/common.pb.go +++ b/discoveryengine/apiv1alpha/discoveryenginepb/common.pb.go @@ -264,6 +264,7 @@ type Interval struct { // Otherwise, an `INVALID_ARGUMENT` error is returned. // // Types that are assignable to Min: + // // *Interval_Minimum // *Interval_ExclusiveMinimum Min isInterval_Min `protobuf_oneof:"min"` @@ -274,6 +275,7 @@ type Interval struct { // Otherwise, an `INVALID_ARGUMENT` error is returned. // // Types that are assignable to Max: + // // *Interval_Maximum // *Interval_ExclusiveMaximum Max isInterval_Max `protobuf_oneof:"max"` diff --git a/discoveryengine/apiv1alpha/discoveryenginepb/conversation.pb.go b/discoveryengine/apiv1alpha/discoveryenginepb/conversation.pb.go index e4dbe5527e2..32bf919fba8 100755 --- a/discoveryengine/apiv1alpha/discoveryenginepb/conversation.pb.go +++ b/discoveryengine/apiv1alpha/discoveryenginepb/conversation.pb.go @@ -386,6 +386,7 @@ type ConversationMessage struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Message: + // // *ConversationMessage_UserInput // *ConversationMessage_Reply Message isConversationMessage_Message `protobuf_oneof:"message"` diff --git a/discoveryengine/apiv1alpha/discoveryenginepb/conversational_search_service.pb.go b/discoveryengine/apiv1alpha/discoveryenginepb/conversational_search_service.pb.go index 7de464ee20d..2e50df9ed68 100755 --- a/discoveryengine/apiv1alpha/discoveryenginepb/conversational_search_service.pb.go +++ b/discoveryengine/apiv1alpha/discoveryenginepb/conversational_search_service.pb.go @@ -71,17 +71,17 @@ type ConverseConversationRequest struct { SafeSearch bool `protobuf:"varint,6,opt,name=safe_search,json=safeSearch,proto3" json:"safe_search,omitempty"` // The user labels applied to a resource must meet the following requirements: // - // * Each resource can have multiple labels, up to a maximum of 64. - // * Each label must be a key-value pair. - // * Keys have a minimum length of 1 character and a maximum length of 63 - // characters and cannot be empty. Values can be empty and have a maximum - // length of 63 characters. - // * Keys and values can contain only lowercase letters, numeric characters, - // underscores, and dashes. All characters must use UTF-8 encoding, and - // international characters are allowed. - // * The key portion of a label must be unique. However, you can use the same - // key with multiple resources. - // * Keys must start with a lowercase letter or international character. + // - Each resource can have multiple labels, up to a maximum of 64. + // - Each label must be a key-value pair. + // - Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // - Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // - The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // - Keys must start with a lowercase letter or international character. // // See [Google Cloud // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) @@ -521,9 +521,9 @@ type ListConversationsRequest struct { // A comma-separated list of fields to order by, sorted in ascending order. // Use "desc" after a field name for descending. // Supported fields: - // * `update_time` - // * `create_time` - // * `conversation_name` + // - `update_time` + // - `create_time` + // - `conversation_name` // // Example: // "update_time desc" diff --git a/discoveryengine/apiv1alpha/discoveryenginepb/data_store.pb.go b/discoveryengine/apiv1alpha/discoveryenginepb/data_store.pb.go index 6b239d4ac1e..3c88dcf75b3 100755 --- a/discoveryengine/apiv1alpha/discoveryenginepb/data_store.pb.go +++ b/discoveryengine/apiv1alpha/discoveryenginepb/data_store.pb.go @@ -119,9 +119,9 @@ type DataStore struct { // The solutions that the data store enrolls. Available solutions for each // [industry_vertical][google.cloud.discoveryengine.v1alpha.DataStore.industry_vertical]: // - // * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. - // * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other - // solutions cannot be enrolled. + // - `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. + // - `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other + // solutions cannot be enrolled. SolutionTypes []SolutionType `protobuf:"varint,5,rep,packed,name=solution_types,json=solutionTypes,proto3,enum=google.cloud.discoveryengine.v1alpha.SolutionType" json:"solution_types,omitempty"` // Output only. The id of the default // [Schema][google.cloud.discoveryengine.v1alpha.Schema] asscociated to this diff --git a/discoveryengine/apiv1alpha/discoveryenginepb/document.pb.go b/discoveryengine/apiv1alpha/discoveryenginepb/document.pb.go index 06a3518e6ee..246d6f514e4 100755 --- a/discoveryengine/apiv1alpha/discoveryenginepb/document.pb.go +++ b/discoveryengine/apiv1alpha/discoveryenginepb/document.pb.go @@ -50,6 +50,7 @@ type Document struct { // be provided otherwise an `INVALID_ARGUMENT` error is thrown. // // Types that are assignable to Data: + // // *Document_StructData // *Document_JsonData Data isDocument_Data `protobuf_oneof:"data"` @@ -206,6 +207,7 @@ type Document_Content struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Content: + // // *Document_Content_RawBytes // *Document_Content_Uri Content isDocument_Content_Content `protobuf_oneof:"content"` diff --git a/discoveryengine/apiv1alpha/discoveryenginepb/engine.pb.go b/discoveryengine/apiv1alpha/discoveryenginepb/engine.pb.go index e55d25379e6..603c4ab35d7 100755 --- a/discoveryengine/apiv1alpha/discoveryenginepb/engine.pb.go +++ b/discoveryengine/apiv1alpha/discoveryenginepb/engine.pb.go @@ -213,6 +213,7 @@ type Engine struct { // Additional config specs that defines the behavior of the engine. // // Types that are assignable to EngineConfig: + // // *Engine_SimilarDocumentsConfig // *Engine_ChatEngineConfig_ // *Engine_SearchEngineConfig_ @@ -221,6 +222,7 @@ type Engine struct { // Engine metadata to monitor the status of the engine. // // Types that are assignable to EngineMetadata: + // // *Engine_RecommendationMetadata_ // *Engine_ChatEngineMetadata_ EngineMetadata isEngine_EngineMetadata `protobuf_oneof:"engine_metadata"` @@ -616,7 +618,8 @@ type Engine_MediaRecommendationEngineConfig struct { // Currently supported // values: `ctr`, `cvr`. // - // If not specified, we choose default based on engine type. + // If not specified, we choose default based on engine type. + // // Default depends on type of recommendation: // // `recommended-for-you` => `ctr` diff --git a/discoveryengine/apiv1alpha/discoveryenginepb/import_config.pb.go b/discoveryengine/apiv1alpha/discoveryenginepb/import_config.pb.go index 49394033c31..d8a34af9a76 100755 --- a/discoveryengine/apiv1alpha/discoveryenginepb/import_config.pb.go +++ b/discoveryengine/apiv1alpha/discoveryenginepb/import_config.pb.go @@ -116,18 +116,21 @@ type GcsSource struct { // * `document` (default): One JSON // [Document][google.cloud.discoveryengine.v1alpha.Document] per line. Each // document must - // have a valid - // [Document.id][google.cloud.discoveryengine.v1alpha.Document.id]. - // * `content`: Unstructured data (e.g. PDF, HTML). Each file matched by - // `input_uris` becomes a document, with the ID set to the first 128 - // bits of SHA256(URI) encoded as a hex string. - // * `custom`: One custom data JSON per row in arbitrary format that conforms - // to the defined [Schema][google.cloud.discoveryengine.v1alpha.Schema] of - // the data store. This can only be used by Gen App Builder. - // * `csv`: A CSV file with header conforming to the defined + // + // have a valid + // [Document.id][google.cloud.discoveryengine.v1alpha.Document.id]. + // - `content`: Unstructured data (e.g. PDF, HTML). Each file matched by + // `input_uris` becomes a document, with the ID set to the first 128 + // bits of SHA256(URI) encoded as a hex string. + // - `custom`: One custom data JSON per row in arbitrary format that conforms + // to the defined [Schema][google.cloud.discoveryengine.v1alpha.Schema] of + // the data store. This can only be used by Gen App Builder. + // - `csv`: A CSV file with header conforming to the defined + // // [Schema][google.cloud.discoveryengine.v1alpha.Schema] of the - // data store. Each entry after the header is imported as a Document. - // This can only be used by Gen App Builder. + // + // data store. Each entry after the header is imported as a Document. + // This can only be used by Gen App Builder. // // Supported values for user even imports: // @@ -192,6 +195,7 @@ type BigQuerySource struct { // is not partitioned. // // Types that are assignable to Partition: + // // *BigQuerySource_PartitionDate Partition isBigQuerySource_Partition `protobuf_oneof:"partition"` // The project ID (can be project # or ID) that the BigQuery source is in with @@ -219,15 +223,16 @@ type BigQuerySource struct { // // * `document` (default): One // [Document][google.cloud.discoveryengine.v1alpha.Document] format per - // row. Each document must have a valid - // [Document.id][google.cloud.discoveryengine.v1alpha.Document.id] and one - // of - // [Document.json_data][google.cloud.discoveryengine.v1alpha.Document.json_data] - // or - // [Document.struct_data][google.cloud.discoveryengine.v1alpha.Document.struct_data]. - // * `custom`: One custom data per row in arbitrary format that conforms to - // the defined [Schema][google.cloud.discoveryengine.v1alpha.Schema] of the - // data store. This can only be used by Gen App Builder. + // + // row. Each document must have a valid + // [Document.id][google.cloud.discoveryengine.v1alpha.Document.id] and one + // of + // [Document.json_data][google.cloud.discoveryengine.v1alpha.Document.json_data] + // or + // [Document.struct_data][google.cloud.discoveryengine.v1alpha.Document.struct_data]. + // - `custom`: One custom data per row in arbitrary format that conforms to + // the defined [Schema][google.cloud.discoveryengine.v1alpha.Schema] of the + // data store. This can only be used by Gen App Builder. DataSchema string `protobuf:"bytes,6,opt,name=data_schema,json=dataSchema,proto3" json:"data_schema,omitempty"` } @@ -332,6 +337,7 @@ type ImportErrorConfig struct { // Required. Errors destination. // // Types that are assignable to Destination: + // // *ImportErrorConfig_GcsPrefix Destination isImportErrorConfig_Destination `protobuf_oneof:"destination"` } @@ -405,6 +411,7 @@ type ImportUserEventsRequest struct { // Required - The desired input source of the user event data. // // Types that are assignable to Source: + // // *ImportUserEventsRequest_InlineSource_ // *ImportUserEventsRequest_GcsSource // *ImportUserEventsRequest_BigquerySource @@ -761,6 +768,7 @@ type ImportDocumentsRequest struct { // Required. The source of the input. // // Types that are assignable to Source: + // // *ImportDocumentsRequest_InlineSource_ // *ImportDocumentsRequest_GcsSource // *ImportDocumentsRequest_BigquerySource diff --git a/discoveryengine/apiv1alpha/discoveryenginepb/purge_config.pb.go b/discoveryengine/apiv1alpha/discoveryenginepb/purge_config.pb.go index 9119c4fc404..84feebe9301 100755 --- a/discoveryengine/apiv1alpha/discoveryenginepb/purge_config.pb.go +++ b/discoveryengine/apiv1alpha/discoveryenginepb/purge_config.pb.go @@ -53,23 +53,23 @@ type PurgeUserEventsRequest struct { // * `eventType`: Double quoted // [UserEvent.event_type][google.cloud.discoveryengine.v1alpha.UserEvent.event_type] // string. - // * `eventTime`: in ISO 8601 "zulu" format. - // * `userPseudoId`: Double quoted string. Specifying this will delete all - // events associated with a visitor. - // * `userId`: Double quoted string. Specifying this will delete all events - // associated with a user. + // - `eventTime`: in ISO 8601 "zulu" format. + // - `userPseudoId`: Double quoted string. Specifying this will delete all + // events associated with a visitor. + // - `userId`: Double quoted string. Specifying this will delete all events + // associated with a user. // // Examples: // - // * Deleting all events in a time range: - // `eventTime > "2012-04-23T18:25:43.511Z" - // eventTime < "2012-04-23T18:30:43.511Z"` - // * Deleting specific eventType: - // `eventType = "search"` - // * Deleting all events for a specific visitor: - // `userPseudoId = "visitor1024"` - // * Deleting all events inside a DataStore: - // `*` + // - Deleting all events in a time range: + // `eventTime > "2012-04-23T18:25:43.511Z" + // eventTime < "2012-04-23T18:30:43.511Z"` + // - Deleting specific eventType: + // `eventType = "search"` + // - Deleting all events for a specific visitor: + // `userPseudoId = "visitor1024"` + // - Deleting all events inside a DataStore: + // `*` // // The filtering fields are assumed to have an implicit AND. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` diff --git a/discoveryengine/apiv1alpha/discoveryenginepb/recommendation_service.pb.go b/discoveryengine/apiv1alpha/discoveryenginepb/recommendation_service.pb.go index dab580899b7..a844f5ead84 100755 --- a/discoveryengine/apiv1alpha/discoveryenginepb/recommendation_service.pb.go +++ b/discoveryengine/apiv1alpha/discoveryenginepb/recommendation_service.pb.go @@ -85,19 +85,18 @@ type RecommendRequest struct { // characters. Currently, only filter expressions on the `filter_tags` // attribute is supported. // - // // Examples: // - // * `(filter_tags: ANY("Red", "Blue") OR filter_tags: ANY("Hot", "Cold"))` - // * `(filter_tags: ANY("Red", "Blue")) AND NOT (filter_tags: ANY("Green"))` + // - `(filter_tags: ANY("Red", "Blue") OR filter_tags: ANY("Hot", "Cold"))` + // - `(filter_tags: ANY("Red", "Blue")) AND NOT (filter_tags: ANY("Green"))` // // If `attributeFilteringSyntax` is set to true under the `params` field, then // attribute-based expressions are expected instead of the above described // tag-based syntax. Examples: // - // * (launguage: ANY("en", "es")) AND NOT (categories: ANY("Movie")) - // * (available: true) AND - // (launguage: ANY("en", "es")) OR (categories: ANY("Movie")) + // - (launguage: ANY("en", "es")) AND NOT (categories: ANY("Movie")) + // - (available: true) AND + // (launguage: ANY("en", "es")) OR (categories: ANY("Movie")) // // If your filter blocks all results, the API will return generic // (unfiltered) popular Documents. If you only want results strictly matching @@ -118,43 +117,43 @@ type RecommendRequest struct { // // Allowed values: // - // * `returnDocument`: Boolean. If set to true, the associated Document - // object will be returned in - // [RecommendResponse.RecommendationResult.document][google.cloud.discoveryengine.v1alpha.RecommendResponse.RecommendationResult.document]. - // * `returnScore`: Boolean. If set to true, the recommendation 'score' - // corresponding to each returned Document will be set in - // [RecommendResponse.RecommendationResult.metadata][google.cloud.discoveryengine.v1alpha.RecommendResponse.RecommendationResult.metadata]. - // The given 'score' indicates the probability of a Document conversion - // given the user's context and history. - // * `strictFiltering`: Boolean. True by default. If set to false, the service - // will return generic (unfiltered) popular Documents instead of empty if - // your filter blocks all recommendation results. - // * `diversityLevel`: String. Default empty. If set to be non-empty, then - // it needs to be one of: - // * `no-diversity` - // * `low-diversity` - // * `medium-diversity` - // * `high-diversity` - // * `auto-diversity` - // This gives request-level control and adjusts recommendation results - // based on Document category. - // * `attributeFilteringSyntax`: Boolean. False by default. If set to true, - // the `filter` field is interpreted according to the new, - // attribute-based syntax. + // - `returnDocument`: Boolean. If set to true, the associated Document + // object will be returned in + // [RecommendResponse.RecommendationResult.document][google.cloud.discoveryengine.v1alpha.RecommendResponse.RecommendationResult.document]. + // - `returnScore`: Boolean. If set to true, the recommendation 'score' + // corresponding to each returned Document will be set in + // [RecommendResponse.RecommendationResult.metadata][google.cloud.discoveryengine.v1alpha.RecommendResponse.RecommendationResult.metadata]. + // The given 'score' indicates the probability of a Document conversion + // given the user's context and history. + // - `strictFiltering`: Boolean. True by default. If set to false, the service + // will return generic (unfiltered) popular Documents instead of empty if + // your filter blocks all recommendation results. + // - `diversityLevel`: String. Default empty. If set to be non-empty, then + // it needs to be one of: + // - `no-diversity` + // - `low-diversity` + // - `medium-diversity` + // - `high-diversity` + // - `auto-diversity` + // This gives request-level control and adjusts recommendation results + // based on Document category. + // - `attributeFilteringSyntax`: Boolean. False by default. If set to true, + // the `filter` field is interpreted according to the new, + // attribute-based syntax. Params map[string]*structpb.Value `protobuf:"bytes,6,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The user labels applied to a resource must meet the following requirements: // - // * Each resource can have multiple labels, up to a maximum of 64. - // * Each label must be a key-value pair. - // * Keys have a minimum length of 1 character and a maximum length of 63 - // characters and cannot be empty. Values can be empty and have a maximum - // length of 63 characters. - // * Keys and values can contain only lowercase letters, numeric characters, - // underscores, and dashes. All characters must use UTF-8 encoding, and - // international characters are allowed. - // * The key portion of a label must be unique. However, you can use the same - // key with multiple resources. - // * Keys must start with a lowercase letter or international character. + // - Each resource can have multiple labels, up to a maximum of 64. + // - Each label must be a key-value pair. + // - Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // - Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // - The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // - Keys must start with a lowercase letter or international character. // // See [Requirements for // labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) @@ -342,9 +341,9 @@ type RecommendResponse_RecommendationResult struct { // // Possible values: // - // * `score`: Recommendation score in double value. Is set if - // `returnScore` is set to true in - // [RecommendRequest.params][google.cloud.discoveryengine.v1alpha.RecommendRequest.params]. + // - `score`: Recommendation score in double value. Is set if + // `returnScore` is set to true in + // [RecommendRequest.params][google.cloud.discoveryengine.v1alpha.RecommendRequest.params]. Metadata map[string]*structpb.Value `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } diff --git a/discoveryengine/apiv1alpha/discoveryenginepb/schema.pb.go b/discoveryengine/apiv1alpha/discoveryenginepb/schema.pb.go index 36a49c806dd..7e6afb8bba8 100755 --- a/discoveryengine/apiv1alpha/discoveryenginepb/schema.pb.go +++ b/discoveryengine/apiv1alpha/discoveryenginepb/schema.pb.go @@ -436,6 +436,7 @@ type Schema struct { // should be provided otherwise an `INVALID_ARGUMENT` error is thrown. // // Types that are assignable to Schema: + // // *Schema_StructSchema // *Schema_JsonSchema Schema isSchema_Schema `protobuf_oneof:"schema"` diff --git a/discoveryengine/apiv1alpha/discoveryenginepb/search_service.pb.go b/discoveryengine/apiv1alpha/discoveryenginepb/search_service.pb.go index 56ba5ce39b2..13ca3b0e504 100755 --- a/discoveryengine/apiv1alpha/discoveryenginepb/search_service.pb.go +++ b/discoveryengine/apiv1alpha/discoveryenginepb/search_service.pb.go @@ -278,7 +278,8 @@ type SearchRequest struct { // When paginating, all other parameters provided to // [SearchService.Search][google.cloud.discoveryengine.v1alpha.SearchService.Search] // must match the call that provided the page token. Otherwise, an - // `INVALID_ARGUMENT` error is returned. + // + // `INVALID_ARGUMENT` error is returned. PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` // A 0-indexed integer that specifies the current offset (that is, starting // result location, amongst the @@ -344,19 +345,19 @@ type SearchRequest struct { // // For public website search only, supported values are: // - // * `user_country_code`: string. Default empty. If set to non-empty, results - // are restricted or boosted based on the location provided. - // Example: - // user_country_code: "au" + // - `user_country_code`: string. Default empty. If set to non-empty, results + // are restricted or boosted based on the location provided. + // Example: + // user_country_code: "au" // - // For available codes see [Country - // Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) + // For available codes see [Country + // Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) // - // * `search_type`: double. Default empty. Enables non-webpage searching - // depending on the value. The only valid non-default value is 1, - // which enables image searching. - // Example: - // search_type: 1 + // - `search_type`: double. Default empty. Enables non-webpage searching + // depending on the value. The only valid non-default value is 1, + // which enables image searching. + // Example: + // search_type: 1 Params map[string]*structpb.Value `protobuf:"bytes,11,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The query expansion specification that specifies the conditions under which // query expansion occurs. @@ -395,38 +396,41 @@ type SearchRequest struct { // [ServingConfig.ranking_expression][google.cloud.discoveryengine.v1alpha.ServingConfig.ranking_expression]. // The ranking expression is a single function or multiple functions that are // joint by "+". - // * ranking_expression = function, { " + ", function }; + // - ranking_expression = function, { " + ", function }; + // // Supported functions: - // * double * relevance_score - // * double * dotProduct(embedding_field_path) + // - double * relevance_score + // - double * dotProduct(embedding_field_path) + // // Function variables: - // `relevance_score`: pre-defined keywords, used for measure relevance - // between query and document. - // `embedding_field_path`: the document embedding field - // used with query embedding vector. - // `dotProduct`: embedding function between embedding_field_path and query - // embedding vector. // - // Example ranking expression: - // If document has an embedding field doc_embedding, the ranking expression - // could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. + // `relevance_score`: pre-defined keywords, used for measure relevance + // between query and document. + // `embedding_field_path`: the document embedding field + // used with query embedding vector. + // `dotProduct`: embedding function between embedding_field_path and query + // embedding vector. + // + // Example ranking expression: + // If document has an embedding field doc_embedding, the ranking expression + // could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. RankingExpression string `protobuf:"bytes,26,opt,name=ranking_expression,json=rankingExpression,proto3" json:"ranking_expression,omitempty"` // Whether to turn on safe search. This is only supported for // website search. SafeSearch bool `protobuf:"varint,20,opt,name=safe_search,json=safeSearch,proto3" json:"safe_search,omitempty"` // The user labels applied to a resource must meet the following requirements: // - // * Each resource can have multiple labels, up to a maximum of 64. - // * Each label must be a key-value pair. - // * Keys have a minimum length of 1 character and a maximum length of 63 - // characters and cannot be empty. Values can be empty and have a maximum - // length of 63 characters. - // * Keys and values can contain only lowercase letters, numeric characters, - // underscores, and dashes. All characters must use UTF-8 encoding, and - // international characters are allowed. - // * The key portion of a label must be unique. However, you can use the same - // key with multiple resources. - // * Keys must start with a lowercase letter or international character. + // - Each resource can have multiple labels, up to a maximum of 64. + // - Each label must be a key-value pair. + // - Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // - Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // - The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // - Keys must start with a lowercase letter or international character. // // See [Google Cloud // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) @@ -797,6 +801,7 @@ type SearchRequest_ImageQuery struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Image: + // // *SearchRequest_ImageQuery_ImageBytes Image isSearchRequest_ImageQuery_Image `protobuf_oneof:"image"` } @@ -875,7 +880,6 @@ type SearchRequest_FacetSpec struct { Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` // List of keys to exclude when faceting. // - // // By default, // [FacetKey.key][google.cloud.discoveryengine.v1alpha.SearchRequest.FacetSpec.FacetKey.key] // is not excluded from the filter unless it is listed in this field. @@ -1325,7 +1329,8 @@ type SearchRequest_FacetSpec_FacetKey struct { // * "value desc", which means order by // [SearchResponse.Facet.values.value][google.cloud.discoveryengine.v1alpha.SearchResponse.Facet.FacetValue.value] // descending. - // Only applies to textual facets. + // + // Only applies to textual facets. // // If not set, textual values are sorted in [natural // order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical @@ -1430,8 +1435,9 @@ type SearchRequest_BoostSpec_ConditionBoostSpec struct { // // * To boost documents with document ID "doc_1" or "doc_2", and // color - // "Red" or "Blue": - // * (id: ANY("doc_1", "doc_2")) AND (color: ANY("Red","Blue")) + // + // "Red" or "Blue": + // * (id: ANY("doc_1", "doc_2")) AND (color: ANY("Red","Blue")) Condition string `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"` // Strength of the condition boost, which should be in [-1, 1]. Negative // boost means demotion. Default is 0.0. @@ -2407,6 +2413,7 @@ type SearchResponse_Facet_FacetValue struct { // A facet value which contains values. // // Types that are assignable to FacetValue: + // // *SearchResponse_Facet_FacetValue_Value // *SearchResponse_Facet_FacetValue_Interval FacetValue isSearchResponse_Facet_FacetValue_FacetValue `protobuf_oneof:"facet_value"` diff --git a/discoveryengine/apiv1alpha/discoveryenginepb/search_tuning_service.pb.go b/discoveryengine/apiv1alpha/discoveryenginepb/search_tuning_service.pb.go index ab1c5e1c87a..036ebb527f1 100755 --- a/discoveryengine/apiv1alpha/discoveryenginepb/search_tuning_service.pb.go +++ b/discoveryengine/apiv1alpha/discoveryenginepb/search_tuning_service.pb.go @@ -54,6 +54,7 @@ type TrainCustomModelRequest struct { // Model training input. // // Types that are assignable to TrainingInput: + // // *TrainCustomModelRequest_GcsTrainingInput_ TrainingInput isTrainCustomModelRequest_TrainingInput `protobuf_oneof:"training_input"` // Required. The resource name of the Data Store, such as @@ -62,7 +63,7 @@ type TrainCustomModelRequest struct { DataStore string `protobuf:"bytes,1,opt,name=data_store,json=dataStore,proto3" json:"data_store,omitempty"` // Model to be trained. Supported values are: // - // * **search-tuning**: Fine tuning the search system based on data provided. + // - **search-tuning**: Fine tuning the search system based on data provided. ModelType string `protobuf:"bytes,3,opt,name=model_type,json=modelType,proto3" json:"model_type,omitempty"` // The desired location of errors incurred during the data ingestion and // training. @@ -161,10 +162,10 @@ type TrainCustomModelResponse struct { ErrorConfig *ImportErrorConfig `protobuf:"bytes,2,opt,name=error_config,json=errorConfig,proto3" json:"error_config,omitempty"` // The trained model status. Possible values are: // - // * **bad-data**: The training data quality is bad. - // * **no-improvement**: Tuning didn't improve performance. Won't deploy. - // * **in-progress**: Model training is in progress. - // * **ready**: The model is ready for serving. + // - **bad-data**: The training data quality is bad. + // - **no-improvement**: Tuning didn't improve performance. Won't deploy. + // - **in-progress**: Model training is in progress. + // - **ready**: The model is ready for serving. ModelStatus string `protobuf:"bytes,3,opt,name=model_status,json=modelStatus,proto3" json:"model_status,omitempty"` } @@ -290,24 +291,24 @@ type TrainCustomModelRequest_GcsTrainingInput struct { // The gcs corpus data which could be associated in train data. // The data path format is gs:///. // A newline delimited jsonl/ndjson file. - // * For search-tuning model, each line should have the _id, title - // and text. Example: {"_id": "doc1", title: "relevant doc", "text": - // "relevant text"} + // - For search-tuning model, each line should have the _id, title + // and text. Example: {"_id": "doc1", title: "relevant doc", "text": + // "relevant text"} CorpusDataPath string `protobuf:"bytes,1,opt,name=corpus_data_path,json=corpusDataPath,proto3" json:"corpus_data_path,omitempty"` // The gcs query data which could be associated in train data. // The data path format is gs:///. // A newline delimited jsonl/ndjson file. - // * For search-tuning model, each line should have the _id - // and text. Example: {"_id": "query1", "text": "example query"} + // - For search-tuning model, each line should have the _id + // and text. Example: {"_id": "query1", "text": "example query"} QueryDataPath string `protobuf:"bytes,2,opt,name=query_data_path,json=queryDataPath,proto3" json:"query_data_path,omitempty"` // Gcs training data path whose format should be // gs:///. The file should be in tsv format. // Each line should have the doc_id and query_id and score (number). - // * For search-tuning model, it should have the query-id corpus-id - // score as tsv file header. The score should be a number in [0, inf+). The - // larger the number is, the more relevant the pair is. Example: - // query-id\tcorpus-id\tscore - // query1\tdoc1\t1 + // - For search-tuning model, it should have the query-id corpus-id + // score as tsv file header. The score should be a number in [0, inf+). The + // larger the number is, the more relevant the pair is. Example: + // query-id\tcorpus-id\tscore + // query1\tdoc1\t1 TrainDataPath string `protobuf:"bytes,3,opt,name=train_data_path,json=trainDataPath,proto3" json:"train_data_path,omitempty"` // Gcs test data. Same format as train_data_path. If not provided, a // random 80/20 train/test split will be performed on train_data_path. diff --git a/discoveryengine/apiv1alpha/discoveryenginepb/site_search_engine.pb.go b/discoveryengine/apiv1alpha/discoveryenginepb/site_search_engine.pb.go index 1b0edfb580e..f8a24a0a96d 100755 --- a/discoveryengine/apiv1alpha/discoveryenginepb/site_search_engine.pb.go +++ b/discoveryengine/apiv1alpha/discoveryenginepb/site_search_engine.pb.go @@ -459,6 +459,7 @@ type TargetSite_FailureReason struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Failure: + // // *TargetSite_FailureReason_QuotaFailure_ Failure isTargetSite_FailureReason_Failure `protobuf_oneof:"failure"` } diff --git a/discoveryengine/apiv1alpha/discoveryenginepb/user_event.pb.go b/discoveryengine/apiv1alpha/discoveryenginepb/user_event.pb.go index d5d75d31412..7310d1be228 100755 --- a/discoveryengine/apiv1alpha/discoveryenginepb/user_event.pb.go +++ b/discoveryengine/apiv1alpha/discoveryenginepb/user_event.pb.go @@ -211,12 +211,12 @@ type UserEvent struct { // This field needs to pass all below criteria, otherwise an // `INVALID_ARGUMENT` error is returned: // - // * The key must be a UTF-8 encoded string with a length limit of 5,000 - // characters. - // * For text attributes, at most 400 values are allowed. Empty values are not - // allowed. Each value must be a UTF-8 encoded string with a length limit of - // 256 characters. - // * For number attributes, at most 400 values are allowed. + // - The key must be a UTF-8 encoded string with a length limit of 5,000 + // characters. + // - For text attributes, at most 400 values are allowed. Empty values are not + // allowed. Each value must be a UTF-8 encoded string with a length limit of + // 256 characters. + // - For number attributes, at most 400 values are allowed. // // For product recommendations, an example of extra user information is // `traffic_channel`, which is how a user arrives at the site. Users can @@ -796,6 +796,7 @@ type DocumentInfo struct { // `{branch_id}` are used when annotating with the stored Document. // // Types that are assignable to DocumentDescriptor: + // // *DocumentInfo_Id // *DocumentInfo_Name // *DocumentInfo_Uri diff --git a/discoveryengine/apiv1beta/discoveryenginepb/common.pb.go b/discoveryengine/apiv1beta/discoveryenginepb/common.pb.go index d36a1da28d7..44ca13184c7 100755 --- a/discoveryengine/apiv1beta/discoveryenginepb/common.pb.go +++ b/discoveryengine/apiv1beta/discoveryenginepb/common.pb.go @@ -49,6 +49,7 @@ type Interval struct { // Otherwise, an `INVALID_ARGUMENT` error is returned. // // Types that are assignable to Min: + // // *Interval_Minimum // *Interval_ExclusiveMinimum Min isInterval_Min `protobuf_oneof:"min"` @@ -59,6 +60,7 @@ type Interval struct { // Otherwise, an `INVALID_ARGUMENT` error is returned. // // Types that are assignable to Max: + // // *Interval_Maximum // *Interval_ExclusiveMaximum Max isInterval_Max `protobuf_oneof:"max"` diff --git a/discoveryengine/apiv1beta/discoveryenginepb/conversation.pb.go b/discoveryengine/apiv1beta/discoveryenginepb/conversation.pb.go index 24b49ebb013..f2751422de9 100755 --- a/discoveryengine/apiv1beta/discoveryenginepb/conversation.pb.go +++ b/discoveryengine/apiv1beta/discoveryenginepb/conversation.pb.go @@ -384,6 +384,7 @@ type ConversationMessage struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Message: + // // *ConversationMessage_UserInput // *ConversationMessage_Reply Message isConversationMessage_Message `protobuf_oneof:"message"` diff --git a/discoveryengine/apiv1beta/discoveryenginepb/conversational_search_service.pb.go b/discoveryengine/apiv1beta/discoveryenginepb/conversational_search_service.pb.go index 8cb08a6f459..8231c0a0d06 100755 --- a/discoveryengine/apiv1beta/discoveryenginepb/conversational_search_service.pb.go +++ b/discoveryengine/apiv1beta/discoveryenginepb/conversational_search_service.pb.go @@ -71,17 +71,17 @@ type ConverseConversationRequest struct { SafeSearch bool `protobuf:"varint,6,opt,name=safe_search,json=safeSearch,proto3" json:"safe_search,omitempty"` // The user labels applied to a resource must meet the following requirements: // - // * Each resource can have multiple labels, up to a maximum of 64. - // * Each label must be a key-value pair. - // * Keys have a minimum length of 1 character and a maximum length of 63 - // characters and cannot be empty. Values can be empty and have a maximum - // length of 63 characters. - // * Keys and values can contain only lowercase letters, numeric characters, - // underscores, and dashes. All characters must use UTF-8 encoding, and - // international characters are allowed. - // * The key portion of a label must be unique. However, you can use the same - // key with multiple resources. - // * Keys must start with a lowercase letter or international character. + // - Each resource can have multiple labels, up to a maximum of 64. + // - Each label must be a key-value pair. + // - Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // - Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // - The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // - Keys must start with a lowercase letter or international character. // // See [Google Cloud // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) @@ -497,9 +497,9 @@ type ListConversationsRequest struct { // A comma-separated list of fields to order by, sorted in ascending order. // Use "desc" after a field name for descending. // Supported fields: - // * `update_time` - // * `create_time` - // * `conversation_name` + // - `update_time` + // - `create_time` + // - `conversation_name` // // Example: // "update_time desc" diff --git a/discoveryengine/apiv1beta/discoveryenginepb/document.pb.go b/discoveryengine/apiv1beta/discoveryenginepb/document.pb.go index 6037e2471d3..e009193a466 100755 --- a/discoveryengine/apiv1beta/discoveryenginepb/document.pb.go +++ b/discoveryengine/apiv1beta/discoveryenginepb/document.pb.go @@ -50,6 +50,7 @@ type Document struct { // be provided otherwise an `INVALID_ARGUMENT` error is thrown. // // Types that are assignable to Data: + // // *Document_StructData // *Document_JsonData Data isDocument_Data `protobuf_oneof:"data"` @@ -206,6 +207,7 @@ type Document_Content struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Content: + // // *Document_Content_RawBytes // *Document_Content_Uri Content isDocument_Content_Content `protobuf_oneof:"content"` diff --git a/discoveryengine/apiv1beta/discoveryenginepb/import_config.pb.go b/discoveryengine/apiv1beta/discoveryenginepb/import_config.pb.go index caf8711a709..8fc04a08bdf 100755 --- a/discoveryengine/apiv1beta/discoveryenginepb/import_config.pb.go +++ b/discoveryengine/apiv1beta/discoveryenginepb/import_config.pb.go @@ -116,18 +116,21 @@ type GcsSource struct { // * `document` (default): One JSON // [Document][google.cloud.discoveryengine.v1beta.Document] per line. Each // document must - // have a valid - // [Document.id][google.cloud.discoveryengine.v1beta.Document.id]. - // * `content`: Unstructured data (e.g. PDF, HTML). Each file matched by - // `input_uris` becomes a document, with the ID set to the first 128 - // bits of SHA256(URI) encoded as a hex string. - // * `custom`: One custom data JSON per row in arbitrary format that conforms - // to the defined [Schema][google.cloud.discoveryengine.v1beta.Schema] of - // the data store. This can only be used by Gen App Builder. - // * `csv`: A CSV file with header conforming to the defined + // + // have a valid + // [Document.id][google.cloud.discoveryengine.v1beta.Document.id]. + // - `content`: Unstructured data (e.g. PDF, HTML). Each file matched by + // `input_uris` becomes a document, with the ID set to the first 128 + // bits of SHA256(URI) encoded as a hex string. + // - `custom`: One custom data JSON per row in arbitrary format that conforms + // to the defined [Schema][google.cloud.discoveryengine.v1beta.Schema] of + // the data store. This can only be used by Gen App Builder. + // - `csv`: A CSV file with header conforming to the defined + // // [Schema][google.cloud.discoveryengine.v1beta.Schema] of the - // data store. Each entry after the header is imported as a Document. - // This can only be used by Gen App Builder. + // + // data store. Each entry after the header is imported as a Document. + // This can only be used by Gen App Builder. // // Supported values for user even imports: // @@ -192,6 +195,7 @@ type BigQuerySource struct { // is not partitioned. // // Types that are assignable to Partition: + // // *BigQuerySource_PartitionDate Partition isBigQuerySource_Partition `protobuf_oneof:"partition"` // The project ID (can be project # or ID) that the BigQuery source is in with @@ -219,14 +223,15 @@ type BigQuerySource struct { // // * `document` (default): One // [Document][google.cloud.discoveryengine.v1beta.Document] format per - // row. Each document must have a valid - // [Document.id][google.cloud.discoveryengine.v1beta.Document.id] and one of - // [Document.json_data][google.cloud.discoveryengine.v1beta.Document.json_data] - // or - // [Document.struct_data][google.cloud.discoveryengine.v1beta.Document.struct_data]. - // * `custom`: One custom data per row in arbitrary format that conforms to - // the defined [Schema][google.cloud.discoveryengine.v1beta.Schema] of the - // data store. This can only be used by Gen App Builder. + // + // row. Each document must have a valid + // [Document.id][google.cloud.discoveryengine.v1beta.Document.id] and one of + // [Document.json_data][google.cloud.discoveryengine.v1beta.Document.json_data] + // or + // [Document.struct_data][google.cloud.discoveryengine.v1beta.Document.struct_data]. + // - `custom`: One custom data per row in arbitrary format that conforms to + // the defined [Schema][google.cloud.discoveryengine.v1beta.Schema] of the + // data store. This can only be used by Gen App Builder. DataSchema string `protobuf:"bytes,6,opt,name=data_schema,json=dataSchema,proto3" json:"data_schema,omitempty"` } @@ -331,6 +336,7 @@ type ImportErrorConfig struct { // Required. Errors destination. // // Types that are assignable to Destination: + // // *ImportErrorConfig_GcsPrefix Destination isImportErrorConfig_Destination `protobuf_oneof:"destination"` } @@ -404,6 +410,7 @@ type ImportUserEventsRequest struct { // Required - The desired input source of the user event data. // // Types that are assignable to Source: + // // *ImportUserEventsRequest_InlineSource_ // *ImportUserEventsRequest_GcsSource // *ImportUserEventsRequest_BigquerySource @@ -760,6 +767,7 @@ type ImportDocumentsRequest struct { // Required. The source of the input. // // Types that are assignable to Source: + // // *ImportDocumentsRequest_InlineSource_ // *ImportDocumentsRequest_GcsSource // *ImportDocumentsRequest_BigquerySource diff --git a/discoveryengine/apiv1beta/discoveryenginepb/recommendation_service.pb.go b/discoveryengine/apiv1beta/discoveryenginepb/recommendation_service.pb.go index 6914c94e2d0..c0419212928 100755 --- a/discoveryengine/apiv1beta/discoveryenginepb/recommendation_service.pb.go +++ b/discoveryengine/apiv1beta/discoveryenginepb/recommendation_service.pb.go @@ -79,11 +79,10 @@ type RecommendRequest struct { // characters. Currently, only filter expressions on the `filter_tags` // attribute is supported. // - // // Examples: // - // * `(filter_tags: ANY("Red", "Blue") OR filter_tags: ANY("Hot", "Cold"))` - // * `(filter_tags: ANY("Red", "Blue")) AND NOT (filter_tags: ANY("Green"))` + // - `(filter_tags: ANY("Red", "Blue") OR filter_tags: ANY("Hot", "Cold"))` + // - `(filter_tags: ANY("Red", "Blue")) AND NOT (filter_tags: ANY("Green"))` // // If your filter blocks all results, the API will return generic // (unfiltered) popular Documents. If you only want results strictly matching @@ -104,40 +103,40 @@ type RecommendRequest struct { // // Allowed values: // - // * `returnDocument`: Boolean. If set to true, the associated Document - // object will be returned in - // [RecommendResponse.RecommendationResult.document][google.cloud.discoveryengine.v1beta.RecommendResponse.RecommendationResult.document]. - // * `returnScore`: Boolean. If set to true, the recommendation 'score' - // corresponding to each returned Document will be set in - // [RecommendResponse.RecommendationResult.metadata][google.cloud.discoveryengine.v1beta.RecommendResponse.RecommendationResult.metadata]. - // The given 'score' indicates the probability of a Document conversion - // given the user's context and history. - // * `strictFiltering`: Boolean. True by default. If set to false, the service - // will return generic (unfiltered) popular Documents instead of empty if - // your filter blocks all recommendation results. - // * `diversityLevel`: String. Default empty. If set to be non-empty, then - // it needs to be one of: - // * `no-diversity` - // * `low-diversity` - // * `medium-diversity` - // * `high-diversity` - // * `auto-diversity` - // This gives request-level control and adjusts recommendation results - // based on Document category. + // - `returnDocument`: Boolean. If set to true, the associated Document + // object will be returned in + // [RecommendResponse.RecommendationResult.document][google.cloud.discoveryengine.v1beta.RecommendResponse.RecommendationResult.document]. + // - `returnScore`: Boolean. If set to true, the recommendation 'score' + // corresponding to each returned Document will be set in + // [RecommendResponse.RecommendationResult.metadata][google.cloud.discoveryengine.v1beta.RecommendResponse.RecommendationResult.metadata]. + // The given 'score' indicates the probability of a Document conversion + // given the user's context and history. + // - `strictFiltering`: Boolean. True by default. If set to false, the service + // will return generic (unfiltered) popular Documents instead of empty if + // your filter blocks all recommendation results. + // - `diversityLevel`: String. Default empty. If set to be non-empty, then + // it needs to be one of: + // - `no-diversity` + // - `low-diversity` + // - `medium-diversity` + // - `high-diversity` + // - `auto-diversity` + // This gives request-level control and adjusts recommendation results + // based on Document category. Params map[string]*structpb.Value `protobuf:"bytes,6,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The user labels applied to a resource must meet the following requirements: // - // * Each resource can have multiple labels, up to a maximum of 64. - // * Each label must be a key-value pair. - // * Keys have a minimum length of 1 character and a maximum length of 63 - // characters and cannot be empty. Values can be empty and have a maximum - // length of 63 characters. - // * Keys and values can contain only lowercase letters, numeric characters, - // underscores, and dashes. All characters must use UTF-8 encoding, and - // international characters are allowed. - // * The key portion of a label must be unique. However, you can use the same - // key with multiple resources. - // * Keys must start with a lowercase letter or international character. + // - Each resource can have multiple labels, up to a maximum of 64. + // - Each label must be a key-value pair. + // - Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // - Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // - The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // - Keys must start with a lowercase letter or international character. // // See [Requirements for // labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) @@ -325,9 +324,9 @@ type RecommendResponse_RecommendationResult struct { // // Possible values: // - // * `score`: Recommendation score in double value. Is set if - // `returnScore` is set to true in - // [RecommendRequest.params][google.cloud.discoveryengine.v1beta.RecommendRequest.params]. + // - `score`: Recommendation score in double value. Is set if + // `returnScore` is set to true in + // [RecommendRequest.params][google.cloud.discoveryengine.v1beta.RecommendRequest.params]. Metadata map[string]*structpb.Value `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } diff --git a/discoveryengine/apiv1beta/discoveryenginepb/schema.pb.go b/discoveryengine/apiv1beta/discoveryenginepb/schema.pb.go index 79ae22f83ec..ecaf19993c9 100755 --- a/discoveryengine/apiv1beta/discoveryenginepb/schema.pb.go +++ b/discoveryengine/apiv1beta/discoveryenginepb/schema.pb.go @@ -49,6 +49,7 @@ type Schema struct { // should be provided otherwise an `INVALID_ARGUMENT` error is thrown. // // Types that are assignable to Schema: + // // *Schema_StructSchema // *Schema_JsonSchema Schema isSchema_Schema `protobuf_oneof:"schema"` diff --git a/discoveryengine/apiv1beta/discoveryenginepb/search_service.pb.go b/discoveryengine/apiv1beta/discoveryenginepb/search_service.pb.go index 13d00e2f087..25c482c8f6b 100755 --- a/discoveryengine/apiv1beta/discoveryenginepb/search_service.pb.go +++ b/discoveryengine/apiv1beta/discoveryenginepb/search_service.pb.go @@ -275,7 +275,8 @@ type SearchRequest struct { // When paginating, all other parameters provided to // [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search] // must match the call that provided the page token. Otherwise, an - // `INVALID_ARGUMENT` error is returned. + // + // `INVALID_ARGUMENT` error is returned. PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` // A 0-indexed integer that specifies the current offset (that is, starting // result location, amongst the @@ -315,11 +316,11 @@ type SearchRequest struct { // // For public website search only, supported values are: // - // * `user_country_code`: string. Default empty. If set to non-empty, results - // are restricted or boosted based on the location provided. - // * `search_type`: double. Default empty. Enables non-webpage searching - // depending on the value. The only valid non-default value is 1, - // which enables image searching. + // - `user_country_code`: string. Default empty. If set to non-empty, results + // are restricted or boosted based on the location provided. + // - `search_type`: double. Default empty. Enables non-webpage searching + // depending on the value. The only valid non-default value is 1, + // which enables image searching. Params map[string]*structpb.Value `protobuf:"bytes,11,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The query expansion specification that specifies the conditions under which // query expansion occurs. @@ -357,38 +358,41 @@ type SearchRequest struct { // documents. This overrides [ServingConfig.ranking_expression][]. // The ranking expression is a single function or multiple functions that are // joint by "+". - // * ranking_expression = function, { " + ", function }; + // - ranking_expression = function, { " + ", function }; + // // Supported functions: - // * double * relevance_score - // * double * dotProduct(embedding_field_path) + // - double * relevance_score + // - double * dotProduct(embedding_field_path) + // // Function variables: - // `relevance_score`: pre-defined keywords, used for measure relevance - // between query and document. - // `embedding_field_path`: the document embedding field - // used with query embedding vector. - // `dotProduct`: embedding function between embedding_field_path and query - // embedding vector. - // - // Example ranking expression: - // If document has an embedding field doc_embedding, the ranking expression - // could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. + // + // `relevance_score`: pre-defined keywords, used for measure relevance + // between query and document. + // `embedding_field_path`: the document embedding field + // used with query embedding vector. + // `dotProduct`: embedding function between embedding_field_path and query + // embedding vector. + // + // Example ranking expression: + // If document has an embedding field doc_embedding, the ranking expression + // could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. RankingExpression string `protobuf:"bytes,26,opt,name=ranking_expression,json=rankingExpression,proto3" json:"ranking_expression,omitempty"` // Whether to turn on safe search. This is only supported for // website search. SafeSearch bool `protobuf:"varint,20,opt,name=safe_search,json=safeSearch,proto3" json:"safe_search,omitempty"` // The user labels applied to a resource must meet the following requirements: // - // * Each resource can have multiple labels, up to a maximum of 64. - // * Each label must be a key-value pair. - // * Keys have a minimum length of 1 character and a maximum length of 63 - // characters and cannot be empty. Values can be empty and have a maximum - // length of 63 characters. - // * Keys and values can contain only lowercase letters, numeric characters, - // underscores, and dashes. All characters must use UTF-8 encoding, and - // international characters are allowed. - // * The key portion of a label must be unique. However, you can use the same - // key with multiple resources. - // * Keys must start with a lowercase letter or international character. + // - Each resource can have multiple labels, up to a maximum of 64. + // - Each label must be a key-value pair. + // - Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // - Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // - The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // - Keys must start with a lowercase letter or international character. // // See [Google Cloud // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) @@ -744,6 +748,7 @@ type SearchRequest_ImageQuery struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Image: + // // *SearchRequest_ImageQuery_ImageBytes Image isSearchRequest_ImageQuery_Image `protobuf_oneof:"image"` } @@ -822,7 +827,6 @@ type SearchRequest_FacetSpec struct { Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` // List of keys to exclude when faceting. // - // // By default, // [FacetKey.key][google.cloud.discoveryengine.v1beta.SearchRequest.FacetSpec.FacetKey.key] // is not excluded from the filter unless it is listed in this field. @@ -1272,7 +1276,8 @@ type SearchRequest_FacetSpec_FacetKey struct { // * "value desc", which means order by // [SearchResponse.Facet.values.value][google.cloud.discoveryengine.v1beta.SearchResponse.Facet.FacetValue.value] // descending. - // Only applies to textual facets. + // + // Only applies to textual facets. // // If not set, textual values are sorted in [natural // order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical @@ -1377,8 +1382,9 @@ type SearchRequest_BoostSpec_ConditionBoostSpec struct { // // * To boost documents with document ID "doc_1" or "doc_2", and // color - // "Red" or "Blue": - // * (id: ANY("doc_1", "doc_2")) AND (color: ANY("Red","Blue")) + // + // "Red" or "Blue": + // * (id: ANY("doc_1", "doc_2")) AND (color: ANY("Red","Blue")) Condition string `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"` // Strength of the condition boost, which should be in [-1, 1]. Negative // boost means demotion. Default is 0.0. @@ -2163,6 +2169,7 @@ type SearchResponse_Facet_FacetValue struct { // A facet value which contains values. // // Types that are assignable to FacetValue: + // // *SearchResponse_Facet_FacetValue_Value // *SearchResponse_Facet_FacetValue_Interval FacetValue isSearchResponse_Facet_FacetValue_FacetValue `protobuf_oneof:"facet_value"` diff --git a/discoveryengine/apiv1beta/discoveryenginepb/user_event.pb.go b/discoveryengine/apiv1beta/discoveryenginepb/user_event.pb.go index eb7383b1d0f..ae3598d6d2d 100755 --- a/discoveryengine/apiv1beta/discoveryenginepb/user_event.pb.go +++ b/discoveryengine/apiv1beta/discoveryenginepb/user_event.pb.go @@ -211,12 +211,12 @@ type UserEvent struct { // This field needs to pass all below criteria, otherwise an // `INVALID_ARGUMENT` error is returned: // - // * The key must be a UTF-8 encoded string with a length limit of 5,000 - // characters. - // * For text attributes, at most 400 values are allowed. Empty values are not - // allowed. Each value must be a UTF-8 encoded string with a length limit of - // 256 characters. - // * For number attributes, at most 400 values are allowed. + // - The key must be a UTF-8 encoded string with a length limit of 5,000 + // characters. + // - For text attributes, at most 400 values are allowed. Empty values are not + // allowed. Each value must be a UTF-8 encoded string with a length limit of + // 256 characters. + // - For number attributes, at most 400 values are allowed. // // For product recommendations, an example of extra user information is // `traffic_channel`, which is how a user arrives at the site. Users can @@ -796,6 +796,7 @@ type DocumentInfo struct { // `{branch_id}` are used when annotating with the stored Document. // // Types that are assignable to DocumentDescriptor: + // // *DocumentInfo_Id // *DocumentInfo_Name // *DocumentInfo_Uri diff --git a/dlp/apiv2/dlppb/dlp.pb.go b/dlp/apiv2/dlppb/dlp.pb.go index fdeffaae1fc..9fc72de6e22 100755 --- a/dlp/apiv2/dlppb/dlp.pb.go +++ b/dlp/apiv2/dlppb/dlp.pb.go @@ -2883,6 +2883,7 @@ type ExclusionRule struct { // Exclusion rule types. // // Types that are assignable to Type: + // // *ExclusionRule_Dictionary // *ExclusionRule_Regex // *ExclusionRule_ExcludeInfoTypes @@ -3009,6 +3010,7 @@ type InspectionRule struct { // Inspection rule types. // // Types that are assignable to Type: + // // *InspectionRule_HotwordRule // *InspectionRule_ExclusionRule Type isInspectionRule_Type `protobuf_oneof:"type"` @@ -3372,6 +3374,7 @@ type ContentItem struct { // Data of the item either in the byte array or UTF-8 string form, or table. // // Types that are assignable to DataItem: + // // *ContentItem_Value // *ContentItem_Table // *ContentItem_ByteItem @@ -3870,6 +3873,7 @@ type ContentLocation struct { // Type of the container within the file with location of the finding. // // Types that are assignable to Location: + // // *ContentLocation_RecordLocation // *ContentLocation_ImageLocation // *ContentLocation_DocumentLocation @@ -4017,6 +4021,7 @@ type MetadataLocation struct { // latitude, author, caption. // // Types that are assignable to Label: + // // *MetadataLocation_StorageLabel Label isMetadataLocation_Label `protobuf_oneof:"label"` } @@ -4324,18 +4329,18 @@ type Container struct { // The root of the container. // Examples: // - // - For BigQuery table `project_id:dataset_id.table_id`, the root is - // `dataset_id` - // - For Cloud Storage file `gs://bucket/folder/filename.txt`, the root - // is `gs://bucket` + // - For BigQuery table `project_id:dataset_id.table_id`, the root is + // `dataset_id` + // - For Cloud Storage file `gs://bucket/folder/filename.txt`, the root + // is `gs://bucket` RootPath string `protobuf:"bytes,4,opt,name=root_path,json=rootPath,proto3" json:"root_path,omitempty"` // The rest of the path after the root. // Examples: // - // - For BigQuery table `project_id:dataset_id.table_id`, the relative path is - // `table_id` - // - For Cloud Storage file `gs://bucket/folder/filename.txt`, the relative - // path is `folder/filename.txt` + // - For BigQuery table `project_id:dataset_id.table_id`, the relative path is + // `table_id` + // - For Cloud Storage file `gs://bucket/folder/filename.txt`, the relative + // path is `folder/filename.txt` RelativePath string `protobuf:"bytes,5,opt,name=relative_path,json=relativePath,proto3" json:"relative_path,omitempty"` // Findings container modification timestamp, if applicable. For Cloud // Storage, this field contains the last file modification timestamp. For a @@ -4624,16 +4629,16 @@ type RedactImageRequest struct { // processing // location](https://cloud.google.com/dlp/docs/specifying-location): // - // + Projects scope, location specified:
- // `projects/`PROJECT_ID`/locations/`LOCATION_ID - // + Projects scope, no location specified (defaults to global):
- // `projects/`PROJECT_ID + // - Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID + // - Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID // // The following example `parent` string specifies a parent project with the // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Deprecated. This field has no effect. LocationId string `protobuf:"bytes,8,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` @@ -4870,16 +4875,16 @@ type DeidentifyContentRequest struct { // processing // location](https://cloud.google.com/dlp/docs/specifying-location): // - // + Projects scope, location specified:
- // `projects/`PROJECT_ID`/locations/`LOCATION_ID - // + Projects scope, no location specified (defaults to global):
- // `projects/`PROJECT_ID + // - Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID + // - Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID // // The following example `parent` string specifies a parent project with the // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Configuration for the de-identification of the content item. // Items specified here will override the template referenced by the @@ -5065,16 +5070,16 @@ type ReidentifyContentRequest struct { // processing // location](https://cloud.google.com/dlp/docs/specifying-location): // - // + Projects scope, location specified:
- // `projects/`PROJECT_ID`/locations/`LOCATION_ID - // + Projects scope, no location specified (defaults to global):
- // `projects/`PROJECT_ID + // - Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID + // - Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID // // The following example `parent` string specifies a parent project with the // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Configuration for the re-identification of the content item. // This field shares the same proto message type that is used for @@ -5084,8 +5089,8 @@ type ReidentifyContentRequest struct { // reverse. This requires that only reversible transformations // be provided here. The reversible transformations are: // - // - `CryptoDeterministicConfig` - // - `CryptoReplaceFfxFpeConfig` + // - `CryptoDeterministicConfig` + // - `CryptoReplaceFfxFpeConfig` ReidentifyConfig *DeidentifyConfig `protobuf:"bytes,2,opt,name=reidentify_config,json=reidentifyConfig,proto3" json:"reidentify_config,omitempty"` // Configuration for the inspector. InspectConfig *InspectConfig `protobuf:"bytes,3,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"` @@ -5260,16 +5265,16 @@ type InspectContentRequest struct { // processing // location](https://cloud.google.com/dlp/docs/specifying-location): // - // + Projects scope, location specified:
- // `projects/`PROJECT_ID`/locations/`LOCATION_ID - // + Projects scope, no location specified (defaults to global):
- // `projects/`PROJECT_ID + // - Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID + // - Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID // // The following example `parent` string specifies a parent project with the // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Configuration for the inspector. What specified here will override // the template referenced by the inspect_template_name argument. @@ -5411,6 +5416,7 @@ type OutputStorageConfig struct { // Output storage types. // // Types that are assignable to Type: + // // *OutputStorageConfig_Table Type isOutputStorageConfig_Type `protobuf_oneof:"type"` // Schema used for writing the findings for Inspect jobs. This field is only @@ -5627,6 +5633,7 @@ type DataProfileBigQueryRowSchema struct { unknownFields protoimpl.UnknownFields // Types that are assignable to DataProfile: + // // *DataProfileBigQueryRowSchema_TableProfile // *DataProfileBigQueryRowSchema_ColumnProfile DataProfile isDataProfileBigQueryRowSchema_DataProfile `protobuf_oneof:"data_profile"` @@ -5784,6 +5791,7 @@ type ActionDetails struct { // Summary of what occurred in the actions. // // Types that are assignable to Details: + // // *ActionDetails_DeidentifyDetails Details isActionDetails_Details `protobuf_oneof:"details"` } @@ -6083,6 +6091,7 @@ type InfoTypeCategory struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Category: + // // *InfoTypeCategory_LocationCategory_ // *InfoTypeCategory_IndustryCategory_ // *InfoTypeCategory_TypeCategory_ @@ -6243,7 +6252,7 @@ type ListInfoTypesRequest struct { // // The format of this value is as follows: // - // locations/LOCATION_ID + // locations/LOCATION_ID Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` // BCP-47 language code for localized infoType friendly // names. If omitted, or if localized strings are not available, @@ -6447,6 +6456,7 @@ type QuasiId struct { // value. [required] // // Types that are assignable to Tag: + // // *QuasiId_InfoType // *QuasiId_CustomTag // *QuasiId_Inferred @@ -6635,6 +6645,7 @@ type PrivacyMetric struct { // Types of analysis. // // Types that are assignable to Type: + // // *PrivacyMetric_NumericalStatsConfig_ // *PrivacyMetric_CategoricalStatsConfig_ // *PrivacyMetric_KAnonymityConfig_ @@ -6784,6 +6795,7 @@ type AnalyzeDataSourceRiskDetails struct { // Values associated with this metric. // // Types that are assignable to Result: + // // *AnalyzeDataSourceRiskDetails_NumericalStatsResult_ // *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_ // *AnalyzeDataSourceRiskDetails_KAnonymityResult_ @@ -7017,6 +7029,7 @@ type Value struct { // Value types // // Types that are assignable to Type: + // // *Value_IntegerValue // *Value_FloatValue // *Value_StringValue @@ -7192,6 +7205,7 @@ type QuoteInfo struct { // Object representation of the quote. // // Types that are assignable to ParsedQuote: + // // *QuoteInfo_DateTime ParsedQuote isQuoteInfo_ParsedQuote `protobuf_oneof:"parsed_quote"` } @@ -7338,6 +7352,7 @@ type DeidentifyConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Transformation: + // // *DeidentifyConfig_InfoTypeTransformations // *DeidentifyConfig_RecordTransformations // *DeidentifyConfig_ImageTransformations @@ -7506,6 +7521,7 @@ type TransformationErrorHandling struct { // How transformation errors should be handled. // // Types that are assignable to Mode: + // // *TransformationErrorHandling_ThrowError_ // *TransformationErrorHandling_LeaveUntransformed_ Mode isTransformationErrorHandling_Mode `protobuf_oneof:"mode"` @@ -7589,6 +7605,7 @@ type PrimitiveTransformation struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Transformation: + // // *PrimitiveTransformation_ReplaceConfig // *PrimitiveTransformation_RedactConfig // *PrimitiveTransformation_CharacterMaskConfig @@ -8098,6 +8115,7 @@ type ReplaceDictionaryConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Type: + // // *ReplaceDictionaryConfig_WordList Type isReplaceDictionaryConfig_Type `protobuf_oneof:"type"` } @@ -8249,6 +8267,7 @@ type CharsToIgnore struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Characters: + // // *CharsToIgnore_CharactersToSkip // *CharsToIgnore_CommonCharactersToIgnore Characters isCharsToIgnore_Characters `protobuf_oneof:"characters"` @@ -8623,6 +8642,7 @@ type CryptoReplaceFfxFpeConfig struct { // Choose an alphabet which the data being transformed will be made up of. // // Types that are assignable to Alphabet: + // // *CryptoReplaceFfxFpeConfig_CommonAlphabet // *CryptoReplaceFfxFpeConfig_CustomAlphabet // *CryptoReplaceFfxFpeConfig_Radix @@ -8784,6 +8804,7 @@ type CryptoKey struct { // Sources of crypto keys. // // Types that are assignable to Source: + // // *CryptoKey_Transient // *CryptoKey_Unwrapped // *CryptoKey_KmsWrapped @@ -9073,6 +9094,7 @@ type DateShiftConfig struct { // set, must also set context. Can only be applied to table items. // // Types that are assignable to Method: + // // *DateShiftConfig_CryptoKey Method isDateShiftConfig_Method `protobuf_oneof:"method"` } @@ -9234,6 +9256,7 @@ type FieldTransformation struct { // Transformation to apply. [required] // // Types that are assignable to Transformation: + // // *FieldTransformation_PrimitiveTransformation // *FieldTransformation_InfoTypeTransformations Transformation isFieldTransformation_Transformation `protobuf_oneof:"transformation"` @@ -9670,11 +9693,11 @@ type TransformationDescription struct { // to determine whether or not to apply this transformation. // // Examples: - // * (age_field > 85) - // * (age_field <= 18) - // * (zip_field exists) - // * (zip_field == 01234) && (city_field != "Springville") - // * (zip_field == 01234) && (age_field <= 18) && (city_field exists) + // - (age_field > 85) + // - (age_field <= 18) + // - (zip_field exists) + // - (zip_field == 01234) && (city_field != "Springville") + // - (zip_field == 01234) && (age_field <= 18) && (city_field exists) Condition string `protobuf:"bytes,3,opt,name=condition,proto3" json:"condition,omitempty"` // Set if the transformation was limited to a specific `InfoType`. InfoType *InfoType `protobuf:"bytes,4,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"` @@ -9853,6 +9876,7 @@ type TransformationLocation struct { unknownFields protoimpl.UnknownFields // Types that are assignable to LocationType: + // // *TransformationLocation_FindingId // *TransformationLocation_RecordTransformation LocationType isTransformationLocation_LocationType `protobuf_oneof:"location_type"` @@ -10076,6 +10100,7 @@ type TransformationDetailsStorageConfig struct { // Location to store the transformation summary. // // Types that are assignable to Type: + // // *TransformationDetailsStorageConfig_Table Type isTransformationDetailsStorageConfig_Type `protobuf_oneof:"type"` } @@ -10149,6 +10174,7 @@ type Schedule struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Option: + // // *Schedule_RecurrencePeriodDuration Option isSchedule_Option `protobuf_oneof:"option"` } @@ -10535,6 +10561,7 @@ type JobTrigger struct { // The configuration details for the specific type of job to run. // // Types that are assignable to Job: + // // *JobTrigger_InspectJob Job isJobTrigger_Job `protobuf_oneof:"job"` // A list of triggers which will be OR'ed together. Only one in the list @@ -10684,6 +10711,7 @@ type Action struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Action: + // // *Action_SaveFindings_ // *Action_PubSub // *Action_PublishSummaryToCscc_ @@ -10932,20 +10960,20 @@ type CreateInspectTemplateRequest struct { // (project or organization) and whether you have [specified a processing // location](https://cloud.google.com/dlp/docs/specifying-location): // - // + Projects scope, location specified:
- // `projects/`PROJECT_ID`/locations/`LOCATION_ID - // + Projects scope, no location specified (defaults to global):
- // `projects/`PROJECT_ID - // + Organizations scope, location specified:
- // `organizations/`ORG_ID`/locations/`LOCATION_ID - // + Organizations scope, no location specified (defaults to global):
- // `organizations/`ORG_ID + // - Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID + // - Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID + // - Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID + // - Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID // // The following example `parent` string specifies a parent project with the // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The InspectTemplate to create. InspectTemplate *InspectTemplate `protobuf:"bytes,2,opt,name=inspect_template,json=inspectTemplate,proto3" json:"inspect_template,omitempty"` @@ -11150,20 +11178,20 @@ type ListInspectTemplatesRequest struct { // (project or organization) and whether you have [specified a processing // location](https://cloud.google.com/dlp/docs/specifying-location): // - // + Projects scope, location specified:
- // `projects/`PROJECT_ID`/locations/`LOCATION_ID - // + Projects scope, no location specified (defaults to global):
- // `projects/`PROJECT_ID - // + Organizations scope, location specified:
- // `organizations/`ORG_ID`/locations/`LOCATION_ID - // + Organizations scope, no location specified (defaults to global):
- // `organizations/`ORG_ID + // - Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID + // - Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID + // - Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID + // - Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID // // The following example `parent` string specifies a parent project with the // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Page token to continue retrieval. Comes from the previous call // to `ListInspectTemplates`. @@ -11378,16 +11406,16 @@ type CreateJobTriggerRequest struct { // processing // location](https://cloud.google.com/dlp/docs/specifying-location): // - // + Projects scope, location specified:
- // `projects/`PROJECT_ID`/locations/`LOCATION_ID - // + Projects scope, no location specified (defaults to global):
- // `projects/`PROJECT_ID + // - Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID + // - Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID // // The following example `parent` string specifies a parent project with the // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The JobTrigger to create. JobTrigger *JobTrigger `protobuf:"bytes,2,opt,name=job_trigger,json=jobTrigger,proto3" json:"job_trigger,omitempty"` @@ -11643,7 +11671,7 @@ type CreateDiscoveryConfigRequest struct { // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The DiscoveryConfig to create. DiscoveryConfig *DiscoveryConfig `protobuf:"bytes,2,opt,name=discovery_config,json=discoveryConfig,proto3" json:"discovery_config,omitempty"` @@ -11840,7 +11868,7 @@ type ListDiscoveryConfigsRequest struct { // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Page token to continue retrieval. Comes from the previous call // to ListDiscoveryConfigs. `order_by` field must not @@ -12046,20 +12074,21 @@ type CreateDlpJobRequest struct { // processing // location](https://cloud.google.com/dlp/docs/specifying-location): // - // + Projects scope, location specified:
- // `projects/`PROJECT_ID`/locations/`LOCATION_ID - // + Projects scope, no location specified (defaults to global):
- // `projects/`PROJECT_ID + // - Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID + // - Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID // // The following example `parent` string specifies a parent project with the // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The configuration details for the specific type of job to run. // // Types that are assignable to Job: + // // *CreateDlpJobRequest_InspectJob // *CreateDlpJobRequest_RiskJob Job isCreateDlpJobRequest_Job `protobuf_oneof:"job"` @@ -12177,16 +12206,16 @@ type ListJobTriggersRequest struct { // processing // location](https://cloud.google.com/dlp/docs/specifying-location): // - // + Projects scope, location specified:
- // `projects/`PROJECT_ID`/locations/`LOCATION_ID - // + Projects scope, no location specified (defaults to global):
- // `projects/`PROJECT_ID + // - Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID + // - Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID // // The following example `parent` string specifies a parent project with the // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Page token to continue retrieval. Comes from the previous call // to ListJobTriggers. `order_by` field must not @@ -12219,11 +12248,12 @@ type ListJobTriggersRequest struct { // sequence of restrictions implicitly uses `AND`. // * A restriction has the form of `{field} {operator} {value}`. // * Supported fields/values for inspect triggers: - // - `status` - HEALTHY|PAUSED|CANCELLED - // - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - // - 'last_run_time` - RFC 3339 formatted timestamp, surrounded by + // - `status` - HEALTHY|PAUSED|CANCELLED + // - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY + // - 'last_run_time` - RFC 3339 formatted timestamp, surrounded by // quotation marks. Nanoseconds are ignored. - // - 'error_count' - Number of errors that have occurred while running. + // - 'error_count' - Number of errors that have occurred while running. + // // * The operator must be `=` or `!=` for status and inspected_storage. // // Examples: @@ -12516,6 +12546,7 @@ type DataProfileAction struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Action: + // // *DataProfileAction_ExportData // *DataProfileAction_PubSubNotification_ Action isDataProfileAction_Action `protobuf_oneof:"action"` @@ -12911,6 +12942,7 @@ type DataProfileLocation struct { // The location to be scanned. // // Types that are assignable to Location: + // // *DataProfileLocation_OrganizationId // *DataProfileLocation_FolderId Location isDataProfileLocation_Location `protobuf_oneof:"location"` @@ -13161,6 +13193,7 @@ type DiscoveryTarget struct { // A target to match against for Discovery. // // Types that are assignable to Target: + // // *DiscoveryTarget_BigQueryTarget Target isDiscoveryTarget_Target `protobuf_oneof:"target"` } @@ -13240,6 +13273,7 @@ type BigQueryDiscoveryTarget struct { // update no more than once a month if new columns appear in the table. // // Types that are assignable to Frequency: + // // *BigQueryDiscoveryTarget_Cadence // *BigQueryDiscoveryTarget_Disabled Frequency isBigQueryDiscoveryTarget_Frequency `protobuf_oneof:"frequency"` @@ -13346,6 +13380,7 @@ type DiscoveryBigQueryFilter struct { // `other_tables`. // // Types that are assignable to Filter: + // // *DiscoveryBigQueryFilter_Tables // *DiscoveryBigQueryFilter_OtherTables Filter isDiscoveryBigQueryFilter_Filter `protobuf_oneof:"filter"` @@ -13438,6 +13473,7 @@ type BigQueryTableCollection struct { // The first filter containing a pattern that matches a table will be used. // // Types that are assignable to Pattern: + // // *BigQueryTableCollection_IncludeRegexes Pattern isBigQueryTableCollection_Pattern `protobuf_oneof:"pattern"` } @@ -13517,6 +13553,7 @@ type DiscoveryBigQueryConditions struct { // for all unsupported tables. // // Types that are assignable to IncludedTypes: + // // *DiscoveryBigQueryConditions_Types // *DiscoveryBigQueryConditions_TypeCollection IncludedTypes isDiscoveryBigQueryConditions_IncludedTypes `protobuf_oneof:"included_types"` @@ -13802,6 +13839,7 @@ type DiscoveryStartingLocation struct { // The location to be scanned. // // Types that are assignable to Location: + // // *DiscoveryStartingLocation_OrganizationId // *DiscoveryStartingLocation_FolderId Location isDiscoveryStartingLocation_Location `protobuf_oneof:"location"` @@ -13891,6 +13929,7 @@ type DlpJob struct { // State of a job. State DlpJob_JobState `protobuf:"varint,3,opt,name=state,proto3,enum=google.privacy.dlp.v2.DlpJob_JobState" json:"state,omitempty"` // Types that are assignable to Details: + // // *DlpJob_RiskDetails // *DlpJob_InspectDetails Details isDlpJob_Details `protobuf_oneof:"details"` @@ -14113,16 +14152,16 @@ type ListDlpJobsRequest struct { // processing // location](https://cloud.google.com/dlp/docs/specifying-location): // - // + Projects scope, location specified:
- // `projects/`PROJECT_ID`/locations/`LOCATION_ID - // + Projects scope, no location specified (defaults to global):
- // `projects/`PROJECT_ID + // - Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID + // - Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID // // The following example `parent` string specifies a parent project with the // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` // Allows filtering. // @@ -14133,15 +14172,17 @@ type ListDlpJobsRequest struct { // sequence of restrictions implicitly uses `AND`. // * A restriction has the form of `{field} {operator} {value}`. // * Supported fields/values for inspect jobs: - // - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED - // - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - // - `trigger_name` - The name of the trigger that created the job. - // - 'end_time` - Corresponds to the time the job finished. - // - 'start_time` - Corresponds to the time the job finished. + // - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED + // - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY + // - `trigger_name` - The name of the trigger that created the job. + // - 'end_time` - Corresponds to the time the job finished. + // - 'start_time` - Corresponds to the time the job finished. + // // * Supported fields for risk analysis jobs: - // - `state` - RUNNING|CANCELED|FINISHED|FAILED - // - 'end_time` - Corresponds to the time the job finished. - // - 'start_time` - Corresponds to the time the job finished. + // - `state` - RUNNING|CANCELED|FINISHED|FAILED + // - 'end_time` - Corresponds to the time the job finished. + // - 'start_time` - Corresponds to the time the job finished. + // // * The operator must be `=` or `!=`. // // Examples: @@ -14475,20 +14516,20 @@ type CreateDeidentifyTemplateRequest struct { // (project or organization) and whether you have [specified a processing // location](https://cloud.google.com/dlp/docs/specifying-location): // - // + Projects scope, location specified:
- // `projects/`PROJECT_ID`/locations/`LOCATION_ID - // + Projects scope, no location specified (defaults to global):
- // `projects/`PROJECT_ID - // + Organizations scope, location specified:
- // `organizations/`ORG_ID`/locations/`LOCATION_ID - // + Organizations scope, no location specified (defaults to global):
- // `organizations/`ORG_ID + // - Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID + // - Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID + // - Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID + // - Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID // // The following example `parent` string specifies a parent project with the // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The DeidentifyTemplate to create. DeidentifyTemplate *DeidentifyTemplate `protobuf:"bytes,2,opt,name=deidentify_template,json=deidentifyTemplate,proto3" json:"deidentify_template,omitempty"` @@ -14694,20 +14735,20 @@ type ListDeidentifyTemplatesRequest struct { // (project or organization) and whether you have [specified a processing // location](https://cloud.google.com/dlp/docs/specifying-location): // - // + Projects scope, location specified:
- // `projects/`PROJECT_ID`/locations/`LOCATION_ID - // + Projects scope, no location specified (defaults to global):
- // `projects/`PROJECT_ID - // + Organizations scope, location specified:
- // `organizations/`ORG_ID`/locations/`LOCATION_ID - // + Organizations scope, no location specified (defaults to global):
- // `organizations/`ORG_ID + // - Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID + // - Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID + // - Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID + // - Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID // // The following example `parent` string specifies a parent project with the // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Page token to continue retrieval. Comes from the previous call // to `ListDeidentifyTemplates`. @@ -14929,6 +14970,7 @@ type LargeCustomDictionaryConfig struct { // longer be used. OutputPath *CloudStoragePath `protobuf:"bytes,1,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"` // Types that are assignable to Source: + // // *LargeCustomDictionaryConfig_CloudStorageFileSet // *LargeCustomDictionaryConfig_BigQueryField Source isLargeCustomDictionaryConfig_Source `protobuf_oneof:"source"` @@ -15076,6 +15118,7 @@ type StoredInfoTypeConfig struct { // Stored infotype types. // // Types that are assignable to Type: + // // *StoredInfoTypeConfig_LargeCustomDictionary // *StoredInfoTypeConfig_Dictionary // *StoredInfoTypeConfig_Regex @@ -15190,6 +15233,7 @@ type StoredInfoTypeStats struct { // Stat types // // Types that are assignable to Type: + // // *StoredInfoTypeStats_LargeCustomDictionary Type isStoredInfoTypeStats_Type `protobuf_oneof:"type"` } @@ -15432,20 +15476,20 @@ type CreateStoredInfoTypeRequest struct { // (project or organization) and whether you have [specified a processing // location](https://cloud.google.com/dlp/docs/specifying-location): // - // + Projects scope, location specified:
- // `projects/`PROJECT_ID`/locations/`LOCATION_ID - // + Projects scope, no location specified (defaults to global):
- // `projects/`PROJECT_ID - // + Organizations scope, location specified:
- // `organizations/`ORG_ID`/locations/`LOCATION_ID - // + Organizations scope, no location specified (defaults to global):
- // `organizations/`ORG_ID + // - Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID + // - Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID + // - Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID + // - Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID // // The following example `parent` string specifies a parent project with the // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. Configuration of the storedInfoType to create. Config *StoredInfoTypeConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` @@ -15652,16 +15696,16 @@ type ListStoredInfoTypesRequest struct { // (project or organization) and whether you have [specified a processing // location](https://cloud.google.com/dlp/docs/specifying-location): // - // + Projects scope, location specified:
- // `projects/`PROJECT_ID`/locations/`LOCATION_ID - // + Projects scope, no location specified (defaults to global):
- // `projects/`PROJECT_ID + // - Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID + // - Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID // // The following example `parent` string specifies a parent project with the // identifier `example-project`, and specifies the `europe-west3` location // for processing data: // - // parent=projects/example-project/locations/europe-west3 + // parent=projects/example-project/locations/europe-west3 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Page token to continue retrieval. Comes from the previous call // to `ListStoredInfoTypes`. @@ -17374,6 +17418,7 @@ type RedactImageRequest_ImageRedactionConfig struct { // Type of information to redact from images. // // Types that are assignable to Target: + // // *RedactImageRequest_ImageRedactionConfig_InfoType // *RedactImageRequest_ImageRedactionConfig_RedactAllText Target isRedactImageRequest_ImageRedactionConfig_Target `protobuf_oneof:"target"` @@ -18134,6 +18179,7 @@ type PrivacyMetric_KMapEstimationConfig_TaggedField struct { // value. [required] // // Types that are assignable to Tag: + // // *PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType // *PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag // *PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred @@ -18600,9 +18646,11 @@ type AnalyzeDataSourceRiskDetails_KMapEstimationResult struct { // The intervals [min_anonymity, max_anonymity] do not overlap. If a value // doesn't correspond to any such interval, the associated frequency is // zero. For example, the following records: - // {min_anonymity: 1, max_anonymity: 1, frequency: 17} - // {min_anonymity: 2, max_anonymity: 3, frequency: 42} - // {min_anonymity: 5, max_anonymity: 10, frequency: 99} + // + // {min_anonymity: 1, max_anonymity: 1, frequency: 17} + // {min_anonymity: 2, max_anonymity: 3, frequency: 42} + // {min_anonymity: 5, max_anonymity: 10, frequency: 99} + // // mean that there are no record with an estimated anonymity of 4, 5, or // larger than 10. KMapEstimationHistogram []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket `protobuf:"bytes,1,rep,name=k_map_estimation_histogram,json=kMapEstimationHistogram,proto3" json:"k_map_estimation_histogram,omitempty"` @@ -18657,9 +18705,11 @@ type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult struct { // The intervals [min_probability, max_probability) do not overlap. If a // value doesn't correspond to any such interval, the associated frequency // is zero. For example, the following records: - // {min_probability: 0, max_probability: 0.1, frequency: 17} - // {min_probability: 0.2, max_probability: 0.3, frequency: 42} - // {min_probability: 0.3, max_probability: 0.4, frequency: 99} + // + // {min_probability: 0, max_probability: 0.1, frequency: 17} + // {min_probability: 0.2, max_probability: 0.3, frequency: 42} + // {min_probability: 0.3, max_probability: 0.4, frequency: 99} + // // mean that there are no record with an estimated probability in [0.1, 0.2) // nor larger or equal to 0.4. DeltaPresenceEstimationHistogram []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket `protobuf:"bytes,1,rep,name=delta_presence_estimation_histogram,json=deltaPresenceEstimationHistogram,proto3" json:"delta_presence_estimation_histogram,omitempty"` @@ -19527,6 +19577,7 @@ type ImageTransformations_ImageTransformation struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Target: + // // *ImageTransformations_ImageTransformation_SelectedInfoTypes_ // *ImageTransformations_ImageTransformation_AllInfoTypes_ // *ImageTransformations_ImageTransformation_AllText_ @@ -20118,6 +20169,7 @@ type RecordCondition_Expressions struct { // Expression types. // // Types that are assignable to Type: + // // *RecordCondition_Expressions_Conditions Type isRecordCondition_Expressions_Type `protobuf_oneof:"type"` } @@ -20262,6 +20314,7 @@ type JobTrigger_Trigger struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Trigger: + // // *JobTrigger_Trigger_Schedule // *JobTrigger_Trigger_Manual Trigger isJobTrigger_Trigger_Trigger `protobuf_oneof:"trigger"` @@ -20579,6 +20632,7 @@ type Action_Deidentify struct { // message for more information about what is noted). TransformationDetailsStorageConfig *TransformationDetailsStorageConfig `protobuf:"bytes,3,opt,name=transformation_details_storage_config,json=transformationDetailsStorageConfig,proto3" json:"transformation_details_storage_config,omitempty"` // Types that are assignable to Output: + // // *Action_Deidentify_CloudStorageOutput Output isAction_Deidentify_Output `protobuf_oneof:"output"` // List of user-specified file type groups to transform. If specified, only @@ -21064,6 +21118,7 @@ type DataProfilePubSubCondition_PubSubCondition struct { // The value for the condition to trigger. // // Types that are assignable to Value: + // // *DataProfilePubSubCondition_PubSubCondition_MinimumRiskScore // *DataProfilePubSubCondition_PubSubCondition_MinimumSensitivityScore Value isDataProfilePubSubCondition_PubSubCondition_Value `protobuf_oneof:"value"` diff --git a/dlp/apiv2/dlppb/storage.pb.go b/dlp/apiv2/dlppb/storage.pb.go index 3a2cd94d43e..320a0e7b892 100755 --- a/dlp/apiv2/dlppb/storage.pb.go +++ b/dlp/apiv2/dlppb/storage.pb.go @@ -130,15 +130,18 @@ const ( // file types in your storage scan. FileType_BINARY_FILE FileType = 1 // Included file extensions: - // asc,asp, aspx, brf, c, cc,cfm, cgi, cpp, csv, cxx, c++, cs, css, dart, - // dat, dot, eml,, epbub, ged, go, h, hh, hpp, hxx, h++, hs, html, htm, - // mkd, markdown, m, ml, mli, perl, pl, plist, pm, php, phtml, pht, - // properties, py, pyw, rb, rbw, rs, rss, rc, scala, sh, sql, swift, tex, - // shtml, shtm, xhtml, lhs, ics, ini, java, js, json, kix, kml, ocaml, md, - // txt, text, tsv, vb, vcard, vcs, wml, xcodeproj, xml, xsl, xsd, yml, yaml. + // + // asc,asp, aspx, brf, c, cc,cfm, cgi, cpp, csv, cxx, c++, cs, css, dart, + // dat, dot, eml,, epbub, ged, go, h, hh, hpp, hxx, h++, hs, html, htm, + // mkd, markdown, m, ml, mli, perl, pl, plist, pm, php, phtml, pht, + // properties, py, pyw, rb, rbw, rs, rss, rc, scala, sh, sql, swift, tex, + // shtml, shtm, xhtml, lhs, ics, ini, java, js, json, kix, kml, ocaml, md, + // txt, text, tsv, vb, vcard, vcs, wml, xcodeproj, xml, xsl, xsd, yml, yaml. FileType_TEXT_FILE FileType = 2 // Included file extensions: - // bmp, gif, jpg, jpeg, jpe, png. Setting + // + // bmp, gif, jpg, jpeg, jpe, png. Setting + // // [bytes_limit_per_file][google.privacy.dlp.v2.CloudStorageOptions.bytes_limit_per_file] // or // [bytes_limit_per_file_percent][google.privacy.dlp.v2.CloudStorageOptions.bytes_limit_per_file] @@ -147,32 +150,40 @@ const ( FileType_IMAGE FileType = 3 // Microsoft Word files larger than 30 MB will be scanned as binary files. // Included file extensions: - // docx, dotx, docm, dotm. Setting `bytes_limit_per_file` or - // `bytes_limit_per_file_percent` has no effect on Word files. + // + // docx, dotx, docm, dotm. Setting `bytes_limit_per_file` or + // `bytes_limit_per_file_percent` has no effect on Word files. FileType_WORD FileType = 5 // PDF files larger than 30 MB will be scanned as binary files. // Included file extensions: - // pdf. Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` + // + // pdf. Setting `bytes_limit_per_file` or `bytes_limit_per_file_percent` + // // has no effect on PDF files. FileType_PDF FileType = 6 // Included file extensions: - // avro + // + // avro FileType_AVRO FileType = 7 // Included file extensions: - // csv + // + // csv FileType_CSV FileType = 8 // Included file extensions: - // tsv + // + // tsv FileType_TSV FileType = 9 // Microsoft PowerPoint files larger than 30 MB will be scanned as binary // files. Included file extensions: - // pptx, pptm, potx, potm, pot. Setting `bytes_limit_per_file` or - // `bytes_limit_per_file_percent` has no effect on PowerPoint files. + // + // pptx, pptm, potx, potm, pot. Setting `bytes_limit_per_file` or + // `bytes_limit_per_file_percent` has no effect on PowerPoint files. FileType_POWERPOINT FileType = 11 // Microsoft Excel files larger than 30 MB will be scanned as binary files. // Included file extensions: - // xlsx, xlsm, xltx, xltm. Setting `bytes_limit_per_file` or - // `bytes_limit_per_file_percent` has no effect on Excel files. + // + // xlsx, xlsm, xltx, xltm. Setting `bytes_limit_per_file` or + // `bytes_limit_per_file_percent` has no effect on Excel files. FileType_EXCEL FileType = 12 ) @@ -659,6 +670,7 @@ type CustomInfoType struct { // the rule. Defaults to `VERY_LIKELY` if not specified. Likelihood Likelihood `protobuf:"varint,6,opt,name=likelihood,proto3,enum=google.privacy.dlp.v2.Likelihood" json:"likelihood,omitempty"` // Types that are assignable to Type: + // // *CustomInfoType_Dictionary_ // *CustomInfoType_Regex_ // *CustomInfoType_SurrogateType_ @@ -1489,6 +1501,7 @@ type StorageConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Type: + // // *StorageConfig_DatastoreOptions // *StorageConfig_CloudStorageOptions // *StorageConfig_BigQueryOptions @@ -1890,6 +1903,7 @@ type RecordKey struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Type: + // // *RecordKey_DatastoreKey // *RecordKey_BigQueryKey Type isRecordKey_Type `protobuf_oneof:"type"` @@ -2238,6 +2252,7 @@ type CustomInfoType_Dictionary struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Source: + // // *CustomInfoType_Dictionary_WordList_ // *CustomInfoType_Dictionary_CloudStoragePath Source isCustomInfoType_Dictionary_Source `protobuf_oneof:"source"` @@ -2432,6 +2447,7 @@ type CustomInfoType_DetectionRule struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Type: + // // *CustomInfoType_DetectionRule_HotwordRule_ Type isCustomInfoType_DetectionRule_Type `protobuf_oneof:"type"` } @@ -2615,6 +2631,7 @@ type CustomInfoType_DetectionRule_LikelihoodAdjustment struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Adjustment: + // // *CustomInfoType_DetectionRule_LikelihoodAdjustment_FixedLikelihood // *CustomInfoType_DetectionRule_LikelihoodAdjustment_RelativeLikelihood Adjustment isCustomInfoType_DetectionRule_LikelihoodAdjustment_Adjustment `protobuf_oneof:"adjustment"` @@ -2981,6 +2998,7 @@ type Key_PathElement struct { // The type of ID. // // Types that are assignable to IdType: + // // *Key_PathElement_Id // *Key_PathElement_Name IdType isKey_PathElement_IdType `protobuf_oneof:"id_type"` diff --git a/documentai/apiv1/documentaipb/document.pb.go b/documentai/apiv1/documentaipb/document.pb.go index e7bf2338e80..7c7351bf2c2 100755 --- a/documentai/apiv1/documentaipb/document.pb.go +++ b/documentai/apiv1/documentaipb/document.pb.go @@ -347,6 +347,7 @@ type Document struct { // Original source document from the user. // // Types that are assignable to Source: + // // *Document_Uri // *Document_Content Source isDocument_Source `protobuf_oneof:"source"` @@ -1353,6 +1354,7 @@ type Document_Revision struct { // Who/what made the change // // Types that are assignable to Source: + // // *Document_Revision_Agent // *Document_Revision_Processor Source isDocument_Revision_Source `protobuf_oneof:"source"` @@ -3188,6 +3190,7 @@ type Document_Entity_NormalizedValue struct { // populated. // // Types that are assignable to StructuredValue: + // // *Document_Entity_NormalizedValue_MoneyValue // *Document_Entity_NormalizedValue_DateValue // *Document_Entity_NormalizedValue_DatetimeValue diff --git a/documentai/apiv1/documentaipb/document_io.pb.go b/documentai/apiv1/documentaipb/document_io.pb.go index 9489a68c652..a3647e9db06 100755 --- a/documentai/apiv1/documentaipb/document_io.pb.go +++ b/documentai/apiv1/documentaipb/document_io.pb.go @@ -273,6 +273,7 @@ type BatchDocumentsInputConfig struct { // The source. // // Types that are assignable to Source: + // // *BatchDocumentsInputConfig_GcsPrefix // *BatchDocumentsInputConfig_GcsDocuments Source isBatchDocumentsInputConfig_Source `protobuf_oneof:"source"` @@ -359,6 +360,7 @@ type DocumentOutputConfig struct { // The destination of the results. // // Types that are assignable to Destination: + // // *DocumentOutputConfig_GcsOutputConfig_ Destination isDocumentOutputConfig_Destination `protobuf_oneof:"destination"` } diff --git a/documentai/apiv1/documentaipb/document_processor_service.pb.go b/documentai/apiv1/documentaipb/document_processor_service.pb.go index fe4fefec7d8..2cdf432ea77 100755 --- a/documentai/apiv1/documentaipb/document_processor_service.pb.go +++ b/documentai/apiv1/documentaipb/document_processor_service.pb.go @@ -347,6 +347,7 @@ type ProcessOptions struct { // only applies to sync requests. // // Types that are assignable to PageRange: + // // *ProcessOptions_IndividualPageSelector_ // *ProcessOptions_FromStart // *ProcessOptions_FromEnd @@ -460,6 +461,7 @@ type ProcessRequest struct { // The document payload. // // Types that are assignable to Source: + // // *ProcessRequest_InlineDocument // *ProcessRequest_RawDocument // *ProcessRequest_GcsDocument @@ -2618,6 +2620,7 @@ type TrainProcessorVersionRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to ProcessorFlags: + // // *TrainProcessorVersionRequest_CustomDocumentExtractionOptions_ ProcessorFlags isTrainProcessorVersionRequest_ProcessorFlags `protobuf_oneof:"processor_flags"` // Required. The parent (project, location and processor) to create the new @@ -2858,6 +2861,7 @@ type ReviewDocumentRequest struct { // The document payload. // // Types that are assignable to Source: + // // *ReviewDocumentRequest_InlineDocument Source isReviewDocumentRequest_Source `protobuf_oneof:"source"` // Required. The resource name of the diff --git a/documentai/apiv1/documentaipb/document_schema.pb.go b/documentai/apiv1/documentaipb/document_schema.pb.go index 3892fb11501..4db5818f336 100755 --- a/documentai/apiv1/documentaipb/document_schema.pb.go +++ b/documentai/apiv1/documentaipb/document_schema.pb.go @@ -191,6 +191,7 @@ type DocumentSchema_EntityType struct { unknownFields protoimpl.UnknownFields // Types that are assignable to ValueSource: + // // *DocumentSchema_EntityType_EnumValues_ ValueSource isDocumentSchema_EntityType_ValueSource `protobuf_oneof:"value_source"` // User defined name for the type. @@ -198,16 +199,16 @@ type DocumentSchema_EntityType struct { // Name of the type. It must be unique within the schema file and // cannot be a "Common Type". The following naming conventions are used: // - // - Use `snake_casing`. - // - Name matching is case-sensitive. - // - Maximum 64 characters. - // - Must start with a letter. - // - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward - // compatibility internal infrastructure and tooling can handle any ascii - // character.) - // - The `/` is sometimes used to denote a property of a type. For example - // `line_item/amount`. This convention is deprecated, but will still be - // honored for backward compatibility. + // - Use `snake_casing`. + // - Name matching is case-sensitive. + // - Maximum 64 characters. + // - Must start with a letter. + // - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward + // compatibility internal infrastructure and tooling can handle any ascii + // character.) + // - The `/` is sometimes used to denote a property of a type. For example + // `line_item/amount`. This convention is deprecated, but will still be + // honored for backward compatibility. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The entity type that this type is derived from. For now, one and only // one should be set. diff --git a/documentai/apiv1beta3/documentaipb/dataset.pb.go b/documentai/apiv1beta3/documentaipb/dataset.pb.go index 8ebd182bd84..d5f1b551c6b 100755 --- a/documentai/apiv1beta3/documentaipb/dataset.pb.go +++ b/documentai/apiv1beta3/documentaipb/dataset.pb.go @@ -102,11 +102,13 @@ type Dataset struct { unknownFields protoimpl.UnknownFields // Types that are assignable to StorageSource: + // // *Dataset_GcsManagedConfig // *Dataset_DocumentWarehouseConfig_ // *Dataset_UnmanagedDatasetConfig_ StorageSource isDataset_StorageSource `protobuf_oneof:"storage_source"` // Types that are assignable to IndexingSource: + // // *Dataset_SpannerIndexingConfig_ IndexingSource isDataset_IndexingSource `protobuf_oneof:"indexing_source"` // Dataset resource name. @@ -254,6 +256,7 @@ type DocumentId struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Type: + // // *DocumentId_GcsManagedDocId // *DocumentId_UnmanagedDocId Type isDocumentId_Type `protobuf_oneof:"type"` @@ -406,6 +409,7 @@ type BatchDatasetDocuments struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Criteria: + // // *BatchDatasetDocuments_IndividualDocumentIds_ // *BatchDatasetDocuments_Filter Criteria isBatchDatasetDocuments_Criteria `protobuf_oneof:"criteria"` diff --git a/documentai/apiv1beta3/documentaipb/document.pb.go b/documentai/apiv1beta3/documentaipb/document.pb.go index f7e1d497edf..61bbfa076ca 100755 --- a/documentai/apiv1beta3/documentaipb/document.pb.go +++ b/documentai/apiv1beta3/documentaipb/document.pb.go @@ -405,6 +405,7 @@ type Document struct { // Original source document from the user. // // Types that are assignable to Source: + // // *Document_Uri // *Document_Content Source isDocument_Source `protobuf_oneof:"source"` @@ -598,6 +599,7 @@ type RevisionRef struct { // Specifies which revision to read. // // Types that are assignable to Source: + // // *RevisionRef_RevisionCase_ // *RevisionRef_RevisionId // *RevisionRef_LatestProcessorVersion @@ -1517,6 +1519,7 @@ type Document_Revision struct { // Who/what made the change // // Types that are assignable to Source: + // // *Document_Revision_Agent // *Document_Revision_Processor Source isDocument_Revision_Source `protobuf_oneof:"source"` @@ -3353,6 +3356,7 @@ type Document_Entity_NormalizedValue struct { // populated. // // Types that are assignable to StructuredValue: + // // *Document_Entity_NormalizedValue_MoneyValue // *Document_Entity_NormalizedValue_DateValue // *Document_Entity_NormalizedValue_DatetimeValue diff --git a/documentai/apiv1beta3/documentaipb/document_io.pb.go b/documentai/apiv1beta3/documentaipb/document_io.pb.go index 8d909a40871..e9968771a2c 100755 --- a/documentai/apiv1beta3/documentaipb/document_io.pb.go +++ b/documentai/apiv1beta3/documentaipb/document_io.pb.go @@ -273,6 +273,7 @@ type BatchDocumentsInputConfig struct { // The source. // // Types that are assignable to Source: + // // *BatchDocumentsInputConfig_GcsPrefix // *BatchDocumentsInputConfig_GcsDocuments Source isBatchDocumentsInputConfig_Source `protobuf_oneof:"source"` @@ -359,6 +360,7 @@ type DocumentOutputConfig struct { // The destination of the results. // // Types that are assignable to Destination: + // // *DocumentOutputConfig_GcsOutputConfig_ Destination isDocumentOutputConfig_Destination `protobuf_oneof:"destination"` } diff --git a/documentai/apiv1beta3/documentaipb/document_processor_service.pb.go b/documentai/apiv1beta3/documentaipb/document_processor_service.pb.go index 825576ea62e..a90bd941469 100755 --- a/documentai/apiv1beta3/documentaipb/document_processor_service.pb.go +++ b/documentai/apiv1beta3/documentaipb/document_processor_service.pb.go @@ -405,14 +405,16 @@ type ProcessOptions struct { unknownFields protoimpl.UnknownFields // A subset of pages to process. If not specified, all pages are processed. - // If a page range is set, only the given pages are extracted and processed - // from the document. In the output document, - // [Document.Page.page_number][google.cloud.documentai.v1beta3.Document.Page.page_number] - // refers to the page number in the original document. This configuration - // only applies to sync requests. `page_range` can be only one of the - // following: + // + // If a page range is set, only the given pages are extracted and processed + // from the document. In the output document, + // [Document.Page.page_number][google.cloud.documentai.v1beta3.Document.Page.page_number] + // refers to the page number in the original document. This configuration + // only applies to sync requests. `page_range` can be only one of the + // following: // // Types that are assignable to PageRange: + // // *ProcessOptions_IndividualPageSelector_ // *ProcessOptions_FromStart // *ProcessOptions_FromEnd @@ -539,6 +541,7 @@ type ProcessRequest struct { // The document payload. // // Types that are assignable to Source: + // // *ProcessRequest_InlineDocument // *ProcessRequest_RawDocument // *ProcessRequest_GcsDocument @@ -2751,6 +2754,7 @@ type TrainProcessorVersionRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to ProcessorFlags: + // // *TrainProcessorVersionRequest_CustomDocumentExtractionOptions_ ProcessorFlags isTrainProcessorVersionRequest_ProcessorFlags `protobuf_oneof:"processor_flags"` // Required. The parent (project, location and processor) to create the new @@ -2991,6 +2995,7 @@ type ReviewDocumentRequest struct { // The document payload. // // Types that are assignable to Source: + // // *ReviewDocumentRequest_InlineDocument Source isReviewDocumentRequest_Source `protobuf_oneof:"source"` // Required. The resource name of the @@ -3642,6 +3647,7 @@ type ImportProcessorVersionRequest struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Source: + // // *ImportProcessorVersionRequest_ProcessorVersionSource // *ImportProcessorVersionRequest_ExternalProcessorVersionSource_ Source isImportProcessorVersionRequest_Source `protobuf_oneof:"source"` diff --git a/documentai/apiv1beta3/documentaipb/document_schema.pb.go b/documentai/apiv1beta3/documentaipb/document_schema.pb.go index 95400aa209b..b7ce6ce1c89 100755 --- a/documentai/apiv1beta3/documentaipb/document_schema.pb.go +++ b/documentai/apiv1beta3/documentaipb/document_schema.pb.go @@ -515,6 +515,7 @@ type DocumentSchema_EntityType struct { unknownFields protoimpl.UnknownFields // Types that are assignable to ValueSource: + // // *DocumentSchema_EntityType_EnumValues_ ValueSource isDocumentSchema_EntityType_ValueSource `protobuf_oneof:"value_source"` // User defined name for the type. @@ -522,16 +523,16 @@ type DocumentSchema_EntityType struct { // Name of the type. It must be unique within the schema file and // cannot be a "Common Type". The following naming conventions are used: // - // - Use `snake_casing`. - // - Name matching is case-sensitive. - // - Maximum 64 characters. - // - Must start with a letter. - // - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward - // compatibility internal infrastructure and tooling can handle any ascii - // character.) - // - The `/` is sometimes used to denote a property of a type. For example - // `line_item/amount`. This convention is deprecated, but will still be - // honored for backward compatibility. + // - Use `snake_casing`. + // - Name matching is case-sensitive. + // - Maximum 64 characters. + // - Must start with a letter. + // - Allowed characters: ASCII letters `[a-z0-9_-]`. (For backward + // compatibility internal infrastructure and tooling can handle any ascii + // character.) + // - The `/` is sometimes used to denote a property of a type. For example + // `line_item/amount`. This convention is deprecated, but will still be + // honored for backward compatibility. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The entity type that this type is derived from. For now, one and only // one should be set. diff --git a/documentai/apiv1beta3/documentaipb/document_service.pb.go b/documentai/apiv1beta3/documentaipb/document_service.pb.go index 045c3faa8bf..2726f9ea656 100755 --- a/documentai/apiv1beta3/documentaipb/document_service.pb.go +++ b/documentai/apiv1beta3/documentaipb/document_service.pb.go @@ -596,12 +596,12 @@ type ListDocumentsRequest struct { // - `TagName=\"auto-labeling-running\"|\"sampled\"` // // Note: - // - Only `AND`, `=` and `!=` are supported. + // - Only `AND`, `=` and `!=` are supported. // e.g. `DisplayName=file_name AND EntityType!=abc` IS supported. - // - Wildcard `*` is supported only in `DisplayName` filter - // - No duplicate filter keys are allowed, + // - Wildcard `*` is supported only in `DisplayName` filter + // - No duplicate filter keys are allowed, // e.g. `EntityType=a AND EntityType=b` is NOT supported. - // - String match is case sensitive (for filter `DisplayName` & `EntityType`). + // - String match is case sensitive (for filter `DisplayName` & `EntityType`). Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` // Optional. Controls if the ListDocuments request requires a total size // of matched documents. See ListDocumentsResponse.total_size. @@ -1206,6 +1206,7 @@ type ImportDocumentsRequest_BatchDocumentsImportConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to SplitTypeConfig: + // // *ImportDocumentsRequest_BatchDocumentsImportConfig_DatasetSplit // *ImportDocumentsRequest_BatchDocumentsImportConfig_AutoSplitConfig_ SplitTypeConfig isImportDocumentsRequest_BatchDocumentsImportConfig_SplitTypeConfig `protobuf_oneof:"split_type_config"` diff --git a/domains/apiv1beta1/domainspb/domains.pb.go b/domains/apiv1beta1/domainspb/domains.pb.go index d52a92ec5d1..0043bbedb92 100755 --- a/domains/apiv1beta1/domainspb/domains.pb.go +++ b/domains/apiv1beta1/domainspb/domains.pb.go @@ -1018,6 +1018,7 @@ type DnsSettings struct { // The DNS provider of the registration. // // Types that are assignable to DnsProvider: + // // *DnsSettings_CustomDns_ // *DnsSettings_GoogleDomainsDns_ DnsProvider isDnsSettings_DnsProvider `protobuf_oneof:"dns_provider"` @@ -4580,14 +4581,12 @@ type DomainsClient interface { // Cloud Domains. For domains managed by Google Domains, transferring to Cloud // Domains is not supported. // - // // Use the returned values to call `TransferDomain`. RetrieveTransferParameters(ctx context.Context, in *RetrieveTransferParametersRequest, opts ...grpc.CallOption) (*RetrieveTransferParametersResponse, error) // Transfers a domain name from another registrar to Cloud Domains. For // domains managed by Google Domains, transferring to Cloud Domains is not // supported. // - // // Before calling this method, go to the domain's current registrar to unlock // the domain for transfer and retrieve the domain's transfer authorization // code. Then call `RetrieveTransferParameters` to confirm that the domain is @@ -4838,14 +4837,12 @@ type DomainsServer interface { // Cloud Domains. For domains managed by Google Domains, transferring to Cloud // Domains is not supported. // - // // Use the returned values to call `TransferDomain`. RetrieveTransferParameters(context.Context, *RetrieveTransferParametersRequest) (*RetrieveTransferParametersResponse, error) // Transfers a domain name from another registrar to Cloud Domains. For // domains managed by Google Domains, transferring to Cloud Domains is not // supported. // - // // Before calling this method, go to the domain's current registrar to unlock // the domain for transfer and retrieve the domain's transfer authorization // code. Then call `RetrieveTransferParameters` to confirm that the domain is diff --git a/edgenetwork/apiv1/edgenetworkpb/resources.pb.go b/edgenetwork/apiv1/edgenetworkpb/resources.pb.go index f30e2d5b89d..24348f6d55c 100755 --- a/edgenetwork/apiv1/edgenetworkpb/resources.pb.go +++ b/edgenetwork/apiv1/edgenetworkpb/resources.pb.go @@ -1894,7 +1894,8 @@ type RouterStatus_BgpPeerStatus struct { State string `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` // Time this session has been up. // Format: - // 14 years, 51 weeks, 6 days, 23 hours, 59 minutes, 59 seconds + // + // 14 years, 51 weeks, 6 days, 23 hours, 59 minutes, 59 seconds Uptime string `protobuf:"bytes,6,opt,name=uptime,proto3" json:"uptime,omitempty"` // Time this session has been up, in seconds. UptimeSeconds int64 `protobuf:"varint,7,opt,name=uptime_seconds,json=uptimeSeconds,proto3" json:"uptime_seconds,omitempty"` diff --git a/eventarc/apiv1/eventarcpb/channel.pb.go b/eventarc/apiv1/eventarcpb/channel.pb.go index 9026c3d476d..8561d23e6b9 100755 --- a/eventarc/apiv1/eventarcpb/channel.pb.go +++ b/eventarc/apiv1/eventarcpb/channel.pb.go @@ -55,9 +55,9 @@ const ( // The INACTIVE state indicates that the Channel cannot receive events // permanently. There are two possible cases this state can happen: // - // 1. The SaaS provider disconnected from this Channel. - // 2. The Channel activation token has expired but the SaaS provider - // wasn't connected. + // 1. The SaaS provider disconnected from this Channel. + // 2. The Channel activation token has expired but the SaaS provider + // wasn't connected. // // To re-establish a Connection with a provider, the subscriber // should create a new Channel and give it to the provider. @@ -134,6 +134,7 @@ type Channel struct { // `projects/{project}/locations/{location}/providers/{provider_id}`. Provider string `protobuf:"bytes,7,opt,name=provider,proto3" json:"provider,omitempty"` // Types that are assignable to Transport: + // // *Channel_PubsubTopic Transport isChannel_Transport `protobuf_oneof:"transport"` // Output only. The state of a Channel. diff --git a/eventarc/apiv1/eventarcpb/trigger.pb.go b/eventarc/apiv1/eventarcpb/trigger.pb.go index 0e669d10e82..dc698d54598 100755 --- a/eventarc/apiv1/eventarcpb/trigger.pb.go +++ b/eventarc/apiv1/eventarcpb/trigger.pb.go @@ -348,6 +348,7 @@ type Destination struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Descriptor_: + // // *Destination_CloudRun // *Destination_CloudFunction // *Destination_Gke @@ -468,6 +469,7 @@ type Transport struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Intermediary: + // // *Transport_Pubsub Intermediary isTransport_Intermediary `protobuf_oneof:"intermediary"` } diff --git a/filestore/apiv1/filestorepb/cloud_filestore_service.pb.go b/filestore/apiv1/filestorepb/cloud_filestore_service.pb.go index fce9d17d513..982b2cddf09 100755 --- a/filestore/apiv1/filestorepb/cloud_filestore_service.pb.go +++ b/filestore/apiv1/filestorepb/cloud_filestore_service.pb.go @@ -731,6 +731,7 @@ type FileShareConfig struct { // share is created from scratch. // // Types that are assignable to Source: + // // *FileShareConfig_SourceBackup Source isFileShareConfig_Source `protobuf_oneof:"source"` // Nfs Export Options. @@ -1289,6 +1290,7 @@ type RestoreInstanceRequest struct { // is being restored to. FileShare string `protobuf:"bytes,2,opt,name=file_share,json=fileShare,proto3" json:"file_share,omitempty"` // Types that are assignable to Source: + // // *RestoreInstanceRequest_SourceBackup Source isRestoreInstanceRequest_Source `protobuf_oneof:"source"` } diff --git a/firestore/apiv1/admin/adminpb/field.pb.go b/firestore/apiv1/admin/adminpb/field.pb.go index 68408ef3f0a..839c396985f 100755 --- a/firestore/apiv1/admin/adminpb/field.pb.go +++ b/firestore/apiv1/admin/adminpb/field.pb.go @@ -125,10 +125,12 @@ type Field struct { // // Examples: // (Note: Comments here are written in markdown syntax, so there is an - // additional layer of backticks to represent a code block) - // `\`address.city\`` represents a field named `address.city`, not the map key + // + // additional layer of backticks to represent a code block) + // + // `\`address.city\“ represents a field named `address.city`, not the map key // `city` in the field `address`. - // `\`*\`` represents a field named `*`, not any field. + // `\`*\“ represents a field named `*`, not any field. // // A special `Field` contains the default indexing settings for all fields. // This field's resource name is: diff --git a/firestore/apiv1/admin/adminpb/index.pb.go b/firestore/apiv1/admin/adminpb/index.pb.go index b70bbd36c56..6dd7240aae3 100755 --- a/firestore/apiv1/admin/adminpb/index.pb.go +++ b/firestore/apiv1/admin/adminpb/index.pb.go @@ -444,6 +444,7 @@ type Index_IndexField struct { // How the field value is indexed. // // Types that are assignable to ValueMode: + // // *Index_IndexField_Order_ // *Index_IndexField_ArrayConfig_ ValueMode isIndex_IndexField_ValueMode `protobuf_oneof:"value_mode"` diff --git a/firestore/apiv1/firestorepb/common.pb.go b/firestore/apiv1/firestorepb/common.pb.go index 155ef29007d..2fc4fd56fda 100755 --- a/firestore/apiv1/firestorepb/common.pb.go +++ b/firestore/apiv1/firestorepb/common.pb.go @@ -101,6 +101,7 @@ type Precondition struct { // The type of precondition. // // Types that are assignable to ConditionType: + // // *Precondition_Exists // *Precondition_UpdateTime ConditionType isPrecondition_ConditionType `protobuf_oneof:"condition_type"` @@ -188,6 +189,7 @@ type TransactionOptions struct { // The mode of the transaction. // // Types that are assignable to Mode: + // // *TransactionOptions_ReadOnly_ // *TransactionOptions_ReadWrite_ Mode isTransactionOptions_Mode `protobuf_oneof:"mode"` @@ -326,6 +328,7 @@ type TransactionOptions_ReadOnly struct { // consistency. // // Types that are assignable to ConsistencySelector: + // // *TransactionOptions_ReadOnly_ReadTime ConsistencySelector isTransactionOptions_ReadOnly_ConsistencySelector `protobuf_oneof:"consistency_selector"` } diff --git a/firestore/apiv1/firestorepb/document.pb.go b/firestore/apiv1/firestorepb/document.pb.go index 01b705183b5..ea5eb734af0 100755 --- a/firestore/apiv1/firestorepb/document.pb.go +++ b/firestore/apiv1/firestorepb/document.pb.go @@ -63,16 +63,16 @@ type Document struct { // dot-delimited (`.`) string of segments. Each segment is either a simple // field name (defined below) or a quoted field name. For example, the // structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" - // }}}` would be represented by the field path `` foo.`x&y` ``. + // }}}` would be represented by the field path “ foo.`x&y` “. // // A simple field name contains only characters `a` to `z`, `A` to `Z`, // `0` to `9`, or `_`, and must not start with `0` to `9`. For example, // `foo_bar_17`. // - // A quoted field name starts and ends with `` ` `` and - // may contain any character. Some characters, including `` ` ``, must be - // escaped using a `\`. For example, `` `x&y` `` represents `x&y` and - // `` `bak\`tik` `` represents `` bak`tik ``. + // A quoted field name starts and ends with “ ` “ and + // may contain any character. Some characters, including “ ` “, must be + // escaped using a `\`. For example, “ `x&y` “ represents `x&y` and + // “ `bak\`tik` “ represents “ bak`tik “. Fields map[string]*Value `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Output only. The time at which the document was created. // @@ -157,6 +157,7 @@ type Value struct { // Must have a value set. // // Types that are assignable to ValueType: + // // *Value_NullValue // *Value_BooleanValue // *Value_IntegerValue diff --git a/firestore/apiv1/firestorepb/firestore.pb.go b/firestore/apiv1/firestorepb/firestore.pb.go index 14ef8f69843..ec3dda0d464 100755 --- a/firestore/apiv1/firestorepb/firestore.pb.go +++ b/firestore/apiv1/firestorepb/firestore.pb.go @@ -135,6 +135,7 @@ type GetDocumentRequest struct { // If not set, defaults to strong consistency. // // Types that are assignable to ConsistencySelector: + // // *GetDocumentRequest_Transaction // *GetDocumentRequest_ReadTime ConsistencySelector isGetDocumentRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"` @@ -278,6 +279,7 @@ type ListDocumentsRequest struct { // If not set, defaults to strong consistency. // // Types that are assignable to ConsistencySelector: + // // *ListDocumentsRequest_Transaction // *ListDocumentsRequest_ReadTime ConsistencySelector isListDocumentsRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"` @@ -745,6 +747,7 @@ type BatchGetDocumentsRequest struct { // If not set, defaults to strong consistency. // // Types that are assignable to ConsistencySelector: + // // *BatchGetDocumentsRequest_Transaction // *BatchGetDocumentsRequest_NewTransaction // *BatchGetDocumentsRequest_ReadTime @@ -875,6 +878,7 @@ type BatchGetDocumentsResponse struct { // This can be empty if the server is just returning a transaction. // // Types that are assignable to Result: + // // *BatchGetDocumentsResponse_Found // *BatchGetDocumentsResponse_Missing Result isBatchGetDocumentsResponse_Result `protobuf_oneof:"result"` @@ -1294,20 +1298,18 @@ type RunQueryRequest struct { // The query to run. // // Types that are assignable to QueryType: + // // *RunQueryRequest_StructuredQuery QueryType isRunQueryRequest_QueryType `protobuf_oneof:"query_type"` // The consistency mode for this transaction. // If not set, defaults to strong consistency. // // Types that are assignable to ConsistencySelector: + // // *RunQueryRequest_Transaction // *RunQueryRequest_NewTransaction // *RunQueryRequest_ReadTime ConsistencySelector isRunQueryRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"` - // Optional. The mode in which the query request is processed. This field is - // optional, and when not provided, it defaults to `NORMAL` mode where no - // additional statistics will be returned with the query results. - Mode QueryMode `protobuf:"varint,9,opt,name=mode,proto3,enum=google.firestore.v1.QueryMode" json:"mode,omitempty"` } func (x *RunQueryRequest) Reset() { @@ -1391,13 +1393,6 @@ func (x *RunQueryRequest) GetReadTime() *timestamppb.Timestamp { return nil } -func (x *RunQueryRequest) GetMode() QueryMode { - if x != nil { - return x.Mode - } - return QueryMode_NORMAL -} - type isRunQueryRequest_QueryType interface { isRunQueryRequest_QueryType() } @@ -1474,14 +1469,9 @@ type RunQueryResponse struct { // `document` present, but when set, no more results are returned. // // Types that are assignable to ContinuationSelector: + // // *RunQueryResponse_Done ContinuationSelector isRunQueryResponse_ContinuationSelector `protobuf_oneof:"continuation_selector"` - // Query plan and execution statistics. Note that the returned stats are - // subject to change as Firestore evolves. - // - // This is only present when the request specifies a mode other than `NORMAL` - // and is sent only once with the last response in the stream. - Stats *ResultSetStats `protobuf:"bytes,7,opt,name=stats,proto3" json:"stats,omitempty"` } func (x *RunQueryResponse) Reset() { @@ -1558,13 +1548,6 @@ func (x *RunQueryResponse) GetDone() bool { return false } -func (x *RunQueryResponse) GetStats() *ResultSetStats { - if x != nil { - return x.Stats - } - return nil -} - type isRunQueryResponse_ContinuationSelector interface { isRunQueryResponse_ContinuationSelector() } @@ -1594,19 +1577,17 @@ type RunAggregationQueryRequest struct { // The query to run. // // Types that are assignable to QueryType: + // // *RunAggregationQueryRequest_StructuredAggregationQuery QueryType isRunAggregationQueryRequest_QueryType `protobuf_oneof:"query_type"` // The consistency mode for the query, defaults to strong consistency. // // Types that are assignable to ConsistencySelector: + // // *RunAggregationQueryRequest_Transaction // *RunAggregationQueryRequest_NewTransaction // *RunAggregationQueryRequest_ReadTime ConsistencySelector isRunAggregationQueryRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"` - // Optional. The mode in which the query request is processed. This field is - // optional, and when not provided, it defaults to `NORMAL` mode where no - // additional statistics will be returned with the query results. - Mode QueryMode `protobuf:"varint,7,opt,name=mode,proto3,enum=google.firestore.v1.QueryMode" json:"mode,omitempty"` } func (x *RunAggregationQueryRequest) Reset() { @@ -1690,13 +1671,6 @@ func (x *RunAggregationQueryRequest) GetReadTime() *timestamppb.Timestamp { return nil } -func (x *RunAggregationQueryRequest) GetMode() QueryMode { - if x != nil { - return x.Mode - } - return QueryMode_NORMAL -} - type isRunAggregationQueryRequest_QueryType interface { isRunAggregationQueryRequest_QueryType() } @@ -1769,12 +1743,6 @@ type RunAggregationQueryResponse struct { // `result` will be sent, and this represents the time at which the query // was run. ReadTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"` - // Query plan and execution statistics. Note that the returned stats are - // subject to change as Firestore evolves. - // - // This is only present when the request specifies a mode other than `NORMAL` - // and is sent only once with the last response in the stream. - Stats *ResultSetStats `protobuf:"bytes,6,opt,name=stats,proto3" json:"stats,omitempty"` } func (x *RunAggregationQueryResponse) Reset() { @@ -1830,13 +1798,6 @@ func (x *RunAggregationQueryResponse) GetReadTime() *timestamppb.Timestamp { return nil } -func (x *RunAggregationQueryResponse) GetStats() *ResultSetStats { - if x != nil { - return x.Stats - } - return nil -} - // The request for // [Firestore.PartitionQuery][google.firestore.v1.Firestore.PartitionQuery]. type PartitionQueryRequest struct { @@ -1852,6 +1813,7 @@ type PartitionQueryRequest struct { // The query to partition. // // Types that are assignable to QueryType: + // // *PartitionQueryRequest_StructuredQuery QueryType isPartitionQueryRequest_QueryType `protobuf_oneof:"query_type"` // The desired maximum number of partition points. @@ -1870,8 +1832,8 @@ type PartitionQueryRequest struct { // // For example, two subsequent calls using a page_token may return: // - // * cursor B, cursor M, cursor Q - // * cursor A, cursor U, cursor W + // - cursor B, cursor M, cursor Q + // - cursor A, cursor U, cursor W // // To obtain a complete result set ordered with respect to the results of the // query supplied to PartitionQuery, the results sets should be merged: @@ -1889,6 +1851,7 @@ type PartitionQueryRequest struct { // If not set, defaults to strong consistency. // // Types that are assignable to ConsistencySelector: + // // *PartitionQueryRequest_ReadTime ConsistencySelector isPartitionQueryRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"` } @@ -2028,9 +1991,9 @@ type PartitionQueryResponse struct { // running the following three queries will return the entire result set of // the original query: // - // * query, end_at A - // * query, start_at A, end_at B - // * query, start_at B + // - query, end_at A + // - query, start_at A, end_at B + // - query, start_at B // // An empty result may indicate that the query has too few results to be // partitioned, or that the query is not yet supported for partitioning. @@ -2299,6 +2262,7 @@ type ListenRequest struct { // The supported target changes. // // Types that are assignable to TargetChange: + // // *ListenRequest_AddTarget // *ListenRequest_RemoveTarget TargetChange isListenRequest_TargetChange `protobuf_oneof:"target_change"` @@ -2400,6 +2364,7 @@ type ListenResponse struct { // The supported responses. // // Types that are assignable to ResponseType: + // // *ListenResponse_TargetChange // *ListenResponse_DocumentChange // *ListenResponse_DocumentDelete @@ -2535,6 +2500,7 @@ type Target struct { // The type of target to listen to. // // Types that are assignable to TargetType: + // // *Target_Query // *Target_Documents TargetType isTarget_TargetType `protobuf_oneof:"target_type"` @@ -2545,6 +2511,7 @@ type Target struct { // Documents are returned before any subsequent changes. // // Types that are assignable to ResumeType: + // // *Target_ResumeToken // *Target_ReadTime ResumeType isTarget_ResumeType `protobuf_oneof:"resume_type"` @@ -2835,6 +2802,7 @@ type ListCollectionIdsRequest struct { // If not set, defaults to strong consistency. // // Types that are assignable to ConsistencySelector: + // // *ListCollectionIdsRequest_ReadTime ConsistencySelector isListCollectionIdsRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"` } @@ -3186,6 +3154,7 @@ type Target_QueryTarget struct { // The query to run. // // Types that are assignable to QueryType: + // // *Target_QueryTarget_StructuredQuery QueryType isTarget_QueryTarget_QueryType `protobuf_oneof:"query_type"` } @@ -3275,694 +3244,677 @@ var file_google_firestore_v1_firestore_proto_rawDesc = []byte{ 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, - 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, + 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0xdb, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x35, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, + 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x99, 0x03, + 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x12, 0x3a, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, + 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x16, - 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x99, 0x03, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x44, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, - 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1e, 0x0a, 0x08, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x3a, 0x0a, 0x04, - 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, - 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, - 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, - 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, 0x5f, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, - 0x68, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, - 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x22, 0x7c, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x64, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x64, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0xf6, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, - 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, - 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xa0, 0x02, 0x0a, 0x15, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, - 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, - 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x35, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, + 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, + 0x67, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, + 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x7c, 0x0a, 0x15, 0x4c, 0x69, 0x73, + 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x4c, - 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x7e, 0x0a, 0x15, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4c, - 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xdb, 0x02, 0x0a, - 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, - 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, - 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, - 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xd3, 0x01, 0x0a, 0x19, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf6, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, + 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x63, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, + 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x08, 0x64, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x6d, 0x61, 0x73, + 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, - 0x1a, 0x0a, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, - 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, - 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x22, 0x7d, 0x0a, 0x17, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, - 0x3c, 0x0a, 0x18, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x86, 0x01, - 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x12, 0x32, 0x0a, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x06, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x59, 0x0a, - 0x0f, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, + 0x22, 0xa0, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x64, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x0b, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, + 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x35, + 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, + 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x4c, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x22, 0x7e, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x22, 0xdb, 0x02, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, + 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x03, 0x0a, 0x0f, 0x52, 0x75, 0x6e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x10, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x22, 0x0a, 0x0b, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0c, 0x48, 0x01, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x52, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x48, 0x01, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x37, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x35, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xbb, - 0x02, 0x0a, 0x10, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6b, 0x69, - 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x12, 0x14, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x00, 0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xc0, 0x03, 0x0a, - 0x1a, 0x52, 0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x73, 0x0a, 0x1c, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, + 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x0f, 0x6e, 0x65, + 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0e, + 0x6e, 0x65, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, + 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, + 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x22, 0xd3, 0x01, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x35, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, - 0x00, 0x52, 0x1a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x22, 0x0a, - 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x52, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x37, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, - 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, - 0xf3, 0x01, 0x0a, 0x1b, 0x52, 0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3e, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0xcd, 0x02, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x10, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, - 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, + 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, - 0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x16, 0x0a, - 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x7d, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3b, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, - 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa5, 0x02, 0x0a, 0x0c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, - 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x45, 0x0a, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, + 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x08, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x7d, 0x0a, 0x17, 0x42, 0x65, 0x67, 0x69, 0x6e, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3c, 0x0a, 0x18, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x86, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x52, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, + 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x45, 0x0a, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x0f, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xda, 0x02, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x51, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x0e, 0x6e, 0x65, 0x77, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, + 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x80, 0x02, 0x0a, + 0x10, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x37, + 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, + 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x70, + 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x12, 0x14, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, + 0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, + 0x87, 0x03, 0x0a, 0x1a, 0x52, 0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x73, 0x0a, 0x1c, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x48, 0x00, 0x52, 0x1a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x12, 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, + 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xb8, 0x01, 0x0a, 0x1b, 0x52, 0x75, + 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x22, 0xcd, 0x02, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x10, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x27, + 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0c, + 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x16, 0x0a, 0x14, + 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x22, 0x7d, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, + 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, + 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0xa5, 0x02, 0x0a, 0x0c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x49, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x06, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x45, 0x0a, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd3, 0x01, 0x0a, 0x0d, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x45, 0x0a, + 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x22, 0xa9, 0x02, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x61, 0x64, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x61, 0x64, 0x64, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd3, 0x01, 0x0a, - 0x0d, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, - 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x45, - 0x0a, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, - 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x22, 0xa9, 0x02, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x61, 0x64, 0x64, 0x5f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x61, 0x64, 0x64, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0f, 0x0a, 0x0d, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x9b, 0x03, + 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x48, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x4e, 0x0a, 0x0f, 0x64, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6f, 0x63, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x4e, 0x0a, 0x0f, 0x64, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6f, 0x63, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x0f, 0x64, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6f, 0x63, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0f, 0x0a, - 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x9b, - 0x03, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x4e, 0x0a, 0x0f, 0x64, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, - 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x4e, 0x0a, 0x0f, 0x64, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, - 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x0f, 0x64, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, - 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0f, 0x0a, 0x0d, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc3, 0x04, 0x0a, - 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3f, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, - 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4b, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b, 0x72, - 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, - 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0f, 0x0a, 0x0d, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc3, 0x04, 0x0a, 0x06, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3f, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, + 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4b, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b, 0x72, 0x65, + 0x73, 0x75, 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x04, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x04, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x65, 0x78, 0x70, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x2f, 0x0a, 0x0f, 0x44, 0x6f, - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x86, 0x01, 0x0a, 0x0b, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x22, 0xe5, 0x02, 0x0a, 0x0c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x12, 0x60, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x49, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x10, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, - 0x0a, 0x09, 0x4e, 0x4f, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, - 0x03, 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, - 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, - 0x09, 0x0a, 0x05, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x04, 0x22, 0xc6, 0x01, 0x0a, 0x18, 0x4c, - 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x2f, 0x0a, 0x0f, 0x44, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x86, 0x01, 0x0a, 0x0b, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x22, 0xe5, 0x02, 0x0a, 0x0c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x12, 0x60, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x49, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x12, 0x21, 0x0a, + 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, - 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, - 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x22, 0x6a, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, - 0xef, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x52, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x87, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, - 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0xda, 0x19, 0x0a, 0x09, - 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x0b, 0x47, 0x65, - 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x10, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, + 0x09, 0x4e, 0x4f, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, + 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, + 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x09, + 0x0a, 0x05, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x04, 0x22, 0xc6, 0x01, 0x0a, 0x18, 0x4c, 0x69, + 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, + 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, + 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x22, 0x6a, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xef, + 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x52, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, - 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0xf5, 0x01, 0x0a, 0x0d, - 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x29, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8c, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x85, 0x01, 0x5a, 0x3f, - 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x2f, - 0x7b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, - 0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, - 0x2a, 0x2a, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x7d, 0x12, 0xbf, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x6f, - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x22, 0x62, 0xda, 0x41, 0x14, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, - 0x3a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0x39, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0x95, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3f, 0xda, 0x41, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x2a, 0x30, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0xb9, 0x01, - 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, - 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, - 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x01, 0x2a, 0x22, 0x38, 0x2f, - 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x30, 0x01, 0x12, 0xc7, 0x01, 0x0a, 0x10, 0x42, 0x65, - 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x87, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2a, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0xda, 0x19, 0x0a, 0x09, 0x46, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0xf5, 0x01, 0x0a, 0x0d, 0x4c, + 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0xda, 0x41, 0x08, - 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x3a, 0x01, - 0x2a, 0x22, 0x40, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x3a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0xa6, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x22, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0xda, 0x41, 0x0f, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x2c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3b, 0x3a, 0x01, 0x2a, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0xa4, 0x01, 0x0a, - 0x08, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5a, 0xda, 0x41, 0x14, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x2c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x01, 0x2a, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, - 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x72, 0x6f, 0x6c, 0x6c, 0x62, - 0x61, 0x63, 0x6b, 0x12, 0xdf, 0x01, 0x0a, 0x08, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x40, 0x3a, 0x01, 0x2a, 0x22, 0x3b, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x8c, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x85, 0x01, 0x5a, 0x3f, 0x12, + 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x2f, 0x7b, + 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, - 0x2a, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x22, 0x36, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, - 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x30, 0x01, 0x12, 0x97, 0x02, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x2e, + 0x2a, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x7d, 0x12, 0xbf, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x22, 0x62, 0xda, 0x41, 0x14, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x3a, + 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0x95, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, + 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3f, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x2a, 0x30, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0xb9, 0x01, 0x0a, + 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, + 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, + 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x01, 0x2a, 0x22, 0x38, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x30, 0x01, 0x12, 0xc7, 0x01, 0x0a, 0x10, 0x42, 0x65, 0x67, + 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x9a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x93, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4b, 0x3a, - 0x01, 0x2a, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0xda, 0x41, 0x08, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x3a, 0x01, 0x2a, + 0x22, 0x40, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x30, 0x01, 0x12, - 0xfc, 0x01, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x90, 0x01, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x89, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x46, 0x3a, 0x01, 0x2a, 0x22, 0x41, 0x2f, + 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x3a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0xa6, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0xda, 0x41, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x2c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, + 0x3a, 0x01, 0x2a, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0xa4, 0x01, 0x0a, 0x08, + 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5a, 0xda, 0x41, 0x14, 0x64, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x2c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x01, 0x2a, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x12, 0xdf, 0x01, 0x0a, 0x08, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x40, 0x3a, 0x01, 0x2a, 0x22, 0x3b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, - 0x7d, 0x3a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x3a, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x94, - 0x01, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, - 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x3a, 0x01, 0x2a, 0x22, 0x35, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, + 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x30, 0x01, 0x12, 0x97, 0x02, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x9a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x93, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4b, 0x3a, 0x01, + 0x2a, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x30, 0x01, 0x12, 0xfc, + 0x01, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x90, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x89, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x46, 0x3a, 0x01, 0x2a, 0x22, 0x41, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, - 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x06, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, - 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3b, 0x3a, 0x01, 0x2a, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x28, 0x01, 0x30, 0x01, - 0x12, 0x94, 0x02, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, + 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, + 0x3a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x22, + 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x3a, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x94, 0x01, + 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x3a, 0x01, 0x2a, 0x22, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x28, 0x01, 0x30, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x06, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x12, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, + 0x3a, 0x01, 0x2a, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x28, 0x01, 0x30, 0x01, 0x12, + 0x94, 0x02, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9f, 0x01, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8f, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x49, 0x3a, 0x01, 0x2a, - 0x22, 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, - 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x3a, - 0x01, 0x2a, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0xaf, - 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9f, 0x01, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8f, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x49, 0x3a, 0x01, 0x2a, 0x22, + 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x2a, 0x2a, 0x7d, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x7d, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x52, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x4c, 0x3a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x40, - 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, - 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, - 0x2f, 0x7b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, - 0x1a, 0x76, 0xca, 0x41, 0x18, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x58, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x3a, 0x01, + 0x2a, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0xaf, 0x01, + 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x52, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4c, 0x3a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x40, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, + 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x2f, + 0x7b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x1a, + 0x76, 0xca, 0x41, 0x18, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x58, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, - 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0xbf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x69, 0x72, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x66, 0x69, 0x72, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x3b, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x70, 0x62, 0xaa, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x31, 0xca, - 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x46, - 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1c, 0x47, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x46, 0x69, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0xbf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x3b, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x70, 0x62, 0xaa, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, + 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x46, 0x69, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1c, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x46, 0x69, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -4023,18 +3975,16 @@ var file_google_firestore_v1_firestore_proto_goTypes = []interface{}{ (*Write)(nil), // 40: google.firestore.v1.Write (*WriteResult)(nil), // 41: google.firestore.v1.WriteResult (*StructuredQuery)(nil), // 42: google.firestore.v1.StructuredQuery - (QueryMode)(0), // 43: google.firestore.v1.QueryMode - (*ResultSetStats)(nil), // 44: google.firestore.v1.ResultSetStats - (*StructuredAggregationQuery)(nil), // 45: google.firestore.v1.StructuredAggregationQuery - (*AggregationResult)(nil), // 46: google.firestore.v1.AggregationResult - (*Cursor)(nil), // 47: google.firestore.v1.Cursor - (*DocumentChange)(nil), // 48: google.firestore.v1.DocumentChange - (*DocumentDelete)(nil), // 49: google.firestore.v1.DocumentDelete - (*DocumentRemove)(nil), // 50: google.firestore.v1.DocumentRemove - (*ExistenceFilter)(nil), // 51: google.firestore.v1.ExistenceFilter - (*wrapperspb.Int32Value)(nil), // 52: google.protobuf.Int32Value - (*status.Status)(nil), // 53: google.rpc.Status - (*emptypb.Empty)(nil), // 54: google.protobuf.Empty + (*StructuredAggregationQuery)(nil), // 43: google.firestore.v1.StructuredAggregationQuery + (*AggregationResult)(nil), // 44: google.firestore.v1.AggregationResult + (*Cursor)(nil), // 45: google.firestore.v1.Cursor + (*DocumentChange)(nil), // 46: google.firestore.v1.DocumentChange + (*DocumentDelete)(nil), // 47: google.firestore.v1.DocumentDelete + (*DocumentRemove)(nil), // 48: google.firestore.v1.DocumentRemove + (*ExistenceFilter)(nil), // 49: google.firestore.v1.ExistenceFilter + (*wrapperspb.Int32Value)(nil), // 50: google.protobuf.Int32Value + (*status.Status)(nil), // 51: google.rpc.Status + (*emptypb.Empty)(nil), // 52: google.protobuf.Empty } var file_google_firestore_v1_firestore_proto_depIdxs = []int32{ 35, // 0: google.firestore.v1.GetDocumentRequest.mask:type_name -> google.firestore.v1.DocumentMask @@ -4061,81 +4011,77 @@ var file_google_firestore_v1_firestore_proto_depIdxs = []int32{ 42, // 21: google.firestore.v1.RunQueryRequest.structured_query:type_name -> google.firestore.v1.StructuredQuery 39, // 22: google.firestore.v1.RunQueryRequest.new_transaction:type_name -> google.firestore.v1.TransactionOptions 36, // 23: google.firestore.v1.RunQueryRequest.read_time:type_name -> google.protobuf.Timestamp - 43, // 24: google.firestore.v1.RunQueryRequest.mode:type_name -> google.firestore.v1.QueryMode - 37, // 25: google.firestore.v1.RunQueryResponse.document:type_name -> google.firestore.v1.Document - 36, // 26: google.firestore.v1.RunQueryResponse.read_time:type_name -> google.protobuf.Timestamp - 44, // 27: google.firestore.v1.RunQueryResponse.stats:type_name -> google.firestore.v1.ResultSetStats - 45, // 28: google.firestore.v1.RunAggregationQueryRequest.structured_aggregation_query:type_name -> google.firestore.v1.StructuredAggregationQuery - 39, // 29: google.firestore.v1.RunAggregationQueryRequest.new_transaction:type_name -> google.firestore.v1.TransactionOptions - 36, // 30: google.firestore.v1.RunAggregationQueryRequest.read_time:type_name -> google.protobuf.Timestamp - 43, // 31: google.firestore.v1.RunAggregationQueryRequest.mode:type_name -> google.firestore.v1.QueryMode - 46, // 32: google.firestore.v1.RunAggregationQueryResponse.result:type_name -> google.firestore.v1.AggregationResult - 36, // 33: google.firestore.v1.RunAggregationQueryResponse.read_time:type_name -> google.protobuf.Timestamp - 44, // 34: google.firestore.v1.RunAggregationQueryResponse.stats:type_name -> google.firestore.v1.ResultSetStats - 42, // 35: google.firestore.v1.PartitionQueryRequest.structured_query:type_name -> google.firestore.v1.StructuredQuery - 36, // 36: google.firestore.v1.PartitionQueryRequest.read_time:type_name -> google.protobuf.Timestamp - 47, // 37: google.firestore.v1.PartitionQueryResponse.partitions:type_name -> google.firestore.v1.Cursor - 40, // 38: google.firestore.v1.WriteRequest.writes:type_name -> google.firestore.v1.Write - 30, // 39: google.firestore.v1.WriteRequest.labels:type_name -> google.firestore.v1.WriteRequest.LabelsEntry - 41, // 40: google.firestore.v1.WriteResponse.write_results:type_name -> google.firestore.v1.WriteResult - 36, // 41: google.firestore.v1.WriteResponse.commit_time:type_name -> google.protobuf.Timestamp - 24, // 42: google.firestore.v1.ListenRequest.add_target:type_name -> google.firestore.v1.Target - 31, // 43: google.firestore.v1.ListenRequest.labels:type_name -> google.firestore.v1.ListenRequest.LabelsEntry - 25, // 44: google.firestore.v1.ListenResponse.target_change:type_name -> google.firestore.v1.TargetChange - 48, // 45: google.firestore.v1.ListenResponse.document_change:type_name -> google.firestore.v1.DocumentChange - 49, // 46: google.firestore.v1.ListenResponse.document_delete:type_name -> google.firestore.v1.DocumentDelete - 50, // 47: google.firestore.v1.ListenResponse.document_remove:type_name -> google.firestore.v1.DocumentRemove - 51, // 48: google.firestore.v1.ListenResponse.filter:type_name -> google.firestore.v1.ExistenceFilter - 33, // 49: google.firestore.v1.Target.query:type_name -> google.firestore.v1.Target.QueryTarget - 32, // 50: google.firestore.v1.Target.documents:type_name -> google.firestore.v1.Target.DocumentsTarget - 36, // 51: google.firestore.v1.Target.read_time:type_name -> google.protobuf.Timestamp - 52, // 52: google.firestore.v1.Target.expected_count:type_name -> google.protobuf.Int32Value - 0, // 53: google.firestore.v1.TargetChange.target_change_type:type_name -> google.firestore.v1.TargetChange.TargetChangeType - 53, // 54: google.firestore.v1.TargetChange.cause:type_name -> google.rpc.Status - 36, // 55: google.firestore.v1.TargetChange.read_time:type_name -> google.protobuf.Timestamp - 36, // 56: google.firestore.v1.ListCollectionIdsRequest.read_time:type_name -> google.protobuf.Timestamp - 40, // 57: google.firestore.v1.BatchWriteRequest.writes:type_name -> google.firestore.v1.Write - 34, // 58: google.firestore.v1.BatchWriteRequest.labels:type_name -> google.firestore.v1.BatchWriteRequest.LabelsEntry - 41, // 59: google.firestore.v1.BatchWriteResponse.write_results:type_name -> google.firestore.v1.WriteResult - 53, // 60: google.firestore.v1.BatchWriteResponse.status:type_name -> google.rpc.Status - 42, // 61: google.firestore.v1.Target.QueryTarget.structured_query:type_name -> google.firestore.v1.StructuredQuery - 1, // 62: google.firestore.v1.Firestore.GetDocument:input_type -> google.firestore.v1.GetDocumentRequest - 2, // 63: google.firestore.v1.Firestore.ListDocuments:input_type -> google.firestore.v1.ListDocumentsRequest - 5, // 64: google.firestore.v1.Firestore.UpdateDocument:input_type -> google.firestore.v1.UpdateDocumentRequest - 6, // 65: google.firestore.v1.Firestore.DeleteDocument:input_type -> google.firestore.v1.DeleteDocumentRequest - 7, // 66: google.firestore.v1.Firestore.BatchGetDocuments:input_type -> google.firestore.v1.BatchGetDocumentsRequest - 9, // 67: google.firestore.v1.Firestore.BeginTransaction:input_type -> google.firestore.v1.BeginTransactionRequest - 11, // 68: google.firestore.v1.Firestore.Commit:input_type -> google.firestore.v1.CommitRequest - 13, // 69: google.firestore.v1.Firestore.Rollback:input_type -> google.firestore.v1.RollbackRequest - 14, // 70: google.firestore.v1.Firestore.RunQuery:input_type -> google.firestore.v1.RunQueryRequest - 16, // 71: google.firestore.v1.Firestore.RunAggregationQuery:input_type -> google.firestore.v1.RunAggregationQueryRequest - 18, // 72: google.firestore.v1.Firestore.PartitionQuery:input_type -> google.firestore.v1.PartitionQueryRequest - 20, // 73: google.firestore.v1.Firestore.Write:input_type -> google.firestore.v1.WriteRequest - 22, // 74: google.firestore.v1.Firestore.Listen:input_type -> google.firestore.v1.ListenRequest - 26, // 75: google.firestore.v1.Firestore.ListCollectionIds:input_type -> google.firestore.v1.ListCollectionIdsRequest - 28, // 76: google.firestore.v1.Firestore.BatchWrite:input_type -> google.firestore.v1.BatchWriteRequest - 4, // 77: google.firestore.v1.Firestore.CreateDocument:input_type -> google.firestore.v1.CreateDocumentRequest - 37, // 78: google.firestore.v1.Firestore.GetDocument:output_type -> google.firestore.v1.Document - 3, // 79: google.firestore.v1.Firestore.ListDocuments:output_type -> google.firestore.v1.ListDocumentsResponse - 37, // 80: google.firestore.v1.Firestore.UpdateDocument:output_type -> google.firestore.v1.Document - 54, // 81: google.firestore.v1.Firestore.DeleteDocument:output_type -> google.protobuf.Empty - 8, // 82: google.firestore.v1.Firestore.BatchGetDocuments:output_type -> google.firestore.v1.BatchGetDocumentsResponse - 10, // 83: google.firestore.v1.Firestore.BeginTransaction:output_type -> google.firestore.v1.BeginTransactionResponse - 12, // 84: google.firestore.v1.Firestore.Commit:output_type -> google.firestore.v1.CommitResponse - 54, // 85: google.firestore.v1.Firestore.Rollback:output_type -> google.protobuf.Empty - 15, // 86: google.firestore.v1.Firestore.RunQuery:output_type -> google.firestore.v1.RunQueryResponse - 17, // 87: google.firestore.v1.Firestore.RunAggregationQuery:output_type -> google.firestore.v1.RunAggregationQueryResponse - 19, // 88: google.firestore.v1.Firestore.PartitionQuery:output_type -> google.firestore.v1.PartitionQueryResponse - 21, // 89: google.firestore.v1.Firestore.Write:output_type -> google.firestore.v1.WriteResponse - 23, // 90: google.firestore.v1.Firestore.Listen:output_type -> google.firestore.v1.ListenResponse - 27, // 91: google.firestore.v1.Firestore.ListCollectionIds:output_type -> google.firestore.v1.ListCollectionIdsResponse - 29, // 92: google.firestore.v1.Firestore.BatchWrite:output_type -> google.firestore.v1.BatchWriteResponse - 37, // 93: google.firestore.v1.Firestore.CreateDocument:output_type -> google.firestore.v1.Document - 78, // [78:94] is the sub-list for method output_type - 62, // [62:78] is the sub-list for method input_type - 62, // [62:62] is the sub-list for extension type_name - 62, // [62:62] is the sub-list for extension extendee - 0, // [0:62] is the sub-list for field type_name + 37, // 24: google.firestore.v1.RunQueryResponse.document:type_name -> google.firestore.v1.Document + 36, // 25: google.firestore.v1.RunQueryResponse.read_time:type_name -> google.protobuf.Timestamp + 43, // 26: google.firestore.v1.RunAggregationQueryRequest.structured_aggregation_query:type_name -> google.firestore.v1.StructuredAggregationQuery + 39, // 27: google.firestore.v1.RunAggregationQueryRequest.new_transaction:type_name -> google.firestore.v1.TransactionOptions + 36, // 28: google.firestore.v1.RunAggregationQueryRequest.read_time:type_name -> google.protobuf.Timestamp + 44, // 29: google.firestore.v1.RunAggregationQueryResponse.result:type_name -> google.firestore.v1.AggregationResult + 36, // 30: google.firestore.v1.RunAggregationQueryResponse.read_time:type_name -> google.protobuf.Timestamp + 42, // 31: google.firestore.v1.PartitionQueryRequest.structured_query:type_name -> google.firestore.v1.StructuredQuery + 36, // 32: google.firestore.v1.PartitionQueryRequest.read_time:type_name -> google.protobuf.Timestamp + 45, // 33: google.firestore.v1.PartitionQueryResponse.partitions:type_name -> google.firestore.v1.Cursor + 40, // 34: google.firestore.v1.WriteRequest.writes:type_name -> google.firestore.v1.Write + 30, // 35: google.firestore.v1.WriteRequest.labels:type_name -> google.firestore.v1.WriteRequest.LabelsEntry + 41, // 36: google.firestore.v1.WriteResponse.write_results:type_name -> google.firestore.v1.WriteResult + 36, // 37: google.firestore.v1.WriteResponse.commit_time:type_name -> google.protobuf.Timestamp + 24, // 38: google.firestore.v1.ListenRequest.add_target:type_name -> google.firestore.v1.Target + 31, // 39: google.firestore.v1.ListenRequest.labels:type_name -> google.firestore.v1.ListenRequest.LabelsEntry + 25, // 40: google.firestore.v1.ListenResponse.target_change:type_name -> google.firestore.v1.TargetChange + 46, // 41: google.firestore.v1.ListenResponse.document_change:type_name -> google.firestore.v1.DocumentChange + 47, // 42: google.firestore.v1.ListenResponse.document_delete:type_name -> google.firestore.v1.DocumentDelete + 48, // 43: google.firestore.v1.ListenResponse.document_remove:type_name -> google.firestore.v1.DocumentRemove + 49, // 44: google.firestore.v1.ListenResponse.filter:type_name -> google.firestore.v1.ExistenceFilter + 33, // 45: google.firestore.v1.Target.query:type_name -> google.firestore.v1.Target.QueryTarget + 32, // 46: google.firestore.v1.Target.documents:type_name -> google.firestore.v1.Target.DocumentsTarget + 36, // 47: google.firestore.v1.Target.read_time:type_name -> google.protobuf.Timestamp + 50, // 48: google.firestore.v1.Target.expected_count:type_name -> google.protobuf.Int32Value + 0, // 49: google.firestore.v1.TargetChange.target_change_type:type_name -> google.firestore.v1.TargetChange.TargetChangeType + 51, // 50: google.firestore.v1.TargetChange.cause:type_name -> google.rpc.Status + 36, // 51: google.firestore.v1.TargetChange.read_time:type_name -> google.protobuf.Timestamp + 36, // 52: google.firestore.v1.ListCollectionIdsRequest.read_time:type_name -> google.protobuf.Timestamp + 40, // 53: google.firestore.v1.BatchWriteRequest.writes:type_name -> google.firestore.v1.Write + 34, // 54: google.firestore.v1.BatchWriteRequest.labels:type_name -> google.firestore.v1.BatchWriteRequest.LabelsEntry + 41, // 55: google.firestore.v1.BatchWriteResponse.write_results:type_name -> google.firestore.v1.WriteResult + 51, // 56: google.firestore.v1.BatchWriteResponse.status:type_name -> google.rpc.Status + 42, // 57: google.firestore.v1.Target.QueryTarget.structured_query:type_name -> google.firestore.v1.StructuredQuery + 1, // 58: google.firestore.v1.Firestore.GetDocument:input_type -> google.firestore.v1.GetDocumentRequest + 2, // 59: google.firestore.v1.Firestore.ListDocuments:input_type -> google.firestore.v1.ListDocumentsRequest + 5, // 60: google.firestore.v1.Firestore.UpdateDocument:input_type -> google.firestore.v1.UpdateDocumentRequest + 6, // 61: google.firestore.v1.Firestore.DeleteDocument:input_type -> google.firestore.v1.DeleteDocumentRequest + 7, // 62: google.firestore.v1.Firestore.BatchGetDocuments:input_type -> google.firestore.v1.BatchGetDocumentsRequest + 9, // 63: google.firestore.v1.Firestore.BeginTransaction:input_type -> google.firestore.v1.BeginTransactionRequest + 11, // 64: google.firestore.v1.Firestore.Commit:input_type -> google.firestore.v1.CommitRequest + 13, // 65: google.firestore.v1.Firestore.Rollback:input_type -> google.firestore.v1.RollbackRequest + 14, // 66: google.firestore.v1.Firestore.RunQuery:input_type -> google.firestore.v1.RunQueryRequest + 16, // 67: google.firestore.v1.Firestore.RunAggregationQuery:input_type -> google.firestore.v1.RunAggregationQueryRequest + 18, // 68: google.firestore.v1.Firestore.PartitionQuery:input_type -> google.firestore.v1.PartitionQueryRequest + 20, // 69: google.firestore.v1.Firestore.Write:input_type -> google.firestore.v1.WriteRequest + 22, // 70: google.firestore.v1.Firestore.Listen:input_type -> google.firestore.v1.ListenRequest + 26, // 71: google.firestore.v1.Firestore.ListCollectionIds:input_type -> google.firestore.v1.ListCollectionIdsRequest + 28, // 72: google.firestore.v1.Firestore.BatchWrite:input_type -> google.firestore.v1.BatchWriteRequest + 4, // 73: google.firestore.v1.Firestore.CreateDocument:input_type -> google.firestore.v1.CreateDocumentRequest + 37, // 74: google.firestore.v1.Firestore.GetDocument:output_type -> google.firestore.v1.Document + 3, // 75: google.firestore.v1.Firestore.ListDocuments:output_type -> google.firestore.v1.ListDocumentsResponse + 37, // 76: google.firestore.v1.Firestore.UpdateDocument:output_type -> google.firestore.v1.Document + 52, // 77: google.firestore.v1.Firestore.DeleteDocument:output_type -> google.protobuf.Empty + 8, // 78: google.firestore.v1.Firestore.BatchGetDocuments:output_type -> google.firestore.v1.BatchGetDocumentsResponse + 10, // 79: google.firestore.v1.Firestore.BeginTransaction:output_type -> google.firestore.v1.BeginTransactionResponse + 12, // 80: google.firestore.v1.Firestore.Commit:output_type -> google.firestore.v1.CommitResponse + 52, // 81: google.firestore.v1.Firestore.Rollback:output_type -> google.protobuf.Empty + 15, // 82: google.firestore.v1.Firestore.RunQuery:output_type -> google.firestore.v1.RunQueryResponse + 17, // 83: google.firestore.v1.Firestore.RunAggregationQuery:output_type -> google.firestore.v1.RunAggregationQueryResponse + 19, // 84: google.firestore.v1.Firestore.PartitionQuery:output_type -> google.firestore.v1.PartitionQueryResponse + 21, // 85: google.firestore.v1.Firestore.Write:output_type -> google.firestore.v1.WriteResponse + 23, // 86: google.firestore.v1.Firestore.Listen:output_type -> google.firestore.v1.ListenResponse + 27, // 87: google.firestore.v1.Firestore.ListCollectionIds:output_type -> google.firestore.v1.ListCollectionIdsResponse + 29, // 88: google.firestore.v1.Firestore.BatchWrite:output_type -> google.firestore.v1.BatchWriteResponse + 37, // 89: google.firestore.v1.Firestore.CreateDocument:output_type -> google.firestore.v1.Document + 74, // [74:90] is the sub-list for method output_type + 58, // [58:74] is the sub-list for method input_type + 58, // [58:58] is the sub-list for extension type_name + 58, // [58:58] is the sub-list for extension extendee + 0, // [0:58] is the sub-list for field type_name } func init() { file_google_firestore_v1_firestore_proto_init() } @@ -4147,7 +4093,6 @@ func file_google_firestore_v1_firestore_proto_init() { file_google_firestore_v1_common_proto_init() file_google_firestore_v1_document_proto_init() file_google_firestore_v1_query_proto_init() - file_google_firestore_v1_query_profile_proto_init() file_google_firestore_v1_write_proto_init() if !protoimpl.UnsafeEnabled { file_google_firestore_v1_firestore_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { diff --git a/firestore/apiv1/firestorepb/query.pb.go b/firestore/apiv1/firestorepb/query.pb.go index e6490a7ea5e..ee025f70c84 100755 --- a/firestore/apiv1/firestorepb/query.pb.go +++ b/firestore/apiv1/firestorepb/query.pb.go @@ -188,28 +188,28 @@ const ( // // Requires: // - // * That `value` is a non-empty `ArrayValue`, subject to disjunction - // limits. - // * No `NOT_IN` filters in the same query. + // - That `value` is a non-empty `ArrayValue`, subject to disjunction + // limits. + // - No `NOT_IN` filters in the same query. StructuredQuery_FieldFilter_IN StructuredQuery_FieldFilter_Operator = 8 // The given `field` is an array that contains any of the values in the // given array. // // Requires: // - // * That `value` is a non-empty `ArrayValue`, subject to disjunction - // limits. - // * No other `ARRAY_CONTAINS_ANY` filters within the same disjunction. - // * No `NOT_IN` filters in the same query. + // - That `value` is a non-empty `ArrayValue`, subject to disjunction + // limits. + // - No other `ARRAY_CONTAINS_ANY` filters within the same disjunction. + // - No `NOT_IN` filters in the same query. StructuredQuery_FieldFilter_ARRAY_CONTAINS_ANY StructuredQuery_FieldFilter_Operator = 9 // The value of the `field` is not in the given array. // // Requires: // - // * That `value` is a non-empty `ArrayValue` with at most 10 values. - // * No other `OR`, `IN`, `ARRAY_CONTAINS_ANY`, `NOT_IN`, `NOT_EQUAL`, - // `IS_NOT_NULL`, or `IS_NOT_NAN`. - // * That `field` comes first in the `order_by`. + // - That `value` is a non-empty `ArrayValue` with at most 10 values. + // - No other `OR`, `IN`, `ARRAY_CONTAINS_ANY`, `NOT_IN`, `NOT_EQUAL`, + // `IS_NOT_NULL`, or `IS_NOT_NAN`. + // - That `field` comes first in the `order_by`. StructuredQuery_FieldFilter_NOT_IN StructuredQuery_FieldFilter_Operator = 10 ) @@ -371,19 +371,19 @@ type StructuredQuery struct { // no ordering at all. In all cases, Firestore guarantees a stable ordering // through the following rules: // - // * The `order_by` is required to reference all fields used with an - // inequality filter. - // * All fields that are required to be in the `order_by` but are not already - // present are appended in lexicographical ordering of the field name. - // * If an order on `__name__` is not specified, it is appended by default. + // - The `order_by` is required to reference all fields used with an + // inequality filter. + // - All fields that are required to be in the `order_by` but are not already + // present are appended in lexicographical ordering of the field name. + // - If an order on `__name__` is not specified, it is appended by default. // // Fields are appended with the same sort direction as the last order // specified, or 'ASCENDING' if no order was specified. For example: // - // * `ORDER BY a` becomes `ORDER BY a ASC, __name__ ASC` - // * `ORDER BY a DESC` becomes `ORDER BY a DESC, __name__ DESC` - // * `WHERE a > 1` becomes `WHERE a > 1 ORDER BY a ASC, __name__ ASC` - // * `WHERE __name__ > ... AND a > 1` becomes + // - `ORDER BY a` becomes `ORDER BY a ASC, __name__ ASC` + // - `ORDER BY a DESC` becomes `ORDER BY a DESC, __name__ DESC` + // - `WHERE a > 1` becomes `WHERE a > 1 ORDER BY a ASC, __name__ ASC` + // - `WHERE __name__ > ... AND a > 1` becomes // `WHERE __name__ > ... AND a > 1 ORDER BY a ASC, __name__ ASC` OrderBy []*StructuredQuery_Order `protobuf:"bytes,4,rep,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` // A potential prefix of a position in the result set to start the query at. @@ -404,9 +404,9 @@ type StructuredQuery struct { // Continuing off the example above, attaching the following start cursors // will have varying impact: // - // - `START BEFORE (2, /k/123)`: start the query right before `a = 1 AND - // b > 2 AND __name__ > /k/123`. - // - `START AFTER (10)`: start the query right after `a = 1 AND b > 10`. + // - `START BEFORE (2, /k/123)`: start the query right before `a = 1 AND + // b > 2 AND __name__ > /k/123`. + // - `START AFTER (10)`: start the query right after `a = 1 AND b > 10`. // // Unlike `OFFSET` which requires scanning over the first N results to skip, // a start cursor allows the query to begin at a logical position. This @@ -415,8 +415,8 @@ type StructuredQuery struct { // // Requires: // - // * The number of values cannot be greater than the number of fields - // specified in the `ORDER BY` clause. + // - The number of values cannot be greater than the number of fields + // specified in the `ORDER BY` clause. StartAt *Cursor `protobuf:"bytes,7,opt,name=start_at,json=startAt,proto3" json:"start_at,omitempty"` // A potential prefix of a position in the result set to end the query at. // @@ -425,8 +425,8 @@ type StructuredQuery struct { // // Requires: // - // * The number of values cannot be greater than the number of fields - // specified in the `ORDER BY` clause. + // - The number of values cannot be greater than the number of fields + // specified in the `ORDER BY` clause. EndAt *Cursor `protobuf:"bytes,8,opt,name=end_at,json=endAt,proto3" json:"end_at,omitempty"` // The number of documents to skip before returning the first result. // @@ -545,6 +545,7 @@ type StructuredAggregationQuery struct { // The base query to aggregate over. // // Types that are assignable to QueryType: + // // *StructuredAggregationQuery_StructuredQuery QueryType isStructuredAggregationQuery_QueryType `protobuf_oneof:"query_type"` // Optional. Series of aggregations to apply over the results of the @@ -752,6 +753,7 @@ type StructuredQuery_Filter struct { // The type of filter. // // Types that are assignable to FilterType: + // // *StructuredQuery_Filter_CompositeFilter // *StructuredQuery_Filter_FieldFilter // *StructuredQuery_Filter_UnaryFilter @@ -983,6 +985,7 @@ type StructuredQuery_UnaryFilter struct { // The argument to the filter. // // Types that are assignable to OperandType: + // // *StructuredQuery_UnaryFilter_Field OperandType isStructuredQuery_UnaryFilter_OperandType `protobuf_oneof:"operand_type"` } @@ -1225,6 +1228,7 @@ type StructuredAggregationQuery_Aggregation struct { // The type of aggregation to perform, required. // // Types that are assignable to Operator: + // // *StructuredAggregationQuery_Aggregation_Count_ // *StructuredAggregationQuery_Aggregation_Sum_ // *StructuredAggregationQuery_Aggregation_Avg_ @@ -1237,12 +1241,16 @@ type StructuredAggregationQuery_Aggregation struct { // // ``` // AGGREGATE - // COUNT_UP_TO(1) AS count_up_to_1, - // COUNT_UP_TO(2), - // COUNT_UP_TO(3) AS count_up_to_3, - // COUNT(*) + // + // COUNT_UP_TO(1) AS count_up_to_1, + // COUNT_UP_TO(2), + // COUNT_UP_TO(3) AS count_up_to_3, + // COUNT(*) + // // OVER ( - // ... + // + // ... + // // ); // ``` // @@ -1250,12 +1258,16 @@ type StructuredAggregationQuery_Aggregation struct { // // ``` // AGGREGATE - // COUNT_UP_TO(1) AS count_up_to_1, - // COUNT_UP_TO(2) AS field_1, - // COUNT_UP_TO(3) AS count_up_to_3, - // COUNT(*) AS field_2 + // + // COUNT_UP_TO(1) AS count_up_to_1, + // COUNT_UP_TO(2) AS field_1, + // COUNT_UP_TO(3) AS count_up_to_3, + // COUNT(*) AS field_2 + // // OVER ( - // ... + // + // ... + // // ); // ``` // diff --git a/firestore/apiv1/firestorepb/query_profile.pb.go b/firestore/apiv1/firestorepb/query_profile.pb.go deleted file mode 100755 index bbd41ca73e9..00000000000 --- a/firestore/apiv1/firestorepb/query_profile.pb.go +++ /dev/null @@ -1,339 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v4.23.2 -// source: google/firestore/v1/query_profile.proto - -package firestorepb - -import ( - reflect "reflect" - sync "sync" - - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - structpb "google.golang.org/protobuf/types/known/structpb" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// The mode in which the query request must be processed. -type QueryMode int32 - -const ( - // The default mode. Only the query results are returned. - QueryMode_NORMAL QueryMode = 0 - // This mode returns only the query plan, without any results or execution - // statistics information. - QueryMode_PLAN QueryMode = 1 - // This mode returns both the query plan and the execution statistics along - // with the results. - QueryMode_PROFILE QueryMode = 2 -) - -// Enum value maps for QueryMode. -var ( - QueryMode_name = map[int32]string{ - 0: "NORMAL", - 1: "PLAN", - 2: "PROFILE", - } - QueryMode_value = map[string]int32{ - "NORMAL": 0, - "PLAN": 1, - "PROFILE": 2, - } -) - -func (x QueryMode) Enum() *QueryMode { - p := new(QueryMode) - *p = x - return p -} - -func (x QueryMode) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (QueryMode) Descriptor() protoreflect.EnumDescriptor { - return file_google_firestore_v1_query_profile_proto_enumTypes[0].Descriptor() -} - -func (QueryMode) Type() protoreflect.EnumType { - return &file_google_firestore_v1_query_profile_proto_enumTypes[0] -} - -func (x QueryMode) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use QueryMode.Descriptor instead. -func (QueryMode) EnumDescriptor() ([]byte, []int) { - return file_google_firestore_v1_query_profile_proto_rawDescGZIP(), []int{0} -} - -// Plan for the query. -type QueryPlan struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Planning phase information for the query. It will include: - // - // { - // "indexes_used": [ - // {"query_scope": "Collection", "properties": "(foo ASC, __name__ ASC)"}, - // {"query_scope": "Collection", "properties": "(bar ASC, __name__ ASC)"} - // ] - // } - PlanInfo *structpb.Struct `protobuf:"bytes,1,opt,name=plan_info,json=planInfo,proto3" json:"plan_info,omitempty"` -} - -func (x *QueryPlan) Reset() { - *x = QueryPlan{} - if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_v1_query_profile_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryPlan) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryPlan) ProtoMessage() {} - -func (x *QueryPlan) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_v1_query_profile_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QueryPlan.ProtoReflect.Descriptor instead. -func (*QueryPlan) Descriptor() ([]byte, []int) { - return file_google_firestore_v1_query_profile_proto_rawDescGZIP(), []int{0} -} - -func (x *QueryPlan) GetPlanInfo() *structpb.Struct { - if x != nil { - return x.PlanInfo - } - return nil -} - -// Planning and execution statistics for the query. -type ResultSetStats struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Plan for the query. - QueryPlan *QueryPlan `protobuf:"bytes,1,opt,name=query_plan,json=queryPlan,proto3" json:"query_plan,omitempty"` - // Aggregated statistics from the execution of the query. - // - // This will only be present when the request specifies `PROFILE` mode. - // For example, a query will return the statistics including: - // - // { - // "results_returned": "20", - // "documents_scanned": "20", - // "indexes_entries_scanned": "10050", - // "total_execution_time": "100.7 msecs" - // } - QueryStats *structpb.Struct `protobuf:"bytes,2,opt,name=query_stats,json=queryStats,proto3" json:"query_stats,omitempty"` -} - -func (x *ResultSetStats) Reset() { - *x = ResultSetStats{} - if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_v1_query_profile_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResultSetStats) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResultSetStats) ProtoMessage() {} - -func (x *ResultSetStats) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_v1_query_profile_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResultSetStats.ProtoReflect.Descriptor instead. -func (*ResultSetStats) Descriptor() ([]byte, []int) { - return file_google_firestore_v1_query_profile_proto_rawDescGZIP(), []int{1} -} - -func (x *ResultSetStats) GetQueryPlan() *QueryPlan { - if x != nil { - return x.QueryPlan - } - return nil -} - -func (x *ResultSetStats) GetQueryStats() *structpb.Struct { - if x != nil { - return x.QueryStats - } - return nil -} - -var File_google_firestore_v1_query_profile_proto protoreflect.FileDescriptor - -var file_google_firestore_v1_query_profile_proto_rawDesc = []byte{ - 0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1c, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x09, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x34, 0x0a, 0x09, 0x70, 0x6c, 0x61, - 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, - 0x89, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x6c, 0x61, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, - 0x6e, 0x12, 0x38, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, - 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2a, 0x2e, 0x0a, 0x09, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x52, 0x4d, - 0x41, 0x4c, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x4c, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x0b, - 0x0a, 0x07, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x02, 0x42, 0xc9, 0x01, 0x0a, 0x17, - 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, - 0x6f, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, - 0x31, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0x3b, 0x66, 0x69, - 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x70, 0x62, 0xa2, 0x02, 0x04, 0x47, 0x43, 0x46, 0x53, - 0xaa, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x19, 0x47, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x46, 0x69, 0x72, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_google_firestore_v1_query_profile_proto_rawDescOnce sync.Once - file_google_firestore_v1_query_profile_proto_rawDescData = file_google_firestore_v1_query_profile_proto_rawDesc -) - -func file_google_firestore_v1_query_profile_proto_rawDescGZIP() []byte { - file_google_firestore_v1_query_profile_proto_rawDescOnce.Do(func() { - file_google_firestore_v1_query_profile_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_firestore_v1_query_profile_proto_rawDescData) - }) - return file_google_firestore_v1_query_profile_proto_rawDescData -} - -var file_google_firestore_v1_query_profile_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_google_firestore_v1_query_profile_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_google_firestore_v1_query_profile_proto_goTypes = []interface{}{ - (QueryMode)(0), // 0: google.firestore.v1.QueryMode - (*QueryPlan)(nil), // 1: google.firestore.v1.QueryPlan - (*ResultSetStats)(nil), // 2: google.firestore.v1.ResultSetStats - (*structpb.Struct)(nil), // 3: google.protobuf.Struct -} -var file_google_firestore_v1_query_profile_proto_depIdxs = []int32{ - 3, // 0: google.firestore.v1.QueryPlan.plan_info:type_name -> google.protobuf.Struct - 1, // 1: google.firestore.v1.ResultSetStats.query_plan:type_name -> google.firestore.v1.QueryPlan - 3, // 2: google.firestore.v1.ResultSetStats.query_stats:type_name -> google.protobuf.Struct - 3, // [3:3] is the sub-list for method output_type - 3, // [3:3] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name -} - -func init() { file_google_firestore_v1_query_profile_proto_init() } -func file_google_firestore_v1_query_profile_proto_init() { - if File_google_firestore_v1_query_profile_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_google_firestore_v1_query_profile_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryPlan); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_google_firestore_v1_query_profile_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResultSetStats); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_google_firestore_v1_query_profile_proto_rawDesc, - NumEnums: 1, - NumMessages: 2, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_google_firestore_v1_query_profile_proto_goTypes, - DependencyIndexes: file_google_firestore_v1_query_profile_proto_depIdxs, - EnumInfos: file_google_firestore_v1_query_profile_proto_enumTypes, - MessageInfos: file_google_firestore_v1_query_profile_proto_msgTypes, - }.Build() - File_google_firestore_v1_query_profile_proto = out.File - file_google_firestore_v1_query_profile_proto_rawDesc = nil - file_google_firestore_v1_query_profile_proto_goTypes = nil - file_google_firestore_v1_query_profile_proto_depIdxs = nil -} diff --git a/firestore/apiv1/firestorepb/write.pb.go b/firestore/apiv1/firestorepb/write.pb.go index 9f5d3f67b78..90a3f59db0d 100755 --- a/firestore/apiv1/firestorepb/write.pb.go +++ b/firestore/apiv1/firestorepb/write.pb.go @@ -96,6 +96,7 @@ type Write struct { // The operation to execute. // // Types that are assignable to Operation: + // // *Write_Update // *Write_Delete // *Write_Transform @@ -685,6 +686,7 @@ type DocumentTransform_FieldTransform struct { // The transformation to apply on the field. // // Types that are assignable to TransformType: + // // *DocumentTransform_FieldTransform_SetToServerValue // *DocumentTransform_FieldTransform_Increment // *DocumentTransform_FieldTransform_Maximum diff --git a/functions/apiv1/cloud_functions_client.go b/functions/apiv1/cloud_functions_client.go index 4bba08cc238..8685c985d60 100755 --- a/functions/apiv1/cloud_functions_client.go +++ b/functions/apiv1/cloud_functions_client.go @@ -290,7 +290,7 @@ func (c *CloudFunctionsClient) GetFunction(ctx context.Context, req *functionspb } // CreateFunction creates a new function. If a function with the given name already exists in -// the specified project, the long running operation returns an +// the specified project, the long running operation will return // ALREADY_EXISTS error. func (c *CloudFunctionsClient) CreateFunction(ctx context.Context, req *functionspb.CreateFunctionRequest, opts ...gax.CallOption) (*CreateFunctionOperation, error) { return c.internalClient.CreateFunction(ctx, req, opts...) @@ -314,7 +314,7 @@ func (c *CloudFunctionsClient) UpdateFunctionOperation(name string) *UpdateFunct } // DeleteFunction deletes a function with the given name from the specified project. If the -// given function is used by some trigger, the trigger is updated to +// given function is used by some trigger, the trigger will be updated to // remove this function. func (c *CloudFunctionsClient) DeleteFunction(ctx context.Context, req *functionspb.DeleteFunctionRequest, opts ...gax.CallOption) (*DeleteFunctionOperation, error) { return c.internalClient.DeleteFunction(ctx, req, opts...) @@ -353,13 +353,13 @@ func (c *CloudFunctionsClient) CallFunction(ctx context.Context, req *functionsp // attached, the identity from the credentials would be used, but that // identity does not have permissions to upload files to the URL. // -// When making an HTTP PUT request, these two headers must be specified: +// When making a HTTP PUT request, these two headers need to be specified: // // content-type: application/zip // // x-goog-content-length-range: 0,104857600 // -// And this header must NOT be specified: +// And this header SHOULD NOT be specified: // // Authorization: Bearer YOUR_TOKEN func (c *CloudFunctionsClient) GenerateUploadUrl(ctx context.Context, req *functionspb.GenerateUploadUrlRequest, opts ...gax.CallOption) (*functionspb.GenerateUploadUrlResponse, error) { @@ -367,9 +367,9 @@ func (c *CloudFunctionsClient) GenerateUploadUrl(ctx context.Context, req *funct } // GenerateDownloadUrl returns a signed URL for downloading deployed function source code. -// The URL is only valid for a limited period and must be used within +// The URL is only valid for a limited period and should be used within // minutes after generation. -// For more information about the signed URL usage, see: +// For more information about the signed URL usage see: // https://cloud.google.com/storage/docs/access-control/signed-urls (at https://cloud.google.com/storage/docs/access-control/signed-urls) func (c *CloudFunctionsClient) GenerateDownloadUrl(ctx context.Context, req *functionspb.GenerateDownloadUrlRequest, opts ...gax.CallOption) (*functionspb.GenerateDownloadUrlResponse, error) { return c.internalClient.GenerateDownloadUrl(ctx, req, opts...) @@ -390,7 +390,7 @@ func (c *CloudFunctionsClient) GetIamPolicy(ctx context.Context, req *iampb.GetI // TestIamPermissions tests the specified permissions against the IAM access control policy // for a function. -// If the function does not exist, this returns an empty set of +// If the function does not exist, this will return an empty set of // permissions, not a NOT_FOUND error. func (c *CloudFunctionsClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { return c.internalClient.TestIamPermissions(ctx, req, opts...) @@ -1026,6 +1026,9 @@ func (c *cloudFunctionsRESTClient) GetFunction(ctx context.Context, req *functio params := url.Values{} params.Add("$alt", "json;enum-encoding=int") + if req.GetVersionId() != 0 { + params.Add("versionId", fmt.Sprintf("%v", req.GetVersionId())) + } baseUrl.RawQuery = params.Encode() @@ -1077,7 +1080,7 @@ func (c *cloudFunctionsRESTClient) GetFunction(ctx context.Context, req *functio } // CreateFunction creates a new function. If a function with the given name already exists in -// the specified project, the long running operation returns an +// the specified project, the long running operation will return // ALREADY_EXISTS error. func (c *cloudFunctionsRESTClient) CreateFunction(ctx context.Context, req *functionspb.CreateFunctionRequest, opts ...gax.CallOption) (*CreateFunctionOperation, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} @@ -1228,7 +1231,7 @@ func (c *cloudFunctionsRESTClient) UpdateFunction(ctx context.Context, req *func } // DeleteFunction deletes a function with the given name from the specified project. If the -// given function is used by some trigger, the trigger is updated to +// given function is used by some trigger, the trigger will be updated to // remove this function. func (c *cloudFunctionsRESTClient) DeleteFunction(ctx context.Context, req *functionspb.DeleteFunctionRequest, opts ...gax.CallOption) (*DeleteFunctionOperation, error) { baseUrl, err := url.Parse(c.endpoint) @@ -1381,13 +1384,13 @@ func (c *cloudFunctionsRESTClient) CallFunction(ctx context.Context, req *functi // attached, the identity from the credentials would be used, but that // identity does not have permissions to upload files to the URL. // -// When making an HTTP PUT request, these two headers must be specified: +// When making a HTTP PUT request, these two headers need to be specified: // // content-type: application/zip // // x-goog-content-length-range: 0,104857600 // -// And this header must NOT be specified: +// And this header SHOULD NOT be specified: // // Authorization: Bearer YOUR_TOKEN func (c *cloudFunctionsRESTClient) GenerateUploadUrl(ctx context.Context, req *functionspb.GenerateUploadUrlRequest, opts ...gax.CallOption) (*functionspb.GenerateUploadUrlResponse, error) { @@ -1456,9 +1459,9 @@ func (c *cloudFunctionsRESTClient) GenerateUploadUrl(ctx context.Context, req *f } // GenerateDownloadUrl returns a signed URL for downloading deployed function source code. -// The URL is only valid for a limited period and must be used within +// The URL is only valid for a limited period and should be used within // minutes after generation. -// For more information about the signed URL usage, see: +// For more information about the signed URL usage see: // https://cloud.google.com/storage/docs/access-control/signed-urls (at https://cloud.google.com/storage/docs/access-control/signed-urls) func (c *cloudFunctionsRESTClient) GenerateDownloadUrl(ctx context.Context, req *functionspb.GenerateDownloadUrlRequest, opts ...gax.CallOption) (*functionspb.GenerateDownloadUrlResponse, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} @@ -1659,7 +1662,7 @@ func (c *cloudFunctionsRESTClient) GetIamPolicy(ctx context.Context, req *iampb. // TestIamPermissions tests the specified permissions against the IAM access control policy // for a function. -// If the function does not exist, this returns an empty set of +// If the function does not exist, this will return an empty set of // permissions, not a NOT_FOUND error. func (c *cloudFunctionsRESTClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} diff --git a/functions/apiv1/functionspb/functions.pb.go b/functions/apiv1/functionspb/functions.pb.go index 684b2855c4a..80c754674a3 100755 --- a/functions/apiv1/functionspb/functions.pb.go +++ b/functions/apiv1/functionspb/functions.pb.go @@ -114,18 +114,17 @@ func (CloudFunctionStatus) EnumDescriptor() ([]byte, []int) { // Available egress settings. // -// This controls what traffic is diverted through the Serverless VPC Access -// connector resource. By default, PRIVATE_RANGES_ONLY is used. +// This controls what traffic is diverted through the VPC Access Connector +// resource. By default PRIVATE_RANGES_ONLY will be used. type CloudFunction_VpcConnectorEgressSettings int32 const ( // Unspecified. CloudFunction_VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED CloudFunction_VpcConnectorEgressSettings = 0 - // Use the Serverless VPC Access connector only for private IP space from - // RFC1918. + // Use the VPC Access Connector only for private IP space from RFC1918. CloudFunction_PRIVATE_RANGES_ONLY CloudFunction_VpcConnectorEgressSettings = 1 - // Force the use of Serverless VPC Access connector for all egress traffic - // from the function. + // Force the use of VPC Access Connector for all egress traffic from the + // function. CloudFunction_ALL_TRAFFIC CloudFunction_VpcConnectorEgressSettings = 2 ) @@ -174,7 +173,7 @@ func (CloudFunction_VpcConnectorEgressSettings) EnumDescriptor() ([]byte, []int) // // This controls what traffic can reach the function. // -// If unspecified, ALLOW_ALL is used. +// If unspecified, ALLOW_ALL will be used. type CloudFunction_IngressSettings int32 const ( @@ -237,14 +236,14 @@ type CloudFunction_DockerRegistry int32 const ( // Unspecified. CloudFunction_DOCKER_REGISTRY_UNSPECIFIED CloudFunction_DockerRegistry = 0 - // Docker images are stored in multi-regional Container Registry + // Docker images will be stored in multi-regional Container Registry // repositories named `gcf`. CloudFunction_CONTAINER_REGISTRY CloudFunction_DockerRegistry = 1 - // Docker images are stored in regional Artifact Registry repositories. - // By default, Cloud Functions creates and uses repositories named - // `gcf-artifacts` in every region in which a function is deployed. But the - // repository to use can also be specified by the user by using the - // `docker_repository` field. + // Docker images will be stored in regional Artifact Registry repositories. + // By default, GCF will create and use repositories named `gcf-artifacts` + // in every region in which a function is deployed. But the repository to + // use can also be specified by the user using the `docker_repository` + // field. CloudFunction_ARTIFACT_REGISTRY CloudFunction_DockerRegistry = 2 ) @@ -289,11 +288,11 @@ func (CloudFunction_DockerRegistry) EnumDescriptor() ([]byte, []int) { return file_google_cloud_functions_v1_functions_proto_rawDescGZIP(), []int{0, 2} } -// Available security-level settings. +// Available security level settings. // // This controls the methods to enforce security (HTTPS) on a URL. // -// If unspecified, SECURE_OPTIONAL is used. +// If unspecified, SECURE_OPTIONAL will be used. type HttpsTrigger_SecurityLevel int32 const ( @@ -351,7 +350,7 @@ func (HttpsTrigger_SecurityLevel) EnumDescriptor() ([]byte, []int) { } // Describes a Cloud Function that contains user computation executed in -// response to an event. It encapsulates function and triggers configurations. +// response to an event. It encapsulate function and triggers configurations. type CloudFunction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -365,6 +364,7 @@ type CloudFunction struct { // The location of the function source code. // // Types that are assignable to SourceCode: + // // *CloudFunction_SourceArchiveUrl // *CloudFunction_SourceRepository // *CloudFunction_SourceUploadUrl @@ -372,17 +372,15 @@ type CloudFunction struct { // An event that triggers the function. // // Types that are assignable to Trigger: + // // *CloudFunction_HttpsTrigger // *CloudFunction_EventTrigger Trigger isCloudFunction_Trigger `protobuf_oneof:"trigger"` // Output only. Status of the function deployment. Status CloudFunctionStatus `protobuf:"varint,7,opt,name=status,proto3,enum=google.cloud.functions.v1.CloudFunctionStatus" json:"status,omitempty"` - // The name of the function (as defined in source code) that is executed. - // Defaults to the resource name suffix, if not specified. For - // backward compatibility, if function with given name is not found, the - // system tries to use the function named "function". - // For Node.js, this is the name of a function exported by the module - // as specified in `source_location`. + // The name of the function (as defined in source code) that will be + // executed. Defaults to the resource name suffix (ID of the function), if not + // specified. EntryPoint string `protobuf:"bytes,8,opt,name=entry_point,json=entryPoint,proto3" json:"entry_point,omitempty"` // The runtime in which to run the function. Required when deploying a new // function, optional when updating an existing function. For a complete @@ -411,39 +409,28 @@ type CloudFunction struct { EnvironmentVariables map[string]string `protobuf:"bytes,17,rep,name=environment_variables,json=environmentVariables,proto3" json:"environment_variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Build environment variables that shall be available during build time. BuildEnvironmentVariables map[string]string `protobuf:"bytes,28,rep,name=build_environment_variables,json=buildEnvironmentVariables,proto3" json:"build_environment_variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // The Serverless VPC Access connector that this cloud function can connect - // to. It can be either the fully qualified URI, or the short name of the - // connector resource. If the connector name is used, the connector must - // belong to the same project as the function. Otherwise, it must belong to a - // project within the same organization. The format of this field is either - // `projects/{project}/global/networks/{network}` or `{network}`, where - // `{project}` is a project id where the network is defined, and `{network}` - // is the short name of the network. + // Deprecated: use vpc_connector // - // This field is mutually exclusive with `vpc_connector` and will be replaced - // by it. - // - // See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for - // more information on connecting Cloud projects. + // Deprecated: Marked as deprecated in google/cloud/functions/v1/functions.proto. Network string `protobuf:"bytes,18,opt,name=network,proto3" json:"network,omitempty"` - // The limit on the maximum number of function instances that can coexist at a + // The limit on the maximum number of function instances that may coexist at a // given time. // - // In some cases, such as rapid traffic surges, Cloud Functions can for a - // short period of time create more instances than the specified max + // In some cases, such as rapid traffic surges, Cloud Functions may, for a + // short period of time, create more instances than the specified max // instances limit. If your function cannot tolerate this temporary behavior, - // you might want to factor in a safety margin and set a lower max instances + // you may want to factor in a safety margin and set a lower max instances // value than your function can tolerate. // // See the [Max // Instances](https://cloud.google.com/functions/docs/max-instances) Guide for // more details. MaxInstances int32 `protobuf:"varint,20,opt,name=max_instances,json=maxInstances,proto3" json:"max_instances,omitempty"` - // A lower bound for the number function instances that can coexist at a + // A lower bound for the number function instances that may coexist at a // given time. MinInstances int32 `protobuf:"varint,32,opt,name=min_instances,json=minInstances,proto3" json:"min_instances,omitempty"` // The VPC Network Connector that this cloud function can connect to. It can - // be either the fully qualified URI, or the short name of the network + // be either the fully-qualified URI, or the short name of the network // connector resource. The format of this field is // `projects/*/locations/*/connectors/*` // @@ -473,17 +460,17 @@ type CloudFunction struct { // CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter)' // on the Key/KeyRing/Project/Organization (least access preferred). // - // 1. Google Cloud Functions service account - // (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) - - // Required to protect the function's image. - // 2. Google Storage service account - // (service-{project_number}@gs-project-accounts.iam.gserviceaccount.com) - - // Required to protect the function's source code. - // If this service account does not exist, deploying a function without a - // KMS key or retrieving the service agent name provisions it. For more - // information, see - // https://cloud.google.com/storage/docs/projects#service-agents and - // https://cloud.google.com/storage/docs/getting-service-agent#gsutil. + // 1. Google Cloud Functions service account + // (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) - + // Required to protect the function's image. + // 2. Google Storage service account + // (service-{project_number}@gs-project-accounts.iam.gserviceaccount.com) - + // Required to protect the function's source code. + // If this service account does not exist, deploying a function without a + // KMS key or retrieving the service agent name provisions it. For more + // information, see + // https://cloud.google.com/storage/docs/projects#service-agents and + // https://cloud.google.com/storage/docs/getting-service-agent#gsutil. // // Google Cloud Functions delegates access to service agents to protect // function resources in internal projects that are not accessible by the @@ -520,7 +507,7 @@ type CloudFunction struct { // Artifact Registry. If unspecified and the deployment is eligible to use // Artifact Registry, GCF will create and use a repository named // 'gcf-artifacts' for every deployed region. This is the repository to which - // the function docker image is pushed after it is built by Cloud Build. + // the function docker image will be pushed after it is built by Cloud Build. // // It must match the pattern // `projects/{project}/locations/{location}/repositories/{repository}`. @@ -531,11 +518,17 @@ type CloudFunction struct { DockerRepository string `protobuf:"bytes,34,opt,name=docker_repository,json=dockerRepository,proto3" json:"docker_repository,omitempty"` // Docker Registry to use for this deployment. // - // If `docker_repository` field is specified, this field is automatically - // set as `ARTIFACT_REGISTRY`. - // If unspecified, it currently defaults to `CONTAINER_REGISTRY`. - // This field may be overridden by the backend for eligible deployments. + // If unspecified, it defaults to `ARTIFACT_REGISTRY`. + // If `docker_repository` field is specified, this field should either be left + // unspecified or set to `ARTIFACT_REGISTRY`. DockerRegistry CloudFunction_DockerRegistry `protobuf:"varint,35,opt,name=docker_registry,json=dockerRegistry,proto3,enum=google.cloud.functions.v1.CloudFunction_DockerRegistry" json:"docker_registry,omitempty"` + // Runtime update policy can be one of the following. + // + // Types that are assignable to RuntimeUpdatePolicy: + // + // *CloudFunction_AutomaticUpdatePolicy_ + // *CloudFunction_OnDeployUpdatePolicy_ + RuntimeUpdatePolicy isCloudFunction_RuntimeUpdatePolicy `protobuf_oneof:"runtime_update_policy"` } func (x *CloudFunction) Reset() { @@ -710,6 +703,7 @@ func (x *CloudFunction) GetBuildEnvironmentVariables() map[string]string { return nil } +// Deprecated: Marked as deprecated in google/cloud/functions/v1/functions.proto. func (x *CloudFunction) GetNetwork() string { if x != nil { return x.Network @@ -815,6 +809,27 @@ func (x *CloudFunction) GetDockerRegistry() CloudFunction_DockerRegistry { return CloudFunction_DOCKER_REGISTRY_UNSPECIFIED } +func (m *CloudFunction) GetRuntimeUpdatePolicy() isCloudFunction_RuntimeUpdatePolicy { + if m != nil { + return m.RuntimeUpdatePolicy + } + return nil +} + +func (x *CloudFunction) GetAutomaticUpdatePolicy() *CloudFunction_AutomaticUpdatePolicy { + if x, ok := x.GetRuntimeUpdatePolicy().(*CloudFunction_AutomaticUpdatePolicy_); ok { + return x.AutomaticUpdatePolicy + } + return nil +} + +func (x *CloudFunction) GetOnDeployUpdatePolicy() *CloudFunction_OnDeployUpdatePolicy { + if x, ok := x.GetRuntimeUpdatePolicy().(*CloudFunction_OnDeployUpdatePolicy_); ok { + return x.OnDeployUpdatePolicy + } + return nil +} + type isCloudFunction_SourceCode interface { isCloudFunction_SourceCode() } @@ -833,7 +848,7 @@ type CloudFunction_SourceRepository struct { } type CloudFunction_SourceUploadUrl struct { - // The Google Cloud Storage-signed URL used for source uploading, generated + // The Google Cloud Storage signed URL used for source uploading, generated // by calling [google.cloud.functions.v1.GenerateUploadUrl]. // // The signature is validated on write methods (Create, Update) @@ -866,6 +881,24 @@ func (*CloudFunction_HttpsTrigger) isCloudFunction_Trigger() {} func (*CloudFunction_EventTrigger) isCloudFunction_Trigger() {} +type isCloudFunction_RuntimeUpdatePolicy interface { + isCloudFunction_RuntimeUpdatePolicy() +} + +type CloudFunction_AutomaticUpdatePolicy_ struct { + // See the comment next to this message for more details. + AutomaticUpdatePolicy *CloudFunction_AutomaticUpdatePolicy `protobuf:"bytes,40,opt,name=automatic_update_policy,json=automaticUpdatePolicy,proto3,oneof"` +} + +type CloudFunction_OnDeployUpdatePolicy_ struct { + // See the comment next to this message for more details. + OnDeployUpdatePolicy *CloudFunction_OnDeployUpdatePolicy `protobuf:"bytes,41,opt,name=on_deploy_update_policy,json=onDeployUpdatePolicy,proto3,oneof"` +} + +func (*CloudFunction_AutomaticUpdatePolicy_) isCloudFunction_RuntimeUpdatePolicy() {} + +func (*CloudFunction_OnDeployUpdatePolicy_) isCloudFunction_RuntimeUpdatePolicy() {} + // Describes SourceRepository, used to represent parameters related to // source repository where a function is hosted. type SourceRepository struct { @@ -885,7 +918,7 @@ type SourceRepository struct { // To refer to a specific fixed alias (tag): // `https://source.developers.google.com/projects/*/repos/*/fixed-aliases/*/paths/*` // - // You can omit `paths/*` if you want to use the main directory. + // You may omit `paths/*` if you want to use the main directory. Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` // Output only. The URL pointing to the hosted repository where the function // were defined at the time of deployment. It always points to a specific @@ -997,7 +1030,7 @@ func (x *HttpsTrigger) GetSecurityLevel() HttpsTrigger_SecurityLevel { return HttpsTrigger_SECURITY_LEVEL_UNSPECIFIED } -// Describes EventTrigger, used to request that events be sent from another +// Describes EventTrigger, used to request events be sent from another // service. type EventTrigger struct { state protoimpl.MessageState @@ -1011,13 +1044,14 @@ type EventTrigger struct { // Event types match pattern `providers/*/eventTypes/*.*`. // The pattern contains: // - // 1. namespace: For example, `cloud.storage` and - // `google.firebase.analytics`. - // 2. resource type: The type of resource on which event occurs. For - // example, the Google Cloud Storage API includes the type `object`. - // 3. action: The action that generates the event. For example, action for - // a Google Cloud Storage Object is 'change'. - // These parts are lowercase. + // 1. namespace: For example, `cloud.storage` and + // `google.firebase.analytics`. + // 2. resource type: The type of resource on which event occurs. For + // example, the Google Cloud Storage API includes the type `object`. + // 3. action: The action that generates the event. For example, action for + // a Google Cloud Storage Object is 'change'. + // + // These parts are lower case. EventType string `protobuf:"bytes,1,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` // Required. The resource(s) from which to observe events, for example, // `projects/_/buckets/myBucket`. @@ -1025,16 +1059,16 @@ type EventTrigger struct { // Not all syntactically correct values are accepted by all services. For // example: // - // 1. The authorization model must support it. Google Cloud Functions - // only allows EventTriggers to be deployed that observe resources in the - // same project as the `CloudFunction`. - // 2. The resource type must match the pattern expected for an - // `event_type`. For example, an `EventTrigger` that has an - // `event_type` of "google.pubsub.topic.publish" should have a resource - // that matches Google Cloud Pub/Sub topics. + // 1. The authorization model must support it. Google Cloud Functions + // only allows EventTriggers to be deployed that observe resources in the + // same project as the `CloudFunction`. + // 2. The resource type must match the pattern expected for an + // `event_type`. For example, an `EventTrigger` that has an + // `event_type` of "google.pubsub.topic.publish" should have a resource + // that matches Google Cloud Pub/Sub topics. // // Additionally, some services may support short names when creating an - // `EventTrigger`. These are always returned in the normalized "long" + // `EventTrigger`. These will always be returned in the normalized "long" // format. // // See each *service's* documentation for supported formats. @@ -1110,7 +1144,7 @@ func (x *EventTrigger) GetFailurePolicy() *FailurePolicy { } // Describes the policy in case of function's execution failure. -// If empty, then defaults to ignoring failures (i.e., not retrying them). +// If empty, then defaults to ignoring failures (i.e. not retrying them). type FailurePolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1119,6 +1153,7 @@ type FailurePolicy struct { // Defines the action taken in case of a function execution failure. // // Types that are assignable to Action: + // // *FailurePolicy_Retry_ Action isFailurePolicy_Action `protobuf_oneof:"action"` } @@ -1174,14 +1209,14 @@ type isFailurePolicy_Action interface { } type FailurePolicy_Retry_ struct { - // If specified, the function is retried in case of a failure. + // If specified, then the function will be retried in case of a failure. Retry *FailurePolicy_Retry `protobuf:"bytes,1,opt,name=retry,proto3,oneof"` } func (*FailurePolicy_Retry_) isFailurePolicy_Action() {} // Configuration for a secret environment variable. It has the information -// necessary to fetch the secret value from Secret Manager and expose it as an +// necessary to fetch the secret value from secret manager and expose it as an // environment variable. type SecretEnvVar struct { state protoimpl.MessageState @@ -1191,11 +1226,11 @@ type SecretEnvVar struct { // Name of the environment variable. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Project identifier (preferrably project number but can also be the project - // ID) of the project that contains the secret. If not set, it is - // populated with the function's project, assuming that the secret exists in - // the same project as the function. + // ID) of the project that contains the secret. If not set, it will be + // populated with the function's project assuming that the secret exists in + // the same project as of the function. ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - // Name of the secret in Secret Manager (not the full resource name). + // Name of the secret in secret manager (not the full resource name). Secret string `protobuf:"bytes,3,opt,name=secret,proto3" json:"secret,omitempty"` // Version of the secret (version number or the string 'latest'). It is // recommended to use a numeric version for secret environment variables as @@ -1264,32 +1299,32 @@ func (x *SecretEnvVar) GetVersion() string { } // Configuration for a secret volume. It has the information necessary to fetch -// the secret value from Secret Manager and make it available as files mounted +// the secret value from secret manager and make it available as files mounted // at the requested paths within the application container. Secret value is not -// a part of the configuration. Every file system read operation performs a -// lookup in Secret Manager to retrieve the secret value. +// a part of the configuration. Every filesystem read operation performs a +// lookup in secret manager to retrieve the secret value. type SecretVolume struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The path within the container to mount the secret volume. For example, - // setting the mount_path as `/etc/secrets` mounts the secret value files - // under the `/etc/secrets` directory. This directory is also completely + // setting the mount_path as `/etc/secrets` would mount the secret value files + // under the `/etc/secrets` directory. This directory will also be completely // shadowed and unavailable to mount any other secrets. // // Recommended mount paths: /etc/secrets // Restricted mount paths: /cloudsql, /dev/log, /pod, /proc, /var/log MountPath string `protobuf:"bytes,1,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"` // Project identifier (preferrably project number but can also be the project - // ID) of the project that contains the secret. If not set, it is - // populated with the function's project, assuming that the secret exists in - // the same project as the function. + // ID) of the project that contains the secret. If not set, it will be + // populated with the function's project assuming that the secret exists in + // the same project as of the function. ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - // Name of the secret in Secret Manager (not the full resource name). + // Name of the secret in secret manager (not the full resource name). Secret string `protobuf:"bytes,3,opt,name=secret,proto3" json:"secret,omitempty"` // List of secret versions to mount for this secret. If empty, the `latest` - // version of the secret is made available in a file named after the + // version of the secret will be made available in a file named after the // secret under the mount point. Versions []*SecretVolume_SecretVersion `protobuf:"bytes,4,rep,name=versions,proto3" json:"versions,omitempty"` } @@ -1479,6 +1514,13 @@ type GetFunctionRequest struct { // Required. The name of the function which details should be obtained. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The optional version of the function whose details should be + // obtained. The version of a 1st Gen function is an integer that starts from + // 1 and gets incremented on redeployments. Each deployment creates a config + // version of the underlying function. GCF may keep historical configs for old + // versions. This field can be specified to fetch the historical configs. + // Leave it blank or set to 0 to get the latest version of the function. + VersionId int64 `protobuf:"varint,2,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"` } func (x *GetFunctionRequest) Reset() { @@ -1520,6 +1562,13 @@ func (x *GetFunctionRequest) GetName() string { return "" } +func (x *GetFunctionRequest) GetVersionId() int64 { + if x != nil { + return x.VersionId + } + return 0 +} + // Request for the `ListFunctions` method. type ListFunctionsRequest struct { state protoimpl.MessageState @@ -1852,11 +1901,11 @@ type GenerateUploadUrlRequest struct { // should be generated, specified in the format `projects/*/locations/*`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Resource name of a KMS crypto key (managed by the user) used to - // encrypt/decrypt function source code objects in staging Cloud Storage + // encrypt/decrypt function source code objects in intermediate Cloud Storage // buckets. When you generate an upload url and upload your source code, it - // gets copied to a staging Cloud Storage bucket in an internal regional - // project. The source code is then copied to a versioned directory in the - // sources bucket in the consumer project during the function deployment. + // gets copied to an intermediate Cloud Storage bucket. The source code is + // then copied to a versioned directory in the sources bucket in the consumer + // project during the function deployment. // // It must match the pattern // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. @@ -2078,9 +2127,99 @@ func (x *GenerateDownloadUrlResponse) GetDownloadUrl() string { return "" } +// Security patches are applied automatically to the runtime without requiring +// the function to be redeployed. +type CloudFunction_AutomaticUpdatePolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CloudFunction_AutomaticUpdatePolicy) Reset() { + *x = CloudFunction_AutomaticUpdatePolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_functions_v1_functions_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudFunction_AutomaticUpdatePolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudFunction_AutomaticUpdatePolicy) ProtoMessage() {} + +func (x *CloudFunction_AutomaticUpdatePolicy) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_functions_v1_functions_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudFunction_AutomaticUpdatePolicy.ProtoReflect.Descriptor instead. +func (*CloudFunction_AutomaticUpdatePolicy) Descriptor() ([]byte, []int) { + return file_google_cloud_functions_v1_functions_proto_rawDescGZIP(), []int{0, 0} +} + +// Security patches are only applied when a function is redeployed. +type CloudFunction_OnDeployUpdatePolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. contains the runtime version which was used during latest + // function deployment. + RuntimeVersion string `protobuf:"bytes,1,opt,name=runtime_version,json=runtimeVersion,proto3" json:"runtime_version,omitempty"` +} + +func (x *CloudFunction_OnDeployUpdatePolicy) Reset() { + *x = CloudFunction_OnDeployUpdatePolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_functions_v1_functions_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudFunction_OnDeployUpdatePolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudFunction_OnDeployUpdatePolicy) ProtoMessage() {} + +func (x *CloudFunction_OnDeployUpdatePolicy) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_functions_v1_functions_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudFunction_OnDeployUpdatePolicy.ProtoReflect.Descriptor instead. +func (*CloudFunction_OnDeployUpdatePolicy) Descriptor() ([]byte, []int) { + return file_google_cloud_functions_v1_functions_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *CloudFunction_OnDeployUpdatePolicy) GetRuntimeVersion() string { + if x != nil { + return x.RuntimeVersion + } + return "" +} + // Describes the retry policy in case of function's execution failure. -// A function execution is retried on any failure. -// A failed execution is retried up to 7 days with an exponential backoff +// A function execution will be retried on any failure. +// A failed execution will be retried up to 7 days with an exponential backoff // (capped at 10 seconds). // Retried execution is charged as any other execution. type FailurePolicy_Retry struct { @@ -2092,7 +2231,7 @@ type FailurePolicy_Retry struct { func (x *FailurePolicy_Retry) Reset() { *x = FailurePolicy_Retry{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_functions_v1_functions_proto_msgTypes[22] + mi := &file_google_cloud_functions_v1_functions_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2105,7 +2244,7 @@ func (x *FailurePolicy_Retry) String() string { func (*FailurePolicy_Retry) ProtoMessage() {} func (x *FailurePolicy_Retry) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_functions_v1_functions_proto_msgTypes[22] + mi := &file_google_cloud_functions_v1_functions_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2132,8 +2271,8 @@ type SecretVolume_SecretVersion struct { // changes are reflected immediately. Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // Relative path of the file under the mount path where the secret value for - // this version is fetched and made available. For example, setting the - // mount_path as '/etc/secrets' and path as `/secret_foo` mounts the + // this version will be fetched and made available. For example, setting the + // mount_path as '/etc/secrets' and path as `/secret_foo` would mount the // secret value file at `/etc/secrets/secret_foo`. Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` } @@ -2141,7 +2280,7 @@ type SecretVolume_SecretVersion struct { func (x *SecretVolume_SecretVersion) Reset() { *x = SecretVolume_SecretVersion{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_functions_v1_functions_proto_msgTypes[23] + mi := &file_google_cloud_functions_v1_functions_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2154,7 +2293,7 @@ func (x *SecretVolume_SecretVersion) String() string { func (*SecretVolume_SecretVersion) ProtoMessage() {} func (x *SecretVolume_SecretVersion) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_functions_v1_functions_proto_msgTypes[23] + mi := &file_google_cloud_functions_v1_functions_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2215,7 +2354,7 @@ var file_google_cloud_functions_v1_functions_proto_rawDesc = []byte{ 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfa, 0x15, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe8, 0x18, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, @@ -2287,428 +2426,453 @@ var file_google_cloud_functions_v1_functions_proto_rawDesc = []byte{ 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x19, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, - 0x78, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, - 0x23, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x18, 0x20, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x70, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x70, 0x63, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x86, 0x01, 0x0a, 0x1d, 0x76, 0x70, - 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x70, 0x63, 0x43, + 0x12, 0x1c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x23, + 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x70, 0x63, 0x5f, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x76, 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x86, 0x01, + 0x0a, 0x1d, 0x76, 0x70, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, + 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, + 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x56, 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x1a, 0x76, 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x1a, 0x76, 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x12, 0x63, 0x0a, 0x10, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0f, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x48, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, - 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, - 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, - 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, - 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, - 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1e, 0x0a, - 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x22, 0x0a, - 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x69, 0x0a, 0x1c, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x76, 0x69, - 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, - 0x52, 0x1a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0e, - 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x1e, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x0d, 0x73, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0c, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x1f, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x04, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5c, 0x0a, 0x11, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x72, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x2f, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x10, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x12, 0x60, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x79, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x63, 0x0a, 0x10, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0f, 0x69, 0x6e, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x48, 0x0a, 0x0c, 0x6b, + 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x77, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, + 0x6c, 0x12, 0x1e, 0x0a, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x1b, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, + 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x21, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x69, 0x0a, 0x1c, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, + 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, - 0x47, 0x0a, 0x19, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, - 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, 0x1e, 0x42, 0x75, 0x69, 0x6c, - 0x64, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x75, 0x0a, 0x1a, 0x56, 0x70, 0x63, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x29, 0x56, 0x50, 0x43, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, - 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x45, 0x54, - 0x54, 0x49, 0x4e, 0x47, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x52, - 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, - 0x41, 0x4c, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x46, 0x46, 0x49, 0x43, 0x10, 0x02, 0x22, 0x78, 0x0a, - 0x0f, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x12, 0x20, 0x0a, 0x1c, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x45, 0x54, 0x54, - 0x49, 0x4e, 0x47, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x41, 0x4c, 0x4c, 0x10, - 0x01, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, - 0x4e, 0x41, 0x4c, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x4c, - 0x4c, 0x4f, 0x57, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x41, 0x4e, 0x44, - 0x5f, 0x47, 0x43, 0x4c, 0x42, 0x10, 0x03, 0x22, 0x60, 0x0a, 0x0e, 0x44, 0x6f, 0x63, 0x6b, 0x65, - 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x43, - 0x4b, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, - 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x59, - 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x52, - 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x59, 0x10, 0x02, 0x3a, 0x6e, 0xea, 0x41, 0x6b, 0x0a, 0x2b, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x42, 0x0d, 0x0a, 0x0b, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x22, 0x4c, 0x0a, 0x10, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x55, 0x72, - 0x6c, 0x22, 0xdc, 0x01, 0x0a, 0x0c, 0x48, 0x74, 0x74, 0x70, 0x73, 0x54, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x5c, 0x0a, 0x0e, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, - 0x74, 0x70, 0x73, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x57, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x43, 0x55, - 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x45, 0x43, 0x55, - 0x52, 0x45, 0x5f, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, - 0x45, 0x43, 0x55, 0x52, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x02, - 0x22, 0xb4, 0x01, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, - 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, - 0x72, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x6a, 0x0a, 0x0d, 0x46, 0x61, 0x69, 0x6c, 0x75, - 0x72, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x72, 0x65, 0x74, 0x72, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x74, 0x72, 0x79, - 0x1a, 0x07, 0x0a, 0x05, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x71, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, 0x76, - 0x56, 0x61, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf6, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x51, 0x0a, - 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x1a, 0x3d, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, - 0xa9, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, - 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x49, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9f, 0x01, 0x0a, 0x15, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, - 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x5d, 0x0a, - 0x12, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x92, 0x01, 0x0a, - 0x14, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x60, 0x0a, - 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x77, 0x0a, 0x13, 0x43, 0x61, 0x6c, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x17, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x67, 0x0a, 0x14, 0x43, 0x61, 0x6c, 0x6c, - 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x22, 0x7c, 0x0a, 0x18, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, - 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, - 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, - 0x3a, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x22, 0x4f, 0x0a, 0x1a, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, - 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x40, 0x0a, 0x1b, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x2a, 0x92, - 0x01, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, - 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, - 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x46, 0x46, - 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, - 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, 0x16, - 0x0a, 0x12, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, - 0x52, 0x45, 0x53, 0x53, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, - 0x4e, 0x10, 0x05, 0x32, 0x97, 0x11, 0x0a, 0x15, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa9, 0x01, - 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x0b, 0x47, 0x65, - 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, + 0x76, 0x56, 0x61, 0x72, 0x52, 0x1a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x69, + 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x12, 0x4e, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x3c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, - 0x12, 0xdf, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, + 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x04, 0x52, 0x0b, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5c, 0x0a, 0x11, 0x64, 0x6f, 0x63, 0x6b, + 0x65, 0x72, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x22, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2f, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x52, 0x10, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x60, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, + 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x78, 0x0a, 0x17, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x02, 0x52, 0x15, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0x76, 0x0a, 0x17, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x29, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, - 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0xca, 0x41, 0x24, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x31, 0xda, 0x41, 0x11, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0xdd, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x6e, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x48, 0x02, 0x52, 0x14, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x17, 0x0a, 0x15, 0x41, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x1a, 0x44, 0x0a, 0x14, 0x4f, 0x6e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2c, 0x0a, 0x0f, 0x72, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x47, 0x0a, 0x19, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, + 0x1e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, + 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x75, 0x0a, 0x1a, 0x56, + 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x29, 0x56, 0x50, 0x43, + 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, + 0x53, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, 0x49, 0x56, + 0x41, 0x54, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, + 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4c, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x46, 0x46, 0x49, 0x43, + 0x10, 0x02, 0x22, 0x78, 0x0a, 0x0f, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, + 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4c, 0x4c, 0x4f, 0x57, + 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, + 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, + 0x1b, 0x0a, 0x17, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, + 0x4c, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x47, 0x43, 0x4c, 0x42, 0x10, 0x03, 0x22, 0x60, 0x0a, 0x0e, + 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x1f, + 0x0a, 0x1b, 0x44, 0x4f, 0x43, 0x4b, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, + 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x47, + 0x49, 0x53, 0x54, 0x52, 0x59, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x52, 0x54, 0x49, 0x46, + 0x41, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x59, 0x10, 0x02, 0x3a, 0x6e, + 0xea, 0x41, 0x6b, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x3c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x42, 0x0d, + 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x09, 0x0a, + 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0x17, 0x0a, 0x15, 0x72, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x22, 0x4c, 0x0a, 0x10, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x22, + 0xdc, 0x01, 0x0a, 0x0c, 0x48, 0x74, 0x74, 0x70, 0x73, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x5c, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, + 0x73, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x57, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, + 0x54, 0x59, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x45, 0x43, 0x55, 0x52, 0x45, + 0x5f, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x43, + 0x55, 0x52, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x22, 0xb4, + 0x01, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, + 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x6a, 0x0a, 0x0d, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0xca, 0x41, 0x24, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x31, 0xda, - 0x41, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, - 0x3a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x36, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x2a, 0x7d, 0x12, 0xce, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, + 0x52, 0x65, 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x74, 0x72, 0x79, 0x1a, 0x07, + 0x0a, 0x05, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x71, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x56, 0x61, + 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf6, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x51, 0x0a, 0x08, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, + 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3d, + 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0xa9, 0x01, + 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, + 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9f, 0x01, 0x0a, 0x15, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0xca, 0x41, 0x2c, 0x0a, 0x15, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x12, 0x13, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x31, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2f, 0x2a, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, + 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x81, 0x01, 0x0a, 0x12, + 0x47, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, + 0x92, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, + 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, + 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, + 0x22, 0x60, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, + 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x77, 0x0a, 0x13, 0x43, 0x61, 0x6c, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, + 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x67, 0x0a, 0x14, 0x43, + 0x61, 0x6c, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x22, 0x7c, 0x0a, 0x18, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, + 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, + 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, + 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0x3a, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x22, 0x4f, + 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, + 0x40, 0x0a, 0x1b, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, + 0x6c, 0x2a, 0x92, 0x01, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x4c, 0x4f, + 0x55, 0x44, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, + 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x45, 0x50, + 0x4c, 0x4f, 0x59, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, + 0x03, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x5f, 0x50, + 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x05, 0x32, 0x97, 0x11, 0x0a, 0x15, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0xa9, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xa4, 0x01, 0x0a, + 0x0b, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x2a, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x6c, 0x6c, 0x46, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0xda, 0x41, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x64, - 0x61, 0x74, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01, 0x2a, 0x22, 0x32, 0x2f, 0x76, - 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x61, 0x6c, 0x6c, - 0x12, 0xca, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x2f, 0x2a, 0x7d, 0x12, 0xdf, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x01, 0x2a, 0x22, 0x3f, 0x2f, 0x76, - 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, - 0x7d, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0xd2, 0x01, - 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x3a, 0x01, 0x2a, 0x22, - 0x41, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0xca, 0x41, 0x24, 0x0a, 0x0d, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x31, + 0xda, 0x41, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x08, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xdd, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0xca, 0x41, 0x24, 0x0a, 0x0d, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x56, 0x31, 0xda, 0x41, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x42, 0x3a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x36, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xce, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0xca, 0x41, 0x2c, 0x0a, 0x15, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x13, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x31, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x2a, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x6c, 0x6c, 0x46, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0xda, 0x41, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01, 0x2a, 0x22, + 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, - 0x72, 0x6c, 0x12, 0x94, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x49, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x01, 0x2a, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x91, 0x01, 0x0a, 0x0c, 0x47, 0x65, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, - 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, - 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, + 0x61, 0x6c, 0x6c, 0x12, 0xca, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x01, 0x2a, 0x22, + 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, - 0x3a, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xba, 0x01, - 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x49, 0x3a, 0x01, 0x2a, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x51, 0xca, 0x41, 0x1d, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xe1, 0x02, - 0xea, 0x41, 0x6f, 0x0a, 0x2a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, - 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x7d, 0xea, 0x41, 0x78, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, - 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x5f, - 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, - 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x0a, 0x1d, 0x63, - 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x46, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x70, - 0x69, 0x76, 0x31, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x62, 0x3b, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x62, 0xa2, 0x02, 0x03, 0x47, 0x43, - 0x46, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, + 0x12, 0xd2, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x3a, + 0x01, 0x2a, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x94, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x01, 0x2a, 0x22, 0x3e, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x91, 0x01, 0x0a, + 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, + 0x12, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0xba, 0x01, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x49, 0x3a, 0x01, 0x2a, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x51, 0xca, + 0x41, 0x1d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, + 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, + 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x42, 0xe1, 0x02, 0xea, 0x41, 0x6f, 0x0a, 0x2a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x7d, 0xea, 0x41, 0x78, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, + 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x53, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, + 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, + 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x7d, + 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x42, + 0x0e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x3b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x70, 0x62, 0x3b, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x62, 0xa2, 0x02, + 0x03, 0x47, 0x43, 0x46, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2724,7 +2888,7 @@ func file_google_cloud_functions_v1_functions_proto_rawDescGZIP() []byte { } var file_google_cloud_functions_v1_functions_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_google_cloud_functions_v1_functions_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_google_cloud_functions_v1_functions_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_google_cloud_functions_v1_functions_proto_goTypes = []interface{}{ (CloudFunctionStatus)(0), // 0: google.cloud.functions.v1.CloudFunctionStatus (CloudFunction_VpcConnectorEgressSettings)(0), // 1: google.cloud.functions.v1.CloudFunction.VpcConnectorEgressSettings @@ -2750,71 +2914,75 @@ var file_google_cloud_functions_v1_functions_proto_goTypes = []interface{}{ (*GenerateUploadUrlResponse)(nil), // 21: google.cloud.functions.v1.GenerateUploadUrlResponse (*GenerateDownloadUrlRequest)(nil), // 22: google.cloud.functions.v1.GenerateDownloadUrlRequest (*GenerateDownloadUrlResponse)(nil), // 23: google.cloud.functions.v1.GenerateDownloadUrlResponse - nil, // 24: google.cloud.functions.v1.CloudFunction.LabelsEntry - nil, // 25: google.cloud.functions.v1.CloudFunction.EnvironmentVariablesEntry - nil, // 26: google.cloud.functions.v1.CloudFunction.BuildEnvironmentVariablesEntry - (*FailurePolicy_Retry)(nil), // 27: google.cloud.functions.v1.FailurePolicy.Retry - (*SecretVolume_SecretVersion)(nil), // 28: google.cloud.functions.v1.SecretVolume.SecretVersion - (*durationpb.Duration)(nil), // 29: google.protobuf.Duration - (*timestamppb.Timestamp)(nil), // 30: google.protobuf.Timestamp - (*fieldmaskpb.FieldMask)(nil), // 31: google.protobuf.FieldMask - (*iampb.SetIamPolicyRequest)(nil), // 32: google.iam.v1.SetIamPolicyRequest - (*iampb.GetIamPolicyRequest)(nil), // 33: google.iam.v1.GetIamPolicyRequest - (*iampb.TestIamPermissionsRequest)(nil), // 34: google.iam.v1.TestIamPermissionsRequest - (*longrunningpb.Operation)(nil), // 35: google.longrunning.Operation - (*iampb.Policy)(nil), // 36: google.iam.v1.Policy - (*iampb.TestIamPermissionsResponse)(nil), // 37: google.iam.v1.TestIamPermissionsResponse + (*CloudFunction_AutomaticUpdatePolicy)(nil), // 24: google.cloud.functions.v1.CloudFunction.AutomaticUpdatePolicy + (*CloudFunction_OnDeployUpdatePolicy)(nil), // 25: google.cloud.functions.v1.CloudFunction.OnDeployUpdatePolicy + nil, // 26: google.cloud.functions.v1.CloudFunction.LabelsEntry + nil, // 27: google.cloud.functions.v1.CloudFunction.EnvironmentVariablesEntry + nil, // 28: google.cloud.functions.v1.CloudFunction.BuildEnvironmentVariablesEntry + (*FailurePolicy_Retry)(nil), // 29: google.cloud.functions.v1.FailurePolicy.Retry + (*SecretVolume_SecretVersion)(nil), // 30: google.cloud.functions.v1.SecretVolume.SecretVersion + (*durationpb.Duration)(nil), // 31: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 32: google.protobuf.Timestamp + (*fieldmaskpb.FieldMask)(nil), // 33: google.protobuf.FieldMask + (*iampb.SetIamPolicyRequest)(nil), // 34: google.iam.v1.SetIamPolicyRequest + (*iampb.GetIamPolicyRequest)(nil), // 35: google.iam.v1.GetIamPolicyRequest + (*iampb.TestIamPermissionsRequest)(nil), // 36: google.iam.v1.TestIamPermissionsRequest + (*longrunningpb.Operation)(nil), // 37: google.longrunning.Operation + (*iampb.Policy)(nil), // 38: google.iam.v1.Policy + (*iampb.TestIamPermissionsResponse)(nil), // 39: google.iam.v1.TestIamPermissionsResponse } var file_google_cloud_functions_v1_functions_proto_depIdxs = []int32{ 6, // 0: google.cloud.functions.v1.CloudFunction.source_repository:type_name -> google.cloud.functions.v1.SourceRepository 7, // 1: google.cloud.functions.v1.CloudFunction.https_trigger:type_name -> google.cloud.functions.v1.HttpsTrigger 8, // 2: google.cloud.functions.v1.CloudFunction.event_trigger:type_name -> google.cloud.functions.v1.EventTrigger 0, // 3: google.cloud.functions.v1.CloudFunction.status:type_name -> google.cloud.functions.v1.CloudFunctionStatus - 29, // 4: google.cloud.functions.v1.CloudFunction.timeout:type_name -> google.protobuf.Duration - 30, // 5: google.cloud.functions.v1.CloudFunction.update_time:type_name -> google.protobuf.Timestamp - 24, // 6: google.cloud.functions.v1.CloudFunction.labels:type_name -> google.cloud.functions.v1.CloudFunction.LabelsEntry - 25, // 7: google.cloud.functions.v1.CloudFunction.environment_variables:type_name -> google.cloud.functions.v1.CloudFunction.EnvironmentVariablesEntry - 26, // 8: google.cloud.functions.v1.CloudFunction.build_environment_variables:type_name -> google.cloud.functions.v1.CloudFunction.BuildEnvironmentVariablesEntry + 31, // 4: google.cloud.functions.v1.CloudFunction.timeout:type_name -> google.protobuf.Duration + 32, // 5: google.cloud.functions.v1.CloudFunction.update_time:type_name -> google.protobuf.Timestamp + 26, // 6: google.cloud.functions.v1.CloudFunction.labels:type_name -> google.cloud.functions.v1.CloudFunction.LabelsEntry + 27, // 7: google.cloud.functions.v1.CloudFunction.environment_variables:type_name -> google.cloud.functions.v1.CloudFunction.EnvironmentVariablesEntry + 28, // 8: google.cloud.functions.v1.CloudFunction.build_environment_variables:type_name -> google.cloud.functions.v1.CloudFunction.BuildEnvironmentVariablesEntry 1, // 9: google.cloud.functions.v1.CloudFunction.vpc_connector_egress_settings:type_name -> google.cloud.functions.v1.CloudFunction.VpcConnectorEgressSettings 2, // 10: google.cloud.functions.v1.CloudFunction.ingress_settings:type_name -> google.cloud.functions.v1.CloudFunction.IngressSettings 10, // 11: google.cloud.functions.v1.CloudFunction.secret_environment_variables:type_name -> google.cloud.functions.v1.SecretEnvVar 11, // 12: google.cloud.functions.v1.CloudFunction.secret_volumes:type_name -> google.cloud.functions.v1.SecretVolume 3, // 13: google.cloud.functions.v1.CloudFunction.docker_registry:type_name -> google.cloud.functions.v1.CloudFunction.DockerRegistry - 4, // 14: google.cloud.functions.v1.HttpsTrigger.security_level:type_name -> google.cloud.functions.v1.HttpsTrigger.SecurityLevel - 9, // 15: google.cloud.functions.v1.EventTrigger.failure_policy:type_name -> google.cloud.functions.v1.FailurePolicy - 27, // 16: google.cloud.functions.v1.FailurePolicy.retry:type_name -> google.cloud.functions.v1.FailurePolicy.Retry - 28, // 17: google.cloud.functions.v1.SecretVolume.versions:type_name -> google.cloud.functions.v1.SecretVolume.SecretVersion - 5, // 18: google.cloud.functions.v1.CreateFunctionRequest.function:type_name -> google.cloud.functions.v1.CloudFunction - 5, // 19: google.cloud.functions.v1.UpdateFunctionRequest.function:type_name -> google.cloud.functions.v1.CloudFunction - 31, // 20: google.cloud.functions.v1.UpdateFunctionRequest.update_mask:type_name -> google.protobuf.FieldMask - 5, // 21: google.cloud.functions.v1.ListFunctionsResponse.functions:type_name -> google.cloud.functions.v1.CloudFunction - 15, // 22: google.cloud.functions.v1.CloudFunctionsService.ListFunctions:input_type -> google.cloud.functions.v1.ListFunctionsRequest - 14, // 23: google.cloud.functions.v1.CloudFunctionsService.GetFunction:input_type -> google.cloud.functions.v1.GetFunctionRequest - 12, // 24: google.cloud.functions.v1.CloudFunctionsService.CreateFunction:input_type -> google.cloud.functions.v1.CreateFunctionRequest - 13, // 25: google.cloud.functions.v1.CloudFunctionsService.UpdateFunction:input_type -> google.cloud.functions.v1.UpdateFunctionRequest - 17, // 26: google.cloud.functions.v1.CloudFunctionsService.DeleteFunction:input_type -> google.cloud.functions.v1.DeleteFunctionRequest - 18, // 27: google.cloud.functions.v1.CloudFunctionsService.CallFunction:input_type -> google.cloud.functions.v1.CallFunctionRequest - 20, // 28: google.cloud.functions.v1.CloudFunctionsService.GenerateUploadUrl:input_type -> google.cloud.functions.v1.GenerateUploadUrlRequest - 22, // 29: google.cloud.functions.v1.CloudFunctionsService.GenerateDownloadUrl:input_type -> google.cloud.functions.v1.GenerateDownloadUrlRequest - 32, // 30: google.cloud.functions.v1.CloudFunctionsService.SetIamPolicy:input_type -> google.iam.v1.SetIamPolicyRequest - 33, // 31: google.cloud.functions.v1.CloudFunctionsService.GetIamPolicy:input_type -> google.iam.v1.GetIamPolicyRequest - 34, // 32: google.cloud.functions.v1.CloudFunctionsService.TestIamPermissions:input_type -> google.iam.v1.TestIamPermissionsRequest - 16, // 33: google.cloud.functions.v1.CloudFunctionsService.ListFunctions:output_type -> google.cloud.functions.v1.ListFunctionsResponse - 5, // 34: google.cloud.functions.v1.CloudFunctionsService.GetFunction:output_type -> google.cloud.functions.v1.CloudFunction - 35, // 35: google.cloud.functions.v1.CloudFunctionsService.CreateFunction:output_type -> google.longrunning.Operation - 35, // 36: google.cloud.functions.v1.CloudFunctionsService.UpdateFunction:output_type -> google.longrunning.Operation - 35, // 37: google.cloud.functions.v1.CloudFunctionsService.DeleteFunction:output_type -> google.longrunning.Operation - 19, // 38: google.cloud.functions.v1.CloudFunctionsService.CallFunction:output_type -> google.cloud.functions.v1.CallFunctionResponse - 21, // 39: google.cloud.functions.v1.CloudFunctionsService.GenerateUploadUrl:output_type -> google.cloud.functions.v1.GenerateUploadUrlResponse - 23, // 40: google.cloud.functions.v1.CloudFunctionsService.GenerateDownloadUrl:output_type -> google.cloud.functions.v1.GenerateDownloadUrlResponse - 36, // 41: google.cloud.functions.v1.CloudFunctionsService.SetIamPolicy:output_type -> google.iam.v1.Policy - 36, // 42: google.cloud.functions.v1.CloudFunctionsService.GetIamPolicy:output_type -> google.iam.v1.Policy - 37, // 43: google.cloud.functions.v1.CloudFunctionsService.TestIamPermissions:output_type -> google.iam.v1.TestIamPermissionsResponse - 33, // [33:44] is the sub-list for method output_type - 22, // [22:33] is the sub-list for method input_type - 22, // [22:22] is the sub-list for extension type_name - 22, // [22:22] is the sub-list for extension extendee - 0, // [0:22] is the sub-list for field type_name + 24, // 14: google.cloud.functions.v1.CloudFunction.automatic_update_policy:type_name -> google.cloud.functions.v1.CloudFunction.AutomaticUpdatePolicy + 25, // 15: google.cloud.functions.v1.CloudFunction.on_deploy_update_policy:type_name -> google.cloud.functions.v1.CloudFunction.OnDeployUpdatePolicy + 4, // 16: google.cloud.functions.v1.HttpsTrigger.security_level:type_name -> google.cloud.functions.v1.HttpsTrigger.SecurityLevel + 9, // 17: google.cloud.functions.v1.EventTrigger.failure_policy:type_name -> google.cloud.functions.v1.FailurePolicy + 29, // 18: google.cloud.functions.v1.FailurePolicy.retry:type_name -> google.cloud.functions.v1.FailurePolicy.Retry + 30, // 19: google.cloud.functions.v1.SecretVolume.versions:type_name -> google.cloud.functions.v1.SecretVolume.SecretVersion + 5, // 20: google.cloud.functions.v1.CreateFunctionRequest.function:type_name -> google.cloud.functions.v1.CloudFunction + 5, // 21: google.cloud.functions.v1.UpdateFunctionRequest.function:type_name -> google.cloud.functions.v1.CloudFunction + 33, // 22: google.cloud.functions.v1.UpdateFunctionRequest.update_mask:type_name -> google.protobuf.FieldMask + 5, // 23: google.cloud.functions.v1.ListFunctionsResponse.functions:type_name -> google.cloud.functions.v1.CloudFunction + 15, // 24: google.cloud.functions.v1.CloudFunctionsService.ListFunctions:input_type -> google.cloud.functions.v1.ListFunctionsRequest + 14, // 25: google.cloud.functions.v1.CloudFunctionsService.GetFunction:input_type -> google.cloud.functions.v1.GetFunctionRequest + 12, // 26: google.cloud.functions.v1.CloudFunctionsService.CreateFunction:input_type -> google.cloud.functions.v1.CreateFunctionRequest + 13, // 27: google.cloud.functions.v1.CloudFunctionsService.UpdateFunction:input_type -> google.cloud.functions.v1.UpdateFunctionRequest + 17, // 28: google.cloud.functions.v1.CloudFunctionsService.DeleteFunction:input_type -> google.cloud.functions.v1.DeleteFunctionRequest + 18, // 29: google.cloud.functions.v1.CloudFunctionsService.CallFunction:input_type -> google.cloud.functions.v1.CallFunctionRequest + 20, // 30: google.cloud.functions.v1.CloudFunctionsService.GenerateUploadUrl:input_type -> google.cloud.functions.v1.GenerateUploadUrlRequest + 22, // 31: google.cloud.functions.v1.CloudFunctionsService.GenerateDownloadUrl:input_type -> google.cloud.functions.v1.GenerateDownloadUrlRequest + 34, // 32: google.cloud.functions.v1.CloudFunctionsService.SetIamPolicy:input_type -> google.iam.v1.SetIamPolicyRequest + 35, // 33: google.cloud.functions.v1.CloudFunctionsService.GetIamPolicy:input_type -> google.iam.v1.GetIamPolicyRequest + 36, // 34: google.cloud.functions.v1.CloudFunctionsService.TestIamPermissions:input_type -> google.iam.v1.TestIamPermissionsRequest + 16, // 35: google.cloud.functions.v1.CloudFunctionsService.ListFunctions:output_type -> google.cloud.functions.v1.ListFunctionsResponse + 5, // 36: google.cloud.functions.v1.CloudFunctionsService.GetFunction:output_type -> google.cloud.functions.v1.CloudFunction + 37, // 37: google.cloud.functions.v1.CloudFunctionsService.CreateFunction:output_type -> google.longrunning.Operation + 37, // 38: google.cloud.functions.v1.CloudFunctionsService.UpdateFunction:output_type -> google.longrunning.Operation + 37, // 39: google.cloud.functions.v1.CloudFunctionsService.DeleteFunction:output_type -> google.longrunning.Operation + 19, // 40: google.cloud.functions.v1.CloudFunctionsService.CallFunction:output_type -> google.cloud.functions.v1.CallFunctionResponse + 21, // 41: google.cloud.functions.v1.CloudFunctionsService.GenerateUploadUrl:output_type -> google.cloud.functions.v1.GenerateUploadUrlResponse + 23, // 42: google.cloud.functions.v1.CloudFunctionsService.GenerateDownloadUrl:output_type -> google.cloud.functions.v1.GenerateDownloadUrlResponse + 38, // 43: google.cloud.functions.v1.CloudFunctionsService.SetIamPolicy:output_type -> google.iam.v1.Policy + 38, // 44: google.cloud.functions.v1.CloudFunctionsService.GetIamPolicy:output_type -> google.iam.v1.Policy + 39, // 45: google.cloud.functions.v1.CloudFunctionsService.TestIamPermissions:output_type -> google.iam.v1.TestIamPermissionsResponse + 35, // [35:46] is the sub-list for method output_type + 24, // [24:35] is the sub-list for method input_type + 24, // [24:24] is the sub-list for extension type_name + 24, // [24:24] is the sub-list for extension extendee + 0, // [0:24] is the sub-list for field type_name } func init() { file_google_cloud_functions_v1_functions_proto_init() } @@ -3052,7 +3220,31 @@ func file_google_cloud_functions_v1_functions_proto_init() { return nil } } - file_google_cloud_functions_v1_functions_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_functions_v1_functions_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudFunction_AutomaticUpdatePolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_functions_v1_functions_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudFunction_OnDeployUpdatePolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_functions_v1_functions_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FailurePolicy_Retry); i { case 0: return &v.state @@ -3064,7 +3256,7 @@ func file_google_cloud_functions_v1_functions_proto_init() { return nil } } - file_google_cloud_functions_v1_functions_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_functions_v1_functions_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecretVolume_SecretVersion); i { case 0: return &v.state @@ -3083,6 +3275,8 @@ func file_google_cloud_functions_v1_functions_proto_init() { (*CloudFunction_SourceUploadUrl)(nil), (*CloudFunction_HttpsTrigger)(nil), (*CloudFunction_EventTrigger)(nil), + (*CloudFunction_AutomaticUpdatePolicy_)(nil), + (*CloudFunction_OnDeployUpdatePolicy_)(nil), } file_google_cloud_functions_v1_functions_proto_msgTypes[4].OneofWrappers = []interface{}{ (*FailurePolicy_Retry_)(nil), @@ -3093,7 +3287,7 @@ func file_google_cloud_functions_v1_functions_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_functions_v1_functions_proto_rawDesc, NumEnums: 5, - NumMessages: 24, + NumMessages: 26, NumExtensions: 0, NumServices: 1, }, @@ -3125,13 +3319,13 @@ type CloudFunctionsServiceClient interface { // Returns a function with the given name from the requested project. GetFunction(ctx context.Context, in *GetFunctionRequest, opts ...grpc.CallOption) (*CloudFunction, error) // Creates a new function. If a function with the given name already exists in - // the specified project, the long running operation returns an + // the specified project, the long running operation will return // `ALREADY_EXISTS` error. CreateFunction(ctx context.Context, in *CreateFunctionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Updates existing function. UpdateFunction(ctx context.Context, in *UpdateFunctionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Deletes a function with the given name from the specified project. If the - // given function is used by some trigger, the trigger is updated to + // given function is used by some trigger, the trigger will be updated to // remove this function. DeleteFunction(ctx context.Context, in *DeleteFunctionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Synchronously invokes a deployed Cloud Function. To be used for testing @@ -3149,26 +3343,26 @@ type CloudFunctionsServiceClient interface { // When uploading source code to the generated signed URL, please follow // these restrictions: // - // * Source file type should be a zip file. - // * Source file size should not exceed 100MB limit. - // * No credentials should be attached - the signed URLs provide access to the - // target bucket using internal service identity; if credentials were - // attached, the identity from the credentials would be used, but that - // identity does not have permissions to upload files to the URL. + // - Source file type should be a zip file. + // - Source file size should not exceed 100MB limit. + // - No credentials should be attached - the signed URLs provide access to the + // target bucket using internal service identity; if credentials were + // attached, the identity from the credentials would be used, but that + // identity does not have permissions to upload files to the URL. // - // When making an HTTP PUT request, these two headers must be specified: + // When making a HTTP PUT request, these two headers need to be specified: // // * `content-type: application/zip` // * `x-goog-content-length-range: 0,104857600` // - // And this header must NOT be specified: + // And this header SHOULD NOT be specified: // // * `Authorization: Bearer YOUR_TOKEN` GenerateUploadUrl(ctx context.Context, in *GenerateUploadUrlRequest, opts ...grpc.CallOption) (*GenerateUploadUrlResponse, error) // Returns a signed URL for downloading deployed function source code. - // The URL is only valid for a limited period and must be used within + // The URL is only valid for a limited period and should be used within // minutes after generation. - // For more information about the signed URL usage, see: + // For more information about the signed URL usage see: // https://cloud.google.com/storage/docs/access-control/signed-urls GenerateDownloadUrl(ctx context.Context, in *GenerateDownloadUrlRequest, opts ...grpc.CallOption) (*GenerateDownloadUrlResponse, error) // Sets the IAM access control policy on the specified function. @@ -3180,7 +3374,7 @@ type CloudFunctionsServiceClient interface { GetIamPolicy(ctx context.Context, in *iampb.GetIamPolicyRequest, opts ...grpc.CallOption) (*iampb.Policy, error) // Tests the specified permissions against the IAM access control policy // for a function. - // If the function does not exist, this returns an empty set of + // If the function does not exist, this will return an empty set of // permissions, not a NOT_FOUND error. TestIamPermissions(ctx context.Context, in *iampb.TestIamPermissionsRequest, opts ...grpc.CallOption) (*iampb.TestIamPermissionsResponse, error) } @@ -3299,13 +3493,13 @@ type CloudFunctionsServiceServer interface { // Returns a function with the given name from the requested project. GetFunction(context.Context, *GetFunctionRequest) (*CloudFunction, error) // Creates a new function. If a function with the given name already exists in - // the specified project, the long running operation returns an + // the specified project, the long running operation will return // `ALREADY_EXISTS` error. CreateFunction(context.Context, *CreateFunctionRequest) (*longrunningpb.Operation, error) // Updates existing function. UpdateFunction(context.Context, *UpdateFunctionRequest) (*longrunningpb.Operation, error) // Deletes a function with the given name from the specified project. If the - // given function is used by some trigger, the trigger is updated to + // given function is used by some trigger, the trigger will be updated to // remove this function. DeleteFunction(context.Context, *DeleteFunctionRequest) (*longrunningpb.Operation, error) // Synchronously invokes a deployed Cloud Function. To be used for testing @@ -3323,26 +3517,26 @@ type CloudFunctionsServiceServer interface { // When uploading source code to the generated signed URL, please follow // these restrictions: // - // * Source file type should be a zip file. - // * Source file size should not exceed 100MB limit. - // * No credentials should be attached - the signed URLs provide access to the - // target bucket using internal service identity; if credentials were - // attached, the identity from the credentials would be used, but that - // identity does not have permissions to upload files to the URL. + // - Source file type should be a zip file. + // - Source file size should not exceed 100MB limit. + // - No credentials should be attached - the signed URLs provide access to the + // target bucket using internal service identity; if credentials were + // attached, the identity from the credentials would be used, but that + // identity does not have permissions to upload files to the URL. // - // When making an HTTP PUT request, these two headers must be specified: + // When making a HTTP PUT request, these two headers need to be specified: // // * `content-type: application/zip` // * `x-goog-content-length-range: 0,104857600` // - // And this header must NOT be specified: + // And this header SHOULD NOT be specified: // // * `Authorization: Bearer YOUR_TOKEN` GenerateUploadUrl(context.Context, *GenerateUploadUrlRequest) (*GenerateUploadUrlResponse, error) // Returns a signed URL for downloading deployed function source code. - // The URL is only valid for a limited period and must be used within + // The URL is only valid for a limited period and should be used within // minutes after generation. - // For more information about the signed URL usage, see: + // For more information about the signed URL usage see: // https://cloud.google.com/storage/docs/access-control/signed-urls GenerateDownloadUrl(context.Context, *GenerateDownloadUrlRequest) (*GenerateDownloadUrlResponse, error) // Sets the IAM access control policy on the specified function. @@ -3354,7 +3548,7 @@ type CloudFunctionsServiceServer interface { GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest) (*iampb.Policy, error) // Tests the specified permissions against the IAM access control policy // for a function. - // If the function does not exist, this returns an empty set of + // If the function does not exist, this will return an empty set of // permissions, not a NOT_FOUND error. TestIamPermissions(context.Context, *iampb.TestIamPermissionsRequest) (*iampb.TestIamPermissionsResponse, error) } diff --git a/functions/apiv2/functionspb/functions.pb.go b/functions/apiv2/functionspb/functions.pb.go index 7e4bd3c20d1..3bd0eac4028 100755 --- a/functions/apiv2/functionspb/functions.pb.go +++ b/functions/apiv2/functionspb/functions.pb.go @@ -1016,6 +1016,7 @@ type RepoSource struct { // one of these ways. // // Types that are assignable to Revision: + // // *RepoSource_BranchName // *RepoSource_TagName // *RepoSource_CommitSha @@ -1165,6 +1166,7 @@ type Source struct { // At least one source needs to be provided for the deployment to succeed. // // Types that are assignable to Source: + // // *Source_StorageSource // *Source_RepoSource Source isSource_Source `protobuf_oneof:"source"` @@ -4544,11 +4546,11 @@ type FunctionServiceClient interface { // When uploading source code to the generated signed URL, please follow // these restrictions: // - // * Source file type should be a zip file. - // * No credentials should be attached - the signed URLs provide access to the - // target bucket using internal service identity; if credentials were - // attached, the identity from the credentials would be used, but that - // identity does not have permissions to upload files to the URL. + // - Source file type should be a zip file. + // - No credentials should be attached - the signed URLs provide access to the + // target bucket using internal service identity; if credentials were + // attached, the identity from the credentials would be used, but that + // identity does not have permissions to upload files to the URL. // // When making a HTTP PUT request, these two headers need to be specified: // @@ -4674,11 +4676,11 @@ type FunctionServiceServer interface { // When uploading source code to the generated signed URL, please follow // these restrictions: // - // * Source file type should be a zip file. - // * No credentials should be attached - the signed URLs provide access to the - // target bucket using internal service identity; if credentials were - // attached, the identity from the credentials would be used, but that - // identity does not have permissions to upload files to the URL. + // - Source file type should be a zip file. + // - No credentials should be attached - the signed URLs provide access to the + // target bucket using internal service identity; if credentials were + // attached, the identity from the credentials would be used, but that + // identity does not have permissions to upload files to the URL. // // When making a HTTP PUT request, these two headers need to be specified: // diff --git a/functions/apiv2beta/functionspb/functions.pb.go b/functions/apiv2beta/functionspb/functions.pb.go index b2d5d275f21..2741ede4958 100755 --- a/functions/apiv2beta/functionspb/functions.pb.go +++ b/functions/apiv2beta/functionspb/functions.pb.go @@ -1016,6 +1016,7 @@ type RepoSource struct { // one of these ways. // // Types that are assignable to Revision: + // // *RepoSource_BranchName // *RepoSource_TagName // *RepoSource_CommitSha @@ -1165,6 +1166,7 @@ type Source struct { // At least one source needs to be provided for the deployment to succeed. // // Types that are assignable to Source: + // // *Source_StorageSource // *Source_RepoSource Source isSource_Source `protobuf_oneof:"source"` @@ -4561,11 +4563,11 @@ type FunctionServiceClient interface { // When uploading source code to the generated signed URL, please follow // these restrictions: // - // * Source file type should be a zip file. - // * No credentials should be attached - the signed URLs provide access to the - // target bucket using internal service identity; if credentials were - // attached, the identity from the credentials would be used, but that - // identity does not have permissions to upload files to the URL. + // - Source file type should be a zip file. + // - No credentials should be attached - the signed URLs provide access to the + // target bucket using internal service identity; if credentials were + // attached, the identity from the credentials would be used, but that + // identity does not have permissions to upload files to the URL. // // When making a HTTP PUT request, these two headers need to be specified: // @@ -4691,11 +4693,11 @@ type FunctionServiceServer interface { // When uploading source code to the generated signed URL, please follow // these restrictions: // - // * Source file type should be a zip file. - // * No credentials should be attached - the signed URLs provide access to the - // target bucket using internal service identity; if credentials were - // attached, the identity from the credentials would be used, but that - // identity does not have permissions to upload files to the URL. + // - Source file type should be a zip file. + // - No credentials should be attached - the signed URLs provide access to the + // target bucket using internal service identity; if credentials were + // attached, the identity from the credentials would be used, but that + // identity does not have permissions to upload files to the URL. // // When making a HTTP PUT request, these two headers need to be specified: // diff --git a/gkebackup/apiv1/gkebackuppb/backup.pb.go b/gkebackup/apiv1/gkebackuppb/backup.pb.go index 2377cce0d9a..55c076c6416 100755 --- a/gkebackup/apiv1/gkebackuppb/backup.pb.go +++ b/gkebackup/apiv1/gkebackuppb/backup.pb.go @@ -176,6 +176,7 @@ type Backup struct { // value. // // Types that are assignable to BackupScope: + // // *Backup_AllNamespaces // *Backup_SelectedNamespaces // *Backup_SelectedApplications @@ -502,6 +503,7 @@ type Backup_ClusterMetadata struct { // Platform-specific version // // Types that are assignable to PlatformVersion: + // // *Backup_ClusterMetadata_GkeVersion // *Backup_ClusterMetadata_AnthosVersion PlatformVersion isBackup_ClusterMetadata_PlatformVersion `protobuf_oneof:"platform_version"` diff --git a/gkebackup/apiv1/gkebackuppb/backup_plan.pb.go b/gkebackup/apiv1/gkebackuppb/backup_plan.pb.go index e07ab8180ae..6c38417c2cc 100755 --- a/gkebackup/apiv1/gkebackuppb/backup_plan.pb.go +++ b/gkebackup/apiv1/gkebackuppb/backup_plan.pb.go @@ -482,6 +482,7 @@ type BackupPlan_BackupConfig struct { // Exactly one of the fields of backup_scope MUST be specified. // // Types that are assignable to BackupScope: + // // *BackupPlan_BackupConfig_AllNamespaces // *BackupPlan_BackupConfig_SelectedNamespaces // *BackupPlan_BackupConfig_SelectedApplications diff --git a/gkebackup/apiv1/gkebackuppb/restore.pb.go b/gkebackup/apiv1/gkebackuppb/restore.pb.go index 7b3fb341c3f..2b77586af3c 100755 --- a/gkebackup/apiv1/gkebackuppb/restore.pb.go +++ b/gkebackup/apiv1/gkebackuppb/restore.pb.go @@ -627,6 +627,7 @@ type RestoreConfig struct { // selected. Listing them explicitly will result in an error. // // Types that are assignable to NamespacedResourceRestoreScope: + // // *RestoreConfig_AllNamespaces // *RestoreConfig_SelectedNamespaces // *RestoreConfig_SelectedApplications diff --git a/gkehub/apiv1beta1/gkehubpb/membership.pb.go b/gkehub/apiv1beta1/gkehubpb/membership.pb.go index 47643b1b587..1af44df37ae 100755 --- a/gkehub/apiv1beta1/gkehubpb/membership.pb.go +++ b/gkehub/apiv1beta1/gkehubpb/membership.pb.go @@ -243,9 +243,9 @@ type Membership struct { // // `membership_id` must be a valid RFC 1123 compliant DNS label: // - // 1. At most 63 characters in length - // 2. It must consist of lower case alphanumeric characters or `-` - // 3. It must start and end with an alphanumeric character + // 1. At most 63 characters in length + // 2. It must consist of lower case alphanumeric characters or `-` + // 3. It must start and end with an alphanumeric character // // Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, // with a maximum length of 63 characters. @@ -258,6 +258,7 @@ type Membership struct { // Type of resource represented by this Membership // // Types that are assignable to Type: + // // *Membership_Endpoint Type isMembership_Type `protobuf_oneof:"type"` // Output only. State of the Membership resource. @@ -456,6 +457,7 @@ type MembershipEndpoint struct { // Cluster information of the registered cluster. // // Types that are assignable to Type: + // // *MembershipEndpoint_GkeCluster // *MembershipEndpoint_OnPremCluster // *MembershipEndpoint_MultiCloudCluster @@ -467,11 +469,11 @@ type MembershipEndpoint struct { // Optional. The in-cluster Kubernetes Resources that should be applied for a // correctly registered cluster, in the steady state. These resources: // - // * Ensure that the cluster is exclusively registered to one and only one + // - Ensure that the cluster is exclusively registered to one and only one // Hub Membership. - // * Propagate Workload Pool Information available in the Membership + // - Propagate Workload Pool Information available in the Membership // Authority field. - // * Ensure proper initial configuration of default Hub Features. + // - Ensure proper initial configuration of default Hub Features. KubernetesResource *KubernetesResource `protobuf:"bytes,6,opt,name=kubernetes_resource,json=kubernetesResource,proto3" json:"kubernetes_resource,omitempty"` } @@ -846,7 +848,7 @@ type GkeCluster struct { // Immutable. Self-link of the GCP resource for the GKE cluster. For example: // - // //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster + // //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster // // Zonal clusters are also supported. ResourceLink string `protobuf:"bytes,1,opt,name=resource_link,json=resourceLink,proto3" json:"resource_link,omitempty"` @@ -910,8 +912,8 @@ type OnPremCluster struct { // Immutable. Self-link of the GCP resource for the GKE On-Prem cluster. For // example: // - // //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster - // //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster + // //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster + // //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster ResourceLink string `protobuf:"bytes,1,opt,name=resource_link,json=resourceLink,proto3" json:"resource_link,omitempty"` // Output only. If cluster_missing is set then it denotes that // API(gkeonprem.googleapis.com) resource for this GKE On-Prem cluster no @@ -992,9 +994,9 @@ type MultiCloudCluster struct { // Immutable. Self-link of the GCP resource for the GKE Multi-Cloud cluster. // For example: // - // //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster - // //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster - // //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster + // //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster + // //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster + // //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster ResourceLink string `protobuf:"bytes,1,opt,name=resource_link,json=resourceLink,proto3" json:"resource_link,omitempty"` // Output only. If cluster_missing is set then it denotes that // API(gkemulticloud.googleapis.com) resource for this GKE Multi-Cloud cluster @@ -1547,19 +1549,19 @@ type ListMembershipsRequest struct { // // - Name is `bar` in project `foo-proj` and location `global`: // - // name = "projects/foo-proj/locations/global/membership/bar" + // name = "projects/foo-proj/locations/global/membership/bar" // // - Memberships that have a label called `foo`: // - // labels.foo:* + // labels.foo:* // // - Memberships that have a label called `foo` whose value is `bar`: // - // labels.foo = bar + // labels.foo = bar // // - Memberships in the CREATING state: // - // state = CREATING + // state = CREATING Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` // Optional. One or more fields to compare and use to sort the output. // See https://google.aip.dev/132#ordering. @@ -1764,9 +1766,9 @@ type CreateMembershipRequest struct { // Required. Client chosen ID for the membership. `membership_id` must be a // valid RFC 1123 compliant DNS label: // - // 1. At most 63 characters in length - // 2. It must consist of lower case alphanumeric characters or `-` - // 3. It must start and end with an alphanumeric character + // 1. At most 63 characters in length + // 2. It must consist of lower case alphanumeric characters or `-` + // 3. It must start and end with an alphanumeric character // // Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, // with a maximum length of 63 characters. @@ -2455,10 +2457,10 @@ type ValidateExclusivityResponse struct { // The validation result. // - // * `OK` means that exclusivity is validated, assuming the manifest produced - // by GenerateExclusivityManifest is successfully applied. - // * `ALREADY_EXISTS` means that the Membership CRD is already owned by - // another Hub. See `status.message` for more information. + // - `OK` means that exclusivity is validated, assuming the manifest produced + // by GenerateExclusivityManifest is successfully applied. + // - `ALREADY_EXISTS` means that the Membership CRD is already owned by + // another Hub. See `status.message` for more information. Status *status.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` } diff --git a/gkemulticloud/apiv1/gkemulticloudpb/attached_service.pb.go b/gkemulticloud/apiv1/gkemulticloudpb/attached_service.pb.go index 366f75eb69e..30d84dbdfc1 100755 --- a/gkemulticloud/apiv1/gkemulticloudpb/attached_service.pb.go +++ b/gkemulticloud/apiv1/gkemulticloudpb/attached_service.pb.go @@ -412,16 +412,16 @@ type UpdateAttachedClusterRequest struct { // fields from // [AttachedCluster][google.cloud.gkemulticloud.v1.AttachedCluster]: // - // * `annotations`. - // * `authorization.admin_groups`. - // * `authorization.admin_users`. - // * `binary_authorization.evaluation_mode`. - // * `description`. - // * `logging_config.component_config.enable_components`. - // * `monitoring_config.managed_prometheus_config.enabled`. - // * `platform_version`. - // * `proxy_config.kubernetes_secret.name`. - // * `proxy_config.kubernetes_secret.namespace`. + // - `annotations`. + // - `authorization.admin_groups`. + // - `authorization.admin_users`. + // - `binary_authorization.evaluation_mode`. + // - `description`. + // - `logging_config.component_config.enable_components`. + // - `monitoring_config.managed_prometheus_config.enabled`. + // - `platform_version`. + // - `proxy_config.kubernetes_secret.name`. + // - `proxy_config.kubernetes_secret.namespace`. UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } diff --git a/gkemulticloud/apiv1/gkemulticloudpb/aws_service.pb.go b/gkemulticloud/apiv1/gkemulticloudpb/aws_service.pb.go index 80cef7970ed..e32b11994d3 100755 --- a/gkemulticloud/apiv1/gkemulticloudpb/aws_service.pb.go +++ b/gkemulticloud/apiv1/gkemulticloudpb/aws_service.pb.go @@ -151,33 +151,33 @@ type UpdateAwsClusterRequest struct { // this field. The elements of the repeated paths field can only include these // fields from [AwsCluster][google.cloud.gkemulticloud.v1.AwsCluster]: // - // * `description`. - // * `annotations`. - // * `control_plane.version`. - // * `authorization.admin_users`. - // * `authorization.admin_groups`. - // * `binary_authorization.evaluation_mode`. - // * `control_plane.aws_services_authentication.role_arn`. - // * `control_plane.aws_services_authentication.role_session_name`. - // * `control_plane.config_encryption.kms_key_arn`. - // * `control_plane.instance_type`. - // * `control_plane.security_group_ids`. - // * `control_plane.proxy_config`. - // * `control_plane.proxy_config.secret_arn`. - // * `control_plane.proxy_config.secret_version`. - // * `control_plane.root_volume.size_gib`. - // * `control_plane.root_volume.volume_type`. - // * `control_plane.root_volume.iops`. - // * `control_plane.root_volume.throughput`. - // * `control_plane.root_volume.kms_key_arn`. - // * `control_plane.ssh_config`. - // * `control_plane.ssh_config.ec2_key_pair`. - // * `control_plane.instance_placement.tenancy`. - // * `control_plane.iam_instance_profile`. - // * `logging_config.component_config.enable_components`. - // * `control_plane.tags`. - // * `monitoring_config.managed_prometheus_config.enabled`. - // * `networking.per_node_pool_sg_rules_disabled`. + // - `description`. + // - `annotations`. + // - `control_plane.version`. + // - `authorization.admin_users`. + // - `authorization.admin_groups`. + // - `binary_authorization.evaluation_mode`. + // - `control_plane.aws_services_authentication.role_arn`. + // - `control_plane.aws_services_authentication.role_session_name`. + // - `control_plane.config_encryption.kms_key_arn`. + // - `control_plane.instance_type`. + // - `control_plane.security_group_ids`. + // - `control_plane.proxy_config`. + // - `control_plane.proxy_config.secret_arn`. + // - `control_plane.proxy_config.secret_version`. + // - `control_plane.root_volume.size_gib`. + // - `control_plane.root_volume.volume_type`. + // - `control_plane.root_volume.iops`. + // - `control_plane.root_volume.throughput`. + // - `control_plane.root_volume.kms_key_arn`. + // - `control_plane.ssh_config`. + // - `control_plane.ssh_config.ec2_key_pair`. + // - `control_plane.instance_placement.tenancy`. + // - `control_plane.iam_instance_profile`. + // - `logging_config.component_config.enable_components`. + // - `control_plane.tags`. + // - `monitoring_config.managed_prometheus_config.enabled`. + // - `networking.per_node_pool_sg_rules_disabled`. UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -646,36 +646,36 @@ type UpdateAwsNodePoolRequest struct { // this field. The elements of the repeated paths field can only include these // fields from [AwsNodePool][google.cloud.gkemulticloud.v1.AwsNodePool]: // - // * `annotations`. - // * `version`. - // * `autoscaling.min_node_count`. - // * `autoscaling.max_node_count`. - // * `config.config_encryption.kms_key_arn`. - // * `config.security_group_ids`. - // * `config.root_volume.iops`. - // * `config.root_volume.throughput`. - // * `config.root_volume.kms_key_arn`. - // * `config.root_volume.volume_type`. - // * `config.root_volume.size_gib`. - // * `config.proxy_config`. - // * `config.proxy_config.secret_arn`. - // * `config.proxy_config.secret_version`. - // * `config.ssh_config`. - // * `config.ssh_config.ec2_key_pair`. - // * `config.instance_placement.tenancy`. - // * `config.iam_instance_profile`. - // * `config.labels`. - // * `config.tags`. - // * `config.autoscaling_metrics_collection`. - // * `config.autoscaling_metrics_collection.granularity`. - // * `config.autoscaling_metrics_collection.metrics`. - // * `config.instance_type`. - // * `management.auto_repair`. - // * `management`. - // * `update_settings`. - // * `update_settings.surge_settings`. - // * `update_settings.surge_settings.max_surge`. - // * `update_settings.surge_settings.max_unavailable`. + // - `annotations`. + // - `version`. + // - `autoscaling.min_node_count`. + // - `autoscaling.max_node_count`. + // - `config.config_encryption.kms_key_arn`. + // - `config.security_group_ids`. + // - `config.root_volume.iops`. + // - `config.root_volume.throughput`. + // - `config.root_volume.kms_key_arn`. + // - `config.root_volume.volume_type`. + // - `config.root_volume.size_gib`. + // - `config.proxy_config`. + // - `config.proxy_config.secret_arn`. + // - `config.proxy_config.secret_version`. + // - `config.ssh_config`. + // - `config.ssh_config.ec2_key_pair`. + // - `config.instance_placement.tenancy`. + // - `config.iam_instance_profile`. + // - `config.labels`. + // - `config.tags`. + // - `config.autoscaling_metrics_collection`. + // - `config.autoscaling_metrics_collection.granularity`. + // - `config.autoscaling_metrics_collection.metrics`. + // - `config.instance_type`. + // - `management.auto_repair`. + // - `management`. + // - `update_settings`. + // - `update_settings.surge_settings`. + // - `update_settings.surge_settings.max_surge`. + // - `update_settings.surge_settings.max_unavailable`. UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } diff --git a/gkemulticloud/apiv1/gkemulticloudpb/azure_service.pb.go b/gkemulticloud/apiv1/gkemulticloudpb/azure_service.pb.go index 7ada8987ef8..acc84702036 100755 --- a/gkemulticloud/apiv1/gkemulticloudpb/azure_service.pb.go +++ b/gkemulticloud/apiv1/gkemulticloudpb/azure_service.pb.go @@ -151,23 +151,23 @@ type UpdateAzureClusterRequest struct { // this field. The elements of the repeated paths field can only include these // fields from [AzureCluster][google.cloud.gkemulticloud.v1.AzureCluster]: // - // * `description`. - // * `azureClient`. - // * `control_plane.version`. - // * `control_plane.vm_size`. - // * `annotations`. - // * `authorization.admin_users`. - // * `authorization.admin_groups`. - // * `control_plane.root_volume.size_gib`. - // * `azure_services_authentication`. - // * `azure_services_authentication.tenant_id`. - // * `azure_services_authentication.application_id`. - // * `control_plane.proxy_config`. - // * `control_plane.proxy_config.resource_group_id`. - // * `control_plane.proxy_config.secret_id`. - // * `control_plane.ssh_config.authorized_key`. - // * `logging_config.component_config.enable_components` - // * `monitoring_config.managed_prometheus_config.enabled`. + // - `description`. + // - `azureClient`. + // - `control_plane.version`. + // - `control_plane.vm_size`. + // - `annotations`. + // - `authorization.admin_users`. + // - `authorization.admin_groups`. + // - `control_plane.root_volume.size_gib`. + // - `azure_services_authentication`. + // - `azure_services_authentication.tenant_id`. + // - `azure_services_authentication.application_id`. + // - `control_plane.proxy_config`. + // - `control_plane.proxy_config.resource_group_id`. + // - `control_plane.proxy_config.secret_id`. + // - `control_plane.ssh_config.authorized_key`. + // - `logging_config.component_config.enable_components` + // - `monitoring_config.managed_prometheus_config.enabled`. UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -624,13 +624,13 @@ type UpdateAzureNodePoolRequest struct { // this field. The elements of the repeated paths field can only include these // fields from [AzureNodePool][google.cloud.gkemulticloud.v1.AzureNodePool]: // - // *. `annotations`. - // * `version`. - // * `autoscaling.min_node_count`. - // * `autoscaling.max_node_count`. - // * `config.ssh_config.authorized_key`. - // * `management.auto_repair`. - // * `management`. + // *. `annotations`. + // * `version`. + // * `autoscaling.min_node_count`. + // * `autoscaling.max_node_count`. + // * `config.ssh_config.authorized_key`. + // * `management.auto_repair`. + // * `management`. UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } diff --git a/go.work.sum b/go.work.sum index b89560cf839..e77c41d5136 100644 --- a/go.work.sum +++ b/go.work.sum @@ -46,6 +46,7 @@ github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S github.com/mmcloughlin/avo v0.5.0/go.mod h1:ChHFdoV7ql95Wi7vuq2YT1bwCJqiWdZrQ1im3VujLYM= github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= github.com/substrait-io/substrait-go v0.4.2/go.mod h1:qhpnLmrcvAnlZsUyPXZRqldiHapPTXC3t7xFgDi3aQg= go.opentelemetry.io/otel/bridge/opencensus v0.40.0 h1:pqDiayRhBgoqy1vwnscik+TizcImJ58l053NScJyZso= go.opentelemetry.io/otel/bridge/opencensus v0.40.0/go.mod h1:1NvVHb6tLTe5A9qCYz+eErW0t8iPn4ZfR6tDKcqlGTM= @@ -66,11 +67,15 @@ golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= golang.org/x/tools v0.10.0 h1:tvDr/iQoUqNdohiYm0LmmKcBk+q86lb9EprIUFhHHGg= gonum.org/v1/gonum v0.12.0/go.mod h1:73TDxJfAAHeA8Mk9mf8NlIppyhQNo5GLTcYeqgo2lvY= +google.golang.org/genproto v0.0.0-20230725213213-b022f6e96895/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108= +google.golang.org/genproto/googleapis/api v0.0.0-20230725213213-b022f6e96895/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= google.golang.org/genproto/googleapis/api v0.0.0-20231212172506-995d672761c0/go.mod h1:CAny0tYF+0/9rmDB9fahA9YLzX3+AEVl1qXbv5hhj6c= google.golang.org/genproto/googleapis/api v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:B5xPO//w8qmBDjGReYLpR6UJPnkldGkCSMoH/2vxJeg= google.golang.org/genproto/googleapis/bytestream v0.0.0-20231120223509-83a465c0220f/go.mod h1:iIgEblxoG4klcXsG0d9cpoxJ4xndv6+1FkDROCHhPRI= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240102182953-50ed04b92917/go.mod h1:O9TvT7A9NLgdqqF0JJXJ+axpaoYiEb8txGmkvy+AvLc= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:ZSvZ8l+AWJwXw91DoTjWjaVLpWU6o0eZ4YLYpH8aLeQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230725213213-b022f6e96895/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= +gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= lukechampine.com/uint128 v1.3.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= modernc.org/cc/v3 v3.38.1/go.mod h1:vtL+3mdHx/wcj3iEGz84rQa8vEqR6XM84v5Lcvfph20= modernc.org/ccgo/v3 v3.0.0-20220910160915-348f15de615a/go.mod h1:8p47QxPkdugex9J4n9P2tLZ9bK01yngIVp00g4nomW0= diff --git a/iam/apiv1/iampb/policy.pb.go b/iam/apiv1/iampb/policy.pb.go index eefd1d0e546..bcdfd6b5f91 100755 --- a/iam/apiv1/iampb/policy.pb.go +++ b/iam/apiv1/iampb/policy.pb.go @@ -289,11 +289,11 @@ type Policy struct { // Any operation that affects conditional role bindings must specify version // `3`. This requirement applies to the following operations: // - // * Getting a policy that includes a conditional role binding - // * Adding a conditional role binding to a policy - // * Changing a conditional role binding in a policy - // * Removing any role binding, with or without a condition, from a policy - // that includes conditions + // - Getting a policy that includes a conditional role binding + // - Adding a conditional role binding to a policy + // - Changing a conditional role binding in a policy + // - Removing any role binding, with or without a condition, from a policy + // that includes conditions // // **Important:** If you use IAM Conditions, you must include the `etag` field // whenever you call `setIamPolicy`. If you omit this field, then IAM allows @@ -407,47 +407,43 @@ type Binding struct { // Specifies the principals requesting access for a Google Cloud resource. // `members` can have the following values: // - // * `allUsers`: A special identifier that represents anyone who is - // on the internet; with or without a Google account. + // - `allUsers`: A special identifier that represents anyone who is + // on the internet; with or without a Google account. // - // * `allAuthenticatedUsers`: A special identifier that represents anyone - // who is authenticated with a Google account or a service account. + // - `allAuthenticatedUsers`: A special identifier that represents anyone + // who is authenticated with a Google account or a service account. // - // * `user:{emailid}`: An email address that represents a specific Google - // account. For example, `alice@example.com` . + // - `user:{emailid}`: An email address that represents a specific Google + // account. For example, `alice@example.com` . // + // - `serviceAccount:{emailid}`: An email address that represents a service + // account. For example, `my-other-app@appspot.gserviceaccount.com`. // - // * `serviceAccount:{emailid}`: An email address that represents a service - // account. For example, `my-other-app@appspot.gserviceaccount.com`. + // - `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. // - // * `group:{emailid}`: An email address that represents a Google group. - // For example, `admins@example.com`. + // - `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique + // identifier) representing a user that has been recently deleted. For + // example, `alice@example.com?uid=123456789012345678901`. If the user is + // recovered, this value reverts to `user:{emailid}` and the recovered user + // retains the role in the binding. // - // * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique - // identifier) representing a user that has been recently deleted. For - // example, `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered user - // retains the role in the binding. - // - // * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus - // unique identifier) representing a service account that has been recently - // deleted. For example, - // `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. - // If the service account is undeleted, this value reverts to - // `serviceAccount:{emailid}` and the undeleted service account retains the - // role in the binding. - // - // * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique - // identifier) representing a Google group that has been recently - // deleted. For example, `admins@example.com?uid=123456789012345678901`. If - // the group is recovered, this value reverts to `group:{emailid}` and the - // recovered group retains the role in the binding. - // - // - // * `domain:{domain}`: The G Suite domain (primary) that represents all the - // users of that domain. For example, `google.com` or `example.com`. + // - `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a service account that has been recently + // deleted. For example, + // `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + // If the service account is undeleted, this value reverts to + // `serviceAccount:{emailid}` and the undeleted service account retains the + // role in the binding. // + // - `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique + // identifier) representing a Google group that has been recently + // deleted. For example, `admins@example.com?uid=123456789012345678901`. If + // the group is recovered, this value reverts to `group:{emailid}` and the + // recovered group retains the role in the binding. // + // - `domain:{domain}`: The G Suite domain (primary) that represents all the + // users of that domain. For example, `google.com` or `example.com`. Members []string `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"` // The condition that is associated with this binding. // diff --git a/iam/apiv2/iampb/deny.pb.go b/iam/apiv2/iampb/deny.pb.go index 585e5e72d36..b5760fb8591 100755 --- a/iam/apiv2/iampb/deny.pb.go +++ b/iam/apiv2/iampb/deny.pb.go @@ -45,43 +45,43 @@ type DenyRule struct { // The identities that are prevented from using one or more permissions on // Google Cloud resources. This field can contain the following values: // - // * `principalSet://goog/public:all`: A special identifier that represents - // any principal that is on the internet, even if they do not have a Google - // Account or are not logged in. + // - `principalSet://goog/public:all`: A special identifier that represents + // any principal that is on the internet, even if they do not have a Google + // Account or are not logged in. // - // * `principal://goog/subject/{email_id}`: A specific Google Account. - // Includes Gmail, Cloud Identity, and Google Workspace user accounts. For - // example, `principal://goog/subject/alice@example.com`. + // - `principal://goog/subject/{email_id}`: A specific Google Account. + // Includes Gmail, Cloud Identity, and Google Workspace user accounts. For + // example, `principal://goog/subject/alice@example.com`. // - // * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific - // Google Account that was deleted recently. For example, - // `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If - // the Google Account is recovered, this identifier reverts to the standard - // identifier for a Google Account. + // - `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific + // Google Account that was deleted recently. For example, + // `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If + // the Google Account is recovered, this identifier reverts to the standard + // identifier for a Google Account. // - // * `principalSet://goog/group/{group_id}`: A Google group. For example, - // `principalSet://goog/group/admins@example.com`. + // - `principalSet://goog/group/{group_id}`: A Google group. For example, + // `principalSet://goog/group/admins@example.com`. // - // * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group - // that was deleted recently. For example, - // `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. If - // the Google group is restored, this identifier reverts to the standard - // identifier for a Google group. + // - `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group + // that was deleted recently. For example, + // `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. If + // the Google group is restored, this identifier reverts to the standard + // identifier for a Google group. // - // * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`: - // A Google Cloud service account. For example, - // `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`. + // - `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`: + // A Google Cloud service account. For example, + // `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`. // - // * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`: - // A Google Cloud service account that was deleted recently. For example, - // `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`. - // If the service account is undeleted, this identifier reverts to the - // standard identifier for a service account. + // - `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`: + // A Google Cloud service account that was deleted recently. For example, + // `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`. + // If the service account is undeleted, this identifier reverts to the + // standard identifier for a service account. // - // * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the - // principals associated with the specified Google Workspace or Cloud - // Identity customer ID. For example, - // `principalSet://goog/cloudIdentityCustomerId/C01Abc35`. + // - `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the + // principals associated with the specified Google Workspace or Cloud + // Identity customer ID. For example, + // `principalSet://goog/cloudIdentityCustomerId/C01Abc35`. DeniedPrincipals []string `protobuf:"bytes,1,rep,name=denied_principals,json=deniedPrincipals,proto3" json:"denied_principals,omitempty"` // The identities that are excluded from the deny rule, even if they are // listed in the `denied_principals`. For example, you could add a Google diff --git a/iam/apiv2/iampb/policy.pb.go b/iam/apiv2/iampb/policy.pb.go index be46e356d93..55f20260038 100755 --- a/iam/apiv2/iampb/policy.pb.go +++ b/iam/apiv2/iampb/policy.pb.go @@ -51,7 +51,6 @@ type Policy struct { // Immutable. The resource name of the `Policy`, which must be unique. Format: // `policies/{attachment_point}/denypolicies/{policy_id}` // - // // The attachment point is identified by its URL-encoded full resource name, // which means that the forward-slash character, `/`, must be written as // `%2F`. For example, @@ -209,6 +208,7 @@ type PolicyRule struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Kind: + // // *PolicyRule_DenyRule Kind isPolicyRule_Kind `protobuf_oneof:"kind"` // A user-specified description of the rule. This value can be up to 256 @@ -290,7 +290,6 @@ type ListPoliciesRequest struct { // to list. Format: // `policies/{attachment_point}/denypolicies` // - // // The attachment point is identified by its URL-encoded full resource name, // which means that the forward-slash character, `/`, must be written as // `%2F`. For example, @@ -428,7 +427,6 @@ type GetPolicyRequest struct { // Required. The resource name of the policy to retrieve. Format: // `policies/{attachment_point}/denypolicies/{policy_id}` // - // // Use the URL-encoded full resource name, which means that the forward-slash // character, `/`, must be written as `%2F`. For example, // `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. @@ -486,7 +484,6 @@ type CreatePolicyRequest struct { // Required. The resource that the policy is attached to, along with the kind of policy // to create. Format: `policies/{attachment_point}/denypolicies` // - // // The attachment point is identified by its URL-encoded full resource name, // which means that the forward-slash character, `/`, must be written as // `%2F`. For example, @@ -619,7 +616,6 @@ type DeletePolicyRequest struct { // Required. The resource name of the policy to delete. Format: // `policies/{attachment_point}/denypolicies/{policy_id}` // - // // Use the URL-encoded full resource name, which means that the forward-slash // character, `/`, must be written as `%2F`. For example, // `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. diff --git a/iap/apiv1/iappb/service.pb.go b/iap/apiv1/iappb/service.pb.go index 1b781d1e124..b61eb57c49d 100755 --- a/iap/apiv1/iappb/service.pb.go +++ b/iap/apiv1/iappb/service.pb.go @@ -1451,26 +1451,26 @@ type AttributePropagationSettings struct { // types from `attributes`: `attributes.saml_attributes`, // `attributes.iap_attributes`. The following functions are supported: // - // - filter `.filter(, )`: Returns a subset of - // `` where `` is true for every item. + // - filter `.filter(, )`: Returns a subset of + // `` where `` is true for every item. // - // - in ` in `: Returns true if `` contains ``. + // - in ` in `: Returns true if `` contains ``. // - // - selectByName `.selectByName()`: Returns the attribute - // in - // `` with the given `` name, otherwise returns empty. + // - selectByName `.selectByName()`: Returns the attribute + // in + // `` with the given `` name, otherwise returns empty. // - // - emitAs `.emitAs()`: Sets the `` name - // field to the given `` for propagation in selected output - // credentials. + // - emitAs `.emitAs()`: Sets the `` name + // field to the given `` for propagation in selected output + // credentials. // - // - strict `.strict()`: Ignores the `x-goog-iap-attr-` prefix - // for the provided `` when propagating with the `HEADER` output - // credential, such as request headers. + // - strict `.strict()`: Ignores the `x-goog-iap-attr-` prefix + // for the provided `` when propagating with the `HEADER` output + // credential, such as request headers. // - // - append `.append()` OR - // `.append()`: Appends the provided `` or - // `` to the end of ``. + // - append `.append()` OR + // `.append()`: Appends the provided `` or + // `` to the end of ``. // // Example expression: `attributes.saml_attributes.filter(x, x.name in // ['test']).append(attributes.iap_attributes.selectByName('exact').emitAs('custom').strict())` diff --git a/internal/generated/snippets/ai/generativelanguage/apiv1/snippet_metadata.google.ai.generativelanguage.v1.json b/internal/generated/snippets/ai/generativelanguage/apiv1/snippet_metadata.google.ai.generativelanguage.v1.json index bd51d676300..49fdae9b6ab 100644 --- a/internal/generated/snippets/ai/generativelanguage/apiv1/snippet_metadata.google.ai.generativelanguage.v1.json +++ b/internal/generated/snippets/ai/generativelanguage/apiv1/snippet_metadata.google.ai.generativelanguage.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/ai/generativelanguage/apiv1", - "version": "0.3.0", + "version": "0.3.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/ai/generativelanguage/apiv1beta/snippet_metadata.google.ai.generativelanguage.v1beta.json b/internal/generated/snippets/ai/generativelanguage/apiv1beta/snippet_metadata.google.ai.generativelanguage.v1beta.json index 3d2ad874372..de899a70171 100644 --- a/internal/generated/snippets/ai/generativelanguage/apiv1beta/snippet_metadata.google.ai.generativelanguage.v1beta.json +++ b/internal/generated/snippets/ai/generativelanguage/apiv1beta/snippet_metadata.google.ai.generativelanguage.v1beta.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/ai/generativelanguage/apiv1beta", - "version": "0.3.0", + "version": "0.3.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/ai/generativelanguage/apiv1beta2/snippet_metadata.google.ai.generativelanguage.v1beta2.json b/internal/generated/snippets/ai/generativelanguage/apiv1beta2/snippet_metadata.google.ai.generativelanguage.v1beta2.json index 1c07ebc45bd..654b8d9757e 100644 --- a/internal/generated/snippets/ai/generativelanguage/apiv1beta2/snippet_metadata.google.ai.generativelanguage.v1beta2.json +++ b/internal/generated/snippets/ai/generativelanguage/apiv1beta2/snippet_metadata.google.ai.generativelanguage.v1beta2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/ai/generativelanguage/apiv1beta2", - "version": "0.3.0", + "version": "0.3.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/aiplatform/apiv1/snippet_metadata.google.cloud.aiplatform.v1.json b/internal/generated/snippets/aiplatform/apiv1/snippet_metadata.google.cloud.aiplatform.v1.json index 79b0a46b4d4..acfed20ec5a 100644 --- a/internal/generated/snippets/aiplatform/apiv1/snippet_metadata.google.cloud.aiplatform.v1.json +++ b/internal/generated/snippets/aiplatform/apiv1/snippet_metadata.google.cloud.aiplatform.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/aiplatform/apiv1", - "version": "1.58.0", + "version": "1.58.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/snippet_metadata.google.cloud.aiplatform.v1beta1.json b/internal/generated/snippets/aiplatform/apiv1beta1/snippet_metadata.google.cloud.aiplatform.v1beta1.json index c1fda07ec2d..93c3234a495 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/snippet_metadata.google.cloud.aiplatform.v1beta1.json +++ b/internal/generated/snippets/aiplatform/apiv1beta1/snippet_metadata.google.cloud.aiplatform.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/aiplatform/apiv1beta1", - "version": "1.58.0", + "version": "1.58.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/CreateCalculatedMetric/main.go b/internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/CreateCalculatedMetric/main.go new file mode 100644 index 00000000000..03e4f2a9dd1 --- /dev/null +++ b/internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/CreateCalculatedMetric/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START analyticsadmin_v1alpha_generated_AnalyticsAdminService_CreateCalculatedMetric_sync] + +package main + +import ( + "context" + + admin "cloud.google.com/go/analytics/admin/apiv1alpha" + adminpb "cloud.google.com/go/analytics/admin/apiv1alpha/adminpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := admin.NewAnalyticsAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.CreateCalculatedMetricRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/analytics/admin/apiv1alpha/adminpb#CreateCalculatedMetricRequest. + } + resp, err := c.CreateCalculatedMetric(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END analyticsadmin_v1alpha_generated_AnalyticsAdminService_CreateCalculatedMetric_sync] diff --git a/internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/DeleteCalculatedMetric/main.go b/internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/DeleteCalculatedMetric/main.go new file mode 100644 index 00000000000..f0a631d5bb9 --- /dev/null +++ b/internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/DeleteCalculatedMetric/main.go @@ -0,0 +1,51 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START analyticsadmin_v1alpha_generated_AnalyticsAdminService_DeleteCalculatedMetric_sync] + +package main + +import ( + "context" + + admin "cloud.google.com/go/analytics/admin/apiv1alpha" + adminpb "cloud.google.com/go/analytics/admin/apiv1alpha/adminpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := admin.NewAnalyticsAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.DeleteCalculatedMetricRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/analytics/admin/apiv1alpha/adminpb#DeleteCalculatedMetricRequest. + } + err = c.DeleteCalculatedMetric(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END analyticsadmin_v1alpha_generated_AnalyticsAdminService_DeleteCalculatedMetric_sync] diff --git a/internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/GetCalculatedMetric/main.go b/internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/GetCalculatedMetric/main.go new file mode 100644 index 00000000000..71ff4747978 --- /dev/null +++ b/internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/GetCalculatedMetric/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START analyticsadmin_v1alpha_generated_AnalyticsAdminService_GetCalculatedMetric_sync] + +package main + +import ( + "context" + + admin "cloud.google.com/go/analytics/admin/apiv1alpha" + adminpb "cloud.google.com/go/analytics/admin/apiv1alpha/adminpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := admin.NewAnalyticsAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.GetCalculatedMetricRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/analytics/admin/apiv1alpha/adminpb#GetCalculatedMetricRequest. + } + resp, err := c.GetCalculatedMetric(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END analyticsadmin_v1alpha_generated_AnalyticsAdminService_GetCalculatedMetric_sync] diff --git a/internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/ListCalculatedMetrics/main.go b/internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/ListCalculatedMetrics/main.go new file mode 100644 index 00000000000..e7956835de6 --- /dev/null +++ b/internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/ListCalculatedMetrics/main.go @@ -0,0 +1,60 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START analyticsadmin_v1alpha_generated_AnalyticsAdminService_ListCalculatedMetrics_sync] + +package main + +import ( + "context" + + admin "cloud.google.com/go/analytics/admin/apiv1alpha" + adminpb "cloud.google.com/go/analytics/admin/apiv1alpha/adminpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := admin.NewAnalyticsAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.ListCalculatedMetricsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/analytics/admin/apiv1alpha/adminpb#ListCalculatedMetricsRequest. + } + it := c.ListCalculatedMetrics(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END analyticsadmin_v1alpha_generated_AnalyticsAdminService_ListCalculatedMetrics_sync] diff --git a/internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/UpdateCalculatedMetric/main.go b/internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/UpdateCalculatedMetric/main.go new file mode 100644 index 00000000000..d36efcb8bed --- /dev/null +++ b/internal/generated/snippets/analytics/admin/apiv1alpha/AnalyticsAdminClient/UpdateCalculatedMetric/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START analyticsadmin_v1alpha_generated_AnalyticsAdminService_UpdateCalculatedMetric_sync] + +package main + +import ( + "context" + + admin "cloud.google.com/go/analytics/admin/apiv1alpha" + adminpb "cloud.google.com/go/analytics/admin/apiv1alpha/adminpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := admin.NewAnalyticsAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.UpdateCalculatedMetricRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/analytics/admin/apiv1alpha/adminpb#UpdateCalculatedMetricRequest. + } + resp, err := c.UpdateCalculatedMetric(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END analyticsadmin_v1alpha_generated_AnalyticsAdminService_UpdateCalculatedMetric_sync] diff --git a/internal/generated/snippets/analytics/admin/apiv1alpha/snippet_metadata.google.analytics.admin.v1alpha.json b/internal/generated/snippets/analytics/admin/apiv1alpha/snippet_metadata.google.analytics.admin.v1alpha.json index 6b041e5133e..e8e7e668672 100644 --- a/internal/generated/snippets/analytics/admin/apiv1alpha/snippet_metadata.google.analytics.admin.v1alpha.json +++ b/internal/generated/snippets/analytics/admin/apiv1alpha/snippet_metadata.google.analytics.admin.v1alpha.json @@ -605,6 +605,52 @@ } ] }, + { + "regionTag": "analyticsadmin_v1alpha_generated_AnalyticsAdminService_CreateCalculatedMetric_sync", + "title": "analyticsadmin CreateCalculatedMetric Sample", + "description": "CreateCalculatedMetric creates a CalculatedMetric.", + "file": "AnalyticsAdminClient/CreateCalculatedMetric/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateCalculatedMetric", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminClient.CreateCalculatedMetric", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.CreateCalculatedMetricRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*adminpb.CalculatedMetric", + "client": { + "shortName": "AnalyticsAdminClient", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminClient" + }, + "method": { + "shortName": "CreateCalculatedMetric", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminService.CreateCalculatedMetric", + "service": { + "shortName": "AnalyticsAdminService", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, { "regionTag": "analyticsadmin_v1alpha_generated_AnalyticsAdminService_CreateChannelGroup_sync", "title": "analyticsadmin CreateChannelGroup Sample", @@ -1660,6 +1706,51 @@ } ] }, + { + "regionTag": "analyticsadmin_v1alpha_generated_AnalyticsAdminService_DeleteCalculatedMetric_sync", + "title": "analyticsadmin DeleteCalculatedMetric Sample", + "description": "DeleteCalculatedMetric deletes a CalculatedMetric on a property.", + "file": "AnalyticsAdminClient/DeleteCalculatedMetric/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteCalculatedMetric", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminClient.DeleteCalculatedMetric", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.DeleteCalculatedMetricRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "AnalyticsAdminClient", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminClient" + }, + "method": { + "shortName": "DeleteCalculatedMetric", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminService.DeleteCalculatedMetric", + "service": { + "shortName": "AnalyticsAdminService", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, { "regionTag": "analyticsadmin_v1alpha_generated_AnalyticsAdminService_DeleteChannelGroup_sync", "title": "analyticsadmin DeleteChannelGroup Sample", @@ -2749,6 +2840,52 @@ } ] }, + { + "regionTag": "analyticsadmin_v1alpha_generated_AnalyticsAdminService_GetCalculatedMetric_sync", + "title": "analyticsadmin GetCalculatedMetric Sample", + "description": "GetCalculatedMetric lookup for a single CalculatedMetric.", + "file": "AnalyticsAdminClient/GetCalculatedMetric/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetCalculatedMetric", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminClient.GetCalculatedMetric", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.GetCalculatedMetricRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*adminpb.CalculatedMetric", + "client": { + "shortName": "AnalyticsAdminClient", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminClient" + }, + "method": { + "shortName": "GetCalculatedMetric", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminService.GetCalculatedMetric", + "service": { + "shortName": "AnalyticsAdminService", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, { "regionTag": "analyticsadmin_v1alpha_generated_AnalyticsAdminService_GetChannelGroup_sync", "title": "analyticsadmin GetChannelGroup Sample", @@ -3991,6 +4128,52 @@ } ] }, + { + "regionTag": "analyticsadmin_v1alpha_generated_AnalyticsAdminService_ListCalculatedMetrics_sync", + "title": "analyticsadmin ListCalculatedMetrics Sample", + "description": "ListCalculatedMetrics lists CalculatedMetrics on a property.", + "file": "AnalyticsAdminClient/ListCalculatedMetrics/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListCalculatedMetrics", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminClient.ListCalculatedMetrics", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.ListCalculatedMetricsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "CalculatedMetricIterator", + "client": { + "shortName": "AnalyticsAdminClient", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminClient" + }, + "method": { + "shortName": "ListCalculatedMetrics", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminService.ListCalculatedMetrics", + "service": { + "shortName": "AnalyticsAdminService", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, { "regionTag": "analyticsadmin_v1alpha_generated_AnalyticsAdminService_ListChannelGroups_sync", "title": "analyticsadmin ListChannelGroups Sample", @@ -5187,6 +5370,52 @@ } ] }, + { + "regionTag": "analyticsadmin_v1alpha_generated_AnalyticsAdminService_UpdateCalculatedMetric_sync", + "title": "analyticsadmin UpdateCalculatedMetric Sample", + "description": "UpdateCalculatedMetric updates a CalculatedMetric on a property.", + "file": "AnalyticsAdminClient/UpdateCalculatedMetric/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateCalculatedMetric", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminClient.UpdateCalculatedMetric", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.UpdateCalculatedMetricRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*adminpb.CalculatedMetric", + "client": { + "shortName": "AnalyticsAdminClient", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminClient" + }, + "method": { + "shortName": "UpdateCalculatedMetric", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminService.UpdateCalculatedMetric", + "service": { + "shortName": "AnalyticsAdminService", + "fullName": "google.analytics.admin.v1alpha.AnalyticsAdminService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, { "regionTag": "analyticsadmin_v1alpha_generated_AnalyticsAdminService_UpdateChannelGroup_sync", "title": "analyticsadmin UpdateChannelGroup Sample", diff --git a/internal/generated/snippets/billing/apiv1/snippet_metadata.google.cloud.billing.v1.json b/internal/generated/snippets/billing/apiv1/snippet_metadata.google.cloud.billing.v1.json index 531869b3976..9970544b2c0 100644 --- a/internal/generated/snippets/billing/apiv1/snippet_metadata.google.cloud.billing.v1.json +++ b/internal/generated/snippets/billing/apiv1/snippet_metadata.google.cloud.billing.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/billing/apiv1", - "version": "1.18.0", + "version": "1.18.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/billing/budgets/apiv1/snippet_metadata.google.cloud.billing.budgets.v1.json b/internal/generated/snippets/billing/budgets/apiv1/snippet_metadata.google.cloud.billing.budgets.v1.json index 4e5c562a2f3..37ba17c62b7 100644 --- a/internal/generated/snippets/billing/budgets/apiv1/snippet_metadata.google.cloud.billing.budgets.v1.json +++ b/internal/generated/snippets/billing/budgets/apiv1/snippet_metadata.google.cloud.billing.budgets.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/billing/budgets/apiv1", - "version": "1.18.0", + "version": "1.18.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/billing/budgets/apiv1beta1/snippet_metadata.google.cloud.billing.budgets.v1beta1.json b/internal/generated/snippets/billing/budgets/apiv1beta1/snippet_metadata.google.cloud.billing.budgets.v1beta1.json index eac6dfaf08e..b42cf81021d 100644 --- a/internal/generated/snippets/billing/budgets/apiv1beta1/snippet_metadata.google.cloud.billing.budgets.v1beta1.json +++ b/internal/generated/snippets/billing/budgets/apiv1beta1/snippet_metadata.google.cloud.billing.budgets.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/billing/budgets/apiv1beta1", - "version": "1.18.0", + "version": "1.18.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/cloudtasks/apiv2/snippet_metadata.google.cloud.tasks.v2.json b/internal/generated/snippets/cloudtasks/apiv2/snippet_metadata.google.cloud.tasks.v2.json index 96ef0010667..e727ee98c53 100644 --- a/internal/generated/snippets/cloudtasks/apiv2/snippet_metadata.google.cloud.tasks.v2.json +++ b/internal/generated/snippets/cloudtasks/apiv2/snippet_metadata.google.cloud.tasks.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/cloudtasks/apiv2", - "version": "1.12.4", + "version": "1.12.5", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/cloudtasks/apiv2beta2/snippet_metadata.google.cloud.tasks.v2beta2.json b/internal/generated/snippets/cloudtasks/apiv2beta2/snippet_metadata.google.cloud.tasks.v2beta2.json index 0c6f1164e7f..5918a475b1b 100644 --- a/internal/generated/snippets/cloudtasks/apiv2beta2/snippet_metadata.google.cloud.tasks.v2beta2.json +++ b/internal/generated/snippets/cloudtasks/apiv2beta2/snippet_metadata.google.cloud.tasks.v2beta2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/cloudtasks/apiv2beta2", - "version": "1.12.4", + "version": "1.12.5", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/cloudtasks/apiv2beta3/snippet_metadata.google.cloud.tasks.v2beta3.json b/internal/generated/snippets/cloudtasks/apiv2beta3/snippet_metadata.google.cloud.tasks.v2beta3.json index 7cbdddaa71f..03b12b85170 100644 --- a/internal/generated/snippets/cloudtasks/apiv2beta3/snippet_metadata.google.cloud.tasks.v2beta3.json +++ b/internal/generated/snippets/cloudtasks/apiv2beta3/snippet_metadata.google.cloud.tasks.v2beta3.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/cloudtasks/apiv2beta3", - "version": "1.12.4", + "version": "1.12.5", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/config/apiv1/snippet_metadata.google.cloud.config.v1.json b/internal/generated/snippets/config/apiv1/snippet_metadata.google.cloud.config.v1.json index c46dc4e7f36..1e05f8931cc 100644 --- a/internal/generated/snippets/config/apiv1/snippet_metadata.google.cloud.config.v1.json +++ b/internal/generated/snippets/config/apiv1/snippet_metadata.google.cloud.config.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/config/apiv1", - "version": "0.1.4", + "version": "0.2.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/container/apiv1/snippet_metadata.google.container.v1.json b/internal/generated/snippets/container/apiv1/snippet_metadata.google.container.v1.json index d5e44d2af1c..d5734e87be1 100644 --- a/internal/generated/snippets/container/apiv1/snippet_metadata.google.container.v1.json +++ b/internal/generated/snippets/container/apiv1/snippet_metadata.google.container.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/container/apiv1", - "version": "1.29.0", + "version": "1.30.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/edgenetwork/apiv1/snippet_metadata.google.cloud.edgenetwork.v1.json b/internal/generated/snippets/edgenetwork/apiv1/snippet_metadata.google.cloud.edgenetwork.v1.json index 1f38053468d..c11627225e4 100644 --- a/internal/generated/snippets/edgenetwork/apiv1/snippet_metadata.google.cloud.edgenetwork.v1.json +++ b/internal/generated/snippets/edgenetwork/apiv1/snippet_metadata.google.cloud.edgenetwork.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/edgenetwork/apiv1", - "version": "0.1.0", + "version": "0.2.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/functions/apiv1/snippet_metadata.google.cloud.functions.v1.json b/internal/generated/snippets/functions/apiv1/snippet_metadata.google.cloud.functions.v1.json index a5c7d7d5c05..34b6c6f985f 100644 --- a/internal/generated/snippets/functions/apiv1/snippet_metadata.google.cloud.functions.v1.json +++ b/internal/generated/snippets/functions/apiv1/snippet_metadata.google.cloud.functions.v1.json @@ -60,7 +60,7 @@ { "regionTag": "cloudfunctions_v1_generated_CloudFunctionsService_CreateFunction_sync", "title": "cloudfunctions CreateFunction Sample", - "description": "CreateFunction creates a new function. If a function with the given name already exists in\nthe specified project, the long running operation returns an\n`ALREADY_EXISTS` error.", + "description": "CreateFunction creates a new function. If a function with the given name already exists in\nthe specified project, the long running operation will return\n`ALREADY_EXISTS` error.", "file": "CloudFunctionsClient/CreateFunction/main.go", "language": "GO", "clientMethod": { @@ -106,7 +106,7 @@ { "regionTag": "cloudfunctions_v1_generated_CloudFunctionsService_DeleteFunction_sync", "title": "cloudfunctions DeleteFunction Sample", - "description": "DeleteFunction deletes a function with the given name from the specified project. If the\ngiven function is used by some trigger, the trigger is updated to\nremove this function.", + "description": "DeleteFunction deletes a function with the given name from the specified project. If the\ngiven function is used by some trigger, the trigger will be updated to\nremove this function.", "file": "CloudFunctionsClient/DeleteFunction/main.go", "language": "GO", "clientMethod": { @@ -152,7 +152,7 @@ { "regionTag": "cloudfunctions_v1_generated_CloudFunctionsService_GenerateDownloadUrl_sync", "title": "cloudfunctions GenerateDownloadUrl Sample", - "description": "GenerateDownloadUrl returns a signed URL for downloading deployed function source code.\nThe URL is only valid for a limited period and must be used within\nminutes after generation.\nFor more information about the signed URL usage, see: \nhttps: //cloud.google.com/storage/docs/access-control/signed-urls", + "description": "GenerateDownloadUrl returns a signed URL for downloading deployed function source code.\nThe URL is only valid for a limited period and should be used within\nminutes after generation.\nFor more information about the signed URL usage see: \nhttps: //cloud.google.com/storage/docs/access-control/signed-urls", "file": "CloudFunctionsClient/GenerateDownloadUrl/main.go", "language": "GO", "clientMethod": { @@ -198,7 +198,7 @@ { "regionTag": "cloudfunctions_v1_generated_CloudFunctionsService_GenerateUploadUrl_sync", "title": "cloudfunctions GenerateUploadUrl Sample", - "description": "GenerateUploadUrl returns a signed URL for uploading a function source code.\nFor more information about the signed URL usage see: \nhttps: //cloud.google.com/storage/docs/access-control/signed-urls.\nOnce the function source code upload is complete, the used signed\nURL should be provided in CreateFunction or UpdateFunction request\nas a reference to the function source code.\n\nWhen uploading source code to the generated signed URL, please follow\nthese restrictions: \n\n* Source file type should be a zip file.\n* Source file size should not exceed 100MB limit.\n* No credentials should be attached - the signed URLs provide access to the\ntarget bucket using internal service identity; if credentials were\nattached, the identity from the credentials would be used, but that\nidentity does not have permissions to upload files to the URL.\n\nWhen making an HTTP PUT request, these two headers must be specified: \n\n* `content-type: application/zip`\n* `x-goog-content-length-range: 0,104857600`\n\nAnd this header must NOT be specified: \n\n* `Authorization: Bearer YOUR_TOKEN`", + "description": "GenerateUploadUrl returns a signed URL for uploading a function source code.\nFor more information about the signed URL usage see: \nhttps: //cloud.google.com/storage/docs/access-control/signed-urls.\nOnce the function source code upload is complete, the used signed\nURL should be provided in CreateFunction or UpdateFunction request\nas a reference to the function source code.\n\nWhen uploading source code to the generated signed URL, please follow\nthese restrictions: \n\n* Source file type should be a zip file.\n* Source file size should not exceed 100MB limit.\n* No credentials should be attached - the signed URLs provide access to the\ntarget bucket using internal service identity; if credentials were\nattached, the identity from the credentials would be used, but that\nidentity does not have permissions to upload files to the URL.\n\nWhen making a HTTP PUT request, these two headers need to be specified: \n\n* `content-type: application/zip`\n* `x-goog-content-length-range: 0,104857600`\n\nAnd this header SHOULD NOT be specified: \n\n* `Authorization: Bearer YOUR_TOKEN`", "file": "CloudFunctionsClient/GenerateUploadUrl/main.go", "language": "GO", "clientMethod": { @@ -566,7 +566,7 @@ { "regionTag": "cloudfunctions_v1_generated_CloudFunctionsService_TestIamPermissions_sync", "title": "cloudfunctions TestIamPermissions Sample", - "description": "TestIamPermissions tests the specified permissions against the IAM access control policy\nfor a function.\nIf the function does not exist, this returns an empty set of\npermissions, not a NOT_FOUND error.", + "description": "TestIamPermissions tests the specified permissions against the IAM access control policy\nfor a function.\nIf the function does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.", "file": "CloudFunctionsClient/TestIamPermissions/main.go", "language": "GO", "clientMethod": { diff --git a/internal/generated/snippets/pubsub/apiv1/snippet_metadata.google.pubsub.v1.json b/internal/generated/snippets/pubsub/apiv1/snippet_metadata.google.pubsub.v1.json index 81859101f47..668ad1f63c9 100644 --- a/internal/generated/snippets/pubsub/apiv1/snippet_metadata.google.pubsub.v1.json +++ b/internal/generated/snippets/pubsub/apiv1/snippet_metadata.google.pubsub.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/pubsub/apiv1", - "version": "1.34.0", + "version": "1.35.0", "language": "GO", "apis": [ { @@ -519,7 +519,7 @@ { "regionTag": "pubsub_v1_generated_Publisher_UpdateTopic_sync", "title": "pubsub UpdateTopic Sample", - "description": "UpdateTopic updates an existing topic. Note that certain properties of a\ntopic are not modifiable.", + "description": "UpdateTopic updates an existing topic by updating the fields specified in the update\nmask. Note that certain properties of a topic are not modifiable.", "file": "PublisherClient/UpdateTopic/main.go", "language": "GO", "clientMethod": { @@ -1935,7 +1935,7 @@ { "regionTag": "pubsub_v1_generated_Subscriber_UpdateSnapshot_sync", "title": "pubsub UpdateSnapshot Sample", - "description": "UpdateSnapshot updates an existing snapshot. Snapshots are used in\n[Seek](https: //cloud.google.com/pubsub/docs/replay-overview) operations,\nwhich allow you to manage message acknowledgments in bulk. That is, you can\nset the acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot.", + "description": "UpdateSnapshot updates an existing snapshot by updating the fields specified in the update\nmask. Snapshots are used in\n[Seek](https: //cloud.google.com/pubsub/docs/replay-overview) operations,\nwhich allow you to manage message acknowledgments in bulk. That is, you can\nset the acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot.", "file": "SubscriberClient/UpdateSnapshot/main.go", "language": "GO", "clientMethod": { @@ -1981,7 +1981,7 @@ { "regionTag": "pubsub_v1_generated_Subscriber_UpdateSubscription_sync", "title": "pubsub UpdateSubscription Sample", - "description": "UpdateSubscription updates an existing subscription. Note that certain properties of a\nsubscription, such as its topic, are not modifiable.", + "description": "UpdateSubscription updates an existing subscription by updating the fields specified in the\nupdate mask. Note that certain properties of a subscription, such as its\ntopic, are not modifiable.", "file": "SubscriberClient/UpdateSubscription/main.go", "language": "GO", "clientMethod": { diff --git a/internal/generated/snippets/retail/apiv2/snippet_metadata.google.cloud.retail.v2.json b/internal/generated/snippets/retail/apiv2/snippet_metadata.google.cloud.retail.v2.json index 79060a8b9d9..271c4db1114 100644 --- a/internal/generated/snippets/retail/apiv2/snippet_metadata.google.cloud.retail.v2.json +++ b/internal/generated/snippets/retail/apiv2/snippet_metadata.google.cloud.retail.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/retail/apiv2", - "version": "1.14.4", + "version": "1.15.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/retail/apiv2alpha/snippet_metadata.google.cloud.retail.v2alpha.json b/internal/generated/snippets/retail/apiv2alpha/snippet_metadata.google.cloud.retail.v2alpha.json index 024a09848b3..93b42c6c83e 100644 --- a/internal/generated/snippets/retail/apiv2alpha/snippet_metadata.google.cloud.retail.v2alpha.json +++ b/internal/generated/snippets/retail/apiv2alpha/snippet_metadata.google.cloud.retail.v2alpha.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/retail/apiv2alpha", - "version": "1.14.4", + "version": "1.15.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/retail/apiv2beta/snippet_metadata.google.cloud.retail.v2beta.json b/internal/generated/snippets/retail/apiv2beta/snippet_metadata.google.cloud.retail.v2beta.json index efe7610dec5..2972e048579 100644 --- a/internal/generated/snippets/retail/apiv2beta/snippet_metadata.google.cloud.retail.v2beta.json +++ b/internal/generated/snippets/retail/apiv2beta/snippet_metadata.google.cloud.retail.v2beta.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/retail/apiv2beta", - "version": "1.14.4", + "version": "1.15.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/securitycentermanagement/apiv1/snippet_metadata.google.cloud.securitycentermanagement.v1.json b/internal/generated/snippets/securitycentermanagement/apiv1/snippet_metadata.google.cloud.securitycentermanagement.v1.json index 82c11e6098b..bb916184b37 100644 --- a/internal/generated/snippets/securitycentermanagement/apiv1/snippet_metadata.google.cloud.securitycentermanagement.v1.json +++ b/internal/generated/snippets/securitycentermanagement/apiv1/snippet_metadata.google.cloud.securitycentermanagement.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/securitycentermanagement/apiv1", - "version": "0.1.1", + "version": "0.1.2", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/securityposture/apiv1/snippet_metadata.google.cloud.securityposture.v1.json b/internal/generated/snippets/securityposture/apiv1/snippet_metadata.google.cloud.securityposture.v1.json index c3078c188db..29b744fa2f4 100644 --- a/internal/generated/snippets/securityposture/apiv1/snippet_metadata.google.cloud.securityposture.v1.json +++ b/internal/generated/snippets/securityposture/apiv1/snippet_metadata.google.cloud.securityposture.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/securityposture/apiv1", - "version": "0.0.0", + "version": "0.1.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/vmwareengine/apiv1/snippet_metadata.google.cloud.vmwareengine.v1.json b/internal/generated/snippets/vmwareengine/apiv1/snippet_metadata.google.cloud.vmwareengine.v1.json index 15bc5ff0c67..ed6bf4950e8 100644 --- a/internal/generated/snippets/vmwareengine/apiv1/snippet_metadata.google.cloud.vmwareengine.v1.json +++ b/internal/generated/snippets/vmwareengine/apiv1/snippet_metadata.google.cloud.vmwareengine.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/vmwareengine/apiv1", - "version": "1.0.3", + "version": "1.1.0", "language": "GO", "apis": [ { diff --git a/iot/apiv1/iotpb/device_manager.pb.go b/iot/apiv1/iotpb/device_manager.pb.go index f7de1e01073..d8197b56eb2 100755 --- a/iot/apiv1/iotpb/device_manager.pb.go +++ b/iot/apiv1/iotpb/device_manager.pb.go @@ -764,6 +764,7 @@ type GatewayListOptions struct { // filtered based on gateway type and associations. // // Types that are assignable to Filter: + // // *GatewayListOptions_GatewayType // *GatewayListOptions_AssociationsGatewayId // *GatewayListOptions_AssociationsDeviceId @@ -2585,12 +2586,13 @@ type DeviceManagerClient interface { TestIamPermissions(ctx context.Context, in *iampb.TestIamPermissionsRequest, opts ...grpc.CallOption) (*iampb.TestIamPermissionsResponse, error) // Sends a command to the specified device. In order for a device to be able // to receive commands, it must: - // 1) be connected to Cloud IoT Core using the MQTT protocol, and - // 2) be subscribed to the group of MQTT topics specified by - // /devices/{device-id}/commands/#. This subscription will receive commands - // at the top-level topic /devices/{device-id}/commands as well as commands - // for subfolders, like /devices/{device-id}/commands/subfolder. - // Note that subscribing to specific subfolders is not supported. + // 1. be connected to Cloud IoT Core using the MQTT protocol, and + // 2. be subscribed to the group of MQTT topics specified by + // /devices/{device-id}/commands/#. This subscription will receive commands + // at the top-level topic /devices/{device-id}/commands as well as commands + // for subfolders, like /devices/{device-id}/commands/subfolder. + // Note that subscribing to specific subfolders is not supported. + // // If the command could not be delivered to the device, this method will // return an error; in particular, if the device is not subscribed, this // method will return FAILED_PRECONDITION. Otherwise, this method will @@ -2827,12 +2829,13 @@ type DeviceManagerServer interface { TestIamPermissions(context.Context, *iampb.TestIamPermissionsRequest) (*iampb.TestIamPermissionsResponse, error) // Sends a command to the specified device. In order for a device to be able // to receive commands, it must: - // 1) be connected to Cloud IoT Core using the MQTT protocol, and - // 2) be subscribed to the group of MQTT topics specified by - // /devices/{device-id}/commands/#. This subscription will receive commands - // at the top-level topic /devices/{device-id}/commands as well as commands - // for subfolders, like /devices/{device-id}/commands/subfolder. - // Note that subscribing to specific subfolders is not supported. + // 1. be connected to Cloud IoT Core using the MQTT protocol, and + // 2. be subscribed to the group of MQTT topics specified by + // /devices/{device-id}/commands/#. This subscription will receive commands + // at the top-level topic /devices/{device-id}/commands as well as commands + // for subfolders, like /devices/{device-id}/commands/subfolder. + // Note that subscribing to specific subfolders is not supported. + // // If the command could not be delivered to the device, this method will // return an error; in particular, if the device is not subscribed, this // method will return FAILED_PRECONDITION. Otherwise, this method will diff --git a/iot/apiv1/iotpb/resources.pb.go b/iot/apiv1/iotpb/resources.pb.go index 3d226a748d9..431a6acd955 100755 --- a/iot/apiv1/iotpb/resources.pb.go +++ b/iot/apiv1/iotpb/resources.pb.go @@ -1135,6 +1135,7 @@ type RegistryCredential struct { // The credential data. Reserved for expansion in the future. // // Types that are assignable to Credential: + // // *RegistryCredential_PublicKeyCertificate Credential isRegistryCredential_Credential `protobuf_oneof:"credential"` } @@ -1366,6 +1367,7 @@ type DeviceCredential struct { // The credential data. Reserved for expansion in the future. // // Types that are assignable to Credential: + // // *DeviceCredential_PublicKey Credential isDeviceCredential_Credential `protobuf_oneof:"credential"` // [Optional] The time at which this credential becomes invalid. This diff --git a/kms/apiv1/kmspb/ekm_service.pb.go b/kms/apiv1/kmspb/ekm_service.pb.go index fdc98c0846e..8ace9c8cc4e 100755 --- a/kms/apiv1/kmspb/ekm_service.pb.go +++ b/kms/apiv1/kmspb/ekm_service.pb.go @@ -57,12 +57,13 @@ const ( // * When creating a // [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] associated with // this - // [EkmConnection][google.cloud.kms.v1.EkmConnection], the caller must - // supply the key path of pre-existing external key material that will be - // linked to the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. - // * Destruction of external key material cannot be requested via the - // Cloud KMS API and must be performed directly in the EKM. - // * Automatic rotation of key material is not supported. + // + // [EkmConnection][google.cloud.kms.v1.EkmConnection], the caller must + // supply the key path of pre-existing external key material that will be + // linked to the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. + // - Destruction of external key material cannot be requested via the + // Cloud KMS API and must be performed directly in the EKM. + // - Automatic rotation of key material is not supported. EkmConnection_MANUAL EkmConnection_KeyManagementMode = 1 // All [CryptoKeys][google.cloud.kms.v1.CryptoKey] created with this // [EkmConnection][google.cloud.kms.v1.EkmConnection] use EKM-side key @@ -70,13 +71,14 @@ const ( // * When a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] // associated with this [EkmConnection][google.cloud.kms.v1.EkmConnection] // is - // created, the EKM automatically generates new key material and a new - // key path. The caller cannot supply the key path of pre-existing - // external key material. - // * Destruction of external key material associated with this - // [EkmConnection][google.cloud.kms.v1.EkmConnection] can be requested by - // calling [DestroyCryptoKeyVersion][EkmService.DestroyCryptoKeyVersion]. - // * Automatic rotation of key material is supported. + // + // created, the EKM automatically generates new key material and a new + // key path. The caller cannot supply the key path of pre-existing + // external key material. + // - Destruction of external key material associated with this + // [EkmConnection][google.cloud.kms.v1.EkmConnection] can be requested by + // calling [DestroyCryptoKeyVersion][EkmService.DestroyCryptoKeyVersion]. + // - Automatic rotation of key material is supported. EkmConnection_CLOUD_KMS EkmConnection_KeyManagementMode = 2 ) diff --git a/kms/apiv1/kmspb/resources.pb.go b/kms/apiv1/kmspb/resources.pb.go index e4b300d9d62..a74f58496c9 100755 --- a/kms/apiv1/kmspb/resources.pb.go +++ b/kms/apiv1/kmspb/resources.pb.go @@ -933,6 +933,7 @@ type CryptoKey struct { // Controls the rate of automatic rotation. // // Types that are assignable to RotationSchedule: + // // *CryptoKey_RotationPeriod RotationSchedule isCryptoKey_RotationSchedule `protobuf_oneof:"rotation_schedule"` // A template describing settings for new diff --git a/kms/apiv1/kmspb/service.pb.go b/kms/apiv1/kmspb/service.pb.go index 6ed2a1f89de..259f970c2e9 100755 --- a/kms/apiv1/kmspb/service.pb.go +++ b/kms/apiv1/kmspb/service.pb.go @@ -1285,14 +1285,16 @@ type ImportCryptoKeyVersionRequest struct { // // this field must contain the concatenation of: //
    - //
  1. An ephemeral AES-256 wrapping key wrapped with the - // [public_key][google.cloud.kms.v1.ImportJob.public_key] using - // RSAES-OAEP with SHA-1/SHA-256, MGF1 with SHA-1/SHA-256, and an empty - // label. - //
  2. - //
  3. The formatted key to be imported, wrapped with the ephemeral AES-256 - // key using AES-KWP (RFC 5649). - //
  4. + // + //
  5. An ephemeral AES-256 wrapping key wrapped with the + // [public_key][google.cloud.kms.v1.ImportJob.public_key] using + // RSAES-OAEP with SHA-1/SHA-256, MGF1 with SHA-1/SHA-256, and an empty + // label. + //
  6. + //
  7. The formatted key to be imported, wrapped with the ephemeral AES-256 + // key using AES-KWP (RFC 5649). + //
  8. + // //
// // This format is the same as the format produced by PKCS#11 mechanism @@ -1312,6 +1314,7 @@ type ImportCryptoKeyVersionRequest struct { // instead. // // Types that are assignable to WrappedKeyMaterial: + // // *ImportCryptoKeyVersionRequest_RsaAesWrappedKey WrappedKeyMaterial isImportCryptoKeyVersionRequest_WrappedKeyMaterial `protobuf_oneof:"wrapped_key_material"` } @@ -4029,6 +4032,7 @@ type Digest struct { // Required. The message digest. // // Types that are assignable to Digest: + // // *Digest_Sha256 // *Digest_Sha384 // *Digest_Sha512 diff --git a/language/apiv1/languagepb/language_service.pb.go b/language/apiv1/languagepb/language_service.pb.go index 54ad62b20ac..b545723d57e 100755 --- a/language/apiv1/languagepb/language_service.pb.go +++ b/language/apiv1/languagepb/language_service.pb.go @@ -1611,6 +1611,7 @@ type Document struct { // Google Cloud Storage URI. // // Types that are assignable to Source: + // // *Document_Content // *Document_GcsContentUri Source isDocument_Source `protobuf_oneof:"source"` @@ -2435,6 +2436,7 @@ type ClassificationModelOptions struct { // If this field is not set, then the `v1_model` will be used by default. // // Types that are assignable to ModelType: + // // *ClassificationModelOptions_V1Model_ // *ClassificationModelOptions_V2Model_ ModelType isClassificationModelOptions_ModelType `protobuf_oneof:"model_type"` diff --git a/language/apiv1beta2/languagepb/language_service.pb.go b/language/apiv1beta2/languagepb/language_service.pb.go index 2f03a6762cd..841ab108ad5 100755 --- a/language/apiv1beta2/languagepb/language_service.pb.go +++ b/language/apiv1beta2/languagepb/language_service.pb.go @@ -1665,6 +1665,7 @@ type Document struct { // Google Cloud Storage URI. // // Types that are assignable to Source: + // // *Document_Content // *Document_GcsContentUri Source isDocument_Source `protobuf_oneof:"source"` @@ -2507,6 +2508,7 @@ type ClassificationModelOptions struct { // If this field is not set, then the `v1_model` will be used by default. // // Types that are assignable to ModelType: + // // *ClassificationModelOptions_V1Model_ // *ClassificationModelOptions_V2Model_ ModelType isClassificationModelOptions_ModelType `protobuf_oneof:"model_type"` diff --git a/language/apiv2/languagepb/language_service.pb.go b/language/apiv2/languagepb/language_service.pb.go index c4ff436a52b..8bca725c8f2 100755 --- a/language/apiv2/languagepb/language_service.pb.go +++ b/language/apiv2/languagepb/language_service.pb.go @@ -357,6 +357,7 @@ type Document struct { // Google Cloud Storage URI. // // Types that are assignable to Source: + // // *Document_Content // *Document_GcsContentUri Source isDocument_Source `protobuf_oneof:"source"` diff --git a/lifesciences/apiv2beta/lifesciencespb/workflows.pb.go b/lifesciences/apiv2beta/lifesciencespb/workflows.pb.go index f463518d7d1..cc0bf7f925d 100755 --- a/lifesciences/apiv2beta/lifesciencespb/workflows.pb.go +++ b/lifesciences/apiv2beta/lifesciencespb/workflows.pb.go @@ -349,15 +349,17 @@ type Action struct { // operational components. // //
    - //
  • /google/logs All logs written during the pipeline - // execution.
  • - //
  • /google/logs/output The combined standard output and - // standard error of all actions run as part of the pipeline - // execution.
  • - //
  • /google/logs/action/*/stdout The complete contents of - // each individual action's standard output.
  • - //
  • /google/logs/action/*/stderr The complete contents of - // each individual action's standard error output.
  • + // + //
  • /google/logs All logs written during the pipeline + // execution.
  • + //
  • /google/logs/output The combined standard output and + // standard error of all actions run as part of the pipeline + // execution.
  • + //
  • /google/logs/action/*/stdout The complete contents of + // each individual action's standard output.
  • + //
  • /google/logs/action/*/stderr The complete contents of + // each individual action's standard error output.
  • + // //
Mounts []*Mount `protobuf:"bytes,9,rep,name=mounts,proto3" json:"mounts,omitempty"` // Labels to associate with the action. This field is provided to assist @@ -1334,6 +1336,7 @@ type Volume struct { // start with a hyphen. Volume string `protobuf:"bytes,1,opt,name=volume,proto3" json:"volume,omitempty"` // Types that are assignable to Storage: + // // *Volume_PersistentDisk // *Volume_ExistingDisk // *Volume_NfsMount @@ -1736,6 +1739,7 @@ type Event struct { // Machine-readable details about the event. // // Types that are assignable to Details: + // // *Event_Delayed // *Event_WorkerAssigned // *Event_WorkerReleased diff --git a/logging/apiv2/loggingpb/log_entry.pb.go b/logging/apiv2/loggingpb/log_entry.pb.go index 0eb75f54d3b..23414263366 100755 --- a/logging/apiv2/loggingpb/log_entry.pb.go +++ b/logging/apiv2/loggingpb/log_entry.pb.go @@ -49,10 +49,10 @@ type LogEntry struct { // Required. The resource name of the log to which this log entry belongs: // - // "projects/[PROJECT_ID]/logs/[LOG_ID]" - // "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" - // "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" - // "folders/[FOLDER_ID]/logs/[LOG_ID]" + // "projects/[PROJECT_ID]/logs/[LOG_ID]" + // "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + // "folders/[FOLDER_ID]/logs/[LOG_ID]" // // A project number may be used in place of PROJECT_ID. The project number is // translated to its corresponding PROJECT_ID internally and the `log_name` @@ -80,6 +80,7 @@ type LogEntry struct { // The log entry payload, which can be one of multiple types. // // Types that are assignable to Payload: + // // *LogEntry_ProtoPayload // *LogEntry_TextPayload // *LogEntry_JsonPayload @@ -361,8 +362,8 @@ type LogEntry_ProtoPayload struct { // The following protocol buffer types are supported; user-defined types // are not supported: // - // "type.googleapis.com/google.cloud.audit.AuditLog" - // "type.googleapis.com/google.appengine.logging.v1.RequestLog" + // "type.googleapis.com/google.cloud.audit.AuditLog" + // "type.googleapis.com/google.appengine.logging.v1.RequestLog" ProtoPayload *anypb.Any `protobuf:"bytes,2,opt,name=proto_payload,json=protoPayload,proto3,oneof"` } diff --git a/logging/apiv2/loggingpb/logging.pb.go b/logging/apiv2/loggingpb/logging.pb.go index 5104c57b87d..c80c7882ca4 100755 --- a/logging/apiv2/loggingpb/logging.pb.go +++ b/logging/apiv2/loggingpb/logging.pb.go @@ -178,8 +178,8 @@ type WriteLogEntriesRequest struct { // // `[LOG_ID]` must be URL-encoded. For example: // - // "projects/my-project-id/logs/syslog" - // "organizations/123/logs/cloudaudit.googleapis.com%2Factivity" + // "projects/my-project-id/logs/syslog" + // "organizations/123/logs/cloudaudit.googleapis.com%2Factivity" // // The permission `logging.logEntries.create` is needed on each project, // organization, billing account, or folder that is receiving new log @@ -189,9 +189,9 @@ type WriteLogEntriesRequest struct { // Optional. A default monitored resource object that is assigned to all log // entries in `entries` that do not specify a value for `resource`. Example: // - // { "type": "gce_instance", - // "labels": { - // "zone": "us-central1-a", "instance_id": "00000000000000000000" }} + // { "type": "gce_instance", + // "labels": { + // "zone": "us-central1-a", "instance_id": "00000000000000000000" }} // // See [LogEntry][google.logging.v2.LogEntry]. Resource *monitoredres.MonitoredResource `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"` @@ -422,10 +422,10 @@ type ListLogEntriesRequest struct { // // May alternatively be one or more views: // - // * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` - // * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` - // * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` - // * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // - `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // - `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // - `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // - `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` // // Projects listed in the `project_ids` field are added to this list. // A maximum of 100 resources may be specified in a single request. @@ -729,10 +729,10 @@ type ListLogsRequest struct { Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. List of resource names to list logs for: // - // * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` - // * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` - // * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` - // * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // - `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // - `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // - `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // - `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` // // To support legacy queries, it could also be: // @@ -891,10 +891,10 @@ type TailLogEntriesRequest struct { // // May alternatively be one or more views: // - // * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` - // * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` - // * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` - // * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // - `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // - `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // - `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // - `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` ResourceNames []string `protobuf:"bytes,1,rep,name=resource_names,json=resourceNames,proto3" json:"resource_names,omitempty"` // Optional. Only log entries that match the filter are returned. An empty // filter matches all log entries in the resources listed in `resource_names`. diff --git a/logging/apiv2/loggingpb/logging_config.pb.go b/logging/apiv2/loggingpb/logging_config.pb.go index e765759f1ec..36bd2d1dbce 100755 --- a/logging/apiv2/loggingpb/logging_config.pb.go +++ b/logging/apiv2/loggingpb/logging_config.pb.go @@ -380,7 +380,7 @@ type LogBucket struct { // // For example: // - // `projects/my-project/locations/global/buckets/my-bucket` + // `projects/my-project/locations/global/buckets/my-bucket` // // For a list of supported locations, see [Supported // Regions](https://cloud.google.com/logging/docs/region-support) @@ -550,7 +550,7 @@ type LogView struct { // // For example: // - // `projects/my-project/locations/global/buckets/my-bucket/views/my-view` + // `projects/my-project/locations/global/buckets/my-bucket/views/my-view` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Describes this view. Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` @@ -570,8 +570,8 @@ type LogView struct { // // For example: // - // SOURCE("projects/myproject") AND resource.type = "gce_instance" - // AND LOG_ID("stdout") + // SOURCE("projects/myproject") AND resource.type = "gce_instance" + // AND LOG_ID("stdout") Filter string `protobuf:"bytes,7,opt,name=filter,proto3" json:"filter,omitempty"` } @@ -661,9 +661,9 @@ type LogSink struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. The export destination: // - // "storage.googleapis.com/[GCS_BUCKET]" - // "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" - // "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" + // "storage.googleapis.com/[GCS_BUCKET]" + // "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" + // "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" // // The sink's `writer_identity`, set when the sink is created, must have // permission to write to the destination or else the log entries are not @@ -678,7 +678,7 @@ type LogSink struct { // // For example: // - // `logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR` + // `logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR` Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"` // Optional. A description of this sink. // @@ -731,12 +731,13 @@ type LogSink struct { // To only export entries from certain child projects, filter on the project // part of the log name: // - // logName:("projects/test-project1/" OR "projects/test-project2/") AND - // resource.type=gce_instance + // logName:("projects/test-project1/" OR "projects/test-project2/") AND + // resource.type=gce_instance IncludeChildren bool `protobuf:"varint,9,opt,name=include_children,json=includeChildren,proto3" json:"include_children,omitempty"` // Destination dependent options. // // Types that are assignable to Options: + // // *LogSink_BigqueryOptions Options isLogSink_Options `protobuf_oneof:"options"` // Output only. The creation timestamp of the sink. @@ -896,7 +897,8 @@ type BigQueryDataset struct { // only). // // The dataset will have a resource path of - // "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET_ID]" + // + // "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET_ID]" DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"` } @@ -949,14 +951,14 @@ type Link struct { // A valid link id (at the end of the link name) must only have alphanumeric // characters and underscores within it. // - // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" - // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" - // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" - // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" // // For example: // - // `projects/my-project/locations/global/buckets/my-bucket/links/my_link + // `projects/my-project/locations/global/buckets/my-bucket/links/my_link Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Describes this link. // @@ -1119,10 +1121,10 @@ type ListBucketsRequest struct { // Required. The parent resource whose buckets are to be listed: // - // "projects/[PROJECT_ID]/locations/[LOCATION_ID]" - // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]" - // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]" - // "folders/[FOLDER_ID]/locations/[LOCATION_ID]" + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]" // // Note: The locations portion of the resource must be specified, but // supplying the character `-` in place of [LOCATION_ID] will return all @@ -1260,11 +1262,11 @@ type CreateBucketRequest struct { // Required. The resource in which to create the log bucket: // - // "projects/[PROJECT_ID]/locations/[LOCATION_ID]" + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]" // // For example: // - // `"projects/my-project/locations/global"` + // `"projects/my-project/locations/global"` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. A client-assigned identifier such as `"my-bucket"`. Identifiers // are limited to 100 characters and can include only letters, digits, @@ -1337,14 +1339,14 @@ type UpdateBucketRequest struct { // Required. The full resource name of the bucket to update. // - // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" - // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" - // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" - // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" // // For example: // - // `"projects/my-project/locations/global/buckets/my-bucket"` + // `"projects/my-project/locations/global/buckets/my-bucket"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. The updated bucket. Bucket *LogBucket `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"` @@ -1420,14 +1422,14 @@ type GetBucketRequest struct { // Required. The resource name of the bucket: // - // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" - // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" - // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" - // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" // // For example: // - // `"projects/my-project/locations/global/buckets/my-bucket"` + // `"projects/my-project/locations/global/buckets/my-bucket"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1478,14 +1480,14 @@ type DeleteBucketRequest struct { // Required. The full resource name of the bucket to delete. // - // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" - // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" - // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" - // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" // // For example: // - // `"projects/my-project/locations/global/buckets/my-bucket"` + // `"projects/my-project/locations/global/buckets/my-bucket"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1536,14 +1538,14 @@ type UndeleteBucketRequest struct { // Required. The full resource name of the bucket to undelete. // - // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" - // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" - // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" - // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" // // For example: // - // `"projects/my-project/locations/global/buckets/my-bucket"` + // `"projects/my-project/locations/global/buckets/my-bucket"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1594,7 +1596,7 @@ type ListViewsRequest struct { // Required. The bucket whose views are to be listed: // - // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. If present, then retrieve the next batch of results from the // preceding call to this method. `pageToken` must be the value of @@ -1729,11 +1731,11 @@ type CreateViewRequest struct { // Required. The bucket in which to create the view // - // `"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"` + // `"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"` // // For example: // - // `"projects/my-project/locations/global/buckets/my-bucket"` + // `"projects/my-project/locations/global/buckets/my-bucket"` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. A client-assigned identifier such as `"my-view"`. Identifiers are // limited to 100 characters and can include only letters, digits, @@ -1804,11 +1806,11 @@ type UpdateViewRequest struct { // Required. The full resource name of the view to update // - // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" // // For example: // - // `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"` + // `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. The updated view. View *LogView `protobuf:"bytes,2,opt,name=view,proto3" json:"view,omitempty"` @@ -1884,11 +1886,11 @@ type GetViewRequest struct { // Required. The resource name of the policy: // - // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" // // For example: // - // `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"` + // `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1939,11 +1941,11 @@ type DeleteViewRequest struct { // Required. The full resource name of the view to delete: // - // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" // // For example: // - // `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"` + // `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1994,10 +1996,10 @@ type ListSinksRequest struct { // Required. The parent resource whose sinks are to be listed: // - // "projects/[PROJECT_ID]" - // "organizations/[ORGANIZATION_ID]" - // "billingAccounts/[BILLING_ACCOUNT_ID]" - // "folders/[FOLDER_ID]" + // "projects/[PROJECT_ID]" + // "organizations/[ORGANIZATION_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]" + // "folders/[FOLDER_ID]" Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. If present, then retrieve the next batch of results from the // preceding call to this method. `pageToken` must be the value of @@ -2131,14 +2133,14 @@ type GetSinkRequest struct { // Required. The resource name of the sink: // - // "projects/[PROJECT_ID]/sinks/[SINK_ID]" - // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" - // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" - // "folders/[FOLDER_ID]/sinks/[SINK_ID]" + // "projects/[PROJECT_ID]/sinks/[SINK_ID]" + // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + // "folders/[FOLDER_ID]/sinks/[SINK_ID]" // // For example: // - // `"projects/my-project/sinks/my-sink"` + // `"projects/my-project/sinks/my-sink"` SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName,proto3" json:"sink_name,omitempty"` } @@ -2189,15 +2191,15 @@ type CreateSinkRequest struct { // Required. The resource in which to create the sink: // - // "projects/[PROJECT_ID]" - // "organizations/[ORGANIZATION_ID]" - // "billingAccounts/[BILLING_ACCOUNT_ID]" - // "folders/[FOLDER_ID]" + // "projects/[PROJECT_ID]" + // "organizations/[ORGANIZATION_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]" + // "folders/[FOLDER_ID]" // // For examples: // - // `"projects/my-project"` - // `"organizations/123456789"` + // `"projects/my-project"` + // `"organizations/123456789"` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The new sink, whose `name` parameter is a sink identifier that // is not already in use. @@ -2279,14 +2281,14 @@ type UpdateSinkRequest struct { // Required. The full resource name of the sink to update, including the // parent resource and the sink identifier: // - // "projects/[PROJECT_ID]/sinks/[SINK_ID]" - // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" - // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" - // "folders/[FOLDER_ID]/sinks/[SINK_ID]" + // "projects/[PROJECT_ID]/sinks/[SINK_ID]" + // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + // "folders/[FOLDER_ID]/sinks/[SINK_ID]" // // For example: // - // `"projects/my-project/sinks/my-sink"` + // `"projects/my-project/sinks/my-sink"` SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName,proto3" json:"sink_name,omitempty"` // Required. The updated sink, whose name is the same identifier that appears // as part of `sink_name`. @@ -2296,11 +2298,11 @@ type UpdateSinkRequest struct { // field on the value of `writer_identity` in the updated sink depends on both // the old and new values of this field: // - // + If the old and new values of this field are both false or both true, + // - If the old and new values of this field are both false or both true, // then there is no change to the sink's `writer_identity`. - // + If the old value is false and the new value is true, then + // - If the old value is false and the new value is true, then // `writer_identity` is changed to a unique service account. - // + It is an error if the old value is true and the new value is + // - It is an error if the old value is true and the new value is // set to false or defaulted to false. UniqueWriterIdentity bool `protobuf:"varint,3,opt,name=unique_writer_identity,json=uniqueWriterIdentity,proto3" json:"unique_writer_identity,omitempty"` // Optional. Field mask that specifies the fields in `sink` that need @@ -2310,7 +2312,7 @@ type UpdateSinkRequest struct { // An empty `updateMask` is temporarily treated as using the following mask // for backwards compatibility purposes: // - // `destination,filter,includeChildren` + // `destination,filter,includeChildren` // // At some point in the future, behavior will be removed and specifying an // empty `updateMask` will be an error. @@ -2391,14 +2393,14 @@ type DeleteSinkRequest struct { // Required. The full resource name of the sink to delete, including the // parent resource and the sink identifier: // - // "projects/[PROJECT_ID]/sinks/[SINK_ID]" - // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" - // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" - // "folders/[FOLDER_ID]/sinks/[SINK_ID]" + // "projects/[PROJECT_ID]/sinks/[SINK_ID]" + // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + // "folders/[FOLDER_ID]/sinks/[SINK_ID]" // // For example: // - // `"projects/my-project/sinks/my-sink"` + // `"projects/my-project/sinks/my-sink"` SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName,proto3" json:"sink_name,omitempty"` } @@ -2449,10 +2451,10 @@ type CreateLinkRequest struct { // Required. The full resource name of the bucket to create a link for. // - // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" - // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" - // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" - // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The new link. Link *Link `protobuf:"bytes,2,opt,name=link,proto3" json:"link,omitempty"` @@ -2523,10 +2525,10 @@ type DeleteLinkRequest struct { // Required. The full resource name of the link to delete. // - // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" - // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" - // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" - // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -2577,10 +2579,10 @@ type ListLinksRequest struct { // Required. The parent resource whose links are to be listed: // - // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/" - // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/" - // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/" - // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/ + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/ Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. If present, then retrieve the next batch of results from the // preceding call to this method. `pageToken` must be the value of @@ -2711,10 +2713,10 @@ type GetLinkRequest struct { // Required. The resource name of the link: // - // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" - // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" - // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" - // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID] + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID] Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -2783,7 +2785,7 @@ type LogExclusion struct { // For example, the following query matches 99% of low-severity log entries // from Google Cloud Storage buckets: // - // `resource.type=gcs_bucket severity=ERROR" + // "resource.type=gae_app AND severity>=ERROR" // // The maximum length of the filter is 20000 characters. Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` @@ -136,7 +136,7 @@ type LogMetric struct { // // For example: // - // `projects/my-project/locations/global/buckets/my-bucket` + // `projects/my-project/locations/global/buckets/my-bucket` // // If empty, then the Log Metric is considered a non-Bucket Log Metric. BucketName string `protobuf:"bytes,13,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"` @@ -170,14 +170,14 @@ type LogMetric struct { // Two functions are supported for value extraction: `EXTRACT(field)` or // `REGEXP_EXTRACT(field, regex)`. The arguments are: // - // 1. field: The name of the log entry field from which the value is to be - // extracted. - // 2. regex: A regular expression using the Google RE2 syntax - // (https://github.com/google/re2/wiki/Syntax) with a single capture - // group to extract data from the specified log entry field. The value - // of the field is converted to a string before applying the regex. - // It is an error to specify a regex that does not include exactly one - // capture group. + // 1. field: The name of the log entry field from which the value is to be + // extracted. + // 2. regex: A regular expression using the Google RE2 syntax + // (https://github.com/google/re2/wiki/Syntax) with a single capture + // group to extract data from the specified log entry field. The value + // of the field is converted to a string before applying the regex. + // It is an error to specify a regex that does not include exactly one + // capture group. // // The result of the extraction must be convertible to a double type, as the // distribution always records double values. If either the extraction or @@ -345,7 +345,7 @@ type ListLogMetricsRequest struct { // Required. The name of the project containing the metrics: // - // "projects/[PROJECT_ID]" + // "projects/[PROJECT_ID]" Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. If present, then retrieve the next batch of results from the // preceding call to this method. `pageToken` must be the value of @@ -479,7 +479,7 @@ type GetLogMetricRequest struct { // Required. The resource name of the desired metric: // - // "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + // "projects/[PROJECT_ID]/metrics/[METRIC_ID]" MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"` } @@ -530,7 +530,7 @@ type CreateLogMetricRequest struct { // Required. The resource name of the project in which to create the metric: // - // "projects/[PROJECT_ID]" + // "projects/[PROJECT_ID]" // // The new metric must be provided in the request. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` @@ -593,7 +593,7 @@ type UpdateLogMetricRequest struct { // Required. The resource name of the metric to update: // - // "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + // "projects/[PROJECT_ID]/metrics/[METRIC_ID]" // // The updated metric must be provided in the request and it's // `name` field must be the same as `[METRIC_ID]` If the metric @@ -657,7 +657,7 @@ type DeleteLogMetricRequest struct { // Required. The resource name of the metric to delete: // - // "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + // "projects/[PROJECT_ID]/metrics/[METRIC_ID]" MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"` } diff --git a/longrunning/autogen/longrunningpb/operations.pb.go b/longrunning/autogen/longrunningpb/operations.pb.go index 55bd8235e15..4c249c9259c 100755 --- a/longrunning/autogen/longrunningpb/operations.pb.go +++ b/longrunning/autogen/longrunningpb/operations.pb.go @@ -70,6 +70,7 @@ type Operation struct { // If `done` == `true`, exactly one of `error` or `response` is set. // // Types that are assignable to Result: + // // *Operation_Error // *Operation_Response Result isOperation_Result `protobuf_oneof:"result"` diff --git a/managedidentities/apiv1/managedidentitiespb/managed_identities_service.pb.go b/managedidentities/apiv1/managedidentitiespb/managed_identities_service.pb.go index 1003aaa1c47..d495cb11da3 100755 --- a/managedidentities/apiv1/managedidentitiespb/managed_identities_service.pb.go +++ b/managedidentities/apiv1/managedidentitiespb/managed_identities_service.pb.go @@ -154,15 +154,15 @@ type CreateMicrosoftAdDomainRequest struct { // Required. The fully qualified domain name. // e.g. mydomain.myorganization.com, with the following restrictions: // - // * Must contain only lowercase letters, numbers, periods and hyphens. - // * Must start with a letter. - // * Must contain between 2-64 characters. - // * Must end with a number or a letter. - // * Must not start with period. - // * First segement length (mydomain form example above) shouldn't exceed - // 15 chars. - // * The last segment cannot be fully numeric. - // * Must be unique within the customer project. + // - Must contain only lowercase letters, numbers, periods and hyphens. + // - Must start with a letter. + // - Must contain between 2-64 characters. + // - Must end with a number or a letter. + // - Must not start with period. + // - First segement length (mydomain form example above) shouldn't exceed + // 15 chars. + // - The last segment cannot be fully numeric. + // - Must be unique within the customer project. DomainName string `protobuf:"bytes,2,opt,name=domain_name,json=domainName,proto3" json:"domain_name,omitempty"` // Required. A Managed Identity domain resource. Domain *Domain `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` @@ -548,9 +548,9 @@ type UpdateDomainRequest struct { // Required. Mask of fields to update. At least one path must be supplied in this // field. The elements of the repeated paths field may only include // fields from [Domain][google.cloud.managedidentities.v1.Domain]: - // * `labels` - // * `locations` - // * `authorized_networks` + // - `labels` + // - `locations` + // - `authorized_networks` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` // Required. Domain message with updated fields. Only supported fields specified in // update_mask are updated. diff --git a/maps/fleetengine/apiv1/fleetenginepb/fleetengine.pb.go b/maps/fleetengine/apiv1/fleetenginepb/fleetengine.pb.go index da031fcf5e9..5de8bc3d219 100755 --- a/maps/fleetengine/apiv1/fleetenginepb/fleetengine.pb.go +++ b/maps/fleetengine/apiv1/fleetenginepb/fleetengine.pb.go @@ -359,6 +359,7 @@ type TerminalPointId struct { // Deprecated. // // Types that are assignable to Id: + // // *TerminalPointId_PlaceId // *TerminalPointId_GeneratedId Id isTerminalPointId_Id `protobuf_oneof:"Id"` @@ -689,6 +690,7 @@ type VehicleAttribute struct { // The attribute's value, can be in string, bool, or double type. // // Types that are assignable to VehicleAttributeValue: + // // *VehicleAttribute_StringValue // *VehicleAttribute_BoolValue // *VehicleAttribute_NumberValue diff --git a/maps/fleetengine/apiv1/fleetenginepb/vehicle_api.pb.go b/maps/fleetengine/apiv1/fleetenginepb/vehicle_api.pb.go index aa9989fb449..1d32fda58f2 100755 --- a/maps/fleetengine/apiv1/fleetenginepb/vehicle_api.pb.go +++ b/maps/fleetengine/apiv1/fleetenginepb/vehicle_api.pb.go @@ -820,13 +820,15 @@ type SearchVehiclesRequest struct { // (required_attributes[0] AND required_attributes[1] AND ...) // AND // ( - // (required_one_of_attribute_sets[0][0] AND - // required_one_of_attribute_sets[0][1] AND - // ...) - // OR - // (required_one_of_attribute_sets[1][0] AND - // required_one_of_attribute_sets[1][1] AND - // ...) + // + // (required_one_of_attribute_sets[0][0] AND + // required_one_of_attribute_sets[0][1] AND + // ...) + // OR + // (required_one_of_attribute_sets[1][0] AND + // required_one_of_attribute_sets[1][1] AND + // ...) + // // ) // ``` // @@ -1165,13 +1167,15 @@ type ListVehiclesRequest struct { // (required_attributes[0] AND required_attributes[1] AND ...) // AND // ( - // (required_one_of_attribute_sets[0][0] AND - // required_one_of_attribute_sets[0][1] AND - // ...) - // OR - // (required_one_of_attribute_sets[1][0] AND - // required_one_of_attribute_sets[1][1] AND - // ...) + // + // (required_one_of_attribute_sets[0][0] AND + // required_one_of_attribute_sets[0][1] AND + // ...) + // OR + // (required_one_of_attribute_sets[1][0] AND + // required_one_of_attribute_sets[1][1] AND + // ...) + // // ) // ``` // @@ -1422,7 +1426,9 @@ func (x *ListVehiclesResponse) GetTotalSize() int64 { return 0 } -// Describes intermediate points along a route. +// Describes intermediate points along a route for a `VehicleMatch` in a +// `SearchVehiclesResponse`. This concept is represented as a `TripWaypoint` in +// all other endpoints. type Waypoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache diff --git a/maps/fleetengine/delivery/apiv1/deliverypb/common.pb.go b/maps/fleetengine/delivery/apiv1/deliverypb/common.pb.go index c365f8ef62c..fe2e4595dcd 100755 --- a/maps/fleetengine/delivery/apiv1/deliverypb/common.pb.go +++ b/maps/fleetengine/delivery/apiv1/deliverypb/common.pb.go @@ -199,6 +199,7 @@ type DeliveryVehicleAttribute struct { // The attribute's value, can be in string, bool, or double type. // // Types that are assignable to DeliveryVehicleAttributeValue: + // // *DeliveryVehicleAttribute_StringValue // *DeliveryVehicleAttribute_BoolValue // *DeliveryVehicleAttribute_NumberValue @@ -706,6 +707,7 @@ type TaskAttribute struct { // set the TaskAttribute string_value will be stored as the empty string "". // // Types that are assignable to TaskAttributeValue: + // // *TaskAttribute_StringValue // *TaskAttribute_BoolValue // *TaskAttribute_NumberValue diff --git a/maps/fleetengine/delivery/apiv1/deliverypb/delivery_api.pb.go b/maps/fleetengine/delivery/apiv1/deliverypb/delivery_api.pb.go index ba535e42ec1..8fea6a61748 100755 --- a/maps/fleetengine/delivery/apiv1/deliverypb/delivery_api.pb.go +++ b/maps/fleetengine/delivery/apiv1/deliverypb/delivery_api.pb.go @@ -923,11 +923,11 @@ type UpdateTaskRequest struct { // The following fields are maintained by Fleet Engine. Do not update // them using `Task.update`. // - // * `last_location`. - // * `last_location_snappable`. - // * `name`. - // * `remaining_vehicle_journey_segments`. - // * `task_outcome_location_source`. + // - `last_location`. + // - `last_location_snappable`. + // - `name`. + // - `remaining_vehicle_journey_segments`. + // - `task_outcome_location_source`. // // Note: You cannot change the value of `task_outcome` once you set it. // diff --git a/maps/fleetengine/delivery/apiv1/deliverypb/tasks.pb.go b/maps/fleetengine/delivery/apiv1/deliverypb/tasks.pb.go index 10909e69c80..d309872c4fe 100755 --- a/maps/fleetengine/delivery/apiv1/deliverypb/tasks.pb.go +++ b/maps/fleetengine/delivery/apiv1/deliverypb/tasks.pb.go @@ -685,6 +685,7 @@ type TaskTrackingViewConfig_VisibilityOption struct { // The specific visibility option chosen. // // Types that are assignable to VisibilityOption: + // // *TaskTrackingViewConfig_VisibilityOption_RemainingStopCountThreshold // *TaskTrackingViewConfig_VisibilityOption_DurationUntilEstimatedArrivalTimeThreshold // *TaskTrackingViewConfig_VisibilityOption_RemainingDrivingDistanceMetersThreshold diff --git a/maps/mapsplatformdatasets/apiv1alpha/mapsplatformdatasetspb/dataset.pb.go b/maps/mapsplatformdatasets/apiv1alpha/mapsplatformdatasetspb/dataset.pb.go index 5a21475dc02..e121df262a2 100755 --- a/maps/mapsplatformdatasets/apiv1alpha/mapsplatformdatasetspb/dataset.pb.go +++ b/maps/mapsplatformdatasets/apiv1alpha/mapsplatformdatasetspb/dataset.pb.go @@ -172,6 +172,7 @@ type Dataset struct { // Details about the source of the data for the dataset. // // Types that are assignable to DataSource: + // // *Dataset_LocalFileSource // *Dataset_GcsSource DataSource isDataset_DataSource `protobuf_oneof:"data_source"` diff --git a/maps/places/apiv1/placespb/ev_charging.pb.go b/maps/places/apiv1/placespb/ev_charging.pb.go index 71823e24ca5..65bf5d8c64e 100755 --- a/maps/places/apiv1/placespb/ev_charging.pb.go +++ b/maps/places/apiv1/placespb/ev_charging.pb.go @@ -52,7 +52,8 @@ const ( // CHAdeMO type connector. EVConnectorType_EV_CONNECTOR_TYPE_CHADEMO EVConnectorType = 4 // Combined Charging System (AC and DC). Based on SAE. - // Type-1 J-1772 connector + // + // Type-1 J-1772 connector EVConnectorType_EV_CONNECTOR_TYPE_CCS_COMBO_1 EVConnectorType = 5 // Combined Charging System (AC and DC). Based on Type-2 // Mennekes connector diff --git a/maps/places/apiv1/placespb/places_service.pb.go b/maps/places/apiv1/placespb/places_service.pb.go index e552f6b5fa2..f7ac71190a2 100755 --- a/maps/places/apiv1/placespb/places_service.pb.go +++ b/maps/places/apiv1/placespb/places_service.pb.go @@ -170,7 +170,6 @@ type SearchNearbyRequest struct { // For more information, see // https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. // - // // Note that 3-digit region codes are not currently supported. RegionCode string `protobuf:"bytes,2,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"` // Included Place type (eg, "restaurant" or "gas_station") from @@ -427,7 +426,6 @@ type SearchTextRequest struct { // For more information, see // https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. // - // // Note that 3-digit region codes are not currently supported. RegionCode string `protobuf:"bytes,3,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"` // How results will be ranked in the response. @@ -819,7 +817,6 @@ type GetPlaceRequest struct { // For more information, see // https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. // - // // Note that 3-digit region codes are not currently supported. RegionCode string `protobuf:"bytes,3,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"` } @@ -884,6 +881,7 @@ type SearchNearbyRequest_LocationRestriction struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Type: + // // *SearchNearbyRequest_LocationRestriction_Circle Type isSearchNearbyRequest_LocationRestriction_Type `protobuf_oneof:"type"` } @@ -954,6 +952,7 @@ type SearchTextRequest_LocationBias struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Type: + // // *SearchTextRequest_LocationBias_Rectangle // *SearchTextRequest_LocationBias_Circle Type isSearchTextRequest_LocationBias_Type `protobuf_oneof:"type"` @@ -1043,6 +1042,7 @@ type SearchTextRequest_LocationRestriction struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Type: + // // *SearchTextRequest_LocationRestriction_Rectangle Type isSearchTextRequest_LocationRestriction_Type `protobuf_oneof:"type"` } diff --git a/maps/routing/apiv2/routingpb/polyline.pb.go b/maps/routing/apiv2/routingpb/polyline.pb.go index 7d219c1af6e..ccc1fe2d24c 100755 --- a/maps/routing/apiv2/routingpb/polyline.pb.go +++ b/maps/routing/apiv2/routingpb/polyline.pb.go @@ -158,6 +158,7 @@ type Polyline struct { // Encapsulates the type of polyline. Defaults to encoded_polyline. // // Types that are assignable to PolylineType: + // // *Polyline_EncodedPolyline // *Polyline_GeoJsonLinestring PolylineType isPolyline_PolylineType `protobuf_oneof:"polyline_type"` diff --git a/maps/routing/apiv2/routingpb/route.pb.go b/maps/routing/apiv2/routingpb/route.pb.go index 2e22cbfceec..171776e4c9a 100755 --- a/maps/routing/apiv2/routingpb/route.pb.go +++ b/maps/routing/apiv2/routingpb/route.pb.go @@ -248,8 +248,8 @@ type RouteTravelAdvisory struct { // // Example: // - // polyline: A ---- B ---- C ---- D ---- E ---- F ---- G - // speed_reading_intervals: [A,C), [C,D), [D,G). + // polyline: A ---- B ---- C ---- D ---- E ---- F ---- G + // speed_reading_intervals: [A,C), [C,D), [D,G). SpeedReadingIntervals []*SpeedReadingInterval `protobuf:"bytes,3,rep,name=speed_reading_intervals,json=speedReadingIntervals,proto3" json:"speed_reading_intervals,omitempty"` // The predicted fuel consumption in microliters. FuelConsumptionMicroliters int64 `protobuf:"varint,5,opt,name=fuel_consumption_microliters,json=fuelConsumptionMicroliters,proto3" json:"fuel_consumption_microliters,omitempty"` @@ -351,8 +351,8 @@ type RouteLegTravelAdvisory struct { // // Example: // - // polyline: A ---- B ---- C ---- D ---- E ---- F ---- G - // speed_reading_intervals: [A,C), [C,D), [D,G). + // polyline: A ---- B ---- C ---- D ---- E ---- F ---- G + // speed_reading_intervals: [A,C), [C,D), [D,G). SpeedReadingIntervals []*SpeedReadingInterval `protobuf:"bytes,2,rep,name=speed_reading_intervals,json=speedReadingIntervals,proto3" json:"speed_reading_intervals,omitempty"` } diff --git a/maps/routing/apiv2/routingpb/routes_service.pb.go b/maps/routing/apiv2/routingpb/routes_service.pb.go index 8b6725aa7c1..9c6dc110c4a 100755 --- a/maps/routing/apiv2/routingpb/routes_service.pb.go +++ b/maps/routing/apiv2/routingpb/routes_service.pb.go @@ -281,7 +281,9 @@ type ComputeRoutesRequest struct { TravelMode RouteTravelMode `protobuf:"varint,4,opt,name=travel_mode,json=travelMode,proto3,enum=google.maps.routing.v2.RouteTravelMode" json:"travel_mode,omitempty"` // Optional. Specifies how to compute the route. The server // attempts to use the selected routing preference to compute the route. If - // the routing preference results in an error or an extra long latency, then + // + // the routing preference results in an error or an extra long latency, then + // // an error is returned. You can specify this option only when the // `travel_mode` is `DRIVE` or `TWO_WHEELER`, otherwise the request fails. RoutingPreference RoutingPreference `protobuf:"varint,5,opt,name=routing_preference,json=routingPreference,proto3,enum=google.maps.routing.v2.RoutingPreference" json:"routing_preference,omitempty"` @@ -1719,12 +1721,14 @@ type RoutesClient interface { // // For example, in this method: // - // * Field mask of all available fields (for manual inspection): - // `X-Goog-FieldMask: *` - // * Field mask of Route-level duration, distance, and polyline (an example + // - Field mask of all available fields (for manual inspection): + // `X-Goog-FieldMask: *` + // - Field mask of Route-level duration, distance, and polyline (an example + // // production setup): - // `X-Goog-FieldMask: - // routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline` + // + // `X-Goog-FieldMask: + // routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline` // // Google discourage the use of the wildcard (`*`) response field mask, or // specifying the field mask at the top level (`routes`), because: @@ -1755,12 +1759,12 @@ type RoutesClient interface { // // For example, in this method: // - // * Field mask of all available fields (for manual inspection): - // `X-Goog-FieldMask: *` - // * Field mask of route durations, distances, element status, condition, and - // element indices (an example production setup): - // `X-Goog-FieldMask: - // originIndex,destinationIndex,status,condition,distanceMeters,duration` + // - Field mask of all available fields (for manual inspection): + // `X-Goog-FieldMask: *` + // - Field mask of route durations, distances, element status, condition, and + // element indices (an example production setup): + // `X-Goog-FieldMask: + // originIndex,destinationIndex,status,condition,distanceMeters,duration` // // It is critical that you include `status` in your field mask as otherwise // all messages will appear to be OK. Google discourages the use of the @@ -1844,12 +1848,14 @@ type RoutesServer interface { // // For example, in this method: // - // * Field mask of all available fields (for manual inspection): - // `X-Goog-FieldMask: *` - // * Field mask of Route-level duration, distance, and polyline (an example + // - Field mask of all available fields (for manual inspection): + // `X-Goog-FieldMask: *` + // - Field mask of Route-level duration, distance, and polyline (an example + // // production setup): - // `X-Goog-FieldMask: - // routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline` + // + // `X-Goog-FieldMask: + // routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline` // // Google discourage the use of the wildcard (`*`) response field mask, or // specifying the field mask at the top level (`routes`), because: @@ -1880,12 +1886,12 @@ type RoutesServer interface { // // For example, in this method: // - // * Field mask of all available fields (for manual inspection): - // `X-Goog-FieldMask: *` - // * Field mask of route durations, distances, element status, condition, and - // element indices (an example production setup): - // `X-Goog-FieldMask: - // originIndex,destinationIndex,status,condition,distanceMeters,duration` + // - Field mask of all available fields (for manual inspection): + // `X-Goog-FieldMask: *` + // - Field mask of route durations, distances, element status, condition, and + // element indices (an example production setup): + // `X-Goog-FieldMask: + // originIndex,destinationIndex,status,condition,distanceMeters,duration` // // It is critical that you include `status` in your field mask as otherwise // all messages will appear to be OK. Google discourages the use of the diff --git a/maps/routing/apiv2/routingpb/speed_reading_interval.pb.go b/maps/routing/apiv2/routingpb/speed_reading_interval.pb.go index 8fd32b59fc0..3693538afc7 100755 --- a/maps/routing/apiv2/routingpb/speed_reading_interval.pb.go +++ b/maps/routing/apiv2/routingpb/speed_reading_interval.pb.go @@ -106,6 +106,7 @@ type SpeedReadingInterval struct { // The ending index of this interval in the polyline. EndPolylinePointIndex *int32 `protobuf:"varint,2,opt,name=end_polyline_point_index,json=endPolylinePointIndex,proto3,oneof" json:"end_polyline_point_index,omitempty"` // Types that are assignable to SpeedType: + // // *SpeedReadingInterval_Speed_ SpeedType isSpeedReadingInterval_SpeedType `protobuf_oneof:"speed_type"` } diff --git a/maps/routing/apiv2/routingpb/toll_passes.pb.go b/maps/routing/apiv2/routingpb/toll_passes.pb.go index ff576582f86..d5e3f1c552f 100755 --- a/maps/routing/apiv2/routingpb/toll_passes.pb.go +++ b/maps/routing/apiv2/routingpb/toll_passes.pb.go @@ -93,7 +93,8 @@ const ( // https://www.pase.com.mx TollPass_MX_PASE TollPass = 91 // Mexico - // https://operadoravial.com/quick-pass/ + // + // https://operadoravial.com/quick-pass/ TollPass_MX_QUICKPASS TollPass = 93 // http://appsh.chihuahua.gob.mx/transparencia/?doc=/ingresos/TelepeajeFormato4.pdf TollPass_MX_SISTEMA_TELEPEAJE_CHIHUAHUA TollPass = 89 diff --git a/maps/routing/apiv2/routingpb/waypoint.pb.go b/maps/routing/apiv2/routingpb/waypoint.pb.go index a3b1a3e143b..5bcb42bf5b5 100755 --- a/maps/routing/apiv2/routingpb/waypoint.pb.go +++ b/maps/routing/apiv2/routingpb/waypoint.pb.go @@ -45,6 +45,7 @@ type Waypoint struct { // Different ways to represent a location. // // Types that are assignable to LocationType: + // // *Waypoint_Location // *Waypoint_PlaceId // *Waypoint_Address diff --git a/mediatranslation/apiv1beta1/mediatranslationpb/media_translation.pb.go b/mediatranslation/apiv1beta1/mediatranslationpb/media_translation.pb.go index b84569e9a8f..6a9e4c91f7c 100755 --- a/mediatranslation/apiv1beta1/mediatranslationpb/media_translation.pb.go +++ b/mediatranslation/apiv1beta1/mediatranslationpb/media_translation.pb.go @@ -111,37 +111,37 @@ type TranslateSpeechConfig struct { // // - `linear16` // - // Uncompressed 16-bit signed little-endian samples (Linear PCM). + // Uncompressed 16-bit signed little-endian samples (Linear PCM). // // - `flac` // - // `flac` (Free Lossless Audio Codec) is the recommended encoding - // because it is lossless--therefore recognition is not compromised--and - // requires only about half the bandwidth of `linear16`. + // `flac` (Free Lossless Audio Codec) is the recommended encoding + // because it is lossless--therefore recognition is not compromised--and + // requires only about half the bandwidth of `linear16`. // // - `mulaw` // - // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. + // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. // // - `amr` // - // Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000. + // Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000. // // - `amr-wb` // - // Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000. + // Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000. // // - `ogg-opus` // - // Opus encoded audio frames in [Ogg](https://wikipedia.org/wiki/Ogg) - // container. `sample_rate_hertz` must be one of 8000, 12000, 16000, 24000, - // or 48000. + // Opus encoded audio frames in [Ogg](https://wikipedia.org/wiki/Ogg) + // container. `sample_rate_hertz` must be one of 8000, 12000, 16000, 24000, + // or 48000. // // - `mp3` // - // MP3 audio. Support all standard MP3 bitrates (which range from 32-320 - // kbps). When using this encoding, `sample_rate_hertz` has to match the - // sample rate of the file being used. + // MP3 audio. Support all standard MP3 bitrates (which range from 32-320 + // kbps). When using this encoding, `sample_rate_hertz` has to match the + // sample rate of the file being used. AudioEncoding string `protobuf:"bytes,1,opt,name=audio_encoding,json=audioEncoding,proto3" json:"audio_encoding,omitempty"` // Required. Source language code (BCP-47) of the input audio. SourceLanguageCode string `protobuf:"bytes,2,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"` @@ -309,6 +309,7 @@ type StreamingTranslateSpeechRequest struct { // The streaming request, which is either a streaming config or content. // // Types that are assignable to StreamingRequest: + // // *StreamingTranslateSpeechRequest_StreamingConfig // *StreamingTranslateSpeechRequest_AudioContent StreamingRequest isStreamingTranslateSpeechRequest_StreamingRequest `protobuf_oneof:"streaming_request"` @@ -406,6 +407,7 @@ type StreamingTranslateSpeechResult struct { // Translation result. // // Types that are assignable to Result: + // // *StreamingTranslateSpeechResult_TextTranslationResult_ Result isStreamingTranslateSpeechResult_Result `protobuf_oneof:"result"` } diff --git a/memcache/apiv1/memcachepb/cloud_memcache.pb.go b/memcache/apiv1/memcachepb/cloud_memcache.pb.go index 8d89b5ba56f..7851383ce3d 100755 --- a/memcache/apiv1/memcachepb/cloud_memcache.pb.go +++ b/memcache/apiv1/memcachepb/cloud_memcache.pb.go @@ -335,7 +335,8 @@ type Instance struct { // Required. Unique name of the resource in this scope including project and // location using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` // // Note: Memcached instances are managed and addressed at the regional level // so `location_id` here refers to a Google Cloud region; however, users may @@ -777,7 +778,9 @@ type RescheduleMaintenanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Memcache instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Instance string `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` // Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well. @@ -848,7 +851,9 @@ type ListInstancesRequest struct { unknownFields protoimpl.UnknownFields // Required. The resource name of the instance location using the form: - // `projects/{project_id}/locations/{location_id}` + // + // `projects/{project_id}/locations/{location_id}` + // // where `location_id` refers to a GCP region Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The maximum number of items to return. @@ -1014,7 +1019,9 @@ type GetInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Memcached instance resource name in the format: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1065,7 +1072,9 @@ type CreateInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. The resource name of the instance location using the form: - // `projects/{project_id}/locations/{location_id}` + // + // `projects/{project_id}/locations/{location_id}` + // // where `location_id` refers to a GCP region Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The logical name of the Memcached instance in the user @@ -1144,7 +1153,7 @@ type UpdateInstanceRequest struct { // Required. Mask of fields to update. // - // * `displayName` + // - `displayName` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` // Required. A Memcached Instance. // Only fields specified in update_mask are updated. @@ -1204,7 +1213,9 @@ type DeleteInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Memcached instance resource name in the format: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } diff --git a/memcache/apiv1beta2/memcachepb/cloud_memcache.pb.go b/memcache/apiv1beta2/memcachepb/cloud_memcache.pb.go index 842b6734f35..455bc352089 100755 --- a/memcache/apiv1beta2/memcachepb/cloud_memcache.pb.go +++ b/memcache/apiv1beta2/memcachepb/cloud_memcache.pb.go @@ -335,7 +335,8 @@ type Instance struct { // Required. Unique name of the resource in this scope including project and // location using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` // // Note: Memcached instances are managed and addressed at the regional level // so `location_id` here refers to a Google Cloud region; however, users may @@ -786,7 +787,9 @@ type ListInstancesRequest struct { unknownFields protoimpl.UnknownFields // Required. The resource name of the instance location using the form: - // `projects/{project_id}/locations/{location_id}` + // + // `projects/{project_id}/locations/{location_id}` + // // where `location_id` refers to a GCP region Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The maximum number of items to return. @@ -952,7 +955,9 @@ type GetInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Memcached instance resource name in the format: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1003,7 +1008,9 @@ type CreateInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. The resource name of the instance location using the form: - // `projects/{project_id}/locations/{location_id}` + // + // `projects/{project_id}/locations/{location_id}` + // // where `location_id` refers to a GCP region Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The logical name of the Memcached instance in the user @@ -1082,7 +1089,7 @@ type UpdateInstanceRequest struct { // Required. Mask of fields to update. // - // * `displayName` + // - `displayName` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` // Required. A Memcached [Instance] resource. // Only fields specified in update_mask are updated. @@ -1142,7 +1149,9 @@ type DeleteInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Memcached instance resource name in the format: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1193,7 +1202,9 @@ type RescheduleMaintenanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Memcache instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Instance string `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` // Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well. diff --git a/metastore/apiv1/metastorepb/metastore.pb.go b/metastore/apiv1/metastorepb/metastore.pb.go index 329cc7e725a..3bc5dc469b9 100755 --- a/metastore/apiv1/metastorepb/metastore.pb.go +++ b/metastore/apiv1/metastorepb/metastore.pb.go @@ -872,6 +872,7 @@ type Service struct { // technology (the software that serves metastore queries). // // Types that are assignable to MetastoreConfig: + // // *Service_HiveMetastoreConfig MetastoreConfig isService_MetastoreConfig `protobuf_oneof:"metastore_config"` // Immutable. The relative resource name of the metastore service, in the @@ -1370,6 +1371,7 @@ type Secret struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Value: + // // *Secret_CloudSecret Value isSecret_Value `protobuf_oneof:"value"` } @@ -1727,6 +1729,7 @@ type MetadataImport struct { // The metadata to be imported. // // Types that are assignable to Metadata: + // // *MetadataImport_DatabaseDump_ Metadata isMetadataImport_Metadata `protobuf_oneof:"metadata"` // Immutable. The relative resource name of the metadata import, of the form: @@ -1851,6 +1854,7 @@ type MetadataExport struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Destination: + // // *MetadataExport_DestinationGcsUri Destination isMetadataExport_Destination `protobuf_oneof:"destination"` // Output only. The time when the export started. @@ -2164,6 +2168,7 @@ type ScalingConfig struct { // scaling factor. // // Types that are assignable to ScalingModel: + // // *ScalingConfig_InstanceSize_ // *ScalingConfig_ScalingFactor ScalingModel isScalingConfig_ScalingModel `protobuf_oneof:"scaling_model"` @@ -3533,6 +3538,7 @@ type ExportMetadataRequest struct { // Required. Destination that metadata is exported to. // // Types that are assignable to Destination: + // // *ExportMetadataRequest_DestinationGcsFolder Destination isExportMetadataRequest_Destination `protobuf_oneof:"destination"` // Required. The relative resource name of the metastore service to run @@ -4343,6 +4349,7 @@ type NetworkConfig_Consumer struct { unknownFields protoimpl.UnknownFields // Types that are assignable to VpcResource: + // // *NetworkConfig_Consumer_Subnetwork VpcResource isNetworkConfig_Consumer_VpcResource `protobuf_oneof:"vpc_resource"` // Output only. The URI of the endpoint used to access the metastore diff --git a/metastore/apiv1/metastorepb/metastore_federation.pb.go b/metastore/apiv1/metastorepb/metastore_federation.pb.go index 8b7cd85d6dc..be5e365fdbe 100755 --- a/metastore/apiv1/metastorepb/metastore_federation.pb.go +++ b/metastore/apiv1/metastorepb/metastore_federation.pb.go @@ -315,9 +315,10 @@ type BackendMetastore struct { // metastores are listed below: // // * BigQuery - // * `projects/{project_id}` + // - `projects/{project_id}` + // // * Dataproc Metastore - // * `projects/{project_id}/locations/{location}/services/{service_id}` + // - `projects/{project_id}/locations/{location}/services/{service_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The type of the backend metastore. MetastoreType BackendMetastore_MetastoreType `protobuf:"varint,2,opt,name=metastore_type,json=metastoreType,proto3,enum=google.cloud.metastore.v1.BackendMetastore_MetastoreType" json:"metastore_type,omitempty"` diff --git a/metastore/apiv1alpha/metastorepb/metastore.pb.go b/metastore/apiv1alpha/metastorepb/metastore.pb.go index 809f446ff90..e2ab0cfc47e 100755 --- a/metastore/apiv1alpha/metastorepb/metastore.pb.go +++ b/metastore/apiv1alpha/metastorepb/metastore.pb.go @@ -872,6 +872,7 @@ type Service struct { // technology (the software that serves metastore queries). // // Types that are assignable to MetastoreConfig: + // // *Service_HiveMetastoreConfig MetastoreConfig isService_MetastoreConfig `protobuf_oneof:"metastore_config"` // Immutable. The relative resource name of the metastore service, in the @@ -1592,6 +1593,7 @@ type Secret struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Value: + // // *Secret_CloudSecret Value isSecret_Value `protobuf_oneof:"value"` } @@ -1959,6 +1961,7 @@ type MetadataImport struct { // The metadata to be imported. // // Types that are assignable to Metadata: + // // *MetadataImport_DatabaseDump_ Metadata isMetadataImport_Metadata `protobuf_oneof:"metadata"` // Immutable. The relative resource name of the metadata import, of the form: @@ -2083,6 +2086,7 @@ type MetadataExport struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Destination: + // // *MetadataExport_DestinationGcsUri Destination isMetadataExport_Destination `protobuf_oneof:"destination"` // Output only. The time when the export started. @@ -2396,6 +2400,7 @@ type ScalingConfig struct { // scaling factor. // // Types that are assignable to ScalingModel: + // // *ScalingConfig_InstanceSize_ // *ScalingConfig_ScalingFactor ScalingModel isScalingConfig_ScalingModel `protobuf_oneof:"scaling_model"` @@ -3765,6 +3770,7 @@ type ExportMetadataRequest struct { // Required. Destination that metadata is exported to. // // Types that are assignable to Destination: + // // *ExportMetadataRequest_DestinationGcsFolder Destination isExportMetadataRequest_Destination `protobuf_oneof:"destination"` // Required. The relative resource name of the metastore service to run @@ -4690,6 +4696,7 @@ type NetworkConfig_Consumer struct { unknownFields protoimpl.UnknownFields // Types that are assignable to VpcResource: + // // *NetworkConfig_Consumer_Subnetwork VpcResource isNetworkConfig_Consumer_VpcResource `protobuf_oneof:"vpc_resource"` // Output only. The URI of the endpoint used to access the metastore diff --git a/metastore/apiv1alpha/metastorepb/metastore_federation.pb.go b/metastore/apiv1alpha/metastorepb/metastore_federation.pb.go index 72bd816998b..4ab370217fe 100755 --- a/metastore/apiv1alpha/metastorepb/metastore_federation.pb.go +++ b/metastore/apiv1alpha/metastorepb/metastore_federation.pb.go @@ -319,9 +319,10 @@ type BackendMetastore struct { // metastores are listed below: // // * BigQuery - // * `projects/{project_id}` + // - `projects/{project_id}` + // // * Dataproc Metastore - // * `projects/{project_id}/locations/{location}/services/{service_id}` + // - `projects/{project_id}/locations/{location}/services/{service_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The type of the backend metastore. MetastoreType BackendMetastore_MetastoreType `protobuf:"varint,2,opt,name=metastore_type,json=metastoreType,proto3,enum=google.cloud.metastore.v1alpha.BackendMetastore_MetastoreType" json:"metastore_type,omitempty"` diff --git a/metastore/apiv1beta/metastorepb/metastore.pb.go b/metastore/apiv1beta/metastorepb/metastore.pb.go index ec8df0256e0..9932ef4e5f0 100755 --- a/metastore/apiv1beta/metastorepb/metastore.pb.go +++ b/metastore/apiv1beta/metastorepb/metastore.pb.go @@ -872,6 +872,7 @@ type Service struct { // technology (the software that serves metastore queries). // // Types that are assignable to MetastoreConfig: + // // *Service_HiveMetastoreConfig MetastoreConfig isService_MetastoreConfig `protobuf_oneof:"metastore_config"` // Immutable. The relative resource name of the metastore service, in the @@ -1592,6 +1593,7 @@ type Secret struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Value: + // // *Secret_CloudSecret Value isSecret_Value `protobuf_oneof:"value"` } @@ -1959,6 +1961,7 @@ type MetadataImport struct { // The metadata to be imported. // // Types that are assignable to Metadata: + // // *MetadataImport_DatabaseDump_ Metadata isMetadataImport_Metadata `protobuf_oneof:"metadata"` // Immutable. The relative resource name of the metadata import, of the form: @@ -2083,6 +2086,7 @@ type MetadataExport struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Destination: + // // *MetadataExport_DestinationGcsUri Destination isMetadataExport_Destination `protobuf_oneof:"destination"` // Output only. The time when the export started. @@ -2396,6 +2400,7 @@ type ScalingConfig struct { // scaling factor. // // Types that are assignable to ScalingModel: + // // *ScalingConfig_InstanceSize_ // *ScalingConfig_ScalingFactor ScalingModel isScalingConfig_ScalingModel `protobuf_oneof:"scaling_model"` @@ -3765,6 +3770,7 @@ type ExportMetadataRequest struct { // Required. Destination that metadata is exported to. // // Types that are assignable to Destination: + // // *ExportMetadataRequest_DestinationGcsFolder Destination isExportMetadataRequest_Destination `protobuf_oneof:"destination"` // Required. The relative resource name of the metastore service to run @@ -4690,6 +4696,7 @@ type NetworkConfig_Consumer struct { unknownFields protoimpl.UnknownFields // Types that are assignable to VpcResource: + // // *NetworkConfig_Consumer_Subnetwork VpcResource isNetworkConfig_Consumer_VpcResource `protobuf_oneof:"vpc_resource"` // Output only. The URI of the endpoint used to access the metastore diff --git a/metastore/apiv1beta/metastorepb/metastore_federation.pb.go b/metastore/apiv1beta/metastorepb/metastore_federation.pb.go index 2889f46c016..86e417faa82 100755 --- a/metastore/apiv1beta/metastorepb/metastore_federation.pb.go +++ b/metastore/apiv1beta/metastorepb/metastore_federation.pb.go @@ -319,9 +319,10 @@ type BackendMetastore struct { // metastores are listed below: // // * BigQuery - // * `projects/{project_id}` + // - `projects/{project_id}` + // // * Dataproc Metastore - // * `projects/{project_id}/locations/{location}/services/{service_id}` + // - `projects/{project_id}/locations/{location}/services/{service_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The type of the backend metastore. MetastoreType BackendMetastore_MetastoreType `protobuf:"varint,2,opt,name=metastore_type,json=metastoreType,proto3,enum=google.cloud.metastore.v1beta.BackendMetastore_MetastoreType" json:"metastore_type,omitempty"` diff --git a/migrationcenter/apiv1/migrationcenterpb/migrationcenter.pb.go b/migrationcenter/apiv1/migrationcenterpb/migrationcenter.pb.go index b152eb3153a..2584058ca56 100755 --- a/migrationcenter/apiv1/migrationcenterpb/migrationcenter.pb.go +++ b/migrationcenter/apiv1/migrationcenterpb/migrationcenter.pb.go @@ -2085,6 +2085,7 @@ type Asset struct { // with different attributes based on the type of the asset. // // Types that are assignable to AssetDetails: + // // *Asset_MachineDetails AssetDetails isAsset_AssetDetails `protobuf_oneof:"AssetDetails"` // Output only. The list of insights associated with the asset. @@ -2337,6 +2338,7 @@ type ImportJob struct { // Holds the various report types of an import job. // // Types that are assignable to Report: + // // *ImportJob_ValidationReport // *ImportJob_ExecutionReport Report isImportJob_Report `protobuf_oneof:"report"` @@ -2486,6 +2488,7 @@ type ImportDataFile struct { // Output only. The state of the import data file. State ImportDataFile_State `protobuf:"varint,4,opt,name=state,proto3,enum=google.cloud.migrationcenter.v1.ImportDataFile_State" json:"state,omitempty"` // Types that are assignable to FileInfo: + // // *ImportDataFile_UploadFileInfo FileInfo isImportDataFile_FileInfo `protobuf_oneof:"file_info"` } @@ -7649,6 +7652,7 @@ type AssetFrame struct { // of asset information in the frame. // // Types that are assignable to FrameData: + // // *AssetFrame_MachineDetails FrameData isAssetFrame_FrameData `protobuf_oneof:"FrameData"` // The time the data was reported. @@ -8572,6 +8576,7 @@ type DiskEntry struct { // Additional details for specific platforms. // // Types that are assignable to PlatformSpecific: + // // *DiskEntry_Vmware PlatformSpecific isDiskEntry_PlatformSpecific `protobuf_oneof:"platform_specific"` } @@ -10311,6 +10316,7 @@ type PlatformDetails struct { unknownFields protoimpl.UnknownFields // Types that are assignable to VendorDetails: + // // *PlatformDetails_VmwareDetails // *PlatformDetails_AwsEc2Details // *PlatformDetails_AzureVmDetails @@ -11249,6 +11255,7 @@ type Insight struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Insight: + // // *Insight_MigrationInsight // *Insight_GenericInsight Insight isInsight_Insight `protobuf_oneof:"insight"` @@ -11409,6 +11416,7 @@ type MigrationInsight struct { // A target for the migration. // // Types that are assignable to MigrationTarget: + // // *MigrationInsight_ComputeEngineTarget MigrationTarget isMigrationInsight_MigrationTarget `protobuf_oneof:"migration_target"` } @@ -11737,6 +11745,7 @@ type Aggregation struct { // The name of the field on which to aggregate. Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` // Types that are assignable to AggregationFunction: + // // *Aggregation_Count_ // *Aggregation_Sum_ // *Aggregation_Histogram_ @@ -11858,6 +11867,7 @@ type AggregationResult struct { Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` // Types that are assignable to Result: + // // *AggregationResult_Count_ // *AggregationResult_Sum_ // *AggregationResult_Histogram_ diff --git a/monitoring/apiv3/v2/monitoringpb/alert.pb.go b/monitoring/apiv3/v2/monitoringpb/alert.pb.go index 2b4c429742a..f3fcdb85d53 100755 --- a/monitoring/apiv3/v2/monitoringpb/alert.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/alert.pb.go @@ -237,7 +237,7 @@ type AlertPolicy struct { // Required if the policy exists. The resource name for this policy. The // format is: // - // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] + // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] // // `[ALERT_POLICY_ID]` is assigned by Cloud Monitoring when the policy // is created. When calling the @@ -310,7 +310,7 @@ type AlertPolicy struct { // [google.monitoring.v3.NotificationChannelService.ListNotificationChannels] // method. The format of the entries in this field is: // - // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] + // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] NotificationChannels []string `protobuf:"bytes,14,rep,name=notification_channels,json=notificationChannels,proto3" json:"notification_channels,omitempty"` // A read-only record of the creation of the alerting policy. If provided // in a call to create or update, this field will be ignored. @@ -546,7 +546,7 @@ type AlertPolicy_Condition struct { // Required if the condition exists. The unique resource name for this // condition. Its format is: // - // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID] + // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID] // // `[CONDITION_ID]` is assigned by Cloud Monitoring when the // condition is created as part of a new or updated alerting policy. @@ -576,6 +576,7 @@ type AlertPolicy_Condition struct { // Only one of the following condition types will be specified. // // Types that are assignable to Condition: + // // *AlertPolicy_Condition_ConditionThreshold // *AlertPolicy_Condition_ConditionAbsent // *AlertPolicy_Condition_ConditionMatchedLog @@ -795,6 +796,7 @@ type AlertPolicy_Condition_Trigger struct { // A type of trigger. // // Types that are assignable to Type: + // // *AlertPolicy_Condition_Trigger_Count // *AlertPolicy_Condition_Trigger_Percent Type isAlertPolicy_Condition_Trigger_Type `protobuf_oneof:"type"` @@ -1623,7 +1625,7 @@ type AlertPolicy_AlertStrategy_NotificationChannelStrategy struct { // notification_channels field of this AlertPolicy. // The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] + // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] NotificationChannelNames []string `protobuf:"bytes,1,rep,name=notification_channel_names,json=notificationChannelNames,proto3" json:"notification_channel_names,omitempty"` // The frequency at which to send reminder notifications for open // incidents. diff --git a/monitoring/apiv3/v2/monitoringpb/alert_service.pb.go b/monitoring/apiv3/v2/monitoringpb/alert_service.pb.go index 5045498c807..8e766da0a96 100755 --- a/monitoring/apiv3/v2/monitoringpb/alert_service.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/alert_service.pb.go @@ -52,7 +52,7 @@ type CreateAlertPolicyRequest struct { // [project](https://cloud.google.com/monitoring/api/v3#project_name) in which // to create the alerting policy. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] // // Note that this field names the parent container in which the alerting // policy will be written, not the name of the created policy. |name| must be @@ -122,7 +122,7 @@ type GetAlertPolicyRequest struct { // Required. The alerting policy to retrieve. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] + // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` } @@ -175,7 +175,7 @@ type ListAlertPoliciesRequest struct { // [project](https://cloud.google.com/monitoring/api/v3#project_name) whose // alert policies are to be listed. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] // // Note that this field names the parent container in which the alerting // policies to be listed are stored. To retrieve a single alerting policy @@ -361,10 +361,10 @@ type UpdateAlertPolicyRequest struct { // existing policy. It is the same as deleting the existing policy and // adding the supplied policy, except for the following: // - // + The new policy will have the same `[ALERT_POLICY_ID]` as the former + // - The new policy will have the same `[ALERT_POLICY_ID]` as the former // policy. This gives you continuity with the former policy in your // notifications and incidents. - // + Conditions in the new policy will keep their former `[CONDITION_ID]` if + // - Conditions in the new policy will keep their former `[CONDITION_ID]` if // the supplied condition includes the `name` field with that // `[CONDITION_ID]`. If the supplied condition omits the `name` field, // then a new `[CONDITION_ID]` is created. @@ -430,7 +430,7 @@ type DeleteAlertPolicyRequest struct { // Required. The alerting policy to delete. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] + // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] // // For more information, see [AlertPolicy][google.monitoring.v3.AlertPolicy]. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` diff --git a/monitoring/apiv3/v2/monitoringpb/common.pb.go b/monitoring/apiv3/v2/monitoringpb/common.pb.go index 739509158f2..62367a6cd3a 100755 --- a/monitoring/apiv3/v2/monitoringpb/common.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/common.pb.go @@ -547,6 +547,7 @@ type TypedValue struct { // The typed value field. // // Types that are assignable to Value: + // // *TypedValue_BoolValue // *TypedValue_Int64Value // *TypedValue_DoubleValue diff --git a/monitoring/apiv3/v2/monitoringpb/group.pb.go b/monitoring/apiv3/v2/monitoringpb/group.pb.go index c36317ada25..9a92bd5585d 100755 --- a/monitoring/apiv3/v2/monitoringpb/group.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/group.pb.go @@ -69,7 +69,7 @@ type Group struct { // Output only. The name of this group. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] + // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] // // When creating a group, this field is ignored and a new name is created // consisting of the project specified in the call to `CreateGroup` @@ -79,7 +79,7 @@ type Group struct { DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` // The name of the group's parent, if it has one. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] + // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] // // For groups with no parent, `parent_name` is the empty string, `""`. ParentName string `protobuf:"bytes,3,opt,name=parent_name,json=parentName,proto3" json:"parent_name,omitempty"` diff --git a/monitoring/apiv3/v2/monitoringpb/group_service.pb.go b/monitoring/apiv3/v2/monitoringpb/group_service.pb.go index 74e4b4e6f44..b690285c7cf 100755 --- a/monitoring/apiv3/v2/monitoringpb/group_service.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/group_service.pb.go @@ -51,13 +51,14 @@ type ListGroupsRequest struct { // Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name) // whose groups are to be listed. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` // An optional filter consisting of a single group name. The filters limit // the groups returned based on their parent-child relationship with the // specified group. If no filter is specified, all groups are returned. // // Types that are assignable to Filter: + // // *ListGroupsRequest_ChildrenOfGroup // *ListGroupsRequest_AncestorsOfGroup // *ListGroupsRequest_DescendantsOfGroup @@ -158,7 +159,7 @@ type isListGroupsRequest_Filter interface { type ListGroupsRequest_ChildrenOfGroup struct { // A group name. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] + // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] // // Returns groups whose `parent_name` field contains the group // name. If no groups have this parent, the results are empty. @@ -168,7 +169,7 @@ type ListGroupsRequest_ChildrenOfGroup struct { type ListGroupsRequest_AncestorsOfGroup struct { // A group name. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] + // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] // // Returns groups that are ancestors of the specified group. // The groups are returned in order, starting with the immediate parent and @@ -180,7 +181,7 @@ type ListGroupsRequest_AncestorsOfGroup struct { type ListGroupsRequest_DescendantsOfGroup struct { // A group name. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] + // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] // // Returns the descendants of the specified group. This is a superset of // the results returned by the `children_of_group` filter, and includes @@ -262,7 +263,7 @@ type GetGroupRequest struct { // Required. The group to retrieve. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] + // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` } @@ -314,7 +315,7 @@ type CreateGroupRequest struct { // Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name) in // which to create the group. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` // Required. A group definition. It is an error to define the `name` field because // the system assigns the name. @@ -444,7 +445,7 @@ type DeleteGroupRequest struct { // Required. The group to delete. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] + // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // If this field is true, then the request means to delete a group with all // its descendants. Otherwise, the request means to delete a group only when @@ -506,7 +507,7 @@ type ListGroupMembersRequest struct { // Required. The group whose members are listed. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] + // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` // A positive number that is the maximum number of results to return. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -521,7 +522,7 @@ type ListGroupMembersRequest struct { // example, to return only resources representing Compute Engine VM instances, // use this filter: // - // `resource.type = "gce_instance"` + // `resource.type = "gce_instance"` Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"` // An optional time interval for which results should be returned. Only // members that were part of the group during the specified interval are diff --git a/monitoring/apiv3/v2/monitoringpb/metric.pb.go b/monitoring/apiv3/v2/monitoringpb/metric.pb.go index 2c0759951ff..e391b568187 100755 --- a/monitoring/apiv3/v2/monitoringpb/metric.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/metric.pb.go @@ -367,6 +367,7 @@ type LabelValue struct { // The label value can be a bool, int64, or string. // // Types that are assignable to Value: + // // *LabelValue_BoolValue // *LabelValue_Int64Value // *LabelValue_StringValue diff --git a/monitoring/apiv3/v2/monitoringpb/metric_service.pb.go b/monitoring/apiv3/v2/monitoringpb/metric_service.pb.go index 61c57cc7fe6..6e344a11f17 100755 --- a/monitoring/apiv3/v2/monitoringpb/metric_service.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/metric_service.pb.go @@ -104,14 +104,14 @@ type ListMonitoredResourceDescriptorsRequest struct { // Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name) on // which to execute the request. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` // An optional [filter](https://cloud.google.com/monitoring/api/v3/filters) // describing the descriptors to be returned. The filter can reference the // descriptor's type and labels. For example, the following filter returns // only Google Compute Engine descriptors that have an `id` label: // - // resource.type = starts_with("gce_") AND resource.label:id + // resource.type = starts_with("gce_") AND resource.label:id Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // A positive number that is the maximum number of results to return. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -250,7 +250,7 @@ type GetMonitoredResourceDescriptorRequest struct { // Required. The monitored resource descriptor to get. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/monitoredResourceDescriptors/[RESOURCE_TYPE] + // projects/[PROJECT_ID_OR_NUMBER]/monitoredResourceDescriptors/[RESOURCE_TYPE] // // The `[RESOURCE_TYPE]` is a predefined type, such as // `cloudsql_database`. @@ -305,7 +305,7 @@ type ListMetricDescriptorsRequest struct { // Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name) on // which to execute the request. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` // If this field is empty, all custom and // system-defined metric descriptors are returned. @@ -314,7 +314,7 @@ type ListMetricDescriptorsRequest struct { // returned. For example, the following filter matches all // [custom metrics](https://cloud.google.com/monitoring/custom-metrics): // - // metric.type = starts_with("custom.googleapis.com/") + // metric.type = starts_with("custom.googleapis.com/") Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // A positive number that is the maximum number of results to return. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -453,7 +453,7 @@ type GetMetricDescriptorRequest struct { // Required. The metric descriptor on which to execute the request. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/metricDescriptors/[METRIC_ID] + // projects/[PROJECT_ID_OR_NUMBER]/metricDescriptors/[METRIC_ID] // // An example value of `[METRIC_ID]` is // `"compute.googleapis.com/instance/disk/read_bytes_count"`. @@ -508,7 +508,8 @@ type CreateMetricDescriptorRequest struct { // Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name) on // which to execute the request. The format is: // 4 - // projects/[PROJECT_ID_OR_NUMBER] + // + // projects/[PROJECT_ID_OR_NUMBER] Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // Required. The new [custom metric](https://cloud.google.com/monitoring/custom-metrics) // descriptor. @@ -569,7 +570,7 @@ type DeleteMetricDescriptorRequest struct { // Required. The metric descriptor on which to execute the request. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/metricDescriptors/[METRIC_ID] + // projects/[PROJECT_ID_OR_NUMBER]/metricDescriptors/[METRIC_ID] // // An example of `[METRIC_ID]` is: // `"custom.googleapis.com/my_test_metric"`. @@ -624,17 +625,17 @@ type ListTimeSeriesRequest struct { // Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name), // organization or folder on which to execute the request. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] - // organizations/[ORGANIZATION_ID] - // folders/[FOLDER_ID] + // projects/[PROJECT_ID_OR_NUMBER] + // organizations/[ORGANIZATION_ID] + // folders/[FOLDER_ID] Name string `protobuf:"bytes,10,opt,name=name,proto3" json:"name,omitempty"` // Required. A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) // that specifies which time series should be returned. The filter must // specify a single metric type, and can additionally specify metric labels // and other information. For example: // - // metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND - // metric.labels.instance_name = "my-instance-name" + // metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND + // metric.labels.instance_name = "my-instance-name" Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Required. The time interval for which results should be returned. Only time series // that contain data points in the specified interval are included @@ -854,7 +855,7 @@ type CreateTimeSeriesRequest struct { // Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name) on // which to execute the request. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // Required. The new data to be added to a list of time series. // Adds at most one data point to each of several time series. The new data @@ -1052,7 +1053,7 @@ type QueryTimeSeriesRequest struct { // Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name) on // which to execute the request. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. The query in the [Monitoring Query // Language](https://cloud.google.com/monitoring/mql/reference) format. diff --git a/monitoring/apiv3/v2/monitoringpb/notification.pb.go b/monitoring/apiv3/v2/monitoringpb/notification.pb.go index 0e9ed407b8e..c05c868abd9 100755 --- a/monitoring/apiv3/v2/monitoringpb/notification.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/notification.pb.go @@ -114,7 +114,7 @@ type NotificationChannelDescriptor struct { // The full REST resource name for this descriptor. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/notificationChannelDescriptors/[TYPE] + // projects/[PROJECT_ID_OR_NUMBER]/notificationChannelDescriptors/[TYPE] // // In the above, `[TYPE]` is the value of the `type` field. Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` @@ -243,7 +243,7 @@ type NotificationChannel struct { Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // The full REST resource name for this channel. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] + // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] // // The `[CHANNEL_ID]` is automatically assigned by the server on creation. Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` diff --git a/monitoring/apiv3/v2/monitoringpb/notification_service.pb.go b/monitoring/apiv3/v2/monitoringpb/notification_service.pb.go index 1de07534476..55c44d7e24b 100755 --- a/monitoring/apiv3/v2/monitoringpb/notification_service.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/notification_service.pb.go @@ -52,7 +52,7 @@ type ListNotificationChannelDescriptorsRequest struct { // Required. The REST resource name of the parent from which to retrieve // the notification channel descriptors. The expected syntax is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] // // Note that this // [names](https://cloud.google.com/monitoring/api/v3#project_name) the parent @@ -194,7 +194,7 @@ type GetNotificationChannelDescriptorRequest struct { // Required. The channel type for which to execute the request. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/notificationChannelDescriptors/[CHANNEL_TYPE] + // projects/[PROJECT_ID_OR_NUMBER]/notificationChannelDescriptors/[CHANNEL_TYPE] Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` } @@ -247,7 +247,7 @@ type CreateNotificationChannelRequest struct { // [project](https://cloud.google.com/monitoring/api/v3#project_name) on which // to execute the request. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] // // This names the container into which the channel will be // written, this does not name the newly created channel. The resulting @@ -314,7 +314,7 @@ type ListNotificationChannelsRequest struct { // [project](https://cloud.google.com/monitoring/api/v3#project_name) on which // to execute the request. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] // // This names the container // in which to look for the notification channels; it does not name a @@ -492,7 +492,7 @@ type GetNotificationChannelRequest struct { // Required. The channel for which to execute the request. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] + // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` } @@ -604,7 +604,7 @@ type DeleteNotificationChannelRequest struct { // Required. The channel for which to execute the request. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] + // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // If true, the notification channel will be deleted regardless of its // use in alert policies (the policies will be updated to remove the diff --git a/monitoring/apiv3/v2/monitoringpb/service.pb.go b/monitoring/apiv3/v2/monitoringpb/service.pb.go index 2a521a84ff1..49ef5176a05 100755 --- a/monitoring/apiv3/v2/monitoringpb/service.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/service.pb.go @@ -110,13 +110,14 @@ type Service struct { // Resource name for this Service. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] + // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Name used for UI elements listing this Service. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` // REQUIRED. Service-identifying atoms specifying the underlying service. // // Types that are assignable to Identifier: + // // *Service_Custom_ // *Service_AppEngine_ // *Service_CloudEndpoints_ @@ -305,7 +306,7 @@ type ServiceLevelObjective struct { // Resource name for this `ServiceLevelObjective`. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME] + // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME] Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Name used for UI elements listing this SLO. DisplayName string `protobuf:"bytes,11,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -319,6 +320,7 @@ type ServiceLevelObjective struct { // The time period over which the objective will be evaluated. // // Types that are assignable to Period: + // // *ServiceLevelObjective_RollingPeriod // *ServiceLevelObjective_CalendarPeriod Period isServiceLevelObjective_Period `protobuf_oneof:"period"` @@ -463,6 +465,7 @@ type ServiceLevelIndicator struct { // time windows // // Types that are assignable to Type: + // // *ServiceLevelIndicator_BasicSli // *ServiceLevelIndicator_RequestBased // *ServiceLevelIndicator_WindowsBased @@ -586,6 +589,7 @@ type BasicSli struct { // This SLI can be evaluated on the basis of availability or latency. // // Types that are assignable to SliCriteria: + // // *BasicSli_Availability // *BasicSli_Latency SliCriteria isBasicSli_SliCriteria `protobuf_oneof:"sli_criteria"` @@ -753,6 +757,7 @@ type RequestBasedSli struct { // The means to compute a ratio of `good_service` to `total_service`. // // Types that are assignable to Method: + // // *RequestBasedSli_GoodTotalRatio // *RequestBasedSli_DistributionCut Method isRequestBasedSli_Method `protobuf_oneof:"method"` @@ -991,6 +996,7 @@ type WindowsBasedSli struct { // The criterion to use for evaluating window goodness. // // Types that are assignable to WindowCriterion: + // // *WindowsBasedSli_GoodBadMetricFilter // *WindowsBasedSli_GoodTotalRatioThreshold // *WindowsBasedSli_MetricMeanInRange @@ -1634,6 +1640,7 @@ type WindowsBasedSli_PerformanceThreshold struct { // performance over a window. // // Types that are assignable to Type: + // // *WindowsBasedSli_PerformanceThreshold_Performance // *WindowsBasedSli_PerformanceThreshold_BasicSliPerformance Type isWindowsBasedSli_PerformanceThreshold_Type `protobuf_oneof:"type"` diff --git a/monitoring/apiv3/v2/monitoringpb/service_service.pb.go b/monitoring/apiv3/v2/monitoringpb/service_service.pb.go index 15da64f3d2a..49ca76700ee 100755 --- a/monitoring/apiv3/v2/monitoringpb/service_service.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/service_service.pb.go @@ -51,7 +51,7 @@ type CreateServiceRequest struct { // Required. Resource [name](https://cloud.google.com/monitoring/api/v3#project_name) of // the parent workspace. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. The Service id to use for this Service. If omitted, an id will be // generated instead. Must match the pattern `[a-z0-9\-]+` @@ -121,7 +121,7 @@ type GetServiceRequest struct { // Required. Resource name of the `Service`. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] + // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -174,22 +174,22 @@ type ListServicesRequest struct { // [project](https://cloud.google.com/monitoring/api/v3#project_name) or a // Monitoring Workspace. The formats are: // - // projects/[PROJECT_ID_OR_NUMBER] - // workspaces/[HOST_PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] + // workspaces/[HOST_PROJECT_ID_OR_NUMBER] Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // A filter specifying what `Service`s to return. The filter currently // supports the following fields: // - // - `identifier_case` - // - `app_engine.module_id` - // - `cloud_endpoints.service` (reserved for future use) - // - `mesh_istio.mesh_uid` - // - `mesh_istio.service_namespace` - // - `mesh_istio.service_name` - // - `cluster_istio.location` (deprecated) - // - `cluster_istio.cluster_name` (deprecated) - // - `cluster_istio.service_namespace` (deprecated) - // - `cluster_istio.service_name` (deprecated) + // - `identifier_case` + // - `app_engine.module_id` + // - `cloud_endpoints.service` (reserved for future use) + // - `mesh_istio.mesh_uid` + // - `mesh_istio.service_namespace` + // - `mesh_istio.service_name` + // - `cluster_istio.location` (deprecated) + // - `cluster_istio.cluster_name` (deprecated) + // - `cluster_istio.service_namespace` (deprecated) + // - `cluster_istio.service_name` (deprecated) // // `identifier_case` refers to which option in the identifier oneof is // populated. For example, the filter `identifier_case = "CUSTOM"` would match @@ -393,7 +393,7 @@ type DeleteServiceRequest struct { // Required. Resource name of the `Service` to delete. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] + // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -444,7 +444,7 @@ type CreateServiceLevelObjectiveRequest struct { // Required. Resource name of the parent `Service`. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] + // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. The ServiceLevelObjective id to use for this // ServiceLevelObjective. If omitted, an id will be generated instead. Must @@ -517,7 +517,7 @@ type GetServiceLevelObjectiveRequest struct { // Required. Resource name of the `ServiceLevelObjective` to get. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME] + // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME] Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // View of the `ServiceLevelObjective` to return. If `DEFAULT`, return the // `ServiceLevelObjective` as originally defined. If `EXPLICIT` and the @@ -581,8 +581,8 @@ type ListServiceLevelObjectivesRequest struct { // Required. Resource name of the parent containing the listed SLOs, either a // project or a Monitoring Workspace. The formats are: // - // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] - // workspaces/[HOST_PROJECT_ID_OR_NUMBER]/services/- + // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] + // workspaces/[HOST_PROJECT_ID_OR_NUMBER]/services/- Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // A filter specifying what `ServiceLevelObjective`s to return. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` @@ -794,7 +794,7 @@ type DeleteServiceLevelObjectiveRequest struct { // Required. Resource name of the `ServiceLevelObjective` to delete. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME] + // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME] Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } diff --git a/monitoring/apiv3/v2/monitoringpb/snooze.pb.go b/monitoring/apiv3/v2/monitoringpb/snooze.pb.go index 39e5d08f310..ffa5849bf28 100755 --- a/monitoring/apiv3/v2/monitoringpb/snooze.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/snooze.pb.go @@ -47,7 +47,7 @@ type Snooze struct { // Required. The name of the `Snooze`. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/snoozes/[SNOOZE_ID] + // projects/[PROJECT_ID_OR_NUMBER]/snoozes/[SNOOZE_ID] // // The ID of the `Snooze` will be generated by the system. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` @@ -136,7 +136,7 @@ type Snooze_Criteria struct { // The specific `AlertPolicy` names for the alert that should be snoozed. // The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[POLICY_ID] + // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[POLICY_ID] // // There is a limit of 16 policies per snooze. This limit is checked during // snooze creation. diff --git a/monitoring/apiv3/v2/monitoringpb/snooze_service.pb.go b/monitoring/apiv3/v2/monitoringpb/snooze_service.pb.go index 82e491b81fd..73bbb3f0ebe 100755 --- a/monitoring/apiv3/v2/monitoringpb/snooze_service.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/snooze_service.pb.go @@ -52,7 +52,7 @@ type CreateSnoozeRequest struct { // [project](https://cloud.google.com/monitoring/api/v3#project_name) in which // a `Snooze` should be created. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The `Snooze` to create. Omit the `name` field, as it will be // filled in by the API. @@ -116,20 +116,20 @@ type ListSnoozesRequest struct { // [project](https://cloud.google.com/monitoring/api/v3#project_name) whose // `Snooze`s should be listed. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. Optional filter to restrict results to the given criteria. The // following fields are supported. // - // * `interval.start_time` - // * `interval.end_time` + // - `interval.start_time` + // - `interval.end_time` // // For example: // - // ``` - // interval.start_time > "2022-03-11T00:00:00-08:00" AND - // interval.end_time < "2022-03-12T00:00:00-08:00" - // ``` + // ``` + // interval.start_time > "2022-03-11T00:00:00-08:00" AND + // interval.end_time < "2022-03-12T00:00:00-08:00" + // ``` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Optional. The maximum number of results to return for a single query. The // server may further constrain the maximum number of results returned in a @@ -271,7 +271,7 @@ type GetSnoozeRequest struct { // Required. The ID of the `Snooze` to retrieve. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/snoozes/[SNOOZE_ID] + // projects/[PROJECT_ID_OR_NUMBER]/snoozes/[SNOOZE_ID] Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -338,19 +338,19 @@ type UpdateSnoozeRequest struct { // // For each field listed in `update_mask`: // - // * If the `Snooze` object supplied in the `UpdateSnoozeRequest` has a + // - If the `Snooze` object supplied in the `UpdateSnoozeRequest` has a // value for that field, the value of the field in the existing `Snooze` // will be set to the value of the field in the supplied `Snooze`. - // * If the field does not have a value in the supplied `Snooze`, the field + // - If the field does not have a value in the supplied `Snooze`, the field // in the existing `Snooze` is set to its default value. // // Fields not listed retain their existing value. // // The following are the field names that are accepted in `update_mask`: // - // * `display_name` - // * `interval.start_time` - // * `interval.end_time` + // - `display_name` + // - `interval.start_time` + // - `interval.end_time` // // That said, the start time and end time of the `Snooze` determines which // fields can legally be updated. Before attempting an update, users should diff --git a/monitoring/apiv3/v2/monitoringpb/span_context.pb.go b/monitoring/apiv3/v2/monitoringpb/span_context.pb.go index 9327a5c057d..6fdbee9ca76 100755 --- a/monitoring/apiv3/v2/monitoringpb/span_context.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/span_context.pb.go @@ -49,7 +49,7 @@ type SpanContext struct { // The resource name of the span. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/traces/[TRACE_ID]/spans/[SPAN_ID] + // projects/[PROJECT_ID_OR_NUMBER]/traces/[TRACE_ID]/spans/[SPAN_ID] // // `[TRACE_ID]` is a unique identifier for a trace within a project; // it is a 32-character hexadecimal encoding of a 16-byte array. diff --git a/monitoring/apiv3/v2/monitoringpb/uptime.pb.go b/monitoring/apiv3/v2/monitoringpb/uptime.pb.go index 8a8991464a7..a79640100ae 100755 --- a/monitoring/apiv3/v2/monitoringpb/uptime.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/uptime.pb.go @@ -626,7 +626,7 @@ type InternalChecker struct { // A unique resource name for this InternalChecker. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/internalCheckers/[INTERNAL_CHECKER_ID] + // projects/[PROJECT_ID_OR_NUMBER]/internalCheckers/[INTERNAL_CHECKER_ID] // // `[PROJECT_ID_OR_NUMBER]` is the Cloud Monitoring Metrics Scope project for // the Uptime check config associated with the internal checker. @@ -731,7 +731,7 @@ type UptimeCheckConfig struct { // A unique resource name for this Uptime check configuration. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID] + // projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID] // // `[PROJECT_ID_OR_NUMBER]` is the Workspace host project associated with the // Uptime check. @@ -747,12 +747,14 @@ type UptimeCheckConfig struct { // The resource the check is checking. Required. // // Types that are assignable to Resource: + // // *UptimeCheckConfig_MonitoredResource // *UptimeCheckConfig_ResourceGroup_ Resource isUptimeCheckConfig_Resource `protobuf_oneof:"resource"` // The type of Uptime check request. // // Types that are assignable to CheckRequestType: + // // *UptimeCheckConfig_HttpCheck_ // *UptimeCheckConfig_TcpCheck_ CheckRequestType isUptimeCheckConfig_CheckRequestType `protobuf_oneof:"check_request_type"` @@ -957,14 +959,15 @@ type UptimeCheckConfig_MonitoredResource struct { // resource](https://cloud.google.com/monitoring/api/resources) associated // with the configuration. // The following monitored resource types are valid for this field: - // `uptime_url`, - // `gce_instance`, - // `gae_app`, - // `aws_ec2_instance`, - // `aws_elb_load_balancer` - // `k8s_service` - // `servicedirectory_service` - // `cloud_run_revision` + // + // `uptime_url`, + // `gce_instance`, + // `gae_app`, + // `aws_ec2_instance`, + // `aws_elb_load_balancer` + // `k8s_service` + // `servicedirectory_service` + // `cloud_run_revision` MonitoredResource *monitoredres.MonitoredResource `protobuf:"bytes,3,opt,name=monitored_resource,json=monitoredResource,proto3,oneof"` } @@ -1465,6 +1468,7 @@ type UptimeCheckConfig_ContentMatcher struct { // `JsonPathMatcher`; not used for other options. // // Types that are assignable to AdditionalMatcherInfo: + // // *UptimeCheckConfig_ContentMatcher_JsonPathMatcher_ AdditionalMatcherInfo isUptimeCheckConfig_ContentMatcher_AdditionalMatcherInfo `protobuf_oneof:"additional_matcher_info"` } @@ -1612,6 +1616,7 @@ type UptimeCheckConfig_HttpCheck_ResponseStatusCode struct { // Either a specific value or a class of status codes. // // Types that are assignable to StatusCode: + // // *UptimeCheckConfig_HttpCheck_ResponseStatusCode_StatusValue // *UptimeCheckConfig_HttpCheck_ResponseStatusCode_StatusClass_ StatusCode isUptimeCheckConfig_HttpCheck_ResponseStatusCode_StatusCode `protobuf_oneof:"status_code"` diff --git a/monitoring/apiv3/v2/monitoringpb/uptime_service.pb.go b/monitoring/apiv3/v2/monitoringpb/uptime_service.pb.go index c4a66477770..8d491abbf61 100755 --- a/monitoring/apiv3/v2/monitoringpb/uptime_service.pb.go +++ b/monitoring/apiv3/v2/monitoringpb/uptime_service.pb.go @@ -52,7 +52,7 @@ type ListUptimeCheckConfigsRequest struct { // [project](https://cloud.google.com/monitoring/api/v3#project_name) whose // Uptime check configurations are listed. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // If provided, this field specifies the criteria that must be met by // uptime checks to be included in the response. @@ -211,7 +211,7 @@ type GetUptimeCheckConfigRequest struct { // Required. The Uptime check configuration to retrieve. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID] + // projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID] Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -264,7 +264,7 @@ type CreateUptimeCheckConfigRequest struct { // [project](https://cloud.google.com/monitoring/api/v3#project_name) in which // to create the Uptime check. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The new Uptime check configuration. UptimeCheckConfig *UptimeCheckConfig `protobuf:"bytes,2,opt,name=uptime_check_config,json=uptimeCheckConfig,proto3" json:"uptime_check_config,omitempty"` @@ -395,7 +395,7 @@ type DeleteUptimeCheckConfigRequest struct { // Required. The Uptime check configuration to delete. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID] + // projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID] Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } diff --git a/monitoring/dashboard/apiv1/dashboardpb/alertchart.pb.go b/monitoring/dashboard/apiv1/dashboardpb/alertchart.pb.go index ed883244275..3da0b809a84 100755 --- a/monitoring/dashboard/apiv1/dashboardpb/alertchart.pb.go +++ b/monitoring/dashboard/apiv1/dashboardpb/alertchart.pb.go @@ -44,7 +44,7 @@ type AlertChart struct { // Required. The resource name of the alert policy. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] + // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } diff --git a/monitoring/dashboard/apiv1/dashboardpb/dashboard.pb.go b/monitoring/dashboard/apiv1/dashboardpb/dashboard.pb.go index 1500733edb8..f7c00fa4c1a 100755 --- a/monitoring/dashboard/apiv1/dashboardpb/dashboard.pb.go +++ b/monitoring/dashboard/apiv1/dashboardpb/dashboard.pb.go @@ -58,6 +58,7 @@ type Dashboard struct { // A dashboard's root container element that defines the layout style. // // Types that are assignable to Layout: + // // *Dashboard_GridLayout // *Dashboard_MosaicLayout // *Dashboard_RowLayout diff --git a/monitoring/dashboard/apiv1/dashboardpb/dashboard_filter.pb.go b/monitoring/dashboard/apiv1/dashboardpb/dashboard_filter.pb.go index fffea7611b7..a6f00b9790d 100755 --- a/monitoring/dashboard/apiv1/dashboardpb/dashboard_filter.pb.go +++ b/monitoring/dashboard/apiv1/dashboardpb/dashboard_filter.pb.go @@ -116,6 +116,7 @@ type DashboardFilter struct { // The default value used in the filter comparison // // Types that are assignable to DefaultValue: + // // *DashboardFilter_StringValue DefaultValue isDashboardFilter_DefaultValue `protobuf_oneof:"default_value"` // The specified filter type diff --git a/monitoring/dashboard/apiv1/dashboardpb/dashboards_service.pb.go b/monitoring/dashboard/apiv1/dashboardpb/dashboards_service.pb.go index aa572e3b9e9..ef2d5f761f3 100755 --- a/monitoring/dashboard/apiv1/dashboardpb/dashboards_service.pb.go +++ b/monitoring/dashboard/apiv1/dashboardpb/dashboards_service.pb.go @@ -49,7 +49,7 @@ type CreateDashboardRequest struct { // Required. The project on which to execute the request. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] // // The `[PROJECT_ID_OR_NUMBER]` must match the dashboard resource name. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` @@ -121,7 +121,7 @@ type ListDashboardsRequest struct { // Required. The scope of the dashboards to list. The format is: // - // projects/[PROJECT_ID_OR_NUMBER] + // projects/[PROJECT_ID_OR_NUMBER] Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // A positive number that is the maximum number of results to return. // If unspecified, a default of 1000 is used. @@ -253,9 +253,9 @@ type GetDashboardRequest struct { // Required. The resource name of the Dashboard. The format is one of: // - // - `dashboards/[DASHBOARD_ID]` (for system dashboards) - // - `projects/[PROJECT_ID_OR_NUMBER]/dashboards/[DASHBOARD_ID]` - // (for custom dashboards). + // - `dashboards/[DASHBOARD_ID]` (for system dashboards) + // - `projects/[PROJECT_ID_OR_NUMBER]/dashboards/[DASHBOARD_ID]` + // (for custom dashboards). Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -306,7 +306,7 @@ type DeleteDashboardRequest struct { // Required. The resource name of the Dashboard. The format is: // - // projects/[PROJECT_ID_OR_NUMBER]/dashboards/[DASHBOARD_ID] + // projects/[PROJECT_ID_OR_NUMBER]/dashboards/[DASHBOARD_ID] Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } diff --git a/monitoring/dashboard/apiv1/dashboardpb/metrics.pb.go b/monitoring/dashboard/apiv1/dashboardpb/metrics.pb.go index d308f963c46..f862cd136d3 100755 --- a/monitoring/dashboard/apiv1/dashboardpb/metrics.pb.go +++ b/monitoring/dashboard/apiv1/dashboardpb/metrics.pb.go @@ -263,6 +263,7 @@ type TimeSeriesQuery struct { // Parameters needed to obtain data for the chart. // // Types that are assignable to Source: + // // *TimeSeriesQuery_TimeSeriesFilter // *TimeSeriesQuery_TimeSeriesFilterRatio // *TimeSeriesQuery_TimeSeriesQueryLanguage @@ -404,6 +405,7 @@ type TimeSeriesFilter struct { // Selects an optional time series filter. // // Types that are assignable to OutputFilter: + // // *TimeSeriesFilter_PickTimeSeriesFilter // *TimeSeriesFilter_StatisticalTimeSeriesFilter OutputFilter isTimeSeriesFilter_OutputFilter `protobuf_oneof:"output_filter"` @@ -523,6 +525,7 @@ type TimeSeriesFilterRatio struct { // computing the ratio. // // Types that are assignable to OutputFilter: + // // *TimeSeriesFilterRatio_PickTimeSeriesFilter // *TimeSeriesFilterRatio_StatisticalTimeSeriesFilter OutputFilter isTimeSeriesFilterRatio_OutputFilter `protobuf_oneof:"output_filter"` diff --git a/monitoring/dashboard/apiv1/dashboardpb/scorecard.pb.go b/monitoring/dashboard/apiv1/dashboardpb/scorecard.pb.go index 6dedfc1c4c5..748e7f52c09 100755 --- a/monitoring/dashboard/apiv1/dashboardpb/scorecard.pb.go +++ b/monitoring/dashboard/apiv1/dashboardpb/scorecard.pb.go @@ -51,6 +51,7 @@ type Scorecard struct { // neither is included - then a default scorecard is shown. // // Types that are assignable to DataView: + // // *Scorecard_GaugeView_ // *Scorecard_SparkChartView_ DataView isScorecard_DataView `protobuf_oneof:"data_view"` @@ -65,26 +66,31 @@ type Scorecard struct { // As an example, consider a scorecard with the following four thresholds: // // ``` - // { - // value: 90, - // category: 'DANGER', - // trigger: 'ABOVE', - // }, - // { - // value: 70, - // category: 'WARNING', - // trigger: 'ABOVE', - // }, - // { - // value: 10, - // category: 'DANGER', - // trigger: 'BELOW', - // }, - // { - // value: 20, - // category: 'WARNING', - // trigger: 'BELOW', - // } + // + // { + // value: 90, + // category: 'DANGER', + // trigger: 'ABOVE', + // }, + // + // { + // value: 70, + // category: 'WARNING', + // trigger: 'ABOVE', + // }, + // + // { + // value: 10, + // category: 'DANGER', + // trigger: 'BELOW', + // }, + // + // { + // value: 20, + // category: 'WARNING', + // trigger: 'BELOW', + // } + // // ``` // // Then: values less than or equal to 10 would put the scorecard in a DANGER diff --git a/monitoring/dashboard/apiv1/dashboardpb/widget.pb.go b/monitoring/dashboard/apiv1/dashboardpb/widget.pb.go index 3468726bbda..ed9f30b7d24 100755 --- a/monitoring/dashboard/apiv1/dashboardpb/widget.pb.go +++ b/monitoring/dashboard/apiv1/dashboardpb/widget.pb.go @@ -49,6 +49,7 @@ type Widget struct { // Content defines the component used to populate the widget. // // Types that are assignable to Content: + // // *Widget_XyChart // *Widget_Scorecard // *Widget_Text diff --git a/netapp/apiv1/netapppb/volume.pb.go b/netapp/apiv1/netapppb/volume.pb.go index 6dcd8cbceb1..373224006fd 100755 --- a/netapp/apiv1/netapppb/volume.pb.go +++ b/netapp/apiv1/netapppb/volume.pb.go @@ -1849,6 +1849,7 @@ type RestoreParameters struct { // The source that the volume is created from. // // Types that are assignable to Source: + // // *RestoreParameters_SourceSnapshot // *RestoreParameters_SourceBackup Source isRestoreParameters_Source `protobuf_oneof:"source"` diff --git a/networkconnectivity/apiv1/networkconnectivitypb/hub.pb.go b/networkconnectivity/apiv1/networkconnectivitypb/hub.pb.go index acd4dd6dde7..6740f80bb7d 100755 --- a/networkconnectivity/apiv1/networkconnectivitypb/hub.pb.go +++ b/networkconnectivity/apiv1/networkconnectivitypb/hub.pb.go @@ -425,7 +425,8 @@ type Hub struct { // Immutable. The name of the hub. Hub names must be unique. They use the // following form: - // `projects/{project_number}/locations/global/hubs/{hub_id}` + // + // `projects/{project_number}/locations/global/hubs/{hub_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Output only. The time the hub was created. CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` @@ -450,7 +451,8 @@ type Hub struct { RoutingVpcs []*RoutingVPC `protobuf:"bytes,10,rep,name=routing_vpcs,json=routingVpcs,proto3" json:"routing_vpcs,omitempty"` // Output only. The route tables that belong to this hub. They use the // following form: - // `projects/{project_number}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}` + // + // `projects/{project_number}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}` // // This field is read-only. Network Connectivity Center automatically // populates it based on the route tables nested under the hub. @@ -645,7 +647,8 @@ type Spoke struct { // Immutable. The name of the spoke. Spoke names must be unique. They use the // following form: - // `projects/{project_number}/locations/{region}/spokes/{spoke_id}` + // + // `projects/{project_number}/locations/{region}/spokes/{spoke_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Output only. The time the spoke was created. CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` @@ -826,7 +829,8 @@ type RouteTable struct { // Immutable. The name of the route table. Route table names must be unique. // They use the following form: - // `projects/{project_number}/locations/global/hubs/{hub}/routeTables/{route_table_id}` + // + // `projects/{project_number}/locations/global/hubs/{hub}/routeTables/{route_table_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Output only. The time the route table was created. CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` @@ -937,7 +941,8 @@ type Route struct { // Immutable. The name of the route. Route names must be unique. Route names // use the following form: - // `projects/{project_number}/locations/global/hubs/{hub}/routeTables/{route_table_id}/routes/{route_id}` + // + // `projects/{project_number}/locations/global/hubs/{hub}/routeTables/{route_table_id}/routes/{route_id}` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // Output only. The time the route was created. CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` @@ -1096,7 +1101,8 @@ type Group struct { // Immutable. The name of the group. Group names must be unique. They // use the following form: - // `projects/{project_number}/locations/global/hubs/{hub}/groups/{group_id}` + // + // `projects/{project_number}/locations/global/hubs/{hub}/groups/{group_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Output only. The time the group was created. CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` diff --git a/networkconnectivity/apiv1/networkconnectivitypb/policy_based_routing.pb.go b/networkconnectivity/apiv1/networkconnectivitypb/policy_based_routing.pb.go index 7ff8b2777a0..26098914a6b 100755 --- a/networkconnectivity/apiv1/networkconnectivitypb/policy_based_routing.pb.go +++ b/networkconnectivity/apiv1/networkconnectivitypb/policy_based_routing.pb.go @@ -216,10 +216,12 @@ type PolicyBasedRoute struct { // network endpoints (e.g. VMs, VPNs, and Interconnects) in the VPC. // // Types that are assignable to Target: + // // *PolicyBasedRoute_VirtualMachine_ // *PolicyBasedRoute_InterconnectAttachment_ Target isPolicyBasedRoute_Target `protobuf_oneof:"target"` // Types that are assignable to NextHop: + // // *PolicyBasedRoute_NextHopIlbIp // *PolicyBasedRoute_NextHopOtherRoutes NextHop isPolicyBasedRoute_NextHop `protobuf_oneof:"next_hop"` diff --git a/networkmanagement/apiv1/networkmanagementpb/connectivity_test.pb.go b/networkmanagement/apiv1/networkmanagementpb/connectivity_test.pb.go index f095e4fb7c2..dd1f17cf0ef 100755 --- a/networkmanagement/apiv1/networkmanagementpb/connectivity_test.pb.go +++ b/networkmanagement/apiv1/networkmanagementpb/connectivity_test.pb.go @@ -166,11 +166,11 @@ const ( ReachabilityDetails_RESULT_UNSPECIFIED ReachabilityDetails_Result = 0 // Possible scenarios are: // - // * The configuration analysis determined that a packet originating from - // the source is expected to reach the destination. - // * The analysis didn't complete because the user lacks permission for - // some of the resources in the trace. However, at the time the user's - // permission became insufficient, the trace had been successful so far. + // - The configuration analysis determined that a packet originating from + // the source is expected to reach the destination. + // - The analysis didn't complete because the user lacks permission for + // some of the resources in the trace. However, at the time the user's + // permission became insufficient, the trace had been successful so far. ReachabilityDetails_REACHABLE ReachabilityDetails_Result = 1 // A packet originating from the source is expected to be dropped before // reaching the destination. @@ -182,11 +182,11 @@ const ( ReachabilityDetails_AMBIGUOUS ReachabilityDetails_Result = 4 // The configuration analysis did not complete. Possible reasons are: // - // * A permissions error occurred--for example, the user might not have - // read permission for all of the resources named in the test. - // * An internal error occurred. - // * The analyzer received an invalid or unsupported argument or was unable - // to identify a known endpoint. + // - A permissions error occurred--for example, the user might not have + // read permission for all of the resources named in the test. + // - An internal error occurred. + // - The analyzer received an invalid or unsupported argument or was unable + // to identify a known endpoint. ReachabilityDetails_UNDETERMINED ReachabilityDetails_Result = 5 ) @@ -248,10 +248,10 @@ const ( // Less than 95% of packets reached the destination. ProbingDetails_REACHABILITY_INCONSISTENT ProbingDetails_ProbingResult = 3 // Reachability could not be determined. Possible reasons are: - // * The user lacks permission to access some of the network resources - // required to run the test. - // * No valid source endpoint could be derived from the request. - // * An internal error occurred. + // - The user lacks permission to access some of the network resources + // required to run the test. + // - No valid source endpoint could be derived from the request. + // - An internal error occurred. ProbingDetails_UNDETERMINED ProbingDetails_ProbingResult = 4 ) @@ -361,7 +361,8 @@ type ConnectivityTest struct { unknownFields protoimpl.UnknownFields // Required. Unique name of the resource using the form: - // `projects/{project_id}/locations/global/connectivityTests/{test}` + // + // `projects/{project_id}/locations/global/connectivityTests/{test}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The user-supplied description of the Connectivity Test. // Maximum of 512 characters. @@ -568,8 +569,9 @@ type Endpoint struct { // configuration of a Google Cloud load balancer. Forwarding rules are also // used for protocol forwarding, Private Service Connect and other network // services to provide forwarding information in the control plane. Format: - // projects/{project}/global/forwardingRules/{id} or - // projects/{project}/regions/{region}/forwardingRules/{id} + // + // projects/{project}/global/forwardingRules/{id} or + // projects/{project}/regions/{region}/forwardingRules/{id} ForwardingRule string `protobuf:"bytes,13,opt,name=forwarding_rule,json=forwardingRule,proto3" json:"forwarding_rule,omitempty"` // Output only. Specifies the type of the target of the forwarding rule. ForwardingRuleTarget *Endpoint_ForwardingRuleTarget `protobuf:"varint,14,opt,name=forwarding_rule_target,json=forwardingRuleTarget,proto3,enum=google.cloud.networkmanagement.v1.Endpoint_ForwardingRuleTarget,oneof" json:"forwarding_rule_target,omitempty"` diff --git a/networkmanagement/apiv1/networkmanagementpb/reachability.pb.go b/networkmanagement/apiv1/networkmanagementpb/reachability.pb.go index e679d7c25e3..b7f3341211d 100755 --- a/networkmanagement/apiv1/networkmanagementpb/reachability.pb.go +++ b/networkmanagement/apiv1/networkmanagementpb/reachability.pb.go @@ -50,7 +50,8 @@ type ListConnectivityTestsRequest struct { unknownFields protoimpl.UnknownFields // Required. The parent resource of the Connectivity Tests: - // `projects/{project_id}/locations/global` + // + // `projects/{project_id}/locations/global` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Number of `ConnectivityTests` to return. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -66,8 +67,8 @@ type ListConnectivityTestsRequest struct { // field, or a synthetic field. Field names can be camelCase or snake_case. // // Examples: - // - Filter by name: - // name = "projects/proj-1/locations/global/connectivityTests/test-1 + // - Filter by name: + // name = "projects/proj-1/locations/global/connectivityTests/test-1 // // - Filter by labels: // - Resources that have a key called `foo` @@ -220,7 +221,8 @@ type GetConnectivityTestRequest struct { unknownFields protoimpl.UnknownFields // Required. `ConnectivityTest` resource name using the form: - // `projects/{project_id}/locations/global/connectivityTests/{test_id}` + // + // `projects/{project_id}/locations/global/connectivityTests/{test_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -270,7 +272,8 @@ type CreateConnectivityTestRequest struct { unknownFields protoimpl.UnknownFields // Required. The parent resource of the Connectivity Test to create: - // `projects/{project_id}/locations/global` + // + // `projects/{project_id}/locations/global` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The logical name of the Connectivity Test in your project // with the following restrictions: @@ -404,7 +407,8 @@ type DeleteConnectivityTestRequest struct { unknownFields protoimpl.UnknownFields // Required. Connectivity Test resource name using the form: - // `projects/{project_id}/locations/global/connectivityTests/{test_id}` + // + // `projects/{project_id}/locations/global/connectivityTests/{test_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -454,7 +458,8 @@ type RerunConnectivityTestRequest struct { unknownFields protoimpl.UnknownFields // Required. Connectivity Test resource name using the form: - // `projects/{project_id}/locations/global/connectivityTests/{test_id}` + // + // `projects/{project_id}/locations/global/connectivityTests/{test_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } diff --git a/networkmanagement/apiv1/networkmanagementpb/trace.pb.go b/networkmanagement/apiv1/networkmanagementpb/trace.pb.go index 601d6b9a2f5..f567dfd7f05 100755 --- a/networkmanagement/apiv1/networkmanagementpb/trace.pb.go +++ b/networkmanagement/apiv1/networkmanagementpb/trace.pb.go @@ -1558,6 +1558,7 @@ type Step struct { // final state the configuration is cleared. // // Types that are assignable to StepInfo: + // // *Step_Instance // *Step_Firewall // *Step_Route diff --git a/networksecurity/apiv1beta1/networksecuritypb/authorization_policy.pb.go b/networksecurity/apiv1beta1/networksecuritypb/authorization_policy.pb.go index 9bae1c964a5..c4c893abd79 100755 --- a/networksecurity/apiv1beta1/networksecuritypb/authorization_policy.pb.go +++ b/networksecurity/apiv1beta1/networksecuritypb/authorization_policy.pb.go @@ -795,6 +795,7 @@ type AuthorizationPolicy_Rule_Destination_HttpHeaderMatch struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Type: + // // *AuthorizationPolicy_Rule_Destination_HttpHeaderMatch_RegexMatch Type isAuthorizationPolicy_Rule_Destination_HttpHeaderMatch_Type `protobuf_oneof:"type"` // Required. The name of the HTTP header to match. For matching diff --git a/networksecurity/apiv1beta1/networksecuritypb/server_tls_policy.pb.go b/networksecurity/apiv1beta1/networksecuritypb/server_tls_policy.pb.go index 6fb95836e5a..aee2f15856f 100755 --- a/networksecurity/apiv1beta1/networksecuritypb/server_tls_policy.pb.go +++ b/networksecurity/apiv1beta1/networksecuritypb/server_tls_policy.pb.go @@ -57,7 +57,6 @@ type ServerTlsPolicy struct { UpdateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` // Set of label tags associated with the resource. Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // // Determines if server allows plaintext connections. If set to true, server // allows plain text connections. By default, it is set to false. This setting // is not exclusive of other encryption modes. For example, if `allow_open` @@ -68,12 +67,10 @@ type ServerTlsPolicy struct { // Consider using it if you wish to upgrade in place your deployment to TLS // while having mixed TLS and non-TLS traffic reaching port :80. AllowOpen bool `protobuf:"varint,6,opt,name=allow_open,json=allowOpen,proto3" json:"allow_open,omitempty"` - // // Defines a mechanism to provision server identity (public and private keys). // Cannot be combined with `allow_open` as a permissive mode that allows both // plain text and TLS is not supported. ServerCertificate *CertificateProvider `protobuf:"bytes,7,opt,name=server_certificate,json=serverCertificate,proto3" json:"server_certificate,omitempty"` - // // Defines a mechanism to provision peer validation certificates for peer to // peer authentication (Mutual TLS - mTLS). If not specified, client // certificate will not be requested. The connection is treated as TLS and not @@ -541,7 +538,6 @@ type ServerTlsPolicy_MTLSPolicy struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // // Defines the mechanism to obtain the Certificate Authority certificate to // validate the client certificate. ClientValidationCa []*ValidationCA `protobuf:"bytes,1,rep,name=client_validation_ca,json=clientValidationCa,proto3" json:"client_validation_ca,omitempty"` diff --git a/networksecurity/apiv1beta1/networksecuritypb/tls.pb.go b/networksecurity/apiv1beta1/networksecuritypb/tls.pb.go index f2bca9dc51e..aa98e7d254a 100755 --- a/networksecurity/apiv1beta1/networksecuritypb/tls.pb.go +++ b/networksecurity/apiv1beta1/networksecuritypb/tls.pb.go @@ -96,6 +96,7 @@ type ValidationCA struct { // The type of certificate provider which provides the CA certificate. // // Types that are assignable to Type: + // // *ValidationCA_GrpcEndpoint // *ValidationCA_CertificateProviderInstance Type isValidationCA_Type `protobuf_oneof:"type"` @@ -240,6 +241,7 @@ type CertificateProvider struct { // private keys. // // Types that are assignable to Type: + // // *CertificateProvider_GrpcEndpoint // *CertificateProvider_CertificateProviderInstance Type isCertificateProvider_Type `protobuf_oneof:"type"` diff --git a/notebooks/apiv1/notebookspb/diagnostic_config.pb.go b/notebooks/apiv1/notebookspb/diagnostic_config.pb.go index f5d8b87bf74..66896f53029 100755 --- a/notebooks/apiv1/notebookspb/diagnostic_config.pb.go +++ b/notebooks/apiv1/notebookspb/diagnostic_config.pb.go @@ -47,11 +47,12 @@ type DiagnosticConfig struct { // // Permissions: // User Managed Notebooks: - // - storage.buckets.writer: Must be given to the project's service account - // attached to VM. + // - storage.buckets.writer: Must be given to the project's service account + // attached to VM. + // // Google Managed Notebooks: - // - storage.buckets.writer: Must be given to the project's service account or - // user credentials attached to VM depending on authentication mode. + // - storage.buckets.writer: Must be given to the project's service account or + // user credentials attached to VM depending on authentication mode. // // Cloud Storage bucket Log file will be written to // `gs://$GCS_BUCKET/$RELATIVE_PATH/$VM_DATE_$TIME.tar.gz` diff --git a/notebooks/apiv1/notebookspb/environment.pb.go b/notebooks/apiv1/notebookspb/environment.pb.go index 6e7a2c441f6..dd86ea5ea38 100755 --- a/notebooks/apiv1/notebookspb/environment.pb.go +++ b/notebooks/apiv1/notebookspb/environment.pb.go @@ -55,6 +55,7 @@ type Environment struct { // Type of the environment; can be one of VM image, or container image. // // Types that are assignable to ImageType: + // // *Environment_VmImage // *Environment_ContainerImage ImageType isEnvironment_ImageType `protobuf_oneof:"image_type"` @@ -185,6 +186,7 @@ type VmImage struct { // The reference to an external Compute Engine VM image. // // Types that are assignable to Image: + // // *VmImage_ImageName // *VmImage_ImageFamily Image isVmImage_Image `protobuf_oneof:"image"` diff --git a/notebooks/apiv1/notebookspb/execution.pb.go b/notebooks/apiv1/notebookspb/execution.pb.go index e7b9fb527c5..08321ae851e 100755 --- a/notebooks/apiv1/notebookspb/execution.pb.go +++ b/notebooks/apiv1/notebookspb/execution.pb.go @@ -59,7 +59,7 @@ const ( // own cluster specification. When you use this tier, set values to // configure your processing cluster according to these guidelines: // - // * You _must_ set `ExecutionTemplate.masterType` to specify the type + // - You _must_ set `ExecutionTemplate.masterType` to specify the type // of machine to use for your master node. This is the only required // setting. ExecutionTemplate_CUSTOM ExecutionTemplate_ScaleTier = 6 @@ -367,7 +367,6 @@ type ExecutionTemplate struct { // - `n1-highcpu-64` // - `n1-highcpu-96` // - // // Alternatively, you can use the following legacy machine types: // // - `standard` @@ -385,7 +384,6 @@ type ExecutionTemplate struct { // - `complex_model_m_v100` // - `complex_model_l_v100` // - // // Finally, if you want to use a TPU for training, specify `cloud_tpu` in this // field. Learn more about the [special configuration options for training // with @@ -433,6 +431,7 @@ type ExecutionTemplate struct { // NOTE: There are currently no extra parameters for VertexAI jobs. // // Types that are assignable to JobParameters: + // // *ExecutionTemplate_DataprocParameters_ // *ExecutionTemplate_VertexAiParameters JobParameters isExecutionTemplate_JobParameters `protobuf_oneof:"job_parameters"` diff --git a/notebooks/apiv1/notebookspb/instance.pb.go b/notebooks/apiv1/notebookspb/instance.pb.go index 43972fb26c8..46b187640c8 100755 --- a/notebooks/apiv1/notebookspb/instance.pb.go +++ b/notebooks/apiv1/notebookspb/instance.pb.go @@ -632,6 +632,7 @@ type Instance struct { // Type of the environment; can be one of VM image, or container image. // // Types that are assignable to Environment: + // // *Instance_VmImage // *Instance_ContainerImage Environment isInstance_Environment `protobuf_oneof:"environment"` @@ -662,10 +663,12 @@ type Instance struct { // If not specified, the following // [scopes](https://cloud.google.com/compute/docs/access/service-accounts#accesscopesiam) // are defined: - // - https://www.googleapis.com/auth/cloud-platform - // - https://www.googleapis.com/auth/userinfo.email + // - https://www.googleapis.com/auth/cloud-platform + // - https://www.googleapis.com/auth/userinfo.email + // // If not using default scopes, you need at least: - // https://www.googleapis.com/auth/compute + // + // https://www.googleapis.com/auth/compute ServiceAccountScopes []string `protobuf:"bytes,31,rep,name=service_account_scopes,json=serviceAccountScopes,proto3" json:"service_account_scopes,omitempty"` // Required. The [Compute Engine machine // type](https://cloud.google.com/compute/docs/machine-types) of this diff --git a/notebooks/apiv1/notebookspb/managed_service.pb.go b/notebooks/apiv1/notebookspb/managed_service.pb.go index 2739f90b4d2..1bddc8ef472 100755 --- a/notebooks/apiv1/notebookspb/managed_service.pb.go +++ b/notebooks/apiv1/notebookspb/managed_service.pb.go @@ -767,15 +767,14 @@ type UpdateRuntimeRequest struct { // specified as `software_config.kernels`, // and the `PATCH` request body would specify the new value, as follows: // - // { - // "software_config":{ - // "kernels": [{ - // 'repository': - // 'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag': - // 'latest' }], - // } - // } - // + // { + // "software_config":{ + // "kernels": [{ + // 'repository': + // 'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag': + // 'latest' }], + // } + // } // // Currently, only the following fields can be updated: // - `software_config.kernels` diff --git a/notebooks/apiv1/notebookspb/runtime.pb.go b/notebooks/apiv1/notebookspb/runtime.pb.go index 2c0d098a3f5..3f2bab3834f 100755 --- a/notebooks/apiv1/notebookspb/runtime.pb.go +++ b/notebooks/apiv1/notebookspb/runtime.pb.go @@ -511,6 +511,7 @@ type Runtime struct { // Type of the runtime; currently only supports Compute Engine VM. // // Types that are assignable to RuntimeType: + // // *Runtime_VirtualMachine RuntimeType isRuntime_RuntimeType `protobuf_oneof:"runtime_type"` // Output only. Runtime state. @@ -1560,14 +1561,14 @@ type VirtualMachineConfig struct { // // Example: managed-notebooks-range-c // - // PEERING_RANGE_NAME_3=managed-notebooks-range-c - // gcloud compute addresses create $PEERING_RANGE_NAME_3 \ - // --global \ - // --prefix-length=24 \ - // --description="Google Cloud Managed Notebooks Range 24 c" \ - // --network=$NETWORK \ - // --addresses=192.168.0.0 \ - // --purpose=VPC_PEERING + // PEERING_RANGE_NAME_3=managed-notebooks-range-c + // gcloud compute addresses create $PEERING_RANGE_NAME_3 \ + // --global \ + // --prefix-length=24 \ + // --description="Google Cloud Managed Notebooks Range 24 c" \ + // --network=$NETWORK \ + // --addresses=192.168.0.0 \ + // --purpose=VPC_PEERING // // Field value will be: `managed-notebooks-range-c` ReservedIpRange string `protobuf:"bytes,18,opt,name=reserved_ip_range,json=reservedIpRange,proto3" json:"reserved_ip_range,omitempty"` diff --git a/notebooks/apiv1/notebookspb/service.pb.go b/notebooks/apiv1/notebookspb/service.pb.go index 7bba7b75efc..e41bb219be5 100755 --- a/notebooks/apiv1/notebookspb/service.pb.go +++ b/notebooks/apiv1/notebookspb/service.pb.go @@ -1492,13 +1492,14 @@ type GetInstanceHealthResponse struct { HealthState GetInstanceHealthResponse_HealthState `protobuf:"varint,1,opt,name=health_state,json=healthState,proto3,enum=google.cloud.notebooks.v1.GetInstanceHealthResponse_HealthState" json:"health_state,omitempty"` // Output only. Additional information about instance health. // Example: - // healthInfo": { - // "docker_proxy_agent_status": "1", - // "docker_status": "1", - // "jupyterlab_api_status": "-1", - // "jupyterlab_status": "-1", - // "updated": "2020-10-18 09:40:03.573409" - // } + // + // healthInfo": { + // "docker_proxy_agent_status": "1", + // "docker_status": "1", + // "jupyterlab_api_status": "-1", + // "jupyterlab_status": "-1", + // "updated": "2020-10-18 09:40:03.573409" + // } HealthInfo map[string]string `protobuf:"bytes,2,rep,name=health_info,json=healthInfo,proto3" json:"health_info,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -2203,8 +2204,8 @@ type ListSchedulesResponse struct { NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` // Schedules that could not be reached. For example: // - // ['projects/{project_id}/location/{location}/schedules/monthly_digest', - // 'projects/{project_id}/location/{location}/schedules/weekly_sentiment'] + // ['projects/{project_id}/location/{location}/schedules/monthly_digest', + // 'projects/{project_id}/location/{location}/schedules/weekly_sentiment'] Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` } @@ -2581,8 +2582,8 @@ type ListExecutionsResponse struct { NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` // Executions IDs that could not be reached. For example: // - // ['projects/{project_id}/location/{location}/executions/imagenet_test1', - // 'projects/{project_id}/location/{location}/executions/classifier_train1'] + // ['projects/{project_id}/location/{location}/executions/imagenet_test1', + // 'projects/{project_id}/location/{location}/executions/classifier_train1'] Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` } diff --git a/notebooks/apiv1beta1/notebookspb/environment.pb.go b/notebooks/apiv1beta1/notebookspb/environment.pb.go index 47a5bc4a6b2..bb5b0a5841d 100755 --- a/notebooks/apiv1beta1/notebookspb/environment.pb.go +++ b/notebooks/apiv1beta1/notebookspb/environment.pb.go @@ -55,6 +55,7 @@ type Environment struct { // Type of the environment; can be one of VM image, or container image. // // Types that are assignable to ImageType: + // // *Environment_VmImage // *Environment_ContainerImage ImageType isEnvironment_ImageType `protobuf_oneof:"image_type"` @@ -185,6 +186,7 @@ type VmImage struct { // The reference to an external Compute Engine VM image. // // Types that are assignable to Image: + // // *VmImage_ImageName // *VmImage_ImageFamily Image isVmImage_Image `protobuf_oneof:"image"` diff --git a/notebooks/apiv1beta1/notebookspb/instance.pb.go b/notebooks/apiv1beta1/notebookspb/instance.pb.go index 9cc3d5811ab..0b13cd9c24c 100755 --- a/notebooks/apiv1beta1/notebookspb/instance.pb.go +++ b/notebooks/apiv1beta1/notebookspb/instance.pb.go @@ -514,6 +514,7 @@ type Instance struct { // Type of the environment; can be one of VM image, or container image. // // Types that are assignable to Environment: + // // *Instance_VmImage // *Instance_ContainerImage Environment isInstance_Environment `protobuf_oneof:"environment"` diff --git a/notebooks/apiv2/notebookspb/diagnostic_config.pb.go b/notebooks/apiv2/notebookspb/diagnostic_config.pb.go index a7cb88d5eab..d1572a2f268 100755 --- a/notebooks/apiv2/notebookspb/diagnostic_config.pb.go +++ b/notebooks/apiv2/notebookspb/diagnostic_config.pb.go @@ -47,11 +47,12 @@ type DiagnosticConfig struct { // // Permissions: // User Managed Notebooks: - // - storage.buckets.writer: Must be given to the project's service account - // attached to VM. + // - storage.buckets.writer: Must be given to the project's service account + // attached to VM. + // // Google Managed Notebooks: - // - storage.buckets.writer: Must be given to the project's service account or - // user credentials attached to VM depending on authentication mode. + // - storage.buckets.writer: Must be given to the project's service account or + // user credentials attached to VM depending on authentication mode. // // Cloud Storage bucket Log file will be written to // `gs://$GCS_BUCKET/$RELATIVE_PATH/$VM_DATE_$TIME.tar.gz` diff --git a/notebooks/apiv2/notebookspb/gce_setup.pb.go b/notebooks/apiv2/notebookspb/gce_setup.pb.go index b568fb4e6f7..0ba73028cb6 100755 --- a/notebooks/apiv2/notebookspb/gce_setup.pb.go +++ b/notebooks/apiv2/notebookspb/gce_setup.pb.go @@ -375,6 +375,7 @@ type VmImage struct { // The reference to an external Compute Engine VM image. // // Types that are assignable to Image: + // // *VmImage_Name // *VmImage_Family Image isVmImage_Image `protobuf_oneof:"image"` @@ -971,6 +972,7 @@ type GceSetup struct { // Type of the image; can be one of VM image, or container image. // // Types that are assignable to Image: + // // *GceSetup_VmImage // *GceSetup_ContainerImage Image isGceSetup_Image `protobuf_oneof:"image"` diff --git a/notebooks/apiv2/notebookspb/instance.pb.go b/notebooks/apiv2/notebookspb/instance.pb.go index c8912c838a8..cf1d8e3664b 100755 --- a/notebooks/apiv2/notebookspb/instance.pb.go +++ b/notebooks/apiv2/notebookspb/instance.pb.go @@ -434,6 +434,7 @@ type Instance struct { // Setup for the Notebook instance. // // Types that are assignable to Infrastructure: + // // *Instance_GceSetup Infrastructure isInstance_Infrastructure `protobuf_oneof:"infrastructure"` // Output only. The proxy endpoint that is used to access the Jupyter @@ -460,13 +461,13 @@ type Instance struct { // Output only. Additional information about instance health. // Example: // - // healthInfo": { - // "docker_proxy_agent_status": "1", - // "docker_status": "1", - // "jupyterlab_api_status": "-1", - // "jupyterlab_status": "-1", - // "updated": "2020-10-18 09:40:03.573409" - // } + // healthInfo": { + // "docker_proxy_agent_status": "1", + // "docker_status": "1", + // "jupyterlab_api_status": "-1", + // "jupyterlab_status": "-1", + // "updated": "2020-10-18 09:40:03.573409" + // } HealthInfo map[string]string `protobuf:"bytes,10,rep,name=health_info,json=healthInfo,proto3" json:"health_info,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Output only. Instance creation time. CreateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` diff --git a/optimization/apiv1/optimizationpb/async_model.pb.go b/optimization/apiv1/optimizationpb/async_model.pb.go index 9c770f1da6c..a0fc3565504 100755 --- a/optimization/apiv1/optimizationpb/async_model.pb.go +++ b/optimization/apiv1/optimizationpb/async_model.pb.go @@ -161,6 +161,7 @@ type InputConfig struct { // Required. // // Types that are assignable to Source: + // // *InputConfig_GcsSource Source isInputConfig_Source `protobuf_oneof:"source"` // The input data format that used to store the model in Cloud Storage. @@ -242,6 +243,7 @@ type OutputConfig struct { // Required. // // Types that are assignable to Destination: + // // *OutputConfig_GcsDestination Destination isOutputConfig_Destination `protobuf_oneof:"destination"` // The output data format that used to store the results in Cloud Storage. diff --git a/optimization/apiv1/optimizationpb/fleet_routing.pb.go b/optimization/apiv1/optimizationpb/fleet_routing.pb.go index fce14b5f96f..9055340cea5 100755 --- a/optimization/apiv1/optimizationpb/fleet_routing.pb.go +++ b/optimization/apiv1/optimizationpb/fleet_routing.pb.go @@ -184,11 +184,11 @@ const ( // For two shipments with incompatible types with the // `NOT_IN_SAME_VEHICLE_SIMULTANEOUSLY` incompatibility mode: // - // * If both are pickups only (no deliveries) or deliveries only (no - // pickups), they cannot share the same vehicle at all. - // * If one of the shipments has a delivery and the other a pickup, the two - // shipments can share the same vehicle iff the former shipment is - // delivered before the latter is picked up. + // - If both are pickups only (no deliveries) or deliveries only (no + // pickups), they cannot share the same vehicle at all. + // - If one of the shipments has a delivery and the other a pickup, the two + // shipments can share the same vehicle iff the former shipment is + // delivered before the latter is picked up. ShipmentTypeIncompatibility_NOT_IN_SAME_VEHICLE_SIMULTANEOUSLY ShipmentTypeIncompatibility_IncompatibilityMode = 2 ) @@ -248,10 +248,10 @@ const ( // // A "dependent" shipment pickup must therefore have either: // - // * A delivery-only "required" shipment delivered on the route after, or - // * A "required" shipment picked up on the route before it, and if the - // "required" shipment has a delivery, this delivery must be performed - // after the "dependent" shipment's pickup. + // - A delivery-only "required" shipment delivered on the route after, or + // - A "required" shipment picked up on the route before it, and if the + // "required" shipment has a delivery, this delivery must be performed + // after the "dependent" shipment's pickup. ShipmentTypeRequirement_IN_SAME_VEHICLE_AT_PICKUP_TIME ShipmentTypeRequirement_RequirementMode = 2 // Same as before, except the "dependent" shipments need to have a // "required" shipment on their vehicle at the time of their *delivery*. @@ -614,18 +614,18 @@ type OptimizeToursRequest struct { // // The solution must satisfy some basic validity assumptions: // - // * for all routes, `vehicle_index` must be in range and not be duplicated. - // * for all visits, `shipment_index` and `visit_request_index` must be + // - for all routes, `vehicle_index` must be in range and not be duplicated. + // - for all visits, `shipment_index` and `visit_request_index` must be // in range. - // * a shipment may only be referenced on one route. - // * the pickup of a pickup-delivery shipment must be performed before + // - a shipment may only be referenced on one route. + // - the pickup of a pickup-delivery shipment must be performed before // the delivery. - // * no more than one pickup alternative or delivery alternative of + // - no more than one pickup alternative or delivery alternative of // a shipment may be performed. - // * for all routes, times are increasing (i.e., `vehicle_start_time + // - for all routes, times are increasing (i.e., `vehicle_start_time // <= visits[0].start_time <= visits[1].start_time ... // <= vehicle_end_time`). - // * a shipment may only be performed on a vehicle that is allowed. A + // - a shipment may only be performed on a vehicle that is allowed. A // vehicle is allowed if // [Shipment.allowed_vehicle_indices][google.cloud.optimization.v1.Shipment.allowed_vehicle_indices] // is empty or its `vehicle_index` is included in @@ -663,9 +663,9 @@ type OptimizeToursRequest struct { RefreshDetailsRoutes []*ShipmentRoute `protobuf:"bytes,9,rep,name=refresh_details_routes,json=refreshDetailsRoutes,proto3" json:"refresh_details_routes,omitempty"` // If true: // - // * uses - // [ShipmentRoute.vehicle_label][google.cloud.optimization.v1.ShipmentRoute.vehicle_label] - // instead of `vehicle_index` to + // - uses + // [ShipmentRoute.vehicle_label][google.cloud.optimization.v1.ShipmentRoute.vehicle_label] + // instead of `vehicle_index` to // match routes in an injected solution with vehicles in the request; // reuses the mapping of original // [ShipmentRoute.vehicle_index][google.cloud.optimization.v1.ShipmentRoute.vehicle_index] @@ -675,15 +675,15 @@ type OptimizeToursRequest struct { // [ConstraintRelaxation.vehicle_indices][google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.vehicle_indices] // if non-empty, but the mapping must be unambiguous (i.e., multiple // `ShipmentRoute`s must not share the same original `vehicle_index`). - // * uses - // [ShipmentRoute.Visit.shipment_label][google.cloud.optimization.v1.ShipmentRoute.Visit.shipment_label] - // instead of `shipment_index` + // - uses + // [ShipmentRoute.Visit.shipment_label][google.cloud.optimization.v1.ShipmentRoute.Visit.shipment_label] + // instead of `shipment_index` // to match visits in an injected solution with shipments in the request; - // * uses - // [SkippedShipment.label][google.cloud.optimization.v1.SkippedShipment.label] - // instead of - // [SkippedShipment.index][google.cloud.optimization.v1.SkippedShipment.index] - // to + // - uses + // [SkippedShipment.label][google.cloud.optimization.v1.SkippedShipment.label] + // instead of + // [SkippedShipment.index][google.cloud.optimization.v1.SkippedShipment.index] + // to // match skipped shipments in the injected solution with request // shipments. // @@ -696,12 +696,12 @@ type OptimizeToursRequest struct { // If true, labels in the following categories must appear at most once in // their category: // - // * [Vehicle.label][google.cloud.optimization.v1.Vehicle.label] in the - // request; - // * [Shipment.label][google.cloud.optimization.v1.Shipment.label] in the - // request; - // * [ShipmentRoute.vehicle_label][google.cloud.optimization.v1.ShipmentRoute.vehicle_label] in the injected solution; - // * [SkippedShipment.label][google.cloud.optimization.v1.SkippedShipment.label] and [ShipmentRoute.Visit.shipment_label][google.cloud.optimization.v1.ShipmentRoute.Visit.shipment_label] in + // - [Vehicle.label][google.cloud.optimization.v1.Vehicle.label] in the + // request; + // - [Shipment.label][google.cloud.optimization.v1.Shipment.label] in the + // request; + // - [ShipmentRoute.vehicle_label][google.cloud.optimization.v1.ShipmentRoute.vehicle_label] in the injected solution; + // - [SkippedShipment.label][google.cloud.optimization.v1.SkippedShipment.label] and [ShipmentRoute.Visit.shipment_label][google.cloud.optimization.v1.ShipmentRoute.Visit.shipment_label] in // the injected solution (except pickup/delivery visit pairs, whose // `shipment_label` must appear twice). // @@ -1213,78 +1213,81 @@ type ShipmentModel struct { // * 1 pickup visit request at locB. // // ``` - // model { - // vehicles { start_tags: "locA" end_tags: "locA" } - // shipments { pickups { tags: "locB" } } - // duration_distance_matrix_src_tags: "locA" - // duration_distance_matrix_src_tags: "locB" - // duration_distance_matrix_dst_tags: "locA" - // duration_distance_matrix_dst_tags: "locB" - // duration_distance_matrices { - // rows { # from: locA - // durations { seconds: 0 } meters: 0 # to: locA - // durations { seconds: 100 } meters: 1000 # to: locB - // } - // rows { # from: locB - // durations { seconds: 102 } meters: 990 # to: locA - // durations { seconds: 0 } meters: 0 # to: locB - // } - // } - // } - // ``` // + // model { + // vehicles { start_tags: "locA" end_tags: "locA" } + // shipments { pickups { tags: "locB" } } + // duration_distance_matrix_src_tags: "locA" + // duration_distance_matrix_src_tags: "locB" + // duration_distance_matrix_dst_tags: "locA" + // duration_distance_matrix_dst_tags: "locB" + // duration_distance_matrices { + // rows { # from: locA + // durations { seconds: 0 } meters: 0 # to: locA + // durations { seconds: 100 } meters: 1000 # to: locB + // } + // rows { # from: locB + // durations { seconds: 102 } meters: 990 # to: locA + // durations { seconds: 0 } meters: 0 # to: locB + // } + // } + // } + // + // ``` // - // * There are three locations: locA, locB and locC. - // * 1 vehicle starting its route at locA and ending it at locB, using - // matrix "fast". - // * 1 vehicle starting its route at locB and ending it at locB, using - // matrix "slow". - // * 1 vehicle starting its route at locB and ending it at locB, using - // matrix "fast". - // * 1 pickup visit request at locC. + // - There are three locations: locA, locB and locC. + // - 1 vehicle starting its route at locA and ending it at locB, using + // matrix "fast". + // - 1 vehicle starting its route at locB and ending it at locB, using + // matrix "slow". + // - 1 vehicle starting its route at locB and ending it at locB, using + // matrix "fast". + // - 1 pickup visit request at locC. // // ``` - // model { - // vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" } - // vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" } - // vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" } - // shipments { pickups { tags: "locC" } } - // duration_distance_matrix_src_tags: "locA" - // duration_distance_matrix_src_tags: "locB" - // duration_distance_matrix_src_tags: "locC" - // duration_distance_matrix_dst_tags: "locB" - // duration_distance_matrix_dst_tags: "locC" - // duration_distance_matrices { - // vehicle_start_tag: "fast" - // rows { # from: locA - // durations { seconds: 1000 } meters: 2000 # to: locB - // durations { seconds: 600 } meters: 1000 # to: locC - // } - // rows { # from: locB - // durations { seconds: 0 } meters: 0 # to: locB - // durations { seconds: 700 } meters: 1200 # to: locC - // } - // rows { # from: locC - // durations { seconds: 702 } meters: 1190 # to: locB - // durations { seconds: 0 } meters: 0 # to: locC - // } - // } - // duration_distance_matrices { - // vehicle_start_tag: "slow" - // rows { # from: locA - // durations { seconds: 1800 } meters: 2001 # to: locB - // durations { seconds: 900 } meters: 1002 # to: locC - // } - // rows { # from: locB - // durations { seconds: 0 } meters: 0 # to: locB - // durations { seconds: 1000 } meters: 1202 # to: locC - // } - // rows { # from: locC - // durations { seconds: 1001 } meters: 1195 # to: locB - // durations { seconds: 0 } meters: 0 # to: locC - // } - // } - // } + // + // model { + // vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" } + // vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" } + // vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" } + // shipments { pickups { tags: "locC" } } + // duration_distance_matrix_src_tags: "locA" + // duration_distance_matrix_src_tags: "locB" + // duration_distance_matrix_src_tags: "locC" + // duration_distance_matrix_dst_tags: "locB" + // duration_distance_matrix_dst_tags: "locC" + // duration_distance_matrices { + // vehicle_start_tag: "fast" + // rows { # from: locA + // durations { seconds: 1000 } meters: 2000 # to: locB + // durations { seconds: 600 } meters: 1000 # to: locC + // } + // rows { # from: locB + // durations { seconds: 0 } meters: 0 # to: locB + // durations { seconds: 700 } meters: 1200 # to: locC + // } + // rows { # from: locC + // durations { seconds: 702 } meters: 1190 # to: locB + // durations { seconds: 0 } meters: 0 # to: locC + // } + // } + // duration_distance_matrices { + // vehicle_start_tag: "slow" + // rows { # from: locA + // durations { seconds: 1800 } meters: 2001 # to: locB + // durations { seconds: 900 } meters: 1002 # to: locC + // } + // rows { # from: locB + // durations { seconds: 0 } meters: 0 # to: locB + // durations { seconds: 1000 } meters: 1202 # to: locC + // } + // rows { # from: locC + // durations { seconds: 1001 } meters: 1195 # to: locB + // durations { seconds: 0 } meters: 0 # to: locC + // } + // } + // } + // // ``` DurationDistanceMatrices []*ShipmentModel_DurationDistanceMatrix `protobuf:"bytes,8,rep,name=duration_distance_matrices,json=durationDistanceMatrices,proto3" json:"duration_distance_matrices,omitempty"` // Tags defining the sources of the duration and distance matrices; @@ -1505,10 +1508,10 @@ type Shipment struct { // Specifies the cost that is incurred when this shipment is delivered by each // vehicle. If specified, it must have EITHER: // - // * the same number of elements as `costs_per_vehicle_indices`. + // - the same number of elements as `costs_per_vehicle_indices`. // `costs_per_vehicle[i]` corresponds to vehicle // `costs_per_vehicle_indices[i]` of the model. - // * the same number of elements as there are vehicles in the model. The + // - the same number of elements as there are vehicles in the model. The // i-th element corresponds to vehicle #i of the model. // // These costs must be in the same unit as `penalty_cost` and must not be @@ -2428,8 +2431,10 @@ type TimeWindow struct { // before soft_start_time, computed as: // // ``` - // max(0, soft_start_time - t.seconds) - // * cost_per_hour_before_soft_start_time / 3600, + // + // max(0, soft_start_time - t.seconds) + // * cost_per_hour_before_soft_start_time / 3600, + // // t being the time of the event. // ``` // @@ -2440,8 +2445,10 @@ type TimeWindow struct { // `soft_end_time`, computed as: // // ``` - // max(0, t.seconds - soft_end_time.seconds) - // * cost_per_hour_after_soft_end_time / 3600, + // + // max(0, t.seconds - soft_end_time.seconds) + // * cost_per_hour_after_soft_end_time / 3600, + // // t being the time of the event. // ``` // @@ -2675,8 +2682,10 @@ type DistanceLimit struct { // Cost per kilometer incurred, increasing up to `soft_max_meters`, with // formula: // ``` - // min(distance_meters, soft_max_meters) / 1000.0 * - // cost_per_kilometer_below_soft_max. + // + // min(distance_meters, soft_max_meters) / 1000.0 * + // cost_per_kilometer_below_soft_max. + // // ``` // This cost is not supported in `route_distance_limit`. CostPerKilometerBelowSoftMax *float64 `protobuf:"fixed64,4,opt,name=cost_per_kilometer_below_soft_max,json=costPerKilometerBelowSoftMax,proto3,oneof" json:"cost_per_kilometer_below_soft_max,omitempty"` @@ -2684,8 +2693,10 @@ type DistanceLimit struct { // The additional cost is 0 if the distance is under the limit, otherwise the // formula used to compute the cost is the following: // ``` - // (distance_meters - soft_max_meters) / 1000.0 * - // cost_per_kilometer_above_soft_max. + // + // (distance_meters - soft_max_meters) / 1000.0 * + // cost_per_kilometer_above_soft_max. + // // ``` // The cost must be nonnegative. CostPerKilometerAboveSoftMax *float64 `protobuf:"fixed64,3,opt,name=cost_per_kilometer_above_soft_max,json=costPerKilometerAboveSoftMax,proto3,oneof" json:"cost_per_kilometer_above_soft_max,omitempty"` @@ -2899,6 +2910,7 @@ type Waypoint struct { // Different ways to represent a location. // // Types that are assignable to LocationType: + // // *Waypoint_Location // *Waypoint_PlaceId LocationType isWaypoint_LocationType `protobuf_oneof:"location_type"` @@ -3245,8 +3257,10 @@ type ShipmentRoute struct { // still satisfying the visit and vehicle time windows. For example, // // ``` - // start_time(previous_visit) + duration(previous_visit) + - // travel_duration(previous_visit, next_visit) > start_time(next_visit) + // + // start_time(previous_visit) + duration(previous_visit) + + // travel_duration(previous_visit, next_visit) > start_time(next_visit) + // // ``` // // Arrival at next_visit will likely happen later than its current @@ -3814,224 +3828,241 @@ type OptimizeToursValidationError struct { // the deadline. // // * REQUEST_OPTIONS_ERROR = 12; - // * REQUEST_OPTIONS_INVALID_SOLVING_MODE = 1201; - // * REQUEST_OPTIONS_INVALID_MAX_VALIDATION_ERRORS = 1203; - // * REQUEST_OPTIONS_INVALID_GEODESIC_METERS_PER_SECOND = 1204; - // * REQUEST_OPTIONS_GEODESIC_METERS_PER_SECOND_TOO_SMALL = 1205; - // * REQUEST_OPTIONS_MISSING_GEODESIC_METERS_PER_SECOND = 1206; - // * REQUEST_OPTIONS_POPULATE_PATHFINDER_TRIPS_AND_GEODESIC_DISTANCE - // = 1207; - // * REQUEST_OPTIONS_COST_MODEL_OPTIONS_AND_GEODESIC_DISTANCE = 1208; - // * REQUEST_OPTIONS_TRAVEL_MODE_INCOMPATIBLE_WITH_TRAFFIC = 1211; - // * REQUEST_OPTIONS_MULTIPLE_TRAFFIC_FLAVORS = 1212; - // * REQUEST_OPTIONS_INVALID_TRAFFIC_FLAVOR = 1213; - // * REQUEST_OPTIONS_TRAFFIC_ENABLED_WITHOUT_GLOBAL_START_TIME = 1214; - // * REQUEST_OPTIONS_TRAFFIC_ENABLED_WITH_PRECEDENCES = 1215; - // * REQUEST_OPTIONS_TRAFFIC_PREFILL_MODE_INVALID = 1216; - // * REQUEST_OPTIONS_TRAFFIC_PREFILL_ENABLED_WITHOUT_TRAFFIC = 1217; + // - REQUEST_OPTIONS_INVALID_SOLVING_MODE = 1201; + // - REQUEST_OPTIONS_INVALID_MAX_VALIDATION_ERRORS = 1203; + // - REQUEST_OPTIONS_INVALID_GEODESIC_METERS_PER_SECOND = 1204; + // - REQUEST_OPTIONS_GEODESIC_METERS_PER_SECOND_TOO_SMALL = 1205; + // - REQUEST_OPTIONS_MISSING_GEODESIC_METERS_PER_SECOND = 1206; + // - REQUEST_OPTIONS_POPULATE_PATHFINDER_TRIPS_AND_GEODESIC_DISTANCE + // = 1207; + // - REQUEST_OPTIONS_COST_MODEL_OPTIONS_AND_GEODESIC_DISTANCE = 1208; + // - REQUEST_OPTIONS_TRAVEL_MODE_INCOMPATIBLE_WITH_TRAFFIC = 1211; + // - REQUEST_OPTIONS_MULTIPLE_TRAFFIC_FLAVORS = 1212; + // - REQUEST_OPTIONS_INVALID_TRAFFIC_FLAVOR = 1213; + // - REQUEST_OPTIONS_TRAFFIC_ENABLED_WITHOUT_GLOBAL_START_TIME = 1214; + // - REQUEST_OPTIONS_TRAFFIC_ENABLED_WITH_PRECEDENCES = 1215; + // - REQUEST_OPTIONS_TRAFFIC_PREFILL_MODE_INVALID = 1216; + // - REQUEST_OPTIONS_TRAFFIC_PREFILL_ENABLED_WITHOUT_TRAFFIC = 1217; + // // * INJECTED_SOLUTION_ERROR = 20; - // * INJECTED_SOLUTION_MISSING_LABEL = 2000; - // * INJECTED_SOLUTION_DUPLICATE_LABEL = 2001; - // * INJECTED_SOLUTION_AMBIGUOUS_INDEX = 2002; - // * INJECTED_SOLUTION_INFEASIBLE_AFTER_GETTING_TRAVEL_TIMES = 2003; - // * INJECTED_SOLUTION_TRANSITION_INCONSISTENT_WITH_ACTUAL_TRAVEL = 2004; - // * INJECTED_SOLUTION_CONCURRENT_SOLUTION_TYPES = 2005; - // * INJECTED_SOLUTION_MORE_THAN_ONE_PER_TYPE = 2006; - // * INJECTED_SOLUTION_REFRESH_WITHOUT_POPULATE = 2008; - // * INJECTED_SOLUTION_CONSTRAINED_ROUTE_PORTION_INFEASIBLE = 2010; + // - INJECTED_SOLUTION_MISSING_LABEL = 2000; + // - INJECTED_SOLUTION_DUPLICATE_LABEL = 2001; + // - INJECTED_SOLUTION_AMBIGUOUS_INDEX = 2002; + // - INJECTED_SOLUTION_INFEASIBLE_AFTER_GETTING_TRAVEL_TIMES = 2003; + // - INJECTED_SOLUTION_TRANSITION_INCONSISTENT_WITH_ACTUAL_TRAVEL = 2004; + // - INJECTED_SOLUTION_CONCURRENT_SOLUTION_TYPES = 2005; + // - INJECTED_SOLUTION_MORE_THAN_ONE_PER_TYPE = 2006; + // - INJECTED_SOLUTION_REFRESH_WITHOUT_POPULATE = 2008; + // - INJECTED_SOLUTION_CONSTRAINED_ROUTE_PORTION_INFEASIBLE = 2010; + // // * SHIPMENT_MODEL_ERROR = 22; - // * SHIPMENT_MODEL_TOO_LARGE = 2200; - // * SHIPMENT_MODEL_TOO_MANY_CAPACITY_TYPES = 2201; - // * SHIPMENT_MODEL_GLOBAL_START_TIME_NEGATIVE_OR_NAN = 2202; - // * SHIPMENT_MODEL_GLOBAL_END_TIME_TOO_LARGE_OR_NAN = 2203; - // * SHIPMENT_MODEL_GLOBAL_START_TIME_AFTER_GLOBAL_END_TIME = 2204; - // * SHIPMENT_MODEL_GLOBAL_DURATION_TOO_LONG = 2205; - // * SHIPMENT_MODEL_MAX_ACTIVE_VEHICLES_NOT_POSITIVE = 2206; - // * SHIPMENT_MODEL_DURATION_MATRIX_TOO_LARGE = 2207; + // - SHIPMENT_MODEL_TOO_LARGE = 2200; + // - SHIPMENT_MODEL_TOO_MANY_CAPACITY_TYPES = 2201; + // - SHIPMENT_MODEL_GLOBAL_START_TIME_NEGATIVE_OR_NAN = 2202; + // - SHIPMENT_MODEL_GLOBAL_END_TIME_TOO_LARGE_OR_NAN = 2203; + // - SHIPMENT_MODEL_GLOBAL_START_TIME_AFTER_GLOBAL_END_TIME = 2204; + // - SHIPMENT_MODEL_GLOBAL_DURATION_TOO_LONG = 2205; + // - SHIPMENT_MODEL_MAX_ACTIVE_VEHICLES_NOT_POSITIVE = 2206; + // - SHIPMENT_MODEL_DURATION_MATRIX_TOO_LARGE = 2207; + // // * INDEX_ERROR = 24; // * TAG_ERROR = 26; // * TIME_WINDOW_ERROR = 28; - // * TIME_WINDOW_INVALID_START_TIME = 2800; - // * TIME_WINDOW_INVALID_END_TIME = 2801; - // * TIME_WINDOW_INVALID_SOFT_START_TIME = 2802; - // * TIME_WINDOW_INVALID_SOFT_END_TIME = 2803; - // * TIME_WINDOW_OUTSIDE_GLOBAL_TIME_WINDOW = 2804; - // * TIME_WINDOW_START_TIME_AFTER_END_TIME = 2805; - // * TIME_WINDOW_INVALID_COST_PER_HOUR_BEFORE_SOFT_START_TIME = 2806; - // * TIME_WINDOW_INVALID_COST_PER_HOUR_AFTER_SOFT_END_TIME = 2807; - // * TIME_WINDOW_COST_BEFORE_SOFT_START_TIME_WITHOUT_SOFT_START_TIME - // = 2808; - // * TIME_WINDOW_COST_AFTER_SOFT_END_TIME_WITHOUT_SOFT_END_TIME = 2809; - // * TIME_WINDOW_SOFT_START_TIME_WITHOUT_COST_BEFORE_SOFT_START_TIME - // = 2810; - // * TIME_WINDOW_SOFT_END_TIME_WITHOUT_COST_AFTER_SOFT_END_TIME = 2811; - // * TIME_WINDOW_OVERLAPPING_ADJACENT_OR_EARLIER_THAN_PREVIOUS = 2812; - // * TIME_WINDOW_START_TIME_AFTER_SOFT_START_TIME = 2813; - // * TIME_WINDOW_SOFT_START_TIME_AFTER_END_TIME = 2814; - // * TIME_WINDOW_START_TIME_AFTER_SOFT_END_TIME = 2815; - // * TIME_WINDOW_SOFT_END_TIME_AFTER_END_TIME = 2816; - // * TIME_WINDOW_COST_BEFORE_SOFT_START_TIME_SET_AND_MULTIPLE_WINDOWS - // = 2817; - // * TIME_WINDOW_COST_AFTER_SOFT_END_TIME_SET_AND_MULTIPLE_WINDOWS = 2818; - // * TRANSITION_ATTRIBUTES_ERROR = 30; - // * TRANSITION_ATTRIBUTES_INVALID_COST = 3000; - // * TRANSITION_ATTRIBUTES_INVALID_COST_PER_KILOMETER = 3001; - // * TRANSITION_ATTRIBUTES_DUPLICATE_TAG_PAIR = 3002; - // * TRANSITION_ATTRIBUTES_DISTANCE_LIMIT_MAX_METERS_UNSUPPORTED = 3003; - // * TRANSITION_ATTRIBUTES_UNSPECIFIED_SOURCE_TAGS = 3004; - // * TRANSITION_ATTRIBUTES_CONFLICTING_SOURCE_TAGS_FIELDS = 3005; - // * TRANSITION_ATTRIBUTES_UNSPECIFIED_DESTINATION_TAGS = 3006; - // * TRANSITION_ATTRIBUTES_CONFLICTING_DESTINATION_TAGS_FIELDS = 3007; - // * TRANSITION_ATTRIBUTES_DELAY_DURATION_NEGATIVE_OR_NAN = 3008; - // * TRANSITION_ATTRIBUTES_DELAY_DURATION_EXCEEDS_GLOBAL_DURATION = 3009; + // - TIME_WINDOW_INVALID_START_TIME = 2800; + // - TIME_WINDOW_INVALID_END_TIME = 2801; + // - TIME_WINDOW_INVALID_SOFT_START_TIME = 2802; + // - TIME_WINDOW_INVALID_SOFT_END_TIME = 2803; + // - TIME_WINDOW_OUTSIDE_GLOBAL_TIME_WINDOW = 2804; + // - TIME_WINDOW_START_TIME_AFTER_END_TIME = 2805; + // - TIME_WINDOW_INVALID_COST_PER_HOUR_BEFORE_SOFT_START_TIME = 2806; + // - TIME_WINDOW_INVALID_COST_PER_HOUR_AFTER_SOFT_END_TIME = 2807; + // - TIME_WINDOW_COST_BEFORE_SOFT_START_TIME_WITHOUT_SOFT_START_TIME + // = 2808; + // - TIME_WINDOW_COST_AFTER_SOFT_END_TIME_WITHOUT_SOFT_END_TIME = 2809; + // - TIME_WINDOW_SOFT_START_TIME_WITHOUT_COST_BEFORE_SOFT_START_TIME + // = 2810; + // - TIME_WINDOW_SOFT_END_TIME_WITHOUT_COST_AFTER_SOFT_END_TIME = 2811; + // - TIME_WINDOW_OVERLAPPING_ADJACENT_OR_EARLIER_THAN_PREVIOUS = 2812; + // - TIME_WINDOW_START_TIME_AFTER_SOFT_START_TIME = 2813; + // - TIME_WINDOW_SOFT_START_TIME_AFTER_END_TIME = 2814; + // - TIME_WINDOW_START_TIME_AFTER_SOFT_END_TIME = 2815; + // - TIME_WINDOW_SOFT_END_TIME_AFTER_END_TIME = 2816; + // - TIME_WINDOW_COST_BEFORE_SOFT_START_TIME_SET_AND_MULTIPLE_WINDOWS + // = 2817; + // - TIME_WINDOW_COST_AFTER_SOFT_END_TIME_SET_AND_MULTIPLE_WINDOWS = 2818; + // - TRANSITION_ATTRIBUTES_ERROR = 30; + // - TRANSITION_ATTRIBUTES_INVALID_COST = 3000; + // - TRANSITION_ATTRIBUTES_INVALID_COST_PER_KILOMETER = 3001; + // - TRANSITION_ATTRIBUTES_DUPLICATE_TAG_PAIR = 3002; + // - TRANSITION_ATTRIBUTES_DISTANCE_LIMIT_MAX_METERS_UNSUPPORTED = 3003; + // - TRANSITION_ATTRIBUTES_UNSPECIFIED_SOURCE_TAGS = 3004; + // - TRANSITION_ATTRIBUTES_CONFLICTING_SOURCE_TAGS_FIELDS = 3005; + // - TRANSITION_ATTRIBUTES_UNSPECIFIED_DESTINATION_TAGS = 3006; + // - TRANSITION_ATTRIBUTES_CONFLICTING_DESTINATION_TAGS_FIELDS = 3007; + // - TRANSITION_ATTRIBUTES_DELAY_DURATION_NEGATIVE_OR_NAN = 3008; + // - TRANSITION_ATTRIBUTES_DELAY_DURATION_EXCEEDS_GLOBAL_DURATION = 3009; + // // * AMOUNT_ERROR = 31; - // * AMOUNT_NEGATIVE_VALUE = 3100; + // - AMOUNT_NEGATIVE_VALUE = 3100; + // // * LOAD_LIMIT_ERROR = 33; - // * LOAD_LIMIT_INVALID_COST_ABOVE_SOFT_MAX = 3303; - // * LOAD_LIMIT_SOFT_MAX_WITHOUT_COST_ABOVE_SOFT_MAX = 3304; - // * LOAD_LIMIT_COST_ABOVE_SOFT_MAX_WITHOUT_SOFT_MAX = 3305; - // * LOAD_LIMIT_NEGATIVE_SOFT_MAX = 3306; - // * LOAD_LIMIT_MIXED_DEMAND_TYPE = 3307; - // * LOAD_LIMIT_MAX_LOAD_NEGATIVE_VALUE = 3308; - // * LOAD_LIMIT_SOFT_MAX_ABOVE_MAX = 3309; + // - LOAD_LIMIT_INVALID_COST_ABOVE_SOFT_MAX = 3303; + // - LOAD_LIMIT_SOFT_MAX_WITHOUT_COST_ABOVE_SOFT_MAX = 3304; + // - LOAD_LIMIT_COST_ABOVE_SOFT_MAX_WITHOUT_SOFT_MAX = 3305; + // - LOAD_LIMIT_NEGATIVE_SOFT_MAX = 3306; + // - LOAD_LIMIT_MIXED_DEMAND_TYPE = 3307; + // - LOAD_LIMIT_MAX_LOAD_NEGATIVE_VALUE = 3308; + // - LOAD_LIMIT_SOFT_MAX_ABOVE_MAX = 3309; + // // * INTERVAL_ERROR = 34; - // * INTERVAL_MIN_EXCEEDS_MAX = 3401; - // * INTERVAL_NEGATIVE_MIN = 3402; - // * INTERVAL_NEGATIVE_MAX = 3403; - // * INTERVAL_MIN_EXCEEDS_CAPACITY = 3404; - // * INTERVAL_MAX_EXCEEDS_CAPACITY = 3405; + // - INTERVAL_MIN_EXCEEDS_MAX = 3401; + // - INTERVAL_NEGATIVE_MIN = 3402; + // - INTERVAL_NEGATIVE_MAX = 3403; + // - INTERVAL_MIN_EXCEEDS_CAPACITY = 3404; + // - INTERVAL_MAX_EXCEEDS_CAPACITY = 3405; + // // * DISTANCE_LIMIT_ERROR = 36; - // * DISTANCE_LIMIT_INVALID_COST_AFTER_SOFT_MAX = 3601; - // * DISTANCE_LIMIT_SOFT_MAX_WITHOUT_COST_AFTER_SOFT_MAX = 3602; - // * DISTANCE_LIMIT_COST_AFTER_SOFT_MAX_WITHOUT_SOFT_MAX = 3603; - // * DISTANCE_LIMIT_NEGATIVE_MAX = 3604; - // * DISTANCE_LIMIT_NEGATIVE_SOFT_MAX = 3605; - // * DISTANCE_LIMIT_SOFT_MAX_LARGER_THAN_MAX = 3606; + // - DISTANCE_LIMIT_INVALID_COST_AFTER_SOFT_MAX = 3601; + // - DISTANCE_LIMIT_SOFT_MAX_WITHOUT_COST_AFTER_SOFT_MAX = 3602; + // - DISTANCE_LIMIT_COST_AFTER_SOFT_MAX_WITHOUT_SOFT_MAX = 3603; + // - DISTANCE_LIMIT_NEGATIVE_MAX = 3604; + // - DISTANCE_LIMIT_NEGATIVE_SOFT_MAX = 3605; + // - DISTANCE_LIMIT_SOFT_MAX_LARGER_THAN_MAX = 3606; + // // * DURATION_LIMIT_ERROR = 38; - // * DURATION_LIMIT_MAX_DURATION_NEGATIVE_OR_NAN = 3800; - // * DURATION_LIMIT_SOFT_MAX_DURATION_NEGATIVE_OR_NAN = 3801; - // * DURATION_LIMIT_INVALID_COST_PER_HOUR_AFTER_SOFT_MAX = 3802; - // * DURATION_LIMIT_SOFT_MAX_WITHOUT_COST_AFTER_SOFT_MAX = 3803; - // * DURATION_LIMIT_COST_AFTER_SOFT_MAX_WITHOUT_SOFT_MAX = 3804; - // * DURATION_LIMIT_QUADRATIC_SOFT_MAX_DURATION_NEGATIVE_OR_NAN = 3805; - // * DURATION_LIMIT_INVALID_COST_AFTER_QUADRATIC_SOFT_MAX = 3806; - // * DURATION_LIMIT_QUADRATIC_SOFT_MAX_WITHOUT_COST_PER_SQUARE_HOUR - // = 3807; - // * DURATION_LIMIT_COST_PER_SQUARE_HOUR_WITHOUT_QUADRATIC_SOFT_MAX - // = 3808; - // * DURATION_LIMIT_QUADRATIC_SOFT_MAX_WITHOUT_MAX = 3809; - // * DURATION_LIMIT_SOFT_MAX_LARGER_THAN_MAX = 3810; - // * DURATION_LIMIT_QUADRATIC_SOFT_MAX_LARGER_THAN_MAX = 3811; - // * DURATION_LIMIT_DIFF_BETWEEN_MAX_AND_QUADRATIC_SOFT_MAX_TOO_LARGE - // = 3812; - // * DURATION_LIMIT_MAX_DURATION_EXCEEDS_GLOBAL_DURATION = 3813; - // * DURATION_LIMIT_SOFT_MAX_DURATION_EXCEEDS_GLOBAL_DURATION = 3814; - // * DURATION_LIMIT_QUADRATIC_SOFT_MAX_DURATION_EXCEEDS_GLOBAL_DURATION - // = 3815; + // - DURATION_LIMIT_MAX_DURATION_NEGATIVE_OR_NAN = 3800; + // - DURATION_LIMIT_SOFT_MAX_DURATION_NEGATIVE_OR_NAN = 3801; + // - DURATION_LIMIT_INVALID_COST_PER_HOUR_AFTER_SOFT_MAX = 3802; + // - DURATION_LIMIT_SOFT_MAX_WITHOUT_COST_AFTER_SOFT_MAX = 3803; + // - DURATION_LIMIT_COST_AFTER_SOFT_MAX_WITHOUT_SOFT_MAX = 3804; + // - DURATION_LIMIT_QUADRATIC_SOFT_MAX_DURATION_NEGATIVE_OR_NAN = 3805; + // - DURATION_LIMIT_INVALID_COST_AFTER_QUADRATIC_SOFT_MAX = 3806; + // - DURATION_LIMIT_QUADRATIC_SOFT_MAX_WITHOUT_COST_PER_SQUARE_HOUR + // = 3807; + // - DURATION_LIMIT_COST_PER_SQUARE_HOUR_WITHOUT_QUADRATIC_SOFT_MAX + // = 3808; + // - DURATION_LIMIT_QUADRATIC_SOFT_MAX_WITHOUT_MAX = 3809; + // - DURATION_LIMIT_SOFT_MAX_LARGER_THAN_MAX = 3810; + // - DURATION_LIMIT_QUADRATIC_SOFT_MAX_LARGER_THAN_MAX = 3811; + // - DURATION_LIMIT_DIFF_BETWEEN_MAX_AND_QUADRATIC_SOFT_MAX_TOO_LARGE + // = 3812; + // - DURATION_LIMIT_MAX_DURATION_EXCEEDS_GLOBAL_DURATION = 3813; + // - DURATION_LIMIT_SOFT_MAX_DURATION_EXCEEDS_GLOBAL_DURATION = 3814; + // - DURATION_LIMIT_QUADRATIC_SOFT_MAX_DURATION_EXCEEDS_GLOBAL_DURATION + // = 3815; + // // * SHIPMENT_ERROR = 40; - // * SHIPMENT_PD_LIMIT_WITHOUT_PICKUP_AND_DELIVERY = 4014; - // * SHIPMENT_PD_ABSOLUTE_DETOUR_LIMIT_DURATION_NEGATIVE_OR_NAN = 4000; - // * SHIPMENT_PD_ABSOLUTE_DETOUR_LIMIT_DURATION_EXCEEDS_GLOBAL_DURATION - // = 4001; - // * SHIPMENT_PD_RELATIVE_DETOUR_LIMIT_INVALID = 4015; - // * SHIPMENT_PD_DETOUR_LIMIT_AND_EXTRA_VISIT_DURATION = 4016; - // * SHIPMENT_PD_TIME_LIMIT_DURATION_NEGATIVE_OR_NAN = 4002; - // * SHIPMENT_PD_TIME_LIMIT_DURATION_EXCEEDS_GLOBAL_DURATION = 4003; - // * SHIPMENT_EMPTY_SHIPMENT_TYPE = 4004; - // * SHIPMENT_NO_PICKUP_NO_DELIVERY = 4005; - // * SHIPMENT_INVALID_PENALTY_COST = 4006; - // * SHIPMENT_ALLOWED_VEHICLE_INDEX_OUT_OF_BOUNDS = 4007; - // * SHIPMENT_DUPLICATE_ALLOWED_VEHICLE_INDEX = 4008; - // * SHIPMENT_INCONSISTENT_COST_FOR_VEHICLE_SIZE_WITHOUT_INDEX = 4009; - // * SHIPMENT_INCONSISTENT_COST_FOR_VEHICLE_SIZE_WITH_INDEX = 4010; - // * SHIPMENT_INVALID_COST_FOR_VEHICLE = 4011; - // * SHIPMENT_COST_FOR_VEHICLE_INDEX_OUT_OF_BOUNDS = 4012; - // * SHIPMENT_DUPLICATE_COST_FOR_VEHICLE_INDEX = 4013; + // - SHIPMENT_PD_LIMIT_WITHOUT_PICKUP_AND_DELIVERY = 4014; + // - SHIPMENT_PD_ABSOLUTE_DETOUR_LIMIT_DURATION_NEGATIVE_OR_NAN = 4000; + // - SHIPMENT_PD_ABSOLUTE_DETOUR_LIMIT_DURATION_EXCEEDS_GLOBAL_DURATION + // = 4001; + // - SHIPMENT_PD_RELATIVE_DETOUR_LIMIT_INVALID = 4015; + // - SHIPMENT_PD_DETOUR_LIMIT_AND_EXTRA_VISIT_DURATION = 4016; + // - SHIPMENT_PD_TIME_LIMIT_DURATION_NEGATIVE_OR_NAN = 4002; + // - SHIPMENT_PD_TIME_LIMIT_DURATION_EXCEEDS_GLOBAL_DURATION = 4003; + // - SHIPMENT_EMPTY_SHIPMENT_TYPE = 4004; + // - SHIPMENT_NO_PICKUP_NO_DELIVERY = 4005; + // - SHIPMENT_INVALID_PENALTY_COST = 4006; + // - SHIPMENT_ALLOWED_VEHICLE_INDEX_OUT_OF_BOUNDS = 4007; + // - SHIPMENT_DUPLICATE_ALLOWED_VEHICLE_INDEX = 4008; + // - SHIPMENT_INCONSISTENT_COST_FOR_VEHICLE_SIZE_WITHOUT_INDEX = 4009; + // - SHIPMENT_INCONSISTENT_COST_FOR_VEHICLE_SIZE_WITH_INDEX = 4010; + // - SHIPMENT_INVALID_COST_FOR_VEHICLE = 4011; + // - SHIPMENT_COST_FOR_VEHICLE_INDEX_OUT_OF_BOUNDS = 4012; + // - SHIPMENT_DUPLICATE_COST_FOR_VEHICLE_INDEX = 4013; + // // * VEHICLE_ERROR = 42; - // * VEHICLE_EMPTY_REQUIRED_OPERATOR_TYPE = 4200; - // * VEHICLE_DUPLICATE_REQUIRED_OPERATOR_TYPE = 4201; - // * VEHICLE_NO_OPERATOR_WITH_REQUIRED_OPERATOR_TYPE = 4202; - // * VEHICLE_EMPTY_START_TAG = 4203; - // * VEHICLE_DUPLICATE_START_TAG = 4204; - // * VEHICLE_EMPTY_END_TAG = 4205; - // * VEHICLE_DUPLICATE_END_TAG = 4206; - // * VEHICLE_EXTRA_VISIT_DURATION_NEGATIVE_OR_NAN = 4207; - // * VEHICLE_EXTRA_VISIT_DURATION_EXCEEDS_GLOBAL_DURATION = 4208; - // * VEHICLE_EXTRA_VISIT_DURATION_EMPTY_KEY = 4209; - // * VEHICLE_FIRST_SHIPMENT_INDEX_OUT_OF_BOUNDS = 4210; - // * VEHICLE_FIRST_SHIPMENT_IGNORED = 4211; - // * VEHICLE_FIRST_SHIPMENT_NOT_BOUND = 4212; - // * VEHICLE_LAST_SHIPMENT_INDEX_OUT_OF_BOUNDS = 4213; - // * VEHICLE_LAST_SHIPMENT_IGNORED = 4214; - // * VEHICLE_LAST_SHIPMENT_NOT_BOUND = 4215; - // * VEHICLE_IGNORED_WITH_USED_IF_ROUTE_IS_EMPTY = 4216; - // * VEHICLE_INVALID_COST_PER_KILOMETER = 4217; - // * VEHICLE_INVALID_COST_PER_HOUR = 4218; - // * VEHICLE_INVALID_COST_PER_TRAVELED_HOUR = 4219; - // * VEHICLE_INVALID_FIXED_COST = 4220; - // * VEHICLE_INVALID_TRAVEL_DURATION_MULTIPLE = 4221; - // * VEHICLE_TRAVEL_DURATION_MULTIPLE_WITH_SHIPMENT_PD_DETOUR_LIMITS - // = 4223; - // * VEHICLE_MATRIX_INDEX_WITH_SHIPMENT_PD_DETOUR_LIMITS = 4224; - // * VEHICLE_MINIMUM_DURATION_LONGER_THAN_DURATION_LIMIT = 4222; + // - VEHICLE_EMPTY_REQUIRED_OPERATOR_TYPE = 4200; + // - VEHICLE_DUPLICATE_REQUIRED_OPERATOR_TYPE = 4201; + // - VEHICLE_NO_OPERATOR_WITH_REQUIRED_OPERATOR_TYPE = 4202; + // - VEHICLE_EMPTY_START_TAG = 4203; + // - VEHICLE_DUPLICATE_START_TAG = 4204; + // - VEHICLE_EMPTY_END_TAG = 4205; + // - VEHICLE_DUPLICATE_END_TAG = 4206; + // - VEHICLE_EXTRA_VISIT_DURATION_NEGATIVE_OR_NAN = 4207; + // - VEHICLE_EXTRA_VISIT_DURATION_EXCEEDS_GLOBAL_DURATION = 4208; + // - VEHICLE_EXTRA_VISIT_DURATION_EMPTY_KEY = 4209; + // - VEHICLE_FIRST_SHIPMENT_INDEX_OUT_OF_BOUNDS = 4210; + // - VEHICLE_FIRST_SHIPMENT_IGNORED = 4211; + // - VEHICLE_FIRST_SHIPMENT_NOT_BOUND = 4212; + // - VEHICLE_LAST_SHIPMENT_INDEX_OUT_OF_BOUNDS = 4213; + // - VEHICLE_LAST_SHIPMENT_IGNORED = 4214; + // - VEHICLE_LAST_SHIPMENT_NOT_BOUND = 4215; + // - VEHICLE_IGNORED_WITH_USED_IF_ROUTE_IS_EMPTY = 4216; + // - VEHICLE_INVALID_COST_PER_KILOMETER = 4217; + // - VEHICLE_INVALID_COST_PER_HOUR = 4218; + // - VEHICLE_INVALID_COST_PER_TRAVELED_HOUR = 4219; + // - VEHICLE_INVALID_FIXED_COST = 4220; + // - VEHICLE_INVALID_TRAVEL_DURATION_MULTIPLE = 4221; + // - VEHICLE_TRAVEL_DURATION_MULTIPLE_WITH_SHIPMENT_PD_DETOUR_LIMITS + // = 4223; + // - VEHICLE_MATRIX_INDEX_WITH_SHIPMENT_PD_DETOUR_LIMITS = 4224; + // - VEHICLE_MINIMUM_DURATION_LONGER_THAN_DURATION_LIMIT = 4222; + // // * VISIT_REQUEST_ERROR = 44; - // * VISIT_REQUEST_EMPTY_TAG = 4400; - // * VISIT_REQUEST_DUPLICATE_TAG = 4401; - // * VISIT_REQUEST_DURATION_NEGATIVE_OR_NAN = 4404; - // * VISIT_REQUEST_DURATION_EXCEEDS_GLOBAL_DURATION = 4405; + // - VISIT_REQUEST_EMPTY_TAG = 4400; + // - VISIT_REQUEST_DUPLICATE_TAG = 4401; + // - VISIT_REQUEST_DURATION_NEGATIVE_OR_NAN = 4404; + // - VISIT_REQUEST_DURATION_EXCEEDS_GLOBAL_DURATION = 4405; + // // * PRECEDENCE_ERROR = 46; - // * PRECEDENCE_RULE_MISSING_FIRST_INDEX = 4600; - // * PRECEDENCE_RULE_MISSING_SECOND_INDEX = 4601; - // * PRECEDENCE_RULE_FIRST_INDEX_OUT_OF_BOUNDS = 4602; - // * PRECEDENCE_RULE_SECOND_INDEX_OUT_OF_BOUNDS = 4603; - // * PRECEDENCE_RULE_DUPLICATE_INDEX = 4604; - // * PRECEDENCE_RULE_INEXISTENT_FIRST_VISIT_REQUEST = 4605; - // * PRECEDENCE_RULE_INEXISTENT_SECOND_VISIT_REQUEST = 4606; + // - PRECEDENCE_RULE_MISSING_FIRST_INDEX = 4600; + // - PRECEDENCE_RULE_MISSING_SECOND_INDEX = 4601; + // - PRECEDENCE_RULE_FIRST_INDEX_OUT_OF_BOUNDS = 4602; + // - PRECEDENCE_RULE_SECOND_INDEX_OUT_OF_BOUNDS = 4603; + // - PRECEDENCE_RULE_DUPLICATE_INDEX = 4604; + // - PRECEDENCE_RULE_INEXISTENT_FIRST_VISIT_REQUEST = 4605; + // - PRECEDENCE_RULE_INEXISTENT_SECOND_VISIT_REQUEST = 4606; + // // * BREAK_ERROR = 48; - // * BREAK_RULE_EMPTY = 4800; - // * BREAK_REQUEST_UNSPECIFIED_DURATION = 4801; - // * BREAK_REQUEST_UNSPECIFIED_EARLIEST_START_TIME = 4802; - // * BREAK_REQUEST_UNSPECIFIED_LATEST_START_TIME = 4803; - // * BREAK_REQUEST_DURATION_NEGATIVE_OR_NAN = 4804; = 4804; - // * BREAK_REQUEST_LATEST_START_TIME_BEFORE_EARLIEST_START_TIME = 4805; - // * BREAK_REQUEST_EARLIEST_START_TIME_BEFORE_GLOBAL_START_TIME = 4806; - // * BREAK_REQUEST_LATEST_END_TIME_AFTER_GLOBAL_END_TIME = 4807; - // * BREAK_REQUEST_NON_SCHEDULABLE = 4808; - // * BREAK_FREQUENCY_MAX_INTER_BREAK_DURATION_NEGATIVE_OR_NAN = 4809; - // * BREAK_FREQUENCY_MIN_BREAK_DURATION_NEGATIVE_OR_NAN = 4810; - // * BREAK_FREQUENCY_MIN_BREAK_DURATION_EXCEEDS_GLOBAL_DURATION = 4811; - // * BREAK_FREQUENCY_MAX_INTER_BREAK_DURATION_EXCEEDS_GLOBAL_DURATION - // = 4812; - // * BREAK_REQUEST_DURATION_EXCEEDS_GLOBAL_DURATION = 4813; - // * BREAK_FREQUENCY_MISSING_MAX_INTER_BREAK_DURATION = 4814; - // * BREAK_FREQUENCY_MISSING_MIN_BREAK_DURATION = 4815; + // - BREAK_RULE_EMPTY = 4800; + // - BREAK_REQUEST_UNSPECIFIED_DURATION = 4801; + // - BREAK_REQUEST_UNSPECIFIED_EARLIEST_START_TIME = 4802; + // - BREAK_REQUEST_UNSPECIFIED_LATEST_START_TIME = 4803; + // - BREAK_REQUEST_DURATION_NEGATIVE_OR_NAN = 4804; = 4804; + // - BREAK_REQUEST_LATEST_START_TIME_BEFORE_EARLIEST_START_TIME = 4805; + // - BREAK_REQUEST_EARLIEST_START_TIME_BEFORE_GLOBAL_START_TIME = 4806; + // - BREAK_REQUEST_LATEST_END_TIME_AFTER_GLOBAL_END_TIME = 4807; + // - BREAK_REQUEST_NON_SCHEDULABLE = 4808; + // - BREAK_FREQUENCY_MAX_INTER_BREAK_DURATION_NEGATIVE_OR_NAN = 4809; + // - BREAK_FREQUENCY_MIN_BREAK_DURATION_NEGATIVE_OR_NAN = 4810; + // - BREAK_FREQUENCY_MIN_BREAK_DURATION_EXCEEDS_GLOBAL_DURATION = 4811; + // - BREAK_FREQUENCY_MAX_INTER_BREAK_DURATION_EXCEEDS_GLOBAL_DURATION + // = 4812; + // - BREAK_REQUEST_DURATION_EXCEEDS_GLOBAL_DURATION = 4813; + // - BREAK_FREQUENCY_MISSING_MAX_INTER_BREAK_DURATION = 4814; + // - BREAK_FREQUENCY_MISSING_MIN_BREAK_DURATION = 4815; + // // * SHIPMENT_TYPE_INCOMPATIBILITY_ERROR = 50; - // * SHIPMENT_TYPE_INCOMPATIBILITY_EMPTY_TYPE = 5001; - // * SHIPMENT_TYPE_INCOMPATIBILITY_LESS_THAN_TWO_TYPES = 5002; - // * SHIPMENT_TYPE_INCOMPATIBILITY_DUPLICATE_TYPE = 5003; - // * SHIPMENT_TYPE_INCOMPATIBILITY_INVALID_INCOMPATIBILITY_MODE = 5004; - // * SHIPMENT_TYPE_INCOMPATIBILITY_TOO_MANY_INCOMPATIBILITIES = 5005; + // - SHIPMENT_TYPE_INCOMPATIBILITY_EMPTY_TYPE = 5001; + // - SHIPMENT_TYPE_INCOMPATIBILITY_LESS_THAN_TWO_TYPES = 5002; + // - SHIPMENT_TYPE_INCOMPATIBILITY_DUPLICATE_TYPE = 5003; + // - SHIPMENT_TYPE_INCOMPATIBILITY_INVALID_INCOMPATIBILITY_MODE = 5004; + // - SHIPMENT_TYPE_INCOMPATIBILITY_TOO_MANY_INCOMPATIBILITIES = 5005; + // // * SHIPMENT_TYPE_REQUIREMENT_ERROR = 52; - // * SHIPMENT_TYPE_REQUIREMENT_NO_REQUIRED_TYPE = 52001; - // * SHIPMENT_TYPE_REQUIREMENT_NO_DEPENDENT_TYPE = 52002; - // * SHIPMENT_TYPE_REQUIREMENT_INVALID_REQUIREMENT_MODE = 52003; - // * SHIPMENT_TYPE_REQUIREMENT_TOO_MANY_REQUIREMENTS = 52004; - // * SHIPMENT_TYPE_REQUIREMENT_EMPTY_REQUIRED_TYPE = 52005; - // * SHIPMENT_TYPE_REQUIREMENT_DUPLICATE_REQUIRED_TYPE = 52006; - // * SHIPMENT_TYPE_REQUIREMENT_NO_REQUIRED_TYPE_FOUND = 52007; - // * SHIPMENT_TYPE_REQUIREMENT_EMPTY_DEPENDENT_TYPE = 52008; - // * SHIPMENT_TYPE_REQUIREMENT_DUPLICATE_DEPENDENT_TYPE = 52009; - // * SHIPMENT_TYPE_REQUIREMENT_SELF_DEPENDENT_TYPE = 52010; - // * SHIPMENT_TYPE_REQUIREMENT_GRAPH_HAS_CYCLES = 52011; + // - SHIPMENT_TYPE_REQUIREMENT_NO_REQUIRED_TYPE = 52001; + // - SHIPMENT_TYPE_REQUIREMENT_NO_DEPENDENT_TYPE = 52002; + // - SHIPMENT_TYPE_REQUIREMENT_INVALID_REQUIREMENT_MODE = 52003; + // - SHIPMENT_TYPE_REQUIREMENT_TOO_MANY_REQUIREMENTS = 52004; + // - SHIPMENT_TYPE_REQUIREMENT_EMPTY_REQUIRED_TYPE = 52005; + // - SHIPMENT_TYPE_REQUIREMENT_DUPLICATE_REQUIRED_TYPE = 52006; + // - SHIPMENT_TYPE_REQUIREMENT_NO_REQUIRED_TYPE_FOUND = 52007; + // - SHIPMENT_TYPE_REQUIREMENT_EMPTY_DEPENDENT_TYPE = 52008; + // - SHIPMENT_TYPE_REQUIREMENT_DUPLICATE_DEPENDENT_TYPE = 52009; + // - SHIPMENT_TYPE_REQUIREMENT_SELF_DEPENDENT_TYPE = 52010; + // - SHIPMENT_TYPE_REQUIREMENT_GRAPH_HAS_CYCLES = 52011; + // // * VEHICLE_OPERATOR_ERROR = 54; - // * VEHICLE_OPERATOR_EMPTY_TYPE = 5400; - // * VEHICLE_OPERATOR_MULTIPLE_START_TIME_WINDOWS = 5401; - // * VEHICLE_OPERATOR_SOFT_START_TIME_WINDOW = 5402; - // * VEHICLE_OPERATOR_MULTIPLE_END_TIME_WINDOWS = 5403; - // * VEHICLE_OPERATOR_SOFT_END_TIME_WINDOW = 5404; + // - VEHICLE_OPERATOR_EMPTY_TYPE = 5400; + // - VEHICLE_OPERATOR_MULTIPLE_START_TIME_WINDOWS = 5401; + // - VEHICLE_OPERATOR_SOFT_START_TIME_WINDOW = 5402; + // - VEHICLE_OPERATOR_MULTIPLE_END_TIME_WINDOWS = 5403; + // - VEHICLE_OPERATOR_SOFT_END_TIME_WINDOW = 5404; + // // * DURATION_SECONDS_MATRIX_ERROR = 56; - // * DURATION_SECONDS_MATRIX_DURATION_NEGATIVE_OR_NAN = 5600; - // * DURATION_SECONDS_MATRIX_DURATION_EXCEEDS_GLOBAL_DURATION = 5601; + // - DURATION_SECONDS_MATRIX_DURATION_NEGATIVE_OR_NAN = 5600; + // - DURATION_SECONDS_MATRIX_DURATION_EXCEEDS_GLOBAL_DURATION = 5601; Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // The error display name. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -5163,7 +5194,9 @@ type Vehicle_DurationLimit struct { // The additional cost is 0 if the duration is under the threshold, // otherwise the cost depends on the duration as follows: // ``` - // cost_per_hour_after_soft_max * (duration - soft_max_duration) + // + // cost_per_hour_after_soft_max * (duration - soft_max_duration) + // // ``` // The cost must be nonnegative. CostPerHourAfterSoftMax *float64 `protobuf:"fixed64,3,opt,name=cost_per_hour_after_soft_max,json=costPerHourAfterSoftMax,proto3,oneof" json:"cost_per_hour_after_soft_max,omitempty"` @@ -5176,7 +5209,7 @@ type Vehicle_DurationLimit struct { // less than `max_duration`, and the difference must be no larger than one // day: // - // `max_duration - quadratic_soft_max_duration <= 86400 seconds` + // `max_duration - quadratic_soft_max_duration <= 86400 seconds` QuadraticSoftMaxDuration *durationpb.Duration `protobuf:"bytes,4,opt,name=quadratic_soft_max_duration,json=quadraticSoftMaxDuration,proto3" json:"quadratic_soft_max_duration,omitempty"` // Cost per square hour incurred if the // `quadratic_soft_max_duration` threshold is violated. @@ -5185,8 +5218,10 @@ type Vehicle_DurationLimit struct { // otherwise the cost depends on the duration as follows: // // ``` - // cost_per_square_hour_after_quadratic_soft_max * - // (duration - quadratic_soft_max_duration)^2 + // + // cost_per_square_hour_after_quadratic_soft_max * + // (duration - quadratic_soft_max_duration)^2 + // // ``` // // The cost must be nonnegative. @@ -6487,6 +6522,7 @@ type OptimizeToursValidationError_FieldReference struct { // Name of the field, e.g., "vehicles". Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to IndexOrKey: + // // *OptimizeToursValidationError_FieldReference_Index // *OptimizeToursValidationError_FieldReference_Key IndexOrKey isOptimizeToursValidationError_FieldReference_IndexOrKey `protobuf_oneof:"index_or_key"` diff --git a/orchestration/airflow/service/apiv1/servicepb/environments.pb.go b/orchestration/airflow/service/apiv1/servicepb/environments.pb.go index 957dd20473f..edb91005fd4 100755 --- a/orchestration/airflow/service/apiv1/servicepb/environments.pb.go +++ b/orchestration/airflow/service/apiv1/servicepb/environments.pb.go @@ -633,15 +633,15 @@ type UpdateEnvironmentRequest struct { // "config.softwareConfig.pypiPackages.numpy". The included patch // environment would specify the scikit-learn version as follows: // - // { - // "config":{ - // "softwareConfig":{ - // "pypiPackages":{ - // "scikit-learn":"==0.19.0" - // } - // } - // } - // } + // { + // "config":{ + // "softwareConfig":{ + // "pypiPackages":{ + // "scikit-learn":"==0.19.0" + // } + // } + // } + // } // // Note that in the above example, any existing PyPI packages // other than scikit-learn and numpy will be unaffected. @@ -655,12 +655,12 @@ type UpdateEnvironmentRequest struct { // provide the paths "labels.label1", "labels.label2", and "labels.label3" // and populate the patch environment as follows: // - // { - // "labels":{ - // "label1":"new-label1-value" - // "label2":"new-label2-value" - // } - // } + // { + // "labels":{ + // "label1":"new-label1-value" + // "label2":"new-label2-value" + // } + // } // // Note that in the above example, any existing labels that are not // included in the `updateMask` will be unaffected. @@ -673,80 +673,91 @@ type UpdateEnvironmentRequest struct { // the path "config.softwareConfig.pypiPackages", and // the patch environment would be the following: // - // { - // "config":{ - // "softwareConfig":{ - // "pypiPackages":{ - // "botocore":"==1.7.14" - // } - // } - // } - // } + // { + // "config":{ + // "softwareConfig":{ + // "pypiPackages":{ + // "botocore":"==1.7.14" + // } + // } + // } + // } // // **Note:** Only the following fields can be updated: // // * `config.softwareConfig.pypiPackages` - // * Replace all custom custom PyPI packages. If a replacement - // package map is not included in `environment`, all custom - // PyPI packages are cleared. It is an error to provide both - // this mask and a mask specifying an individual package. + // - Replace all custom custom PyPI packages. If a replacement + // package map is not included in `environment`, all custom + // PyPI packages are cleared. It is an error to provide both + // this mask and a mask specifying an individual package. + // // * `config.softwareConfig.pypiPackages.`packagename - // * Update the custom PyPI package *packagename*, - // preserving other packages. To delete the package, include it in - // `updateMask`, and omit the mapping for it in - // `environment.config.softwareConfig.pypiPackages`. It is an error - // to provide both a mask of this form and the - // `config.softwareConfig.pypiPackages` mask. + // - Update the custom PyPI package *packagename*, + // preserving other packages. To delete the package, include it in + // `updateMask`, and omit the mapping for it in + // `environment.config.softwareConfig.pypiPackages`. It is an error + // to provide both a mask of this form and the + // `config.softwareConfig.pypiPackages` mask. + // // * `labels` - // * Replace all environment labels. If a replacement labels map is not - // included in `environment`, all labels are cleared. It is an error to - // provide both this mask and a mask specifying one or more individual - // labels. + // - Replace all environment labels. If a replacement labels map is not + // included in `environment`, all labels are cleared. It is an error to + // provide both this mask and a mask specifying one or more individual + // labels. + // // * `labels.`labelName - // * Set the label named *labelName*, while preserving other - // labels. To delete the label, include it in `updateMask` and omit its - // mapping in `environment.labels`. It is an error to provide both a - // mask of this form and the `labels` mask. + // - Set the label named *labelName*, while preserving other + // labels. To delete the label, include it in `updateMask` and omit its + // mapping in `environment.labels`. It is an error to provide both a + // mask of this form and the `labels` mask. + // // * `config.nodeCount` - // * Horizontally scale the number of nodes in the environment. An integer - // greater than or equal to 3 must be provided in the `config.nodeCount` - // field. Supported for Cloud Composer environments in versions - // composer-1.*.*-airflow-*.*.*. + // - Horizontally scale the number of nodes in the environment. An integer + // greater than or equal to 3 must be provided in the `config.nodeCount` + // field. Supported for Cloud Composer environments in versions + // composer-1.*.*-airflow-*.*.*. + // // * `config.webServerNetworkAccessControl` - // * Replace the environment's current `WebServerNetworkAccessControl`. + // - Replace the environment's current `WebServerNetworkAccessControl`. + // // * `config.softwareConfig.airflowConfigOverrides` - // * Replace all Apache Airflow config overrides. If a replacement config - // overrides map is not included in `environment`, all config overrides - // are cleared. - // It is an error to provide both this mask and a mask specifying one or - // more individual config overrides. + // - Replace all Apache Airflow config overrides. If a replacement config + // overrides map is not included in `environment`, all config overrides + // are cleared. + // It is an error to provide both this mask and a mask specifying one or + // more individual config overrides. + // // * `config.softwareConfig.airflowConfigOverrides.`section-name - // * Override the Apache Airflow config property *name* in the - // section named *section*, preserving other properties. To - // delete the property override, include it in `updateMask` and omit its - // mapping in - // `environment.config.softwareConfig.airflowConfigOverrides`. - // It is an error to provide both a mask of this form and the - // `config.softwareConfig.airflowConfigOverrides` mask. + // - Override the Apache Airflow config property *name* in the + // section named *section*, preserving other properties. To + // delete the property override, include it in `updateMask` and omit its + // mapping in + // `environment.config.softwareConfig.airflowConfigOverrides`. + // It is an error to provide both a mask of this form and the + // `config.softwareConfig.airflowConfigOverrides` mask. + // // * `config.softwareConfig.envVariables` - // * Replace all environment variables. If a replacement environment - // variable map is not included in `environment`, all custom environment - // variables are cleared. + // - Replace all environment variables. If a replacement environment + // variable map is not included in `environment`, all custom environment + // variables are cleared. + // // * `config.softwareConfig.schedulerCount` - // * Horizontally scale the number of schedulers in Airflow. A positive - // integer not greater than the number of nodes must be provided in the - // `config.softwareConfig.schedulerCount` field. Supported for Cloud - // Composer environments in versions composer-1.*.*-airflow-2.*.*. + // - Horizontally scale the number of schedulers in Airflow. A positive + // integer not greater than the number of nodes must be provided in the + // `config.softwareConfig.schedulerCount` field. Supported for Cloud + // Composer environments in versions composer-1.*.*-airflow-2.*.*. + // // * `config.databaseConfig.machineType` - // * Cloud SQL machine type used by Airflow database. - // It has to be one of: db-n1-standard-2, db-n1-standard-4, - // db-n1-standard-8 or db-n1-standard-16. Supported for Cloud Composer - // environments in versions composer-1.*.*-airflow-*.*.*. + // - Cloud SQL machine type used by Airflow database. + // It has to be one of: db-n1-standard-2, db-n1-standard-4, + // db-n1-standard-8 or db-n1-standard-16. Supported for Cloud Composer + // environments in versions composer-1.*.*-airflow-*.*.*. + // // * `config.webServerConfig.machineType` - // * Machine type on which Airflow web server is running. - // It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 - // or composer-n1-webserver-8. Supported for Cloud Composer environments - // in versions composer-1.*.*-airflow-*.*.*. + // - Machine type on which Airflow web server is running. + // It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 + // or composer-n1-webserver-8. Supported for Cloud Composer environments + // in versions composer-1.*.*-airflow-*.*.*. UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -2456,12 +2467,14 @@ type IPAllocationPolicy struct { // Configuration of allocating IP addresses for pods in the GKE cluster. // // Types that are assignable to ClusterIpAllocation: + // // *IPAllocationPolicy_ClusterSecondaryRangeName // *IPAllocationPolicy_ClusterIpv4CidrBlock ClusterIpAllocation isIPAllocationPolicy_ClusterIpAllocation `protobuf_oneof:"cluster_ip_allocation"` // Configuration of allocating IP addresses for services in the GKE cluster. // // Types that are assignable to ServicesIpAllocation: + // // *IPAllocationPolicy_ServicesSecondaryRangeName // *IPAllocationPolicy_ServicesIpv4CidrBlock ServicesIpAllocation isIPAllocationPolicy_ServicesIpAllocation `protobuf_oneof:"services_ip_allocation"` @@ -3706,7 +3719,8 @@ type WebServerNetworkAccessControl_AllowedIpRange struct { // IP address or range, defined using CIDR notation, of requests that this // rule applies to. // Examples: `192.168.1.1` or `192.168.0.0/16` or `2001:db8::/32` - // or `2001:0db8:0000:0042:0000:8a2e:0370:7334`. + // + // or `2001:0db8:0000:0042:0000:8a2e:0370:7334`. // // IP range prefixes should be properly truncated. For example, // `1.2.3.4/24` should be truncated to `1.2.3.0/24`. Similarly, for IPv6, diff --git a/orgpolicy/apiv1/orgpolicypb/orgpolicy.pb.go b/orgpolicy/apiv1/orgpolicypb/orgpolicy.pb.go index 8b4d438c42a..f34582aa406 100755 --- a/orgpolicy/apiv1/orgpolicypb/orgpolicy.pb.go +++ b/orgpolicy/apiv1/orgpolicypb/orgpolicy.pb.go @@ -135,10 +135,11 @@ type Policy struct { UpdateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` // The field to populate is based on the `constraint_type` value in the // `Constraint`. - // `list_constraint` => `list_policy` - // `boolean_constraint` => `boolean_policy` // - // A `restore_default` message may be used with any `Constraint` type. + // `list_constraint` => `list_policy` + // `boolean_constraint` => `boolean_policy` + // + // A `restore_default` message may be used with any `Constraint` type. // // Providing a *_policy that is incompatible with the `constraint_type` will // result in an `invalid_argument` error. @@ -147,6 +148,7 @@ type Policy struct { // `invalid_argument` error. // // Types that are assignable to PolicyType: + // // *Policy_ListPolicy_ // *Policy_BooleanPolicy_ // *Policy_RestoreDefault_ @@ -335,75 +337,94 @@ type Policy_ListPolicy struct { // `projects/bar` parented by `organizations/foo`: // // Example 1 (no inherited values): - // `organizations/foo` has a `Policy` with values: - // {allowed_values: "E1" allowed_values:"E2"} - // `projects/bar` has `inherit_from_parent` `false` and values: - // {allowed_values: "E3" allowed_values: "E4"} + // + // `organizations/foo` has a `Policy` with values: + // {allowed_values: "E1" allowed_values:"E2"} + // `projects/bar` has `inherit_from_parent` `false` and values: + // {allowed_values: "E3" allowed_values: "E4"} + // // The accepted values at `organizations/foo` are `E1`, `E2`. // The accepted values at `projects/bar` are `E3`, and `E4`. // // Example 2 (inherited values): - // `organizations/foo` has a `Policy` with values: - // {allowed_values: "E1" allowed_values:"E2"} - // `projects/bar` has a `Policy` with values: - // {value: "E3" value: "E4" inherit_from_parent: true} + // + // `organizations/foo` has a `Policy` with values: + // {allowed_values: "E1" allowed_values:"E2"} + // `projects/bar` has a `Policy` with values: + // {value: "E3" value: "E4" inherit_from_parent: true} + // // The accepted values at `organizations/foo` are `E1`, `E2`. // The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. // // Example 3 (inheriting both allowed and denied values): - // `organizations/foo` has a `Policy` with values: - // {allowed_values: "E1" allowed_values: "E2"} - // `projects/bar` has a `Policy` with: - // {denied_values: "E1"} + // + // `organizations/foo` has a `Policy` with values: + // {allowed_values: "E1" allowed_values: "E2"} + // `projects/bar` has a `Policy` with: + // {denied_values: "E1"} + // // The accepted values at `organizations/foo` are `E1`, `E2`. // The value accepted at `projects/bar` is `E2`. // // Example 4 (RestoreDefault): - // `organizations/foo` has a `Policy` with values: - // {allowed_values: "E1" allowed_values:"E2"} - // `projects/bar` has a `Policy` with values: - // {RestoreDefault: {}} + // + // `organizations/foo` has a `Policy` with values: + // {allowed_values: "E1" allowed_values:"E2"} + // `projects/bar` has a `Policy` with values: + // {RestoreDefault: {}} + // // The accepted values at `organizations/foo` are `E1`, `E2`. // The accepted values at `projects/bar` are either all or none depending on // the value of `constraint_default` (if `ALLOW`, all; if // `DENY`, none). // // Example 5 (no policy inherits parent policy): - // `organizations/foo` has no `Policy` set. - // `projects/bar` has no `Policy` set. + // + // `organizations/foo` has no `Policy` set. + // `projects/bar` has no `Policy` set. + // // The accepted values at both levels are either all or none depending on // the value of `constraint_default` (if `ALLOW`, all; if // `DENY`, none). // // Example 6 (ListConstraint allowing all): - // `organizations/foo` has a `Policy` with values: - // {allowed_values: "E1" allowed_values: "E2"} - // `projects/bar` has a `Policy` with: - // {all: ALLOW} + // + // `organizations/foo` has a `Policy` with values: + // {allowed_values: "E1" allowed_values: "E2"} + // `projects/bar` has a `Policy` with: + // {all: ALLOW} + // // The accepted values at `organizations/foo` are `E1`, E2`. // Any value is accepted at `projects/bar`. // // Example 7 (ListConstraint allowing none): - // `organizations/foo` has a `Policy` with values: - // {allowed_values: "E1" allowed_values: "E2"} - // `projects/bar` has a `Policy` with: - // {all: DENY} + // + // `organizations/foo` has a `Policy` with values: + // {allowed_values: "E1" allowed_values: "E2"} + // `projects/bar` has a `Policy` with: + // {all: DENY} + // // The accepted values at `organizations/foo` are `E1`, E2`. // No value is accepted at `projects/bar`. // // Example 10 (allowed and denied subtrees of Resource Manager hierarchy): // Given the following resource hierarchy - // O1->{F1, F2}; F1->{P1}; F2->{P2, P3}, - // `organizations/foo` has a `Policy` with values: - // {allowed_values: "under:organizations/O1"} - // `projects/bar` has a `Policy` with: - // {allowed_values: "under:projects/P3"} - // {denied_values: "under:folders/F2"} + // + // O1->{F1, F2}; F1->{P1}; F2->{P2, P3}, + // `organizations/foo` has a `Policy` with values: + // {allowed_values: "under:organizations/O1"} + // `projects/bar` has a `Policy` with: + // {allowed_values: "under:projects/P3"} + // {denied_values: "under:folders/F2"} + // // The accepted values at `organizations/foo` are `organizations/O1`, - // `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`, - // `projects/P3`. + // + // `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`, + // `projects/P3`. + // // The accepted values at `projects/bar` are `organizations/O1`, - // `folders/F1`, `projects/P1`. + // + // `folders/F1`, `projects/P1`. InheritFromParent bool `protobuf:"varint,5,opt,name=inherit_from_parent,json=inheritFromParent,proto3" json:"inherit_from_parent,omitempty"` } @@ -503,25 +524,31 @@ type Policy_BooleanPolicy struct { // The following examples demonstrate the different possible layerings: // // Example 1 (nearest `Constraint` wins): - // `organizations/foo` has a `Policy` with: - // {enforced: false} - // `projects/bar` has no `Policy` set. + // + // `organizations/foo` has a `Policy` with: + // {enforced: false} + // `projects/bar` has no `Policy` set. + // // The constraint at `projects/bar` and `organizations/foo` will not be // enforced. // // Example 2 (enforcement gets replaced): - // `organizations/foo` has a `Policy` with: - // {enforced: false} - // `projects/bar` has a `Policy` with: - // {enforced: true} + // + // `organizations/foo` has a `Policy` with: + // {enforced: false} + // `projects/bar` has a `Policy` with: + // {enforced: true} + // // The constraint at `organizations/foo` is not enforced. // The constraint at `projects/bar` is enforced. // // Example 3 (RestoreDefault): - // `organizations/foo` has a `Policy` with: - // {enforced: true} - // `projects/bar` has a `Policy` with: - // {RestoreDefault: {}} + // + // `organizations/foo` has a `Policy` with: + // {enforced: true} + // `projects/bar` has a `Policy` with: + // {RestoreDefault: {}} + // // The constraint at `organizations/foo` is enforced. // The constraint at `projects/bar` is not enforced, because // `constraint_default` for the `Constraint` is `ALLOW`. diff --git a/orgpolicy/apiv2/orgpolicypb/constraint.pb.go b/orgpolicy/apiv2/orgpolicypb/constraint.pb.go index bc6b8f22fde..a7be1d14f73 100755 --- a/orgpolicy/apiv2/orgpolicypb/constraint.pb.go +++ b/orgpolicy/apiv2/orgpolicypb/constraint.pb.go @@ -257,6 +257,7 @@ type Constraint struct { // Immutable after creation. // // Types that are assignable to ConstraintType: + // // *Constraint_ListConstraint_ // *Constraint_BooleanConstraint_ ConstraintType isConstraint_ConstraintType `protobuf_oneof:"constraint_type"` @@ -394,7 +395,7 @@ type CustomConstraint struct { // Immutable. The resource instance type on which this policy applies. Format // will be of the form : `/` Example: // - // * `compute.googleapis.com/Instance`. + // - `compute.googleapis.com/Instance`. ResourceTypes []string `protobuf:"bytes,2,rep,name=resource_types,json=resourceTypes,proto3" json:"resource_types,omitempty"` // All the operations being applied for this constraint. MethodTypes []CustomConstraint_MethodType `protobuf:"varint,3,rep,packed,name=method_types,json=methodTypes,proto3,enum=google.cloud.orgpolicy.v2.CustomConstraint_MethodType" json:"method_types,omitempty"` diff --git a/orgpolicy/apiv2/orgpolicypb/orgpolicy.pb.go b/orgpolicy/apiv2/orgpolicypb/orgpolicy.pb.go index 70f0f2d2444..310bb388741 100755 --- a/orgpolicy/apiv2/orgpolicypb/orgpolicy.pb.go +++ b/orgpolicy/apiv2/orgpolicypb/orgpolicy.pb.go @@ -1249,6 +1249,7 @@ type PolicySpec_PolicyRule struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Kind: + // // *PolicySpec_PolicyRule_Values // *PolicySpec_PolicyRule_AllowAll // *PolicySpec_PolicyRule_DenyAll diff --git a/osconfig/agentendpoint/apiv1/agentendpointpb/agentendpoint.pb.go b/osconfig/agentendpoint/apiv1/agentendpointpb/agentendpoint.pb.go index 4965690c657..4a4c3d0ed24 100755 --- a/osconfig/agentendpoint/apiv1/agentendpointpb/agentendpoint.pb.go +++ b/osconfig/agentendpoint/apiv1/agentendpointpb/agentendpoint.pb.go @@ -264,6 +264,7 @@ type ReportTaskProgressRequest struct { // Intermediate progress of the current task. // // Types that are assignable to Progress: + // // *ReportTaskProgressRequest_ApplyPatchesTaskProgress // *ReportTaskProgressRequest_ExecStepTaskProgress // *ReportTaskProgressRequest_ApplyConfigTaskProgress @@ -450,6 +451,7 @@ type ReportTaskCompleteRequest struct { // Final output details of the current task. // // Types that are assignable to Output: + // // *ReportTaskCompleteRequest_ApplyPatchesTaskOutput // *ReportTaskCompleteRequest_ExecStepTaskOutput // *ReportTaskCompleteRequest_ApplyConfigTaskOutput diff --git a/osconfig/agentendpoint/apiv1/agentendpointpb/config_common.pb.go b/osconfig/agentendpoint/apiv1/agentendpointpb/config_common.pb.go index 2300386f98b..30bd123f029 100755 --- a/osconfig/agentendpoint/apiv1/agentendpointpb/config_common.pb.go +++ b/osconfig/agentendpoint/apiv1/agentendpointpb/config_common.pb.go @@ -302,6 +302,7 @@ type OSPolicyResourceCompliance struct { // Resource specific output. // // Types that are assignable to Output: + // // *OSPolicyResourceCompliance_ExecResourceOutput_ Output isOSPolicyResourceCompliance_Output `protobuf_oneof:"output"` } diff --git a/osconfig/agentendpoint/apiv1/agentendpointpb/inventory.pb.go b/osconfig/agentendpoint/apiv1/agentendpointpb/inventory.pb.go index 677a1e5bf37..e477e9153a3 100755 --- a/osconfig/agentendpoint/apiv1/agentendpointpb/inventory.pb.go +++ b/osconfig/agentendpoint/apiv1/agentendpointpb/inventory.pb.go @@ -229,6 +229,7 @@ type Inventory_SoftwarePackage struct { // Information about the different types of software packages. // // Types that are assignable to Details: + // // *Inventory_SoftwarePackage_YumPackage // *Inventory_SoftwarePackage_AptPackage // *Inventory_SoftwarePackage_ZypperPackage @@ -370,8 +371,9 @@ type Inventory_SoftwarePackage_ZypperPackage struct { type Inventory_SoftwarePackage_GoogetPackage struct { // Details of a Googet package. - // For details about the googet package manager, see - // https://github.com/google/googet. + // + // For details about the googet package manager, see + // https://github.com/google/googet. GoogetPackage *Inventory_VersionedPackage `protobuf:"bytes,4,opt,name=googet_package,json=googetPackage,proto3,oneof"` } diff --git a/osconfig/agentendpoint/apiv1/agentendpointpb/os_policy.pb.go b/osconfig/agentendpoint/apiv1/agentendpointpb/os_policy.pb.go index 5886456ff8b..695372f9882 100755 --- a/osconfig/agentendpoint/apiv1/agentendpointpb/os_policy.pb.go +++ b/osconfig/agentendpoint/apiv1/agentendpointpb/os_policy.pb.go @@ -380,6 +380,7 @@ type OSPolicy_Resource struct { // Resource type. // // Types that are assignable to ResourceType: + // // *OSPolicy_Resource_Pkg // *OSPolicy_Resource_Repository // *OSPolicy_Resource_Exec @@ -502,6 +503,7 @@ type OSPolicy_Resource_File struct { // A specific type of file. // // Types that are assignable to Type: + // // *OSPolicy_Resource_File_Remote_ // *OSPolicy_Resource_File_Gcs_ // *OSPolicy_Resource_File_LocalPath @@ -618,6 +620,7 @@ type OSPolicy_Resource_PackageResource struct { // A system package. // // Types that are assignable to SystemPackage: + // // *OSPolicy_Resource_PackageResource_Apt // *OSPolicy_Resource_PackageResource_Deb_ // *OSPolicy_Resource_PackageResource_Yum @@ -787,6 +790,7 @@ type OSPolicy_Resource_RepositoryResource struct { // A specific type of repository. // // Types that are assignable to Repository: + // // *OSPolicy_Resource_RepositoryResource_Apt // *OSPolicy_Resource_RepositoryResource_Yum // *OSPolicy_Resource_RepositoryResource_Zypper @@ -969,6 +973,7 @@ type OSPolicy_Resource_FileResource struct { // The source for the contents of the file. // // Types that are assignable to Source: + // // *OSPolicy_Resource_FileResource_File // *OSPolicy_Resource_FileResource_Content Source isOSPolicy_Resource_FileResource_Source `protobuf_oneof:"source"` @@ -1918,6 +1923,7 @@ type OSPolicy_Resource_ExecResource_Exec struct { // What to execute. // // Types that are assignable to Source: + // // *OSPolicy_Resource_ExecResource_Exec_File // *OSPolicy_Resource_ExecResource_Exec_Script Source isOSPolicy_Resource_ExecResource_Exec_Source `protobuf_oneof:"source"` diff --git a/osconfig/agentendpoint/apiv1/agentendpointpb/patch_jobs.pb.go b/osconfig/agentendpoint/apiv1/agentendpointpb/patch_jobs.pb.go index 871e0d955b1..22be09fef1c 100755 --- a/osconfig/agentendpoint/apiv1/agentendpointpb/patch_jobs.pb.go +++ b/osconfig/agentendpoint/apiv1/agentendpointpb/patch_jobs.pb.go @@ -922,6 +922,7 @@ type ExecStepConfig struct { // Location of the executable. // // Types that are assignable to Executable: + // // *ExecStepConfig_LocalPath // *ExecStepConfig_GcsObject Executable isExecStepConfig_Executable `protobuf_oneof:"executable"` diff --git a/osconfig/agentendpoint/apiv1/agentendpointpb/tasks.pb.go b/osconfig/agentendpoint/apiv1/agentendpointpb/tasks.pb.go index 33f908f4e4a..908a92f5154 100755 --- a/osconfig/agentendpoint/apiv1/agentendpointpb/tasks.pb.go +++ b/osconfig/agentendpoint/apiv1/agentendpointpb/tasks.pb.go @@ -503,6 +503,7 @@ type Task struct { // Specific details about the current task to perform. // // Types that are assignable to TaskDetails: + // // *Task_ApplyPatchesTask // *Task_ExecStepTask // *Task_ApplyConfigTask diff --git a/osconfig/agentendpoint/apiv1beta/agentendpointpb/agentendpoint.pb.go b/osconfig/agentendpoint/apiv1beta/agentendpointpb/agentendpoint.pb.go index be3a6f01bb3..6f73ff0703c 100755 --- a/osconfig/agentendpoint/apiv1beta/agentendpointpb/agentendpoint.pb.go +++ b/osconfig/agentendpoint/apiv1beta/agentendpointpb/agentendpoint.pb.go @@ -264,6 +264,7 @@ type ReportTaskProgressRequest struct { // Intermediate progress of the current task. // // Types that are assignable to Progress: + // // *ReportTaskProgressRequest_ApplyPatchesTaskProgress // *ReportTaskProgressRequest_ExecStepTaskProgress Progress isReportTaskProgressRequest_Progress `protobuf_oneof:"progress"` @@ -435,6 +436,7 @@ type ReportTaskCompleteRequest struct { // Final output details of the current task. // // Types that are assignable to Output: + // // *ReportTaskCompleteRequest_ApplyPatchesTaskOutput // *ReportTaskCompleteRequest_ExecStepTaskOutput Output isReportTaskCompleteRequest_Output `protobuf_oneof:"output"` diff --git a/osconfig/agentendpoint/apiv1beta/agentendpointpb/guest_policies.pb.go b/osconfig/agentendpoint/apiv1beta/agentendpointpb/guest_policies.pb.go index fbb4d122451..ba839b357ac 100755 --- a/osconfig/agentendpoint/apiv1beta/agentendpointpb/guest_policies.pb.go +++ b/osconfig/agentendpoint/apiv1beta/agentendpointpb/guest_policies.pb.go @@ -752,6 +752,7 @@ type PackageRepository struct { // A specific type of repository. // // Types that are assignable to Repository: + // // *PackageRepository_Apt // *PackageRepository_Yum // *PackageRepository_Zypper @@ -913,12 +914,17 @@ type SoftwareRecipe struct { // recipe. // // INSTALLED: The software recipe is installed on the instance but won't be - // updated to new versions. + // + // updated to new versions. + // // UPDATED: The software recipe is installed on the instance. The recipe is - // updated to a higher version, if a higher version of - // the recipe is assigned to this instance. + // + // updated to a higher version, if a higher version of + // the recipe is assigned to this instance. + // // REMOVE: Remove is unsupported for software recipes and attempts to - // create or update a recipe to the REMOVE state is rejected. + // + // create or update a recipe to the REMOVE state is rejected. DesiredState DesiredState `protobuf:"varint,6,opt,name=desired_state,json=desiredState,proto3,enum=google.cloud.osconfig.agentendpoint.v1beta.DesiredState" json:"desired_state,omitempty"` } @@ -1159,6 +1165,7 @@ type SoftwareRecipe_Artifact struct { // A specific type of artifact. // // Types that are assignable to Artifact: + // // *SoftwareRecipe_Artifact_Remote_ // *SoftwareRecipe_Artifact_Gcs_ Artifact isSoftwareRecipe_Artifact_Artifact `protobuf_oneof:"artifact"` @@ -1166,7 +1173,9 @@ type SoftwareRecipe_Artifact struct { // based on the artifact type: // // Remote: A checksum must be specified, and only protocols with - // transport-layer security are permitted. + // + // transport-layer security are permitted. + // // GCS: An object generation number must be specified. AllowInsecure bool `protobuf:"varint,4,opt,name=allow_insecure,json=allowInsecure,proto3" json:"allow_insecure,omitempty"` } @@ -1265,6 +1274,7 @@ type SoftwareRecipe_Step struct { // A specific type of step. // // Types that are assignable to Step: + // // *SoftwareRecipe_Step_FileCopy // *SoftwareRecipe_Step_ArchiveExtraction // *SoftwareRecipe_Step_MsiInstallation @@ -1891,6 +1901,7 @@ type SoftwareRecipe_Step_ExecFile struct { // Location of the file to execute. // // Types that are assignable to LocationType: + // // *SoftwareRecipe_Step_ExecFile_ArtifactId // *SoftwareRecipe_Step_ExecFile_LocalPath LocationType isSoftwareRecipe_Step_ExecFile_LocationType `protobuf_oneof:"location_type"` diff --git a/osconfig/agentendpoint/apiv1beta/agentendpointpb/patch_jobs.pb.go b/osconfig/agentendpoint/apiv1beta/agentendpointpb/patch_jobs.pb.go index 35947baa677..8e9a97d66d8 100755 --- a/osconfig/agentendpoint/apiv1beta/agentendpointpb/patch_jobs.pb.go +++ b/osconfig/agentendpoint/apiv1beta/agentendpointpb/patch_jobs.pb.go @@ -922,6 +922,7 @@ type ExecStepConfig struct { // Location of the executable. // // Types that are assignable to Executable: + // // *ExecStepConfig_LocalPath // *ExecStepConfig_GcsObject Executable isExecStepConfig_Executable `protobuf_oneof:"executable"` diff --git a/osconfig/agentendpoint/apiv1beta/agentendpointpb/tasks.pb.go b/osconfig/agentendpoint/apiv1beta/agentendpointpb/tasks.pb.go index 2db6ea64e46..8cabe0ff898 100755 --- a/osconfig/agentendpoint/apiv1beta/agentendpointpb/tasks.pb.go +++ b/osconfig/agentendpoint/apiv1beta/agentendpointpb/tasks.pb.go @@ -388,6 +388,7 @@ type Task struct { // Specific details about the current task to perform. // // Types that are assignable to TaskDetails: + // // *Task_ApplyPatchesTask // *Task_ExecStepTask TaskDetails isTask_TaskDetails `protobuf_oneof:"task_details"` diff --git a/osconfig/apiv1/osconfigpb/inventory.pb.go b/osconfig/apiv1/osconfigpb/inventory.pb.go index d8a71531657..05976d8b9a7 100755 --- a/osconfig/apiv1/osconfigpb/inventory.pb.go +++ b/osconfig/apiv1/osconfigpb/inventory.pb.go @@ -636,6 +636,7 @@ type Inventory_Item struct { // Specific details of this inventory item based on its type. // // Types that are assignable to Details: + // // *Inventory_Item_InstalledPackage // *Inventory_Item_AvailablePackage Details isInventory_Item_Details `protobuf_oneof:"details"` @@ -756,6 +757,7 @@ type Inventory_SoftwarePackage struct { // Information about the different types of software packages. // // Types that are assignable to Details: + // // *Inventory_SoftwarePackage_YumPackage // *Inventory_SoftwarePackage_AptPackage // *Inventory_SoftwarePackage_ZypperPackage @@ -897,8 +899,9 @@ type Inventory_SoftwarePackage_ZypperPackage struct { type Inventory_SoftwarePackage_GoogetPackage struct { // Details of a Googet package. - // For details about the googet package manager, see - // https://github.com/google/googet. + // + // For details about the googet package manager, see + // https://github.com/google/googet. GoogetPackage *Inventory_VersionedPackage `protobuf:"bytes,4,opt,name=googet_package,json=googetPackage,proto3,oneof"` } diff --git a/osconfig/apiv1/osconfigpb/os_policy.pb.go b/osconfig/apiv1/osconfigpb/os_policy.pb.go index a652e90fb8e..1cb30b131ce 100755 --- a/osconfig/apiv1/osconfigpb/os_policy.pb.go +++ b/osconfig/apiv1/osconfigpb/os_policy.pb.go @@ -507,6 +507,7 @@ type OSPolicy_Resource struct { // Resource type. // // Types that are assignable to ResourceType: + // // *OSPolicy_Resource_Pkg // *OSPolicy_Resource_Repository // *OSPolicy_Resource_Exec @@ -707,6 +708,7 @@ type OSPolicy_Resource_File struct { // A specific type of file. // // Types that are assignable to Type: + // // *OSPolicy_Resource_File_Remote_ // *OSPolicy_Resource_File_Gcs_ // *OSPolicy_Resource_File_LocalPath @@ -822,6 +824,7 @@ type OSPolicy_Resource_PackageResource struct { // A system package. // // Types that are assignable to SystemPackage: + // // *OSPolicy_Resource_PackageResource_Apt // *OSPolicy_Resource_PackageResource_Deb_ // *OSPolicy_Resource_PackageResource_Yum @@ -991,6 +994,7 @@ type OSPolicy_Resource_RepositoryResource struct { // A specific type of repository. // // Types that are assignable to Repository: + // // *OSPolicy_Resource_RepositoryResource_Apt // *OSPolicy_Resource_RepositoryResource_Yum // *OSPolicy_Resource_RepositoryResource_Zypper @@ -1198,6 +1202,7 @@ type OSPolicy_Resource_FileResource struct { // The source for the contents of the file. // // Types that are assignable to Source: + // // *OSPolicy_Resource_FileResource_File // *OSPolicy_Resource_FileResource_Content Source isOSPolicy_Resource_FileResource_Source `protobuf_oneof:"source"` @@ -2147,6 +2152,7 @@ type OSPolicy_Resource_ExecResource_Exec struct { // What to execute. // // Types that are assignable to Source: + // // *OSPolicy_Resource_ExecResource_Exec_File // *OSPolicy_Resource_ExecResource_Exec_Script Source isOSPolicy_Resource_ExecResource_Exec_Source `protobuf_oneof:"source"` diff --git a/osconfig/apiv1/osconfigpb/os_policy_assignment_reports.pb.go b/osconfig/apiv1/osconfigpb/os_policy_assignment_reports.pb.go index eba32452b0e..36b0484ab2c 100755 --- a/osconfig/apiv1/osconfigpb/os_policy_assignment_reports.pb.go +++ b/osconfig/apiv1/osconfigpb/os_policy_assignment_reports.pb.go @@ -302,11 +302,16 @@ type ListOSPolicyAssignmentReportsRequest struct { // // For example: // `projects/{project}/locations/{location}/instances/{instance}/osPolicyAssignments/-/reports` - // returns all reports for the instance + // + // returns all reports for the instance + // // `projects/{project}/locations/{location}/instances/-/osPolicyAssignments/{assignment-id}/reports` - // returns all the reports for the given assignment across all instances. + // + // returns all the reports for the given assignment across all instances. + // // `projects/{project}/locations/{location}/instances/-/osPolicyAssignments/-/reports` - // returns all the reports for all assignments across all instances. + // + // returns all the reports for all assignments across all instances. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The maximum number of results to return. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -673,6 +678,7 @@ type OSPolicyAssignmentReport_OSPolicyCompliance_OSPolicyResourceCompliance stru // Resource specific output. // // Types that are assignable to Output: + // // *OSPolicyAssignmentReport_OSPolicyCompliance_OSPolicyResourceCompliance_ExecResourceOutput_ Output isOSPolicyAssignmentReport_OSPolicyCompliance_OSPolicyResourceCompliance_Output `protobuf_oneof:"output"` } diff --git a/osconfig/apiv1/osconfigpb/os_policy_assignments.pb.go b/osconfig/apiv1/osconfigpb/os_policy_assignments.pb.go index 20c7f63c596..9019f35de7b 100755 --- a/osconfig/apiv1/osconfigpb/os_policy_assignments.pb.go +++ b/osconfig/apiv1/osconfigpb/os_policy_assignments.pb.go @@ -253,8 +253,9 @@ type OSPolicyAssignment struct { // 1) OSPolicyAssignment is created. // 2) OSPolicyAssignment is updated and the update contains changes to one of // the following fields: - // - instance_filter - // - os_policies + // - instance_filter + // - os_policies + // // 3) OSPolicyAssignment is deleted. Rollout *OSPolicyAssignment_Rollout `protobuf:"bytes,5,opt,name=rollout,proto3" json:"rollout,omitempty"` // Output only. The assignment revision ID diff --git a/osconfig/apiv1/osconfigpb/osconfig_common.pb.go b/osconfig/apiv1/osconfigpb/osconfig_common.pb.go index 47965234609..992a20a789a 100755 --- a/osconfig/apiv1/osconfigpb/osconfig_common.pb.go +++ b/osconfig/apiv1/osconfigpb/osconfig_common.pb.go @@ -45,6 +45,7 @@ type FixedOrPercent struct { // Type of the value. // // Types that are assignable to Mode: + // // *FixedOrPercent_Fixed // *FixedOrPercent_Percent Mode isFixedOrPercent_Mode `protobuf_oneof:"mode"` diff --git a/osconfig/apiv1/osconfigpb/patch_deployments.pb.go b/osconfig/apiv1/osconfigpb/patch_deployments.pb.go index f21e1a396df..5cd577fc4e4 100755 --- a/osconfig/apiv1/osconfigpb/patch_deployments.pb.go +++ b/osconfig/apiv1/osconfigpb/patch_deployments.pb.go @@ -184,6 +184,7 @@ type PatchDeployment struct { // Schedule for the patch. // // Types that are assignable to Schedule: + // // *PatchDeployment_OneTimeSchedule // *PatchDeployment_RecurringSchedule Schedule isPatchDeployment_Schedule `protobuf_oneof:"schedule"` @@ -417,6 +418,7 @@ type RecurringSchedule struct { // Configurations must match frequency. // // Types that are assignable to ScheduleConfig: + // // *RecurringSchedule_Weekly // *RecurringSchedule_Monthly ScheduleConfig isRecurringSchedule_ScheduleConfig `protobuf_oneof:"schedule_config"` @@ -605,6 +607,7 @@ type MonthlySchedule struct { // One day in a month. // // Types that are assignable to DayOfMonth: + // // *MonthlySchedule_WeekDayOfMonth // *MonthlySchedule_MonthDay DayOfMonth isMonthlySchedule_DayOfMonth `protobuf_oneof:"day_of_month"` diff --git a/osconfig/apiv1/osconfigpb/patch_jobs.pb.go b/osconfig/apiv1/osconfigpb/patch_jobs.pb.go index 24c223b719f..527d9d1abd8 100755 --- a/osconfig/apiv1/osconfigpb/patch_jobs.pb.go +++ b/osconfig/apiv1/osconfigpb/patch_jobs.pb.go @@ -1912,6 +1912,7 @@ type ExecStepConfig struct { // Location of the executable. // // Types that are assignable to Executable: + // // *ExecStepConfig_LocalPath // *ExecStepConfig_GcsObject Executable isExecStepConfig_Executable `protobuf_oneof:"executable"` diff --git a/osconfig/apiv1alpha/osconfigpb/config_common.pb.go b/osconfig/apiv1alpha/osconfigpb/config_common.pb.go index 43ffcdda4bf..8d2d3d6bf7a 100755 --- a/osconfig/apiv1alpha/osconfigpb/config_common.pb.go +++ b/osconfig/apiv1alpha/osconfigpb/config_common.pb.go @@ -312,6 +312,7 @@ type OSPolicyResourceCompliance struct { // Resource specific output. // // Types that are assignable to Output: + // // *OSPolicyResourceCompliance_ExecResourceOutput_ Output isOSPolicyResourceCompliance_Output `protobuf_oneof:"output"` } diff --git a/osconfig/apiv1alpha/osconfigpb/inventory.pb.go b/osconfig/apiv1alpha/osconfigpb/inventory.pb.go index 20e6d44d0d5..88854f9ece0 100755 --- a/osconfig/apiv1alpha/osconfigpb/inventory.pb.go +++ b/osconfig/apiv1alpha/osconfigpb/inventory.pb.go @@ -636,6 +636,7 @@ type Inventory_Item struct { // Specific details of this inventory item based on its type. // // Types that are assignable to Details: + // // *Inventory_Item_InstalledPackage // *Inventory_Item_AvailablePackage Details isInventory_Item_Details `protobuf_oneof:"details"` @@ -756,6 +757,7 @@ type Inventory_SoftwarePackage struct { // Information about the different types of software packages. // // Types that are assignable to Details: + // // *Inventory_SoftwarePackage_YumPackage // *Inventory_SoftwarePackage_AptPackage // *Inventory_SoftwarePackage_ZypperPackage @@ -897,8 +899,9 @@ type Inventory_SoftwarePackage_ZypperPackage struct { type Inventory_SoftwarePackage_GoogetPackage struct { // Details of a Googet package. - // For details about the googet package manager, see - // https://github.com/google/googet. + // + // For details about the googet package manager, see + // https://github.com/google/googet. GoogetPackage *Inventory_VersionedPackage `protobuf:"bytes,4,opt,name=googet_package,json=googetPackage,proto3,oneof"` } diff --git a/osconfig/apiv1alpha/osconfigpb/os_policy.pb.go b/osconfig/apiv1alpha/osconfigpb/os_policy.pb.go index 2c8f19457d6..e8a0a225c30 100755 --- a/osconfig/apiv1alpha/osconfigpb/os_policy.pb.go +++ b/osconfig/apiv1alpha/osconfigpb/os_policy.pb.go @@ -570,6 +570,7 @@ type OSPolicy_Resource struct { // Resource type. // // Types that are assignable to ResourceType: + // // *OSPolicy_Resource_Pkg // *OSPolicy_Resource_Repository // *OSPolicy_Resource_Exec @@ -783,6 +784,7 @@ type OSPolicy_Resource_File struct { // A specific type of file. // // Types that are assignable to Type: + // // *OSPolicy_Resource_File_Remote_ // *OSPolicy_Resource_File_Gcs_ // *OSPolicy_Resource_File_LocalPath @@ -898,6 +900,7 @@ type OSPolicy_Resource_PackageResource struct { // A system package. // // Types that are assignable to SystemPackage: + // // *OSPolicy_Resource_PackageResource_Apt // *OSPolicy_Resource_PackageResource_Deb_ // *OSPolicy_Resource_PackageResource_Yum @@ -1067,6 +1070,7 @@ type OSPolicy_Resource_RepositoryResource struct { // A specific type of repository. // // Types that are assignable to Repository: + // // *OSPolicy_Resource_RepositoryResource_Apt // *OSPolicy_Resource_RepositoryResource_Yum // *OSPolicy_Resource_RepositoryResource_Zypper @@ -1274,6 +1278,7 @@ type OSPolicy_Resource_FileResource struct { // The source for the contents of the file. // // Types that are assignable to Source: + // // *OSPolicy_Resource_FileResource_File // *OSPolicy_Resource_FileResource_Content Source isOSPolicy_Resource_FileResource_Source `protobuf_oneof:"source"` @@ -2223,6 +2228,7 @@ type OSPolicy_Resource_ExecResource_Exec struct { // What to execute. // // Types that are assignable to Source: + // // *OSPolicy_Resource_ExecResource_Exec_File // *OSPolicy_Resource_ExecResource_Exec_Script Source isOSPolicy_Resource_ExecResource_Exec_Source `protobuf_oneof:"source"` diff --git a/osconfig/apiv1alpha/osconfigpb/os_policy_assignment_reports.pb.go b/osconfig/apiv1alpha/osconfigpb/os_policy_assignment_reports.pb.go index b84c8b9db24..0563d45bb82 100755 --- a/osconfig/apiv1alpha/osconfigpb/os_policy_assignment_reports.pb.go +++ b/osconfig/apiv1alpha/osconfigpb/os_policy_assignment_reports.pb.go @@ -302,11 +302,16 @@ type ListOSPolicyAssignmentReportsRequest struct { // // For example: // `projects/{project}/locations/{location}/instances/{instance}/osPolicyAssignments/-/reports` - // returns all reports for the instance + // + // returns all reports for the instance + // // `projects/{project}/locations/{location}/instances/-/osPolicyAssignments/{assignment-id}/reports` - // returns all the reports for the given assignment across all instances. + // + // returns all the reports for the given assignment across all instances. + // // `projects/{project}/locations/{location}/instances/-/osPolicyAssignments/-/reports` - // returns all the reports for all assignments across all instances. + // + // returns all the reports for all assignments across all instances. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The maximum number of results to return. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -673,6 +678,7 @@ type OSPolicyAssignmentReport_OSPolicyCompliance_OSPolicyResourceCompliance stru // Resource specific output. // // Types that are assignable to Output: + // // *OSPolicyAssignmentReport_OSPolicyCompliance_OSPolicyResourceCompliance_ExecResourceOutput_ Output isOSPolicyAssignmentReport_OSPolicyCompliance_OSPolicyResourceCompliance_Output `protobuf_oneof:"output"` } diff --git a/osconfig/apiv1alpha/osconfigpb/os_policy_assignments.pb.go b/osconfig/apiv1alpha/osconfigpb/os_policy_assignments.pb.go index 97295c98d09..8d63cc5dcba 100755 --- a/osconfig/apiv1alpha/osconfigpb/os_policy_assignments.pb.go +++ b/osconfig/apiv1alpha/osconfigpb/os_policy_assignments.pb.go @@ -253,8 +253,9 @@ type OSPolicyAssignment struct { // 1) OSPolicyAssignment is created. // 2) OSPolicyAssignment is updated and the update contains changes to one of // the following fields: - // - instance_filter - // - os_policies + // - instance_filter + // - os_policies + // // 3) OSPolicyAssignment is deleted. Rollout *OSPolicyAssignment_Rollout `protobuf:"bytes,5,opt,name=rollout,proto3" json:"rollout,omitempty"` // Output only. The assignment revision ID diff --git a/osconfig/apiv1alpha/osconfigpb/osconfig_common.pb.go b/osconfig/apiv1alpha/osconfigpb/osconfig_common.pb.go index c375922649f..4117615af89 100755 --- a/osconfig/apiv1alpha/osconfigpb/osconfig_common.pb.go +++ b/osconfig/apiv1alpha/osconfigpb/osconfig_common.pb.go @@ -45,6 +45,7 @@ type FixedOrPercent struct { // Type of the value. // // Types that are assignable to Mode: + // // *FixedOrPercent_Fixed // *FixedOrPercent_Percent Mode isFixedOrPercent_Mode `protobuf_oneof:"mode"` diff --git a/osconfig/apiv1beta/osconfigpb/guest_policies.pb.go b/osconfig/apiv1beta/osconfigpb/guest_policies.pb.go index 5ca9e536955..c1d89b2c6c9 100755 --- a/osconfig/apiv1beta/osconfigpb/guest_policies.pb.go +++ b/osconfig/apiv1beta/osconfigpb/guest_policies.pb.go @@ -1007,6 +1007,7 @@ type PackageRepository struct { // A specific type of repository. // // Types that are assignable to Repository: + // // *PackageRepository_Apt // *PackageRepository_Yum // *PackageRepository_Zypper @@ -1166,12 +1167,17 @@ type SoftwareRecipe struct { // recipe. // // INSTALLED: The software recipe is installed on the instance but - // won't be updated to new versions. + // + // won't be updated to new versions. + // // UPDATED: The software recipe is installed on the instance. The recipe is - // updated to a higher version, if a higher version of the recipe is - // assigned to this instance. + // + // updated to a higher version, if a higher version of the recipe is + // assigned to this instance. + // // REMOVE: Remove is unsupported for software recipes and attempts to - // create or update a recipe to the REMOVE state is rejected. + // + // create or update a recipe to the REMOVE state is rejected. DesiredState DesiredState `protobuf:"varint,6,opt,name=desired_state,json=desiredState,proto3,enum=google.cloud.osconfig.v1beta.DesiredState" json:"desired_state,omitempty"` } @@ -1894,6 +1900,7 @@ type SoftwareRecipe_Artifact struct { // A specific type of artifact. // // Types that are assignable to Artifact: + // // *SoftwareRecipe_Artifact_Remote_ // *SoftwareRecipe_Artifact_Gcs_ Artifact isSoftwareRecipe_Artifact_Artifact `protobuf_oneof:"artifact"` @@ -2000,6 +2007,7 @@ type SoftwareRecipe_Step struct { // A specific type of step. // // Types that are assignable to Step: + // // *SoftwareRecipe_Step_FileCopy // *SoftwareRecipe_Step_ArchiveExtraction // *SoftwareRecipe_Step_MsiInstallation @@ -2626,6 +2634,7 @@ type SoftwareRecipe_Step_ExecFile struct { // Location of the file to execute. // // Types that are assignable to LocationType: + // // *SoftwareRecipe_Step_ExecFile_ArtifactId // *SoftwareRecipe_Step_ExecFile_LocalPath LocationType isSoftwareRecipe_Step_ExecFile_LocationType `protobuf_oneof:"location_type"` diff --git a/osconfig/apiv1beta/osconfigpb/osconfig_common.pb.go b/osconfig/apiv1beta/osconfigpb/osconfig_common.pb.go index 47af3681226..ac876b007b6 100755 --- a/osconfig/apiv1beta/osconfigpb/osconfig_common.pb.go +++ b/osconfig/apiv1beta/osconfigpb/osconfig_common.pb.go @@ -45,6 +45,7 @@ type FixedOrPercent struct { // Type of the value. // // Types that are assignable to Mode: + // // *FixedOrPercent_Fixed // *FixedOrPercent_Percent Mode isFixedOrPercent_Mode `protobuf_oneof:"mode"` diff --git a/osconfig/apiv1beta/osconfigpb/patch_deployments.pb.go b/osconfig/apiv1beta/osconfigpb/patch_deployments.pb.go index c643c2bdf7d..dd5de2ef562 100755 --- a/osconfig/apiv1beta/osconfigpb/patch_deployments.pb.go +++ b/osconfig/apiv1beta/osconfigpb/patch_deployments.pb.go @@ -183,6 +183,7 @@ type PatchDeployment struct { // Schedule for the patch. // // Types that are assignable to Schedule: + // // *PatchDeployment_OneTimeSchedule // *PatchDeployment_RecurringSchedule Schedule isPatchDeployment_Schedule `protobuf_oneof:"schedule"` @@ -416,6 +417,7 @@ type RecurringSchedule struct { // Configurations must match frequency. // // Types that are assignable to ScheduleConfig: + // // *RecurringSchedule_Weekly // *RecurringSchedule_Monthly ScheduleConfig isRecurringSchedule_ScheduleConfig `protobuf_oneof:"schedule_config"` @@ -604,6 +606,7 @@ type MonthlySchedule struct { // One day in a month. // // Types that are assignable to DayOfMonth: + // // *MonthlySchedule_WeekDayOfMonth // *MonthlySchedule_MonthDay DayOfMonth isMonthlySchedule_DayOfMonth `protobuf_oneof:"day_of_month"` diff --git a/osconfig/apiv1beta/osconfigpb/patch_jobs.pb.go b/osconfig/apiv1beta/osconfigpb/patch_jobs.pb.go index 1b53f0b97cc..84b5f7c5cff 100755 --- a/osconfig/apiv1beta/osconfigpb/patch_jobs.pb.go +++ b/osconfig/apiv1beta/osconfigpb/patch_jobs.pb.go @@ -1910,6 +1910,7 @@ type ExecStepConfig struct { // Location of the executable. // // Types that are assignable to Executable: + // // *ExecStepConfig_LocalPath // *ExecStepConfig_GcsObject Executable isExecStepConfig_Executable `protobuf_oneof:"executable"` diff --git a/oslogin/apiv1beta/osloginpb/oslogin.pb.go b/oslogin/apiv1beta/osloginpb/oslogin.pb.go index 5c64c715691..22d6a402dcd 100755 --- a/oslogin/apiv1beta/osloginpb/oslogin.pb.go +++ b/oslogin/apiv1beta/osloginpb/oslogin.pb.go @@ -688,6 +688,7 @@ type SecurityKey struct { // The FIDO protocol type used to register this credential. // // Types that are assignable to ProtocolType: + // // *SecurityKey_UniversalTwoFactor // *SecurityKey_WebAuthn ProtocolType isSecurityKey_ProtocolType `protobuf_oneof:"protocol_type"` diff --git a/policysimulator/apiv1/policysimulatorpb/explanations.pb.go b/policysimulator/apiv1/policysimulatorpb/explanations.pb.go index ed8be544481..c3899d2643f 100755 --- a/policysimulator/apiv1/policysimulatorpb/explanations.pb.go +++ b/policysimulator/apiv1/policysimulatorpb/explanations.pb.go @@ -227,10 +227,10 @@ const ( // The binding includes the principal. The principal can be included // directly or indirectly. For example: // - // * A principal is included directly if that principal is listed in the - // binding. - // * A principal is included indirectly if that principal is in a Google - // group or Google Workspace domain that is listed in the binding. + // - A principal is included directly if that principal is listed in the + // binding. + // - A principal is included indirectly if that principal is in a Google + // group or Google Workspace domain that is listed in the binding. BindingExplanation_MEMBERSHIP_INCLUDED BindingExplanation_Membership = 1 // The binding does not include the principal. BindingExplanation_MEMBERSHIP_NOT_INCLUDED BindingExplanation_Membership = 2 diff --git a/policysimulator/apiv1/policysimulatorpb/simulator.pb.go b/policysimulator/apiv1/policysimulatorpb/simulator.pb.go index e4fc48317fa..1bcd1cb852f 100755 --- a/policysimulator/apiv1/policysimulatorpb/simulator.pb.go +++ b/policysimulator/apiv1/policysimulatorpb/simulator.pb.go @@ -183,18 +183,19 @@ const ( AccessStateDiff_ACCESS_GAINED AccessStateDiff_AccessChangeType = 4 // This result can occur for the following reasons: // - // * The principal had access under the current policies (`GRANTED`), but - // their access after the proposed changes is `UNKNOWN`. + // - The principal had access under the current policies (`GRANTED`), but + // their access after the proposed changes is `UNKNOWN`. // // * The principal's access under the current policies is `UNKNOWN`, but // they - // will not have access after the proposed changes (`NOT_GRANTED`). + // + // will not have access after the proposed changes (`NOT_GRANTED`). AccessStateDiff_ACCESS_MAYBE_REVOKED AccessStateDiff_AccessChangeType = 5 // This result can occur for the following reasons: // - // * The principal did not have access under the current policies - // (`NOT_GRANTED`), but their access after the proposed changes is - // `UNKNOWN`. + // - The principal did not have access under the current policies + // (`NOT_GRANTED`), but their access after the proposed changes is + // `UNKNOWN`. // // * The principal's access under the current policies is `UNKNOWN`, but // they will have access after the proposed changes (`GRANTED`). @@ -343,6 +344,7 @@ type ReplayResult struct { // The result of replaying the access tuple. // // Types that are assignable to Result: + // // *ReplayResult_Diff // *ReplayResult_Error Result isReplayResult_Result `protobuf_oneof:"result"` diff --git a/policytroubleshooter/apiv1/policytroubleshooterpb/explanations.pb.go b/policytroubleshooter/apiv1/policytroubleshooterpb/explanations.pb.go index ed29c019610..3daf9c06f13 100755 --- a/policytroubleshooter/apiv1/policytroubleshooterpb/explanations.pb.go +++ b/policytroubleshooter/apiv1/policytroubleshooterpb/explanations.pb.go @@ -224,10 +224,10 @@ const ( // The binding includes the principal. The principal can be included // directly or indirectly. For example: // - // * A principal is included directly if that principal is listed in the - // binding. - // * A principal is included indirectly if that principal is in a Google - // group or Google Workspace domain that is listed in the binding. + // - A principal is included directly if that principal is listed in the + // binding. + // - A principal is included indirectly if that principal is in a Google + // group or Google Workspace domain that is listed in the binding. BindingExplanation_MEMBERSHIP_INCLUDED BindingExplanation_Membership = 1 // The binding does not include the principal. BindingExplanation_MEMBERSHIP_NOT_INCLUDED BindingExplanation_Membership = 2 diff --git a/policytroubleshooter/iam/apiv3/iampb/troubleshooter.pb.go b/policytroubleshooter/iam/apiv3/iampb/troubleshooter.pb.go index 0c276e6dcf4..c619ecd350e 100755 --- a/policytroubleshooter/iam/apiv3/iampb/troubleshooter.pb.go +++ b/policytroubleshooter/iam/apiv3/iampb/troubleshooter.pb.go @@ -295,11 +295,11 @@ const ( // The principal in the request matches the principal in the policy. The // principal can be included directly or indirectly: // - // * A principal is included directly if that principal is listed in the - // role binding. - // * A principal is included indirectly if that principal is in a Google - // group, Google Workspace account, or Cloud Identity domain that is listed - // in the policy. + // - A principal is included directly if that principal is listed in the + // role binding. + // - A principal is included indirectly if that principal is in a Google + // group, Google Workspace account, or Cloud Identity domain that is listed + // in the policy. MembershipMatchingState_MEMBERSHIP_MATCHED MembershipMatchingState = 1 // The principal in the request doesn't match the principal in the policy. MembershipMatchingState_MEMBERSHIP_NOT_MATCHED MembershipMatchingState = 2 diff --git a/privatecatalog/apiv1beta1/privatecatalogpb/private_catalog.pb.go b/privatecatalog/apiv1beta1/privatecatalogpb/private_catalog.pb.go index 2ca247c53fd..e45223e96ec 100755 --- a/privatecatalog/apiv1beta1/privatecatalogpb/private_catalog.pb.go +++ b/privatecatalog/apiv1beta1/privatecatalogpb/private_catalog.pb.go @@ -642,43 +642,45 @@ type Product struct { // "$schema": http://json-schema.org/draft-04/schema# // type: object // properties: - // name: - // type: string - // minLength: 1 - // maxLength: 64 - // description: - // type: string - // minLength: 1 - // maxLength: 2048 - // tagline: - // type: string - // minLength: 1 - // maxLength: 100 - // support_info: - // type: string - // minLength: 1 - // maxLength: 2048 - // creator: - // type: string - // minLength: 1 - // maxLength: 100 - // documentations: - // type: array - // items: - // type: object - // properties: - // url: - // type: string - // pattern: - // "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" - // title: - // type: string - // minLength: 1 - // maxLength: 64 - // description: - // type: string - // minLength: 1 - // maxLength: 2048 + // + // name: + // type: string + // minLength: 1 + // maxLength: 64 + // description: + // type: string + // minLength: 1 + // maxLength: 2048 + // tagline: + // type: string + // minLength: 1 + // maxLength: 100 + // support_info: + // type: string + // minLength: 1 + // maxLength: 2048 + // creator: + // type: string + // minLength: 1 + // maxLength: 100 + // documentations: + // type: array + // items: + // type: object + // properties: + // url: + // type: string + // pattern: + // "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" + // title: + // type: string + // minLength: 1 + // maxLength: 64 + // description: + // type: string + // minLength: 1 + // maxLength: 2048 + // // required: // - name // - description @@ -693,47 +695,49 @@ type Product struct { // "$schema": http://json-schema.org/draft-04/schema# // type: object // properties: - // name: - // type: string - // minLength: 1 - // maxLength: 64 - // description: - // type: string - // minLength: 1 - // maxLength: 2048 - // tagline: - // type: string - // minLength: 1 - // maxLength: 100 - // support_info: - // type: string - // minLength: 1 - // maxLength: 2048 - // creator: - // type: string - // minLength: 1 - // maxLength: 100 - // documentations: - // type: array - // items: - // type: object - // properties: - // url: - // type: string - // pattern: - // "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" - // title: - // type: string - // minLength: 1 - // maxLength: 64 - // description: - // type: string - // minLength: 1 - // maxLength: 2048 - // signup_url: - // type: string - // pattern: - // "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" + // + // name: + // type: string + // minLength: 1 + // maxLength: 64 + // description: + // type: string + // minLength: 1 + // maxLength: 2048 + // tagline: + // type: string + // minLength: 1 + // maxLength: 100 + // support_info: + // type: string + // minLength: 1 + // maxLength: 2048 + // creator: + // type: string + // minLength: 1 + // maxLength: 100 + // documentations: + // type: array + // items: + // type: object + // properties: + // url: + // type: string + // pattern: + // "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" + // title: + // type: string + // minLength: 1 + // maxLength: 64 + // description: + // type: string + // minLength: 1 + // maxLength: 2048 + // signup_url: + // type: string + // pattern: + // "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" + // // required: // - name // - description @@ -749,43 +753,45 @@ type Product struct { // "$schema": http://json-schema.org/draft-04/schema# // type: object // properties: - // name: - // type: string - // minLength: 1 - // maxLength: 64 - // description: - // type: string - // minLength: 1 - // maxLength: 2048 - // tagline: - // type: string - // minLength: 1 - // maxLength: 100 - // support_info: - // type: string - // minLength: 1 - // maxLength: 2048 - // creator: - // type: string - // minLength: 1 - // maxLength: 100 - // documentations: - // type: array - // items: - // type: object - // properties: - // url: - // type: string - // pattern: - // "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" - // title: - // type: string - // minLength: 1 - // maxLength: 64 - // description: - // type: string - // minLength: 1 - // maxLength: 2048 + // + // name: + // type: string + // minLength: 1 + // maxLength: 64 + // description: + // type: string + // minLength: 1 + // maxLength: 2048 + // tagline: + // type: string + // minLength: 1 + // maxLength: 100 + // support_info: + // type: string + // minLength: 1 + // maxLength: 2048 + // creator: + // type: string + // minLength: 1 + // maxLength: 100 + // documentations: + // type: array + // items: + // type: object + // properties: + // url: + // type: string + // pattern: + // "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" + // title: + // type: string + // minLength: 1 + // maxLength: 64 + // description: + // type: string + // minLength: 1 + // maxLength: 2048 + // // required: // - name // - description @@ -903,6 +909,7 @@ type AssetReference struct { // The destination of the asset. // // Types that are assignable to Source: + // // *AssetReference_Asset // *AssetReference_GcsPath // *AssetReference_GitSource @@ -1205,6 +1212,7 @@ type GitSource struct { // commit SHA, or any Git ref. // // Types that are assignable to Ref: + // // *GitSource_Commit // *GitSource_Branch // *GitSource_Tag diff --git a/pubsub/apiv1/publisher_client.go b/pubsub/apiv1/publisher_client.go index 07ff3d9f5ba..22eb3dde608 100755 --- a/pubsub/apiv1/publisher_client.go +++ b/pubsub/apiv1/publisher_client.go @@ -383,8 +383,8 @@ func (c *PublisherClient) CreateTopic(ctx context.Context, req *pubsubpb.Topic, return c.internalClient.CreateTopic(ctx, req, opts...) } -// UpdateTopic updates an existing topic. Note that certain properties of a -// topic are not modifiable. +// UpdateTopic updates an existing topic by updating the fields specified in the update +// mask. Note that certain properties of a topic are not modifiable. func (c *PublisherClient) UpdateTopic(ctx context.Context, req *pubsubpb.UpdateTopicRequest, opts ...gax.CallOption) (*pubsubpb.Topic, error) { return c.internalClient.UpdateTopic(ctx, req, opts...) } @@ -970,8 +970,8 @@ func (c *publisherRESTClient) CreateTopic(ctx context.Context, req *pubsubpb.Top return resp, nil } -// UpdateTopic updates an existing topic. Note that certain properties of a -// topic are not modifiable. +// UpdateTopic updates an existing topic by updating the fields specified in the update +// mask. Note that certain properties of a topic are not modifiable. func (c *publisherRESTClient) UpdateTopic(ctx context.Context, req *pubsubpb.UpdateTopicRequest, opts ...gax.CallOption) (*pubsubpb.Topic, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} jsonReq, err := m.Marshal(req) diff --git a/pubsub/apiv1/pubsubpb/pubsub.pb.go b/pubsub/apiv1/pubsubpb/pubsub.pb.go index 794b079eab5..21362400483 100755 --- a/pubsub/apiv1/pubsubpb/pubsub.pb.go +++ b/pubsub/apiv1/pubsubpb/pubsub.pb.go @@ -44,6 +44,136 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// Possible states for managed ingestion from Amazon Kinesis Data Streams. +type IngestionDataSourceSettings_AwsKinesis_State int32 + +const ( + // Default value. This value is unused. + IngestionDataSourceSettings_AwsKinesis_STATE_UNSPECIFIED IngestionDataSourceSettings_AwsKinesis_State = 0 + // Ingestion is active. + IngestionDataSourceSettings_AwsKinesis_ACTIVE IngestionDataSourceSettings_AwsKinesis_State = 1 + // Permission denied encountered while consuming data from Kinesis. + // This can happen if: + // - The provided `aws_role_arn` does not exist or does not have the + // appropriate permissions attached. + // - The provided `aws_role_arn` is not set up properly for Identity + // Federation using `gcp_service_account`. + // - The Pub/Sub SA is not granted the + // `iam.serviceAccounts.getOpenIdToken` permission on + // `gcp_service_account`. + IngestionDataSourceSettings_AwsKinesis_KINESIS_PERMISSION_DENIED IngestionDataSourceSettings_AwsKinesis_State = 2 + // Permission denied encountered while publishing to the topic. This can + // happen due to Pub/Sub SA has not been granted the [appropriate publish + // permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher) + IngestionDataSourceSettings_AwsKinesis_PUBLISH_PERMISSION_DENIED IngestionDataSourceSettings_AwsKinesis_State = 3 + // The Kinesis stream does not exist. + IngestionDataSourceSettings_AwsKinesis_STREAM_NOT_FOUND IngestionDataSourceSettings_AwsKinesis_State = 4 + // The Kinesis consumer does not exist. + IngestionDataSourceSettings_AwsKinesis_CONSUMER_NOT_FOUND IngestionDataSourceSettings_AwsKinesis_State = 5 +) + +// Enum value maps for IngestionDataSourceSettings_AwsKinesis_State. +var ( + IngestionDataSourceSettings_AwsKinesis_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "ACTIVE", + 2: "KINESIS_PERMISSION_DENIED", + 3: "PUBLISH_PERMISSION_DENIED", + 4: "STREAM_NOT_FOUND", + 5: "CONSUMER_NOT_FOUND", + } + IngestionDataSourceSettings_AwsKinesis_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "ACTIVE": 1, + "KINESIS_PERMISSION_DENIED": 2, + "PUBLISH_PERMISSION_DENIED": 3, + "STREAM_NOT_FOUND": 4, + "CONSUMER_NOT_FOUND": 5, + } +) + +func (x IngestionDataSourceSettings_AwsKinesis_State) Enum() *IngestionDataSourceSettings_AwsKinesis_State { + p := new(IngestionDataSourceSettings_AwsKinesis_State) + *p = x + return p +} + +func (x IngestionDataSourceSettings_AwsKinesis_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IngestionDataSourceSettings_AwsKinesis_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_pubsub_v1_pubsub_proto_enumTypes[0].Descriptor() +} + +func (IngestionDataSourceSettings_AwsKinesis_State) Type() protoreflect.EnumType { + return &file_google_pubsub_v1_pubsub_proto_enumTypes[0] +} + +func (x IngestionDataSourceSettings_AwsKinesis_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IngestionDataSourceSettings_AwsKinesis_State.Descriptor instead. +func (IngestionDataSourceSettings_AwsKinesis_State) EnumDescriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{2, 0, 0} +} + +// The state of the topic. +type Topic_State int32 + +const ( + // Default value. This value is unused. + Topic_STATE_UNSPECIFIED Topic_State = 0 + // The topic does not have any persistent errors. + Topic_ACTIVE Topic_State = 1 + // Ingestion from the data source has encountered a permanent error. + // See the more detailed error state in the corresponding ingestion + // source configuration. + Topic_INGESTION_RESOURCE_ERROR Topic_State = 2 +) + +// Enum value maps for Topic_State. +var ( + Topic_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "ACTIVE", + 2: "INGESTION_RESOURCE_ERROR", + } + Topic_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "ACTIVE": 1, + "INGESTION_RESOURCE_ERROR": 2, + } +) + +func (x Topic_State) Enum() *Topic_State { + p := new(Topic_State) + *p = x + return p +} + +func (x Topic_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Topic_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_pubsub_v1_pubsub_proto_enumTypes[1].Descriptor() +} + +func (Topic_State) Type() protoreflect.EnumType { + return &file_google_pubsub_v1_pubsub_proto_enumTypes[1] +} + +func (x Topic_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Topic_State.Descriptor instead. +func (Topic_State) EnumDescriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{3, 0} +} + // Possible states for a subscription. type Subscription_State int32 @@ -83,11 +213,11 @@ func (x Subscription_State) String() string { } func (Subscription_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_pubsub_v1_pubsub_proto_enumTypes[0].Descriptor() + return file_google_pubsub_v1_pubsub_proto_enumTypes[2].Descriptor() } func (Subscription_State) Type() protoreflect.EnumType { - return &file_google_pubsub_v1_pubsub_proto_enumTypes[0] + return &file_google_pubsub_v1_pubsub_proto_enumTypes[2] } func (x Subscription_State) Number() protoreflect.EnumNumber { @@ -96,7 +226,7 @@ func (x Subscription_State) Number() protoreflect.EnumNumber { // Deprecated: Use Subscription_State.Descriptor instead. func (Subscription_State) EnumDescriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{17, 0} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{18, 0} } // Possible states for a BigQuery subscription. @@ -118,6 +248,9 @@ const ( BigQueryConfig_NOT_FOUND BigQueryConfig_State = 3 // Cannot write to the BigQuery table due to a schema mismatch. BigQueryConfig_SCHEMA_MISMATCH BigQueryConfig_State = 4 + // Cannot write to the destination because enforce_in_transit is set to true + // and the destination locations are not in the allowed regions. + BigQueryConfig_IN_TRANSIT_LOCATION_RESTRICTION BigQueryConfig_State = 5 ) // Enum value maps for BigQueryConfig_State. @@ -128,13 +261,15 @@ var ( 2: "PERMISSION_DENIED", 3: "NOT_FOUND", 4: "SCHEMA_MISMATCH", + 5: "IN_TRANSIT_LOCATION_RESTRICTION", } BigQueryConfig_State_value = map[string]int32{ - "STATE_UNSPECIFIED": 0, - "ACTIVE": 1, - "PERMISSION_DENIED": 2, - "NOT_FOUND": 3, - "SCHEMA_MISMATCH": 4, + "STATE_UNSPECIFIED": 0, + "ACTIVE": 1, + "PERMISSION_DENIED": 2, + "NOT_FOUND": 3, + "SCHEMA_MISMATCH": 4, + "IN_TRANSIT_LOCATION_RESTRICTION": 5, } ) @@ -149,11 +284,11 @@ func (x BigQueryConfig_State) String() string { } func (BigQueryConfig_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_pubsub_v1_pubsub_proto_enumTypes[1].Descriptor() + return file_google_pubsub_v1_pubsub_proto_enumTypes[3].Descriptor() } func (BigQueryConfig_State) Type() protoreflect.EnumType { - return &file_google_pubsub_v1_pubsub_proto_enumTypes[1] + return &file_google_pubsub_v1_pubsub_proto_enumTypes[3] } func (x BigQueryConfig_State) Number() protoreflect.EnumNumber { @@ -162,7 +297,7 @@ func (x BigQueryConfig_State) Number() protoreflect.EnumNumber { // Deprecated: Use BigQueryConfig_State.Descriptor instead. func (BigQueryConfig_State) EnumDescriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{22, 0} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{23, 0} } // Possible states for a Cloud Storage subscription. @@ -178,6 +313,9 @@ const ( CloudStorageConfig_PERMISSION_DENIED CloudStorageConfig_State = 2 // Cannot write to the Cloud Storage bucket because it does not exist. CloudStorageConfig_NOT_FOUND CloudStorageConfig_State = 3 + // Cannot write to the destination because enforce_in_transit is set to true + // and the destination locations are not in the allowed regions. + CloudStorageConfig_IN_TRANSIT_LOCATION_RESTRICTION CloudStorageConfig_State = 4 ) // Enum value maps for CloudStorageConfig_State. @@ -187,12 +325,14 @@ var ( 1: "ACTIVE", 2: "PERMISSION_DENIED", 3: "NOT_FOUND", + 4: "IN_TRANSIT_LOCATION_RESTRICTION", } CloudStorageConfig_State_value = map[string]int32{ - "STATE_UNSPECIFIED": 0, - "ACTIVE": 1, - "PERMISSION_DENIED": 2, - "NOT_FOUND": 3, + "STATE_UNSPECIFIED": 0, + "ACTIVE": 1, + "PERMISSION_DENIED": 2, + "NOT_FOUND": 3, + "IN_TRANSIT_LOCATION_RESTRICTION": 4, } ) @@ -207,11 +347,11 @@ func (x CloudStorageConfig_State) String() string { } func (CloudStorageConfig_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_pubsub_v1_pubsub_proto_enumTypes[2].Descriptor() + return file_google_pubsub_v1_pubsub_proto_enumTypes[4].Descriptor() } func (CloudStorageConfig_State) Type() protoreflect.EnumType { - return &file_google_pubsub_v1_pubsub_proto_enumTypes[2] + return &file_google_pubsub_v1_pubsub_proto_enumTypes[4] } func (x CloudStorageConfig_State) Number() protoreflect.EnumNumber { @@ -220,7 +360,7 @@ func (x CloudStorageConfig_State) Number() protoreflect.EnumNumber { // Deprecated: Use CloudStorageConfig_State.Descriptor instead. func (CloudStorageConfig_State) EnumDescriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{23, 0} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24, 0} } // A policy constraining the storage of messages published to the topic. @@ -229,13 +369,19 @@ type MessageStoragePolicy struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A list of IDs of Google Cloud regions where messages that are published - // to the topic may be persisted in storage. Messages published by publishers - // running in non-allowed Google Cloud regions (or running outside of Google - // Cloud altogether) are routed for storage in one of the allowed regions. - // An empty list means that no regions are allowed, and is not a valid - // configuration. + // Optional. A list of IDs of Google Cloud regions where messages that are + // published to the topic may be persisted in storage. Messages published by + // publishers running in non-allowed Google Cloud regions (or running outside + // of Google Cloud altogether) are routed for storage in one of the allowed + // regions. An empty list means that no regions are allowed, and is not a + // valid configuration. AllowedPersistenceRegions []string `protobuf:"bytes,1,rep,name=allowed_persistence_regions,json=allowedPersistenceRegions,proto3" json:"allowed_persistence_regions,omitempty"` + // Optional. If true, `allowed_persistence_regions` is also used to enforce + // in-transit guarantees for messages. That is, Pub/Sub will fail + // Publish operations on this topic and subscribe operations + // on any subscription attached to this topic in any region that is + // not in `allowed_persistence_regions`. + EnforceInTransit bool `protobuf:"varint,2,opt,name=enforce_in_transit,json=enforceInTransit,proto3" json:"enforce_in_transit,omitempty"` } func (x *MessageStoragePolicy) Reset() { @@ -277,6 +423,13 @@ func (x *MessageStoragePolicy) GetAllowedPersistenceRegions() []string { return nil } +func (x *MessageStoragePolicy) GetEnforceInTransit() bool { + if x != nil { + return x.EnforceInTransit + } + return false +} + // Settings for validating messages published against a schema. type SchemaSettings struct { state protoimpl.MessageState @@ -288,15 +441,15 @@ type SchemaSettings struct { // value of this field will be `_deleted-schema_` if the schema has been // deleted. Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` - // The encoding of messages validated against `schema`. + // Optional. The encoding of messages validated against `schema`. Encoding Encoding `protobuf:"varint,2,opt,name=encoding,proto3,enum=google.pubsub.v1.Encoding" json:"encoding,omitempty"` - // The minimum (inclusive) revision allowed for validating messages. If empty - // or not present, allow any revision to be validated against last_revision or - // any revision created before. + // Optional. The minimum (inclusive) revision allowed for validating messages. + // If empty or not present, allow any revision to be validated against + // last_revision or any revision created before. FirstRevisionId string `protobuf:"bytes,3,opt,name=first_revision_id,json=firstRevisionId,proto3" json:"first_revision_id,omitempty"` - // The maximum (inclusive) revision allowed for validating messages. If empty - // or not present, allow any revision to be validated against first_revision - // or any revision created after. + // Optional. The maximum (inclusive) revision allowed for validating messages. + // If empty or not present, allow any revision to be validated against + // first_revision or any revision created after. LastRevisionId string `protobuf:"bytes,4,opt,name=last_revision_id,json=lastRevisionId,proto3" json:"last_revision_id,omitempty"` } @@ -360,6 +513,77 @@ func (x *SchemaSettings) GetLastRevisionId() string { return "" } +// Settings for an ingestion data source on a topic. +type IngestionDataSourceSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Only one source type can have settings set. + // + // Types that are assignable to Source: + // + // *IngestionDataSourceSettings_AwsKinesis_ + Source isIngestionDataSourceSettings_Source `protobuf_oneof:"source"` +} + +func (x *IngestionDataSourceSettings) Reset() { + *x = IngestionDataSourceSettings{} + if protoimpl.UnsafeEnabled { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IngestionDataSourceSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IngestionDataSourceSettings) ProtoMessage() {} + +func (x *IngestionDataSourceSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IngestionDataSourceSettings.ProtoReflect.Descriptor instead. +func (*IngestionDataSourceSettings) Descriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{2} +} + +func (m *IngestionDataSourceSettings) GetSource() isIngestionDataSourceSettings_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *IngestionDataSourceSettings) GetAwsKinesis() *IngestionDataSourceSettings_AwsKinesis { + if x, ok := x.GetSource().(*IngestionDataSourceSettings_AwsKinesis_); ok { + return x.AwsKinesis + } + return nil +} + +type isIngestionDataSourceSettings_Source interface { + isIngestionDataSourceSettings_Source() +} + +type IngestionDataSourceSettings_AwsKinesis_ struct { + // Optional. Amazon Kinesis Data Streams. + AwsKinesis *IngestionDataSourceSettings_AwsKinesis `protobuf:"bytes,1,opt,name=aws_kinesis,json=awsKinesis,proto3,oneof"` +} + +func (*IngestionDataSourceSettings_AwsKinesis_) isIngestionDataSourceSettings_Source() {} + // A topic resource. type Topic struct { state protoimpl.MessageState @@ -373,38 +597,44 @@ type Topic struct { // signs (`%`). It must be between 3 and 255 characters in length, and it // must not start with `"goog"`. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // See [Creating and managing labels] + // Optional. See [Creating and managing labels] // (https://cloud.google.com/pubsub/docs/labels). Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // Policy constraining the set of Google Cloud Platform regions where messages - // published to the topic may be stored. If not present, then no constraints - // are in effect. + // Optional. Policy constraining the set of Google Cloud Platform regions + // where messages published to the topic may be stored. If not present, then + // no constraints are in effect. MessageStoragePolicy *MessageStoragePolicy `protobuf:"bytes,3,opt,name=message_storage_policy,json=messageStoragePolicy,proto3" json:"message_storage_policy,omitempty"` - // The resource name of the Cloud KMS CryptoKey to be used to protect access - // to messages published on this topic. + // Optional. The resource name of the Cloud KMS CryptoKey to be used to + // protect access to messages published on this topic. // // The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`. KmsKeyName string `protobuf:"bytes,5,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"` - // Settings for validating messages published against a schema. + // Optional. Settings for validating messages published against a schema. SchemaSettings *SchemaSettings `protobuf:"bytes,6,opt,name=schema_settings,json=schemaSettings,proto3" json:"schema_settings,omitempty"` - // Reserved for future use. This field is set only in responses from the - // server; it is ignored if it is set in any requests. + // Optional. Reserved for future use. This field is set only in responses from + // the server; it is ignored if it is set in any requests. SatisfiesPzs bool `protobuf:"varint,7,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"` - // Indicates the minimum duration to retain a message after it is published to - // the topic. If this field is set, messages published to the topic in the - // last `message_retention_duration` are always available to subscribers. For - // instance, it allows any attached subscription to [seek to a + // Optional. Indicates the minimum duration to retain a message after it is + // published to the topic. If this field is set, messages published to the + // topic in the last `message_retention_duration` are always available to + // subscribers. For instance, it allows any attached subscription to [seek to + // a // timestamp](https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) // that is up to `message_retention_duration` in the past. If this field is // not set, message retention is controlled by settings on individual // subscriptions. Cannot be more than 31 days or less than 10 minutes. MessageRetentionDuration *durationpb.Duration `protobuf:"bytes,8,opt,name=message_retention_duration,json=messageRetentionDuration,proto3" json:"message_retention_duration,omitempty"` + // Output only. An output-only field indicating the state of the topic. + State Topic_State `protobuf:"varint,9,opt,name=state,proto3,enum=google.pubsub.v1.Topic_State" json:"state,omitempty"` + // Optional. Settings for managed ingestion from a data source into this + // topic. + IngestionDataSourceSettings *IngestionDataSourceSettings `protobuf:"bytes,10,opt,name=ingestion_data_source_settings,json=ingestionDataSourceSettings,proto3" json:"ingestion_data_source_settings,omitempty"` } func (x *Topic) Reset() { *x = Topic{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[2] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -417,7 +647,7 @@ func (x *Topic) String() string { func (*Topic) ProtoMessage() {} func (x *Topic) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[2] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -430,7 +660,7 @@ func (x *Topic) ProtoReflect() protoreflect.Message { // Deprecated: Use Topic.ProtoReflect.Descriptor instead. func (*Topic) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{2} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{3} } func (x *Topic) GetName() string { @@ -482,6 +712,20 @@ func (x *Topic) GetMessageRetentionDuration() *durationpb.Duration { return nil } +func (x *Topic) GetState() Topic_State { + if x != nil { + return x.State + } + return Topic_STATE_UNSPECIFIED +} + +func (x *Topic) GetIngestionDataSourceSettings() *IngestionDataSourceSettings { + if x != nil { + return x.IngestionDataSourceSettings + } + return nil +} + // A message that is published by publishers and consumed by subscribers. The // message must contain either a non-empty data field or at least one attribute. // Note that client libraries represent this object differently @@ -495,11 +739,11 @@ type PubsubMessage struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The message data field. If this field is empty, the message must contain - // at least one attribute. + // Optional. The message data field. If this field is empty, the message must + // contain at least one attribute. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` - // Attributes for this message. If this field is empty, the message must - // contain non-empty data. This can be used to filter messages on the + // Optional. Attributes for this message. If this field is empty, the message + // must contain non-empty data. This can be used to filter messages on the // subscription. Attributes map[string]string `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // ID of this message, assigned by the server when the message is published. @@ -511,13 +755,13 @@ type PubsubMessage struct { // it receives the `Publish` call. It must not be populated by the // publisher in a `Publish` call. PublishTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=publish_time,json=publishTime,proto3" json:"publish_time,omitempty"` - // If non-empty, identifies related messages for which publish order should be - // respected. If a `Subscription` has `enable_message_ordering` set to `true`, - // messages published with the same non-empty `ordering_key` value will be - // delivered to subscribers in the order in which they are received by the - // Pub/Sub system. All `PubsubMessage`s published in a given `PublishRequest` - // must specify the same `ordering_key` value. - // For more information, see [ordering + // Optional. If non-empty, identifies related messages for which publish order + // should be respected. If a `Subscription` has `enable_message_ordering` set + // to `true`, messages published with the same non-empty `ordering_key` value + // will be delivered to subscribers in the order in which they are received by + // the Pub/Sub system. All `PubsubMessage`s published in a given + // `PublishRequest` must specify the same `ordering_key` value. For more + // information, see [ordering // messages](https://cloud.google.com/pubsub/docs/ordering). OrderingKey string `protobuf:"bytes,5,opt,name=ordering_key,json=orderingKey,proto3" json:"ordering_key,omitempty"` } @@ -525,7 +769,7 @@ type PubsubMessage struct { func (x *PubsubMessage) Reset() { *x = PubsubMessage{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[3] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -538,7 +782,7 @@ func (x *PubsubMessage) String() string { func (*PubsubMessage) ProtoMessage() {} func (x *PubsubMessage) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[3] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -551,7 +795,7 @@ func (x *PubsubMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use PubsubMessage.ProtoReflect.Descriptor instead. func (*PubsubMessage) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{3} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{4} } func (x *PubsubMessage) GetData() []byte { @@ -603,7 +847,7 @@ type GetTopicRequest struct { func (x *GetTopicRequest) Reset() { *x = GetTopicRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[4] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -616,7 +860,7 @@ func (x *GetTopicRequest) String() string { func (*GetTopicRequest) ProtoMessage() {} func (x *GetTopicRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[4] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -629,7 +873,7 @@ func (x *GetTopicRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTopicRequest.ProtoReflect.Descriptor instead. func (*GetTopicRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{4} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{5} } func (x *GetTopicRequest) GetTopic() string { @@ -658,7 +902,7 @@ type UpdateTopicRequest struct { func (x *UpdateTopicRequest) Reset() { *x = UpdateTopicRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[5] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -671,7 +915,7 @@ func (x *UpdateTopicRequest) String() string { func (*UpdateTopicRequest) ProtoMessage() {} func (x *UpdateTopicRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[5] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -684,7 +928,7 @@ func (x *UpdateTopicRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateTopicRequest.ProtoReflect.Descriptor instead. func (*UpdateTopicRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{5} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{6} } func (x *UpdateTopicRequest) GetTopic() *Topic { @@ -717,7 +961,7 @@ type PublishRequest struct { func (x *PublishRequest) Reset() { *x = PublishRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[6] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -730,7 +974,7 @@ func (x *PublishRequest) String() string { func (*PublishRequest) ProtoMessage() {} func (x *PublishRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[6] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -743,7 +987,7 @@ func (x *PublishRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PublishRequest.ProtoReflect.Descriptor instead. func (*PublishRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{6} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{7} } func (x *PublishRequest) GetTopic() string { @@ -766,16 +1010,16 @@ type PublishResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The server-assigned ID of each published message, in the same order as - // the messages in the request. IDs are guaranteed to be unique within - // the topic. + // Optional. The server-assigned ID of each published message, in the same + // order as the messages in the request. IDs are guaranteed to be unique + // within the topic. MessageIds []string `protobuf:"bytes,1,rep,name=message_ids,json=messageIds,proto3" json:"message_ids,omitempty"` } func (x *PublishResponse) Reset() { *x = PublishResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[7] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -788,7 +1032,7 @@ func (x *PublishResponse) String() string { func (*PublishResponse) ProtoMessage() {} func (x *PublishResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[7] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -801,7 +1045,7 @@ func (x *PublishResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PublishResponse.ProtoReflect.Descriptor instead. func (*PublishResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{7} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{8} } func (x *PublishResponse) GetMessageIds() []string { @@ -820,18 +1064,18 @@ type ListTopicsRequest struct { // Required. The name of the project in which to list topics. // Format is `projects/{project-id}`. Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - // Maximum number of topics to return. + // Optional. Maximum number of topics to return. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // The value returned by the last `ListTopicsResponse`; indicates that this is - // a continuation of a prior `ListTopics` call, and that the system should - // return the next page of data. + // Optional. The value returned by the last `ListTopicsResponse`; indicates + // that this is a continuation of a prior `ListTopics` call, and that the + // system should return the next page of data. PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } func (x *ListTopicsRequest) Reset() { *x = ListTopicsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[8] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -844,7 +1088,7 @@ func (x *ListTopicsRequest) String() string { func (*ListTopicsRequest) ProtoMessage() {} func (x *ListTopicsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[8] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -857,7 +1101,7 @@ func (x *ListTopicsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTopicsRequest.ProtoReflect.Descriptor instead. func (*ListTopicsRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{8} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{9} } func (x *ListTopicsRequest) GetProject() string { @@ -887,17 +1131,17 @@ type ListTopicsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The resulting topics. + // Optional. The resulting topics. Topics []*Topic `protobuf:"bytes,1,rep,name=topics,proto3" json:"topics,omitempty"` - // If not empty, indicates that there may be more topics that match the - // request; this value should be passed in a new `ListTopicsRequest`. + // Optional. If not empty, indicates that there may be more topics that match + // the request; this value should be passed in a new `ListTopicsRequest`. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } func (x *ListTopicsResponse) Reset() { *x = ListTopicsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[9] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -910,7 +1154,7 @@ func (x *ListTopicsResponse) String() string { func (*ListTopicsResponse) ProtoMessage() {} func (x *ListTopicsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[9] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -923,7 +1167,7 @@ func (x *ListTopicsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTopicsResponse.ProtoReflect.Descriptor instead. func (*ListTopicsResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{9} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{10} } func (x *ListTopicsResponse) GetTopics() []*Topic { @@ -949,18 +1193,18 @@ type ListTopicSubscriptionsRequest struct { // Required. The name of the topic that subscriptions are attached to. // Format is `projects/{project}/topics/{topic}`. Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` - // Maximum number of subscription names to return. + // Optional. Maximum number of subscription names to return. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // The value returned by the last `ListTopicSubscriptionsResponse`; indicates - // that this is a continuation of a prior `ListTopicSubscriptions` call, and - // that the system should return the next page of data. + // Optional. The value returned by the last `ListTopicSubscriptionsResponse`; + // indicates that this is a continuation of a prior `ListTopicSubscriptions` + // call, and that the system should return the next page of data. PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } func (x *ListTopicSubscriptionsRequest) Reset() { *x = ListTopicSubscriptionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[10] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -973,7 +1217,7 @@ func (x *ListTopicSubscriptionsRequest) String() string { func (*ListTopicSubscriptionsRequest) ProtoMessage() {} func (x *ListTopicSubscriptionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[10] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -986,7 +1230,7 @@ func (x *ListTopicSubscriptionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTopicSubscriptionsRequest.ProtoReflect.Descriptor instead. func (*ListTopicSubscriptionsRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{10} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{11} } func (x *ListTopicSubscriptionsRequest) GetTopic() string { @@ -1016,10 +1260,11 @@ type ListTopicSubscriptionsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The names of subscriptions attached to the topic specified in the request. + // Optional. The names of subscriptions attached to the topic specified in the + // request. Subscriptions []string `protobuf:"bytes,1,rep,name=subscriptions,proto3" json:"subscriptions,omitempty"` - // If not empty, indicates that there may be more subscriptions that match - // the request; this value should be passed in a new + // Optional. If not empty, indicates that there may be more subscriptions that + // match the request; this value should be passed in a new // `ListTopicSubscriptionsRequest` to get more subscriptions. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } @@ -1027,7 +1272,7 @@ type ListTopicSubscriptionsResponse struct { func (x *ListTopicSubscriptionsResponse) Reset() { *x = ListTopicSubscriptionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[11] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1040,7 +1285,7 @@ func (x *ListTopicSubscriptionsResponse) String() string { func (*ListTopicSubscriptionsResponse) ProtoMessage() {} func (x *ListTopicSubscriptionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[11] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1053,7 +1298,7 @@ func (x *ListTopicSubscriptionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTopicSubscriptionsResponse.ProtoReflect.Descriptor instead. func (*ListTopicSubscriptionsResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{11} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{12} } func (x *ListTopicSubscriptionsResponse) GetSubscriptions() []string { @@ -1079,18 +1324,18 @@ type ListTopicSnapshotsRequest struct { // Required. The name of the topic that snapshots are attached to. // Format is `projects/{project}/topics/{topic}`. Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` - // Maximum number of snapshot names to return. + // Optional. Maximum number of snapshot names to return. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // The value returned by the last `ListTopicSnapshotsResponse`; indicates - // that this is a continuation of a prior `ListTopicSnapshots` call, and - // that the system should return the next page of data. + // Optional. The value returned by the last `ListTopicSnapshotsResponse`; + // indicates that this is a continuation of a prior `ListTopicSnapshots` call, + // and that the system should return the next page of data. PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } func (x *ListTopicSnapshotsRequest) Reset() { *x = ListTopicSnapshotsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[12] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1103,7 +1348,7 @@ func (x *ListTopicSnapshotsRequest) String() string { func (*ListTopicSnapshotsRequest) ProtoMessage() {} func (x *ListTopicSnapshotsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[12] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1116,7 +1361,7 @@ func (x *ListTopicSnapshotsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTopicSnapshotsRequest.ProtoReflect.Descriptor instead. func (*ListTopicSnapshotsRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{12} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{13} } func (x *ListTopicSnapshotsRequest) GetTopic() string { @@ -1146,10 +1391,10 @@ type ListTopicSnapshotsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The names of the snapshots that match the request. + // Optional. The names of the snapshots that match the request. Snapshots []string `protobuf:"bytes,1,rep,name=snapshots,proto3" json:"snapshots,omitempty"` - // If not empty, indicates that there may be more snapshots that match - // the request; this value should be passed in a new + // Optional. If not empty, indicates that there may be more snapshots that + // match the request; this value should be passed in a new // `ListTopicSnapshotsRequest` to get more snapshots. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } @@ -1157,7 +1402,7 @@ type ListTopicSnapshotsResponse struct { func (x *ListTopicSnapshotsResponse) Reset() { *x = ListTopicSnapshotsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[13] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1170,7 +1415,7 @@ func (x *ListTopicSnapshotsResponse) String() string { func (*ListTopicSnapshotsResponse) ProtoMessage() {} func (x *ListTopicSnapshotsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[13] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1183,7 +1428,7 @@ func (x *ListTopicSnapshotsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTopicSnapshotsResponse.ProtoReflect.Descriptor instead. func (*ListTopicSnapshotsResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{13} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{14} } func (x *ListTopicSnapshotsResponse) GetSnapshots() []string { @@ -1214,7 +1459,7 @@ type DeleteTopicRequest struct { func (x *DeleteTopicRequest) Reset() { *x = DeleteTopicRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[14] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1227,7 +1472,7 @@ func (x *DeleteTopicRequest) String() string { func (*DeleteTopicRequest) ProtoMessage() {} func (x *DeleteTopicRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[14] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1240,7 +1485,7 @@ func (x *DeleteTopicRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTopicRequest.ProtoReflect.Descriptor instead. func (*DeleteTopicRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{14} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{15} } func (x *DeleteTopicRequest) GetTopic() string { @@ -1264,7 +1509,7 @@ type DetachSubscriptionRequest struct { func (x *DetachSubscriptionRequest) Reset() { *x = DetachSubscriptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[15] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1277,7 +1522,7 @@ func (x *DetachSubscriptionRequest) String() string { func (*DetachSubscriptionRequest) ProtoMessage() {} func (x *DetachSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[15] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1290,7 +1535,7 @@ func (x *DetachSubscriptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DetachSubscriptionRequest.ProtoReflect.Descriptor instead. func (*DetachSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{15} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{16} } func (x *DetachSubscriptionRequest) GetSubscription() string { @@ -1311,7 +1556,7 @@ type DetachSubscriptionResponse struct { func (x *DetachSubscriptionResponse) Reset() { *x = DetachSubscriptionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[16] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1324,7 +1569,7 @@ func (x *DetachSubscriptionResponse) String() string { func (*DetachSubscriptionResponse) ProtoMessage() {} func (x *DetachSubscriptionResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[16] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1337,7 +1582,7 @@ func (x *DetachSubscriptionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DetachSubscriptionResponse.ProtoReflect.Descriptor instead. func (*DetachSubscriptionResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{16} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{17} } // A subscription resource. If none of `push_config`, `bigquery_config`, or @@ -1359,20 +1604,20 @@ type Subscription struct { // messages. Format is `projects/{project}/topics/{topic}`. The value of this // field will be `_deleted-topic_` if the topic has been deleted. Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"` - // If push delivery is used with this subscription, this field is + // Optional. If push delivery is used with this subscription, this field is // used to configure it. PushConfig *PushConfig `protobuf:"bytes,4,opt,name=push_config,json=pushConfig,proto3" json:"push_config,omitempty"` - // If delivery to BigQuery is used with this subscription, this field is - // used to configure it. - BigqueryConfig *BigQueryConfig `protobuf:"bytes,18,opt,name=bigquery_config,json=bigqueryConfig,proto3" json:"bigquery_config,omitempty"` - // If delivery to Google Cloud Storage is used with this subscription, this + // Optional. If delivery to BigQuery is used with this subscription, this // field is used to configure it. + BigqueryConfig *BigQueryConfig `protobuf:"bytes,18,opt,name=bigquery_config,json=bigqueryConfig,proto3" json:"bigquery_config,omitempty"` + // Optional. If delivery to Google Cloud Storage is used with this + // subscription, this field is used to configure it. CloudStorageConfig *CloudStorageConfig `protobuf:"bytes,22,opt,name=cloud_storage_config,json=cloudStorageConfig,proto3" json:"cloud_storage_config,omitempty"` - // The approximate amount of time (on a best-effort basis) Pub/Sub waits for - // the subscriber to acknowledge receipt before resending the message. In the - // interval after the message is delivered and before it is acknowledged, it - // is considered to be _outstanding_. During that time period, the - // message will not be redelivered (on a best-effort basis). + // Optional. The approximate amount of time (on a best-effort basis) Pub/Sub + // waits for the subscriber to acknowledge receipt before resending the + // message. In the interval after the message is delivered and before it is + // acknowledged, it is considered to be _outstanding_. During that time + // period, the message will not be redelivered (on a best-effort basis). // // For pull subscriptions, this value is used as the initial value for the ack // deadline. To override this value for a given message, call @@ -1389,67 +1634,67 @@ type Subscription struct { // If the subscriber never acknowledges the message, the Pub/Sub // system will eventually redeliver the message. AckDeadlineSeconds int32 `protobuf:"varint,5,opt,name=ack_deadline_seconds,json=ackDeadlineSeconds,proto3" json:"ack_deadline_seconds,omitempty"` - // Indicates whether to retain acknowledged messages. If true, then + // Optional. Indicates whether to retain acknowledged messages. If true, then // messages are not expunged from the subscription's backlog, even if they are // acknowledged, until they fall out of the `message_retention_duration` // window. This must be true if you would like to [`Seek` to a timestamp] // (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in // the past to replay previously-acknowledged messages. RetainAckedMessages bool `protobuf:"varint,7,opt,name=retain_acked_messages,json=retainAckedMessages,proto3" json:"retain_acked_messages,omitempty"` - // How long to retain unacknowledged messages in the subscription's backlog, - // from the moment a message is published. - // If `retain_acked_messages` is true, then this also configures the retention - // of acknowledged messages, and thus configures how far back in time a `Seek` - // can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10 - // minutes. + // Optional. How long to retain unacknowledged messages in the subscription's + // backlog, from the moment a message is published. If `retain_acked_messages` + // is true, then this also configures the retention of acknowledged messages, + // and thus configures how far back in time a `Seek` can be done. Defaults to + // 7 days. Cannot be more than 7 days or less than 10 minutes. MessageRetentionDuration *durationpb.Duration `protobuf:"bytes,8,opt,name=message_retention_duration,json=messageRetentionDuration,proto3" json:"message_retention_duration,omitempty"` - // See [Creating and managing + // Optional. See [Creating and managing // labels](https://cloud.google.com/pubsub/docs/labels). Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // If true, messages published with the same `ordering_key` in `PubsubMessage` - // will be delivered to the subscribers in the order in which they - // are received by the Pub/Sub system. Otherwise, they may be delivered in - // any order. + // Optional. If true, messages published with the same `ordering_key` in + // `PubsubMessage` will be delivered to the subscribers in the order in which + // they are received by the Pub/Sub system. Otherwise, they may be delivered + // in any order. EnableMessageOrdering bool `protobuf:"varint,10,opt,name=enable_message_ordering,json=enableMessageOrdering,proto3" json:"enable_message_ordering,omitempty"` - // A policy that specifies the conditions for this subscription's expiration. - // A subscription is considered active as long as any connected subscriber is - // successfully consuming messages from the subscription or is issuing - // operations on the subscription. If `expiration_policy` is not set, a - // *default policy* with `ttl` of 31 days will be used. The minimum allowed + // Optional. A policy that specifies the conditions for this subscription's + // expiration. A subscription is considered active as long as any connected + // subscriber is successfully consuming messages from the subscription or is + // issuing operations on the subscription. If `expiration_policy` is not set, + // a *default policy* with `ttl` of 31 days will be used. The minimum allowed // value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set, // but `expiration_policy.ttl` is not set, the subscription never expires. ExpirationPolicy *ExpirationPolicy `protobuf:"bytes,11,opt,name=expiration_policy,json=expirationPolicy,proto3" json:"expiration_policy,omitempty"` - // An expression written in the Pub/Sub [filter + // Optional. An expression written in the Pub/Sub [filter // language](https://cloud.google.com/pubsub/docs/filtering). If non-empty, // then only `PubsubMessage`s whose `attributes` field matches the filter are // delivered on this subscription. If empty, then no messages are filtered // out. Filter string `protobuf:"bytes,12,opt,name=filter,proto3" json:"filter,omitempty"` - // A policy that specifies the conditions for dead lettering messages in - // this subscription. If dead_letter_policy is not set, dead lettering - // is disabled. + // Optional. A policy that specifies the conditions for dead lettering + // messages in this subscription. If dead_letter_policy is not set, dead + // lettering is disabled. // - // The Cloud Pub/Sub service account associated with this subscriptions's + // The Pub/Sub service account associated with this subscriptions's // parent project (i.e., // service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have // permission to Acknowledge() messages on this subscription. DeadLetterPolicy *DeadLetterPolicy `protobuf:"bytes,13,opt,name=dead_letter_policy,json=deadLetterPolicy,proto3" json:"dead_letter_policy,omitempty"` - // A policy that specifies how Pub/Sub retries message delivery for this - // subscription. + // Optional. A policy that specifies how Pub/Sub retries message delivery for + // this subscription. // // If not set, the default retry policy is applied. This generally implies // that messages will be retried as soon as possible for healthy subscribers. // RetryPolicy will be triggered on NACKs or acknowledgement deadline // exceeded events for a given message. RetryPolicy *RetryPolicy `protobuf:"bytes,14,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` - // Indicates whether the subscription is detached from its topic. Detached - // subscriptions don't receive messages from their topic and don't retain any - // backlog. `Pull` and `StreamingPull` requests will return + // Optional. Indicates whether the subscription is detached from its topic. + // Detached subscriptions don't receive messages from their topic and don't + // retain any backlog. `Pull` and `StreamingPull` requests will return // FAILED_PRECONDITION. If the subscription is a push subscription, pushes to // the endpoint will not be made. Detached bool `protobuf:"varint,15,opt,name=detached,proto3" json:"detached,omitempty"` - // If true, Pub/Sub provides the following guarantees for the delivery of - // a message with a given value of `message_id` on this subscription: + // Optional. If true, Pub/Sub provides the following guarantees for the + // delivery of a message with a given value of `message_id` on this + // subscription: // // * The message sent to a subscriber is guaranteed not to be resent // before the message's acknowledgement deadline expires. @@ -1475,7 +1720,7 @@ type Subscription struct { func (x *Subscription) Reset() { *x = Subscription{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[17] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1488,7 +1733,7 @@ func (x *Subscription) String() string { func (*Subscription) ProtoMessage() {} func (x *Subscription) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[17] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1501,7 +1746,7 @@ func (x *Subscription) ProtoReflect() protoreflect.Message { // Deprecated: Use Subscription.ProtoReflect.Descriptor instead. func (*Subscription) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{17} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{18} } func (x *Subscription) GetName() string { @@ -1630,7 +1875,7 @@ func (x *Subscription) GetState() Subscription_State { return Subscription_STATE_UNSPECIFIED } -// A policy that specifies how Cloud Pub/Sub retries message delivery. +// A policy that specifies how Pub/Sub retries message delivery. // // Retry delay will be exponential based on provided minimum and maximum // backoffs. https://en.wikipedia.org/wiki/Exponential_backoff. @@ -1646,18 +1891,19 @@ type RetryPolicy struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The minimum delay between consecutive deliveries of a given message. - // Value should be between 0 and 600 seconds. Defaults to 10 seconds. + // Optional. The minimum delay between consecutive deliveries of a given + // message. Value should be between 0 and 600 seconds. Defaults to 10 seconds. MinimumBackoff *durationpb.Duration `protobuf:"bytes,1,opt,name=minimum_backoff,json=minimumBackoff,proto3" json:"minimum_backoff,omitempty"` - // The maximum delay between consecutive deliveries of a given message. - // Value should be between 0 and 600 seconds. Defaults to 600 seconds. + // Optional. The maximum delay between consecutive deliveries of a given + // message. Value should be between 0 and 600 seconds. Defaults to 600 + // seconds. MaximumBackoff *durationpb.Duration `protobuf:"bytes,2,opt,name=maximum_backoff,json=maximumBackoff,proto3" json:"maximum_backoff,omitempty"` } func (x *RetryPolicy) Reset() { *x = RetryPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[18] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1670,7 +1916,7 @@ func (x *RetryPolicy) String() string { func (*RetryPolicy) ProtoMessage() {} func (x *RetryPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[18] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1683,7 +1929,7 @@ func (x *RetryPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use RetryPolicy.ProtoReflect.Descriptor instead. func (*RetryPolicy) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{18} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{19} } func (x *RetryPolicy) GetMinimumBackoff() *durationpb.Duration { @@ -1710,18 +1956,18 @@ type DeadLetterPolicy struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The name of the topic to which dead letter messages should be published. - // Format is `projects/{project}/topics/{topic}`.The Cloud Pub/Sub service - // account associated with the enclosing subscription's parent project (i.e., - // service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have - // permission to Publish() to this topic. + // Optional. The name of the topic to which dead letter messages should be + // published. Format is `projects/{project}/topics/{topic}`.The Pub/Sub + // service account associated with the enclosing subscription's parent project + // (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must + // have permission to Publish() to this topic. // // The operation will fail if the topic does not exist. // Users should ensure that there is a subscription attached to this topic // since messages published to a topic with no subscriptions are lost. DeadLetterTopic string `protobuf:"bytes,1,opt,name=dead_letter_topic,json=deadLetterTopic,proto3" json:"dead_letter_topic,omitempty"` - // The maximum number of delivery attempts for any message. The value must be - // between 5 and 100. + // Optional. The maximum number of delivery attempts for any message. The + // value must be between 5 and 100. // // The number of delivery attempts is defined as 1 + (the sum of number of // NACKs and number of times the acknowledgement deadline has been exceeded @@ -1739,7 +1985,7 @@ type DeadLetterPolicy struct { func (x *DeadLetterPolicy) Reset() { *x = DeadLetterPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[19] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1752,7 +1998,7 @@ func (x *DeadLetterPolicy) String() string { func (*DeadLetterPolicy) ProtoMessage() {} func (x *DeadLetterPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[19] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1765,7 +2011,7 @@ func (x *DeadLetterPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use DeadLetterPolicy.ProtoReflect.Descriptor instead. func (*DeadLetterPolicy) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{19} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{20} } func (x *DeadLetterPolicy) GetDeadLetterTopic() string { @@ -1789,19 +2035,19 @@ type ExpirationPolicy struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Specifies the "time-to-live" duration for an associated resource. The - // resource expires if it is not active for a period of `ttl`. The definition - // of "activity" depends on the type of the associated resource. The minimum - // and maximum allowed values for `ttl` depend on the type of the associated - // resource, as well. If `ttl` is not set, the associated resource never - // expires. + // Optional. Specifies the "time-to-live" duration for an associated resource. + // The resource expires if it is not active for a period of `ttl`. The + // definition of "activity" depends on the type of the associated resource. + // The minimum and maximum allowed values for `ttl` depend on the type of the + // associated resource, as well. If `ttl` is not set, the associated resource + // never expires. Ttl *durationpb.Duration `protobuf:"bytes,1,opt,name=ttl,proto3" json:"ttl,omitempty"` } func (x *ExpirationPolicy) Reset() { *x = ExpirationPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[20] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1814,7 +2060,7 @@ func (x *ExpirationPolicy) String() string { func (*ExpirationPolicy) ProtoMessage() {} func (x *ExpirationPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[20] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1827,7 +2073,7 @@ func (x *ExpirationPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use ExpirationPolicy.ProtoReflect.Descriptor instead. func (*ExpirationPolicy) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{20} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{21} } func (x *ExpirationPolicy) GetTtl() *durationpb.Duration { @@ -1843,11 +2089,11 @@ type PushConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A URL locating the endpoint to which messages should be pushed. + // Optional. A URL locating the endpoint to which messages should be pushed. // For example, a Webhook endpoint might use `https://example.com/push`. PushEndpoint string `protobuf:"bytes,1,opt,name=push_endpoint,json=pushEndpoint,proto3" json:"push_endpoint,omitempty"` - // Endpoint configuration attributes that can be used to control different - // aspects of the message delivery. + // Optional. Endpoint configuration attributes that can be used to control + // different aspects of the message delivery. // // The only currently supported attribute is `x-goog-version`, which you can // use to change the format of the pushed message. This attribute @@ -1870,17 +2116,19 @@ type PushConfig struct { Attributes map[string]string `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // An authentication method used by push endpoints to verify the source of // push requests. This can be used with push endpoints that are private by - // default to allow requests only from the Cloud Pub/Sub system, for example. + // default to allow requests only from the Pub/Sub system, for example. // This field is optional and should be set only by users interested in // authenticated push. // // Types that are assignable to AuthenticationMethod: + // // *PushConfig_OidcToken_ AuthenticationMethod isPushConfig_AuthenticationMethod `protobuf_oneof:"authentication_method"` // The format of the delivered message to the push endpoint is defined by // the chosen wrapper. When unset, `PubsubWrapper` is used. // // Types that are assignable to Wrapper: + // // *PushConfig_PubsubWrapper_ // *PushConfig_NoWrapper_ Wrapper isPushConfig_Wrapper `protobuf_oneof:"wrapper"` @@ -1889,7 +2137,7 @@ type PushConfig struct { func (x *PushConfig) Reset() { *x = PushConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[21] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1902,7 +2150,7 @@ func (x *PushConfig) String() string { func (*PushConfig) ProtoMessage() {} func (x *PushConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[21] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1915,7 +2163,7 @@ func (x *PushConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use PushConfig.ProtoReflect.Descriptor instead. func (*PushConfig) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{21} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{22} } func (x *PushConfig) GetPushEndpoint() string { @@ -1972,8 +2220,9 @@ type isPushConfig_AuthenticationMethod interface { } type PushConfig_OidcToken_ struct { - // If specified, Pub/Sub will generate and attach an OIDC JWT token as an - // `Authorization` header in the HTTP request for every pushed message. + // Optional. If specified, Pub/Sub will generate and attach an OIDC JWT + // token as an `Authorization` header in the HTTP request for every pushed + // message. OidcToken *PushConfig_OidcToken `protobuf:"bytes,3,opt,name=oidc_token,json=oidcToken,proto3,oneof"` } @@ -1984,14 +2233,14 @@ type isPushConfig_Wrapper interface { } type PushConfig_PubsubWrapper_ struct { - // When set, the payload to the push endpoint is in the form of the JSON - // representation of a PubsubMessage + // Optional. When set, the payload to the push endpoint is in the form of + // the JSON representation of a PubsubMessage // (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage). PubsubWrapper *PushConfig_PubsubWrapper `protobuf:"bytes,4,opt,name=pubsub_wrapper,json=pubsubWrapper,proto3,oneof"` } type PushConfig_NoWrapper_ struct { - // When set, the payload to the push endpoint is not wrapped. + // Optional. When set, the payload to the push endpoint is not wrapped. NoWrapper *PushConfig_NoWrapper `protobuf:"bytes,5,opt,name=no_wrapper,json=noWrapper,proto3,oneof"` } @@ -2005,23 +2254,23 @@ type BigQueryConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The name of the table to which to write data, of the form + // Optional. The name of the table to which to write data, of the form // {projectId}.{datasetId}.{tableId} Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"` // Optional. When true, use the topic's schema as the columns to write to in // BigQuery, if it exists. `use_topic_schema` and `use_table_schema` cannot be // enabled at the same time. UseTopicSchema bool `protobuf:"varint,2,opt,name=use_topic_schema,json=useTopicSchema,proto3" json:"use_topic_schema,omitempty"` - // When true, write the subscription name, message_id, publish_time, + // Optional. When true, write the subscription name, message_id, publish_time, // attributes, and ordering_key to additional columns in the table. The // subscription name, message_id, and publish_time fields are put in their own // columns while all other message properties (other than data) are written to // a JSON object in the attributes column. WriteMetadata bool `protobuf:"varint,3,opt,name=write_metadata,json=writeMetadata,proto3" json:"write_metadata,omitempty"` - // When true and use_topic_schema is true, any fields that are a part of the - // topic schema that are not part of the BigQuery table schema are dropped - // when writing to BigQuery. Otherwise, the schemas must be kept in sync and - // any messages with extra fields are not written and remain in the + // Optional. When true and use_topic_schema is true, any fields that are a + // part of the topic schema that are not part of the BigQuery table schema are + // dropped when writing to BigQuery. Otherwise, the schemas must be kept in + // sync and any messages with extra fields are not written and remain in the // subscription's backlog. DropUnknownFields bool `protobuf:"varint,4,opt,name=drop_unknown_fields,json=dropUnknownFields,proto3" json:"drop_unknown_fields,omitempty"` // Output only. An output-only field that indicates whether or not the @@ -2036,7 +2285,7 @@ type BigQueryConfig struct { func (x *BigQueryConfig) Reset() { *x = BigQueryConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[22] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2049,7 +2298,7 @@ func (x *BigQueryConfig) String() string { func (*BigQueryConfig) ProtoMessage() {} func (x *BigQueryConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[22] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2062,7 +2311,7 @@ func (x *BigQueryConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use BigQueryConfig.ProtoReflect.Descriptor instead. func (*BigQueryConfig) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{22} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{23} } func (x *BigQueryConfig) GetTable() string { @@ -2118,26 +2367,27 @@ type CloudStorageConfig struct { // any prefix like "gs://". See the [bucket naming // requirements] (https://cloud.google.com/storage/docs/buckets#naming). Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` - // User-provided prefix for Cloud Storage filename. See the [object naming - // requirements](https://cloud.google.com/storage/docs/objects#naming). + // Optional. User-provided prefix for Cloud Storage filename. See the [object + // naming requirements](https://cloud.google.com/storage/docs/objects#naming). FilenamePrefix string `protobuf:"bytes,2,opt,name=filename_prefix,json=filenamePrefix,proto3" json:"filename_prefix,omitempty"` - // User-provided suffix for Cloud Storage filename. See the [object naming - // requirements](https://cloud.google.com/storage/docs/objects#naming). Must - // not end in "/". + // Optional. User-provided suffix for Cloud Storage filename. See the [object + // naming requirements](https://cloud.google.com/storage/docs/objects#naming). + // Must not end in "/". FilenameSuffix string `protobuf:"bytes,3,opt,name=filename_suffix,json=filenameSuffix,proto3" json:"filename_suffix,omitempty"` // Defaults to text format. // // Types that are assignable to OutputFormat: + // // *CloudStorageConfig_TextConfig_ // *CloudStorageConfig_AvroConfig_ OutputFormat isCloudStorageConfig_OutputFormat `protobuf_oneof:"output_format"` - // The maximum duration that can elapse before a new Cloud Storage file is - // created. Min 1 minute, max 10 minutes, default 5 minutes. May not exceed - // the subscription's acknowledgement deadline. + // Optional. The maximum duration that can elapse before a new Cloud Storage + // file is created. Min 1 minute, max 10 minutes, default 5 minutes. May not + // exceed the subscription's acknowledgement deadline. MaxDuration *durationpb.Duration `protobuf:"bytes,6,opt,name=max_duration,json=maxDuration,proto3" json:"max_duration,omitempty"` - // The maximum bytes that can be written to a Cloud Storage file before a new - // file is created. Min 1 KB, max 10 GiB. The max_bytes limit may be exceeded - // in cases where messages are larger than the limit. + // Optional. The maximum bytes that can be written to a Cloud Storage file + // before a new file is created. Min 1 KB, max 10 GiB. The max_bytes limit may + // be exceeded in cases where messages are larger than the limit. MaxBytes int64 `protobuf:"varint,7,opt,name=max_bytes,json=maxBytes,proto3" json:"max_bytes,omitempty"` // Output only. An output-only field that indicates whether or not the // subscription can receive messages. @@ -2147,7 +2397,7 @@ type CloudStorageConfig struct { func (x *CloudStorageConfig) Reset() { *x = CloudStorageConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[23] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2160,7 +2410,7 @@ func (x *CloudStorageConfig) String() string { func (*CloudStorageConfig) ProtoMessage() {} func (x *CloudStorageConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[23] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2173,7 +2423,7 @@ func (x *CloudStorageConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use CloudStorageConfig.ProtoReflect.Descriptor instead. func (*CloudStorageConfig) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{23} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24} } func (x *CloudStorageConfig) GetBucket() string { @@ -2244,12 +2494,14 @@ type isCloudStorageConfig_OutputFormat interface { } type CloudStorageConfig_TextConfig_ struct { - // If set, message data will be written to Cloud Storage in text format. + // Optional. If set, message data will be written to Cloud Storage in text + // format. TextConfig *CloudStorageConfig_TextConfig `protobuf:"bytes,4,opt,name=text_config,json=textConfig,proto3,oneof"` } type CloudStorageConfig_AvroConfig_ struct { - // If set, message data will be written to Cloud Storage in Avro format. + // Optional. If set, message data will be written to Cloud Storage in Avro + // format. AvroConfig *CloudStorageConfig_AvroConfig `protobuf:"bytes,5,opt,name=avro_config,json=avroConfig,proto3,oneof"` } @@ -2263,12 +2515,12 @@ type ReceivedMessage struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // This ID can be used to acknowledge the received message. + // Optional. This ID can be used to acknowledge the received message. AckId string `protobuf:"bytes,1,opt,name=ack_id,json=ackId,proto3" json:"ack_id,omitempty"` - // The message. + // Optional. The message. Message *PubsubMessage `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` - // The approximate number of times that Cloud Pub/Sub has attempted to deliver - // the associated message to a subscriber. + // Optional. The approximate number of times that Pub/Sub has attempted to + // deliver the associated message to a subscriber. // // More precisely, this is 1 + (number of NACKs) + // (number of ack_deadline exceeds) for this message. @@ -2289,7 +2541,7 @@ type ReceivedMessage struct { func (x *ReceivedMessage) Reset() { *x = ReceivedMessage{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[24] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2302,7 +2554,7 @@ func (x *ReceivedMessage) String() string { func (*ReceivedMessage) ProtoMessage() {} func (x *ReceivedMessage) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[24] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2315,7 +2567,7 @@ func (x *ReceivedMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ReceivedMessage.ProtoReflect.Descriptor instead. func (*ReceivedMessage) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{25} } func (x *ReceivedMessage) GetAckId() string { @@ -2353,7 +2605,7 @@ type GetSubscriptionRequest struct { func (x *GetSubscriptionRequest) Reset() { *x = GetSubscriptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[25] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2366,7 +2618,7 @@ func (x *GetSubscriptionRequest) String() string { func (*GetSubscriptionRequest) ProtoMessage() {} func (x *GetSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[25] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2379,7 +2631,7 @@ func (x *GetSubscriptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSubscriptionRequest.ProtoReflect.Descriptor instead. func (*GetSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{25} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{26} } func (x *GetSubscriptionRequest) GetSubscription() string { @@ -2405,7 +2657,7 @@ type UpdateSubscriptionRequest struct { func (x *UpdateSubscriptionRequest) Reset() { *x = UpdateSubscriptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[26] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2418,7 +2670,7 @@ func (x *UpdateSubscriptionRequest) String() string { func (*UpdateSubscriptionRequest) ProtoMessage() {} func (x *UpdateSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[26] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2431,7 +2683,7 @@ func (x *UpdateSubscriptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateSubscriptionRequest.ProtoReflect.Descriptor instead. func (*UpdateSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{26} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{27} } func (x *UpdateSubscriptionRequest) GetSubscription() *Subscription { @@ -2457,18 +2709,18 @@ type ListSubscriptionsRequest struct { // Required. The name of the project in which to list subscriptions. // Format is `projects/{project-id}`. Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - // Maximum number of subscriptions to return. + // Optional. Maximum number of subscriptions to return. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // The value returned by the last `ListSubscriptionsResponse`; indicates that - // this is a continuation of a prior `ListSubscriptions` call, and that the - // system should return the next page of data. + // Optional. The value returned by the last `ListSubscriptionsResponse`; + // indicates that this is a continuation of a prior `ListSubscriptions` call, + // and that the system should return the next page of data. PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } func (x *ListSubscriptionsRequest) Reset() { *x = ListSubscriptionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[27] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2481,7 +2733,7 @@ func (x *ListSubscriptionsRequest) String() string { func (*ListSubscriptionsRequest) ProtoMessage() {} func (x *ListSubscriptionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[27] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2494,7 +2746,7 @@ func (x *ListSubscriptionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSubscriptionsRequest.ProtoReflect.Descriptor instead. func (*ListSubscriptionsRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{27} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{28} } func (x *ListSubscriptionsRequest) GetProject() string { @@ -2524,10 +2776,10 @@ type ListSubscriptionsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The subscriptions that match the request. + // Optional. The subscriptions that match the request. Subscriptions []*Subscription `protobuf:"bytes,1,rep,name=subscriptions,proto3" json:"subscriptions,omitempty"` - // If not empty, indicates that there may be more subscriptions that match - // the request; this value should be passed in a new + // Optional. If not empty, indicates that there may be more subscriptions that + // match the request; this value should be passed in a new // `ListSubscriptionsRequest` to get more subscriptions. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } @@ -2535,7 +2787,7 @@ type ListSubscriptionsResponse struct { func (x *ListSubscriptionsResponse) Reset() { *x = ListSubscriptionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[28] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2548,7 +2800,7 @@ func (x *ListSubscriptionsResponse) String() string { func (*ListSubscriptionsResponse) ProtoMessage() {} func (x *ListSubscriptionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[28] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2561,7 +2813,7 @@ func (x *ListSubscriptionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSubscriptionsResponse.ProtoReflect.Descriptor instead. func (*ListSubscriptionsResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{28} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{29} } func (x *ListSubscriptionsResponse) GetSubscriptions() []*Subscription { @@ -2592,7 +2844,7 @@ type DeleteSubscriptionRequest struct { func (x *DeleteSubscriptionRequest) Reset() { *x = DeleteSubscriptionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[29] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2605,7 +2857,7 @@ func (x *DeleteSubscriptionRequest) String() string { func (*DeleteSubscriptionRequest) ProtoMessage() {} func (x *DeleteSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[29] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2618,7 +2870,7 @@ func (x *DeleteSubscriptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteSubscriptionRequest.ProtoReflect.Descriptor instead. func (*DeleteSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{29} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{30} } func (x *DeleteSubscriptionRequest) GetSubscription() string { @@ -2649,7 +2901,7 @@ type ModifyPushConfigRequest struct { func (x *ModifyPushConfigRequest) Reset() { *x = ModifyPushConfigRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[30] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2662,7 +2914,7 @@ func (x *ModifyPushConfigRequest) String() string { func (*ModifyPushConfigRequest) ProtoMessage() {} func (x *ModifyPushConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[30] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2675,7 +2927,7 @@ func (x *ModifyPushConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ModifyPushConfigRequest.ProtoReflect.Descriptor instead. func (*ModifyPushConfigRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{30} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{31} } func (x *ModifyPushConfigRequest) GetSubscription() string { @@ -2720,7 +2972,7 @@ type PullRequest struct { func (x *PullRequest) Reset() { *x = PullRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[31] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2733,7 +2985,7 @@ func (x *PullRequest) String() string { func (*PullRequest) ProtoMessage() {} func (x *PullRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[31] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2746,7 +2998,7 @@ func (x *PullRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PullRequest.ProtoReflect.Descriptor instead. func (*PullRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{31} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{32} } func (x *PullRequest) GetSubscription() string { @@ -2777,8 +3029,8 @@ type PullResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Received Pub/Sub messages. The list will be empty if there are no more - // messages available in the backlog, or if no messages could be returned + // Optional. Received Pub/Sub messages. The list will be empty if there are no + // more messages available in the backlog, or if no messages could be returned // before the request timeout. For JSON, the response can be entirely // empty. The Pub/Sub system may return fewer than the `maxMessages` requested // even if there are more messages available in the backlog. @@ -2788,7 +3040,7 @@ type PullResponse struct { func (x *PullResponse) Reset() { *x = PullResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[32] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2801,7 +3053,7 @@ func (x *PullResponse) String() string { func (*PullResponse) ProtoMessage() {} func (x *PullResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[32] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2814,7 +3066,7 @@ func (x *PullResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PullResponse.ProtoReflect.Descriptor instead. func (*PullResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{32} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{33} } func (x *PullResponse) GetReceivedMessages() []*ReceivedMessage { @@ -2842,14 +3094,15 @@ type ModifyAckDeadlineRequest struct { // delivery to another subscriber client. This typically results in an // increase in the rate of message redeliveries (that is, duplicates). // The minimum deadline you can specify is 0 seconds. - // The maximum deadline you can specify is 600 seconds (10 minutes). + // The maximum deadline you can specify in a single request is 600 seconds + // (10 minutes). AckDeadlineSeconds int32 `protobuf:"varint,3,opt,name=ack_deadline_seconds,json=ackDeadlineSeconds,proto3" json:"ack_deadline_seconds,omitempty"` } func (x *ModifyAckDeadlineRequest) Reset() { *x = ModifyAckDeadlineRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[33] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2862,7 +3115,7 @@ func (x *ModifyAckDeadlineRequest) String() string { func (*ModifyAckDeadlineRequest) ProtoMessage() {} func (x *ModifyAckDeadlineRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[33] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2875,7 +3128,7 @@ func (x *ModifyAckDeadlineRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ModifyAckDeadlineRequest.ProtoReflect.Descriptor instead. func (*ModifyAckDeadlineRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{33} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{34} } func (x *ModifyAckDeadlineRequest) GetSubscription() string { @@ -2917,7 +3170,7 @@ type AcknowledgeRequest struct { func (x *AcknowledgeRequest) Reset() { *x = AcknowledgeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[34] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2930,7 +3183,7 @@ func (x *AcknowledgeRequest) String() string { func (*AcknowledgeRequest) ProtoMessage() {} func (x *AcknowledgeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[34] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2943,7 +3196,7 @@ func (x *AcknowledgeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AcknowledgeRequest.ProtoReflect.Descriptor instead. func (*AcknowledgeRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{34} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{35} } func (x *AcknowledgeRequest) GetSubscription() string { @@ -2973,13 +3226,14 @@ type StreamingPullRequest struct { // subsequent requests from client to server. // Format is `projects/{project}/subscriptions/{sub}`. Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"` - // List of acknowledgement IDs for acknowledging previously received messages - // (received on this stream or a different stream). If an ack ID has expired, - // the corresponding message may be redelivered later. Acknowledging a message - // more than once will not result in an error. If the acknowledgement ID is - // malformed, the stream will be aborted with status `INVALID_ARGUMENT`. + // Optional. List of acknowledgement IDs for acknowledging previously received + // messages (received on this stream or a different stream). If an ack ID has + // expired, the corresponding message may be redelivered later. Acknowledging + // a message more than once will not result in an error. If the + // acknowledgement ID is malformed, the stream will be aborted with status + // `INVALID_ARGUMENT`. AckIds []string `protobuf:"bytes,2,rep,name=ack_ids,json=ackIds,proto3" json:"ack_ids,omitempty"` - // The list of new ack deadlines for the IDs listed in + // Optional. The list of new ack deadlines for the IDs listed in // `modify_deadline_ack_ids`. The size of this list must be the same as the // size of `modify_deadline_ack_ids`. If it differs the stream will be aborted // with `INVALID_ARGUMENT`. Each element in this list is applied to the @@ -2991,9 +3245,9 @@ type StreamingPullRequest struct { // non-streaming pull request. If the value is < 0 (an error), the stream will // be aborted with status `INVALID_ARGUMENT`. ModifyDeadlineSeconds []int32 `protobuf:"varint,3,rep,packed,name=modify_deadline_seconds,json=modifyDeadlineSeconds,proto3" json:"modify_deadline_seconds,omitempty"` - // List of acknowledgement IDs whose deadline will be modified based on the - // corresponding element in `modify_deadline_seconds`. This field can be used - // to indicate that more time is needed to process a message by the + // Optional. List of acknowledgement IDs whose deadline will be modified based + // on the corresponding element in `modify_deadline_seconds`. This field can + // be used to indicate that more time is needed to process a message by the // subscriber, or to make the message available for redelivery if the // processing was interrupted. ModifyDeadlineAckIds []string `protobuf:"bytes,4,rep,name=modify_deadline_ack_ids,json=modifyDeadlineAckIds,proto3" json:"modify_deadline_ack_ids,omitempty"` @@ -3002,15 +3256,15 @@ type StreamingPullRequest struct { // requests from client to server. The minimum deadline you can specify is 10 // seconds. The maximum deadline you can specify is 600 seconds (10 minutes). StreamAckDeadlineSeconds int32 `protobuf:"varint,5,opt,name=stream_ack_deadline_seconds,json=streamAckDeadlineSeconds,proto3" json:"stream_ack_deadline_seconds,omitempty"` - // A unique identifier that is used to distinguish client instances from each - // other. Only needs to be provided on the initial request. When a stream - // disconnects and reconnects for the same stream, the client_id should be set - // to the same value so that state associated with the old stream can be - // transferred to the new stream. The same client_id should not be used for + // Optional. A unique identifier that is used to distinguish client instances + // from each other. Only needs to be provided on the initial request. When a + // stream disconnects and reconnects for the same stream, the client_id should + // be set to the same value so that state associated with the old stream can + // be transferred to the new stream. The same client_id should not be used for // different client instances. ClientId string `protobuf:"bytes,6,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` - // Flow control settings for the maximum number of outstanding messages. When - // there are `max_outstanding_messages` or more currently sent to the + // Optional. Flow control settings for the maximum number of outstanding + // messages. When there are `max_outstanding_messages` currently sent to the // streaming pull client that have not yet been acked or nacked, the server // stops sending more messages. The sending of messages resumes once the // number of outstanding messages is less than this value. If the value is @@ -3019,14 +3273,14 @@ type StreamingPullRequest struct { // on a subsequent request, the stream will be aborted with status // `INVALID_ARGUMENT`. MaxOutstandingMessages int64 `protobuf:"varint,7,opt,name=max_outstanding_messages,json=maxOutstandingMessages,proto3" json:"max_outstanding_messages,omitempty"` - // Flow control settings for the maximum number of outstanding bytes. When - // there are `max_outstanding_bytes` or more worth of messages currently sent - // to the streaming pull client that have not yet been acked or nacked, the - // server will stop sending more messages. The sending of messages resumes - // once the number of outstanding bytes is less than this value. If the value - // is <= 0, there is no limit to the number of outstanding bytes. This - // property can only be set on the initial StreamingPullRequest. If it is set - // on a subsequent request, the stream will be aborted with status + // Optional. Flow control settings for the maximum number of outstanding + // bytes. When there are `max_outstanding_bytes` or more worth of messages + // currently sent to the streaming pull client that have not yet been acked or + // nacked, the server will stop sending more messages. The sending of messages + // resumes once the number of outstanding bytes is less than this value. If + // the value is <= 0, there is no limit to the number of outstanding bytes. + // This property can only be set on the initial StreamingPullRequest. If it is + // set on a subsequent request, the stream will be aborted with status // `INVALID_ARGUMENT`. MaxOutstandingBytes int64 `protobuf:"varint,8,opt,name=max_outstanding_bytes,json=maxOutstandingBytes,proto3" json:"max_outstanding_bytes,omitempty"` } @@ -3034,7 +3288,7 @@ type StreamingPullRequest struct { func (x *StreamingPullRequest) Reset() { *x = StreamingPullRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[35] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3047,7 +3301,7 @@ func (x *StreamingPullRequest) String() string { func (*StreamingPullRequest) ProtoMessage() {} func (x *StreamingPullRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[35] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3060,7 +3314,7 @@ func (x *StreamingPullRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamingPullRequest.ProtoReflect.Descriptor instead. func (*StreamingPullRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{35} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{36} } func (x *StreamingPullRequest) GetSubscription() string { @@ -3126,22 +3380,22 @@ type StreamingPullResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Received Pub/Sub messages. This will not be empty. + // Optional. Received Pub/Sub messages. This will not be empty. ReceivedMessages []*ReceivedMessage `protobuf:"bytes,1,rep,name=received_messages,json=receivedMessages,proto3" json:"received_messages,omitempty"` - // This field will only be set if `enable_exactly_once_delivery` is set to - // `true`. + // Optional. This field will only be set if `enable_exactly_once_delivery` is + // set to `true`. AcknowledgeConfirmation *StreamingPullResponse_AcknowledgeConfirmation `protobuf:"bytes,5,opt,name=acknowledge_confirmation,json=acknowledgeConfirmation,proto3" json:"acknowledge_confirmation,omitempty"` - // This field will only be set if `enable_exactly_once_delivery` is set to - // `true`. + // Optional. This field will only be set if `enable_exactly_once_delivery` is + // set to `true`. ModifyAckDeadlineConfirmation *StreamingPullResponse_ModifyAckDeadlineConfirmation `protobuf:"bytes,3,opt,name=modify_ack_deadline_confirmation,json=modifyAckDeadlineConfirmation,proto3" json:"modify_ack_deadline_confirmation,omitempty"` - // Properties associated with this subscription. + // Optional. Properties associated with this subscription. SubscriptionProperties *StreamingPullResponse_SubscriptionProperties `protobuf:"bytes,4,opt,name=subscription_properties,json=subscriptionProperties,proto3" json:"subscription_properties,omitempty"` } func (x *StreamingPullResponse) Reset() { *x = StreamingPullResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[36] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3154,7 +3408,7 @@ func (x *StreamingPullResponse) String() string { func (*StreamingPullResponse) ProtoMessage() {} func (x *StreamingPullResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[36] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3167,7 +3421,7 @@ func (x *StreamingPullResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamingPullResponse.ProtoReflect.Descriptor instead. func (*StreamingPullResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{36} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{37} } func (x *StreamingPullResponse) GetReceivedMessages() []*ReceivedMessage { @@ -3213,15 +3467,17 @@ type CreateSnapshotRequest struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. The subscription whose backlog the snapshot retains. // Specifically, the created snapshot is guaranteed to retain: - // (a) The existing backlog on the subscription. More precisely, this is - // defined as the messages in the subscription's backlog that are - // unacknowledged upon the successful completion of the - // `CreateSnapshot` request; as well as: - // (b) Any messages published to the subscription's topic following the - // successful completion of the CreateSnapshot request. + // + // (a) The existing backlog on the subscription. More precisely, this is + // defined as the messages in the subscription's backlog that are + // unacknowledged upon the successful completion of the + // `CreateSnapshot` request; as well as: + // (b) Any messages published to the subscription's topic following the + // successful completion of the CreateSnapshot request. + // // Format is `projects/{project}/subscriptions/{sub}`. Subscription string `protobuf:"bytes,2,opt,name=subscription,proto3" json:"subscription,omitempty"` - // See [Creating and managing + // Optional. See [Creating and managing // labels](https://cloud.google.com/pubsub/docs/labels). Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -3229,7 +3485,7 @@ type CreateSnapshotRequest struct { func (x *CreateSnapshotRequest) Reset() { *x = CreateSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[37] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3242,7 +3498,7 @@ func (x *CreateSnapshotRequest) String() string { func (*CreateSnapshotRequest) ProtoMessage() {} func (x *CreateSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[37] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3255,7 +3511,7 @@ func (x *CreateSnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateSnapshotRequest.ProtoReflect.Descriptor instead. func (*CreateSnapshotRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{37} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{38} } func (x *CreateSnapshotRequest) GetName() string { @@ -3295,7 +3551,7 @@ type UpdateSnapshotRequest struct { func (x *UpdateSnapshotRequest) Reset() { *x = UpdateSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[38] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3308,7 +3564,7 @@ func (x *UpdateSnapshotRequest) String() string { func (*UpdateSnapshotRequest) ProtoMessage() {} func (x *UpdateSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[38] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3321,7 +3577,7 @@ func (x *UpdateSnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateSnapshotRequest.ProtoReflect.Descriptor instead. func (*UpdateSnapshotRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{38} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{39} } func (x *UpdateSnapshotRequest) GetSnapshot() *Snapshot { @@ -3348,11 +3604,12 @@ type Snapshot struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The name of the snapshot. + // Optional. The name of the snapshot. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // The name of the topic from which this snapshot is retaining messages. + // Optional. The name of the topic from which this snapshot is retaining + // messages. Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"` - // The snapshot is guaranteed to exist up until this time. + // Optional. The snapshot is guaranteed to exist up until this time. // A newly-created snapshot expires no later than 7 days from the time of its // creation. Its exact lifetime is determined at creation by the existing // backlog in the source subscription. Specifically, the lifetime of the @@ -3363,7 +3620,7 @@ type Snapshot struct { // exists -- will expire in 4 days. The service will refuse to create a // snapshot that would expire in less than 1 hour after creation. ExpireTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` - // See [Creating and managing labels] + // Optional. See [Creating and managing labels] // (https://cloud.google.com/pubsub/docs/labels). Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -3371,7 +3628,7 @@ type Snapshot struct { func (x *Snapshot) Reset() { *x = Snapshot{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[39] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3384,7 +3641,7 @@ func (x *Snapshot) String() string { func (*Snapshot) ProtoMessage() {} func (x *Snapshot) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[39] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3397,7 +3654,7 @@ func (x *Snapshot) ProtoReflect() protoreflect.Message { // Deprecated: Use Snapshot.ProtoReflect.Descriptor instead. func (*Snapshot) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{39} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{40} } func (x *Snapshot) GetName() string { @@ -3442,7 +3699,7 @@ type GetSnapshotRequest struct { func (x *GetSnapshotRequest) Reset() { *x = GetSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[40] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3455,7 +3712,7 @@ func (x *GetSnapshotRequest) String() string { func (*GetSnapshotRequest) ProtoMessage() {} func (x *GetSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[40] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3468,7 +3725,7 @@ func (x *GetSnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSnapshotRequest.ProtoReflect.Descriptor instead. func (*GetSnapshotRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{40} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{41} } func (x *GetSnapshotRequest) GetSnapshot() string { @@ -3487,18 +3744,18 @@ type ListSnapshotsRequest struct { // Required. The name of the project in which to list snapshots. // Format is `projects/{project-id}`. Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - // Maximum number of snapshots to return. + // Optional. Maximum number of snapshots to return. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // The value returned by the last `ListSnapshotsResponse`; indicates that this - // is a continuation of a prior `ListSnapshots` call, and that the system - // should return the next page of data. + // Optional. The value returned by the last `ListSnapshotsResponse`; indicates + // that this is a continuation of a prior `ListSnapshots` call, and that the + // system should return the next page of data. PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } func (x *ListSnapshotsRequest) Reset() { *x = ListSnapshotsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[41] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3511,7 +3768,7 @@ func (x *ListSnapshotsRequest) String() string { func (*ListSnapshotsRequest) ProtoMessage() {} func (x *ListSnapshotsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[41] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3524,7 +3781,7 @@ func (x *ListSnapshotsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSnapshotsRequest.ProtoReflect.Descriptor instead. func (*ListSnapshotsRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{41} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{42} } func (x *ListSnapshotsRequest) GetProject() string { @@ -3554,17 +3811,18 @@ type ListSnapshotsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The resulting snapshots. + // Optional. The resulting snapshots. Snapshots []*Snapshot `protobuf:"bytes,1,rep,name=snapshots,proto3" json:"snapshots,omitempty"` - // If not empty, indicates that there may be more snapshot that match the - // request; this value should be passed in a new `ListSnapshotsRequest`. + // Optional. If not empty, indicates that there may be more snapshot that + // match the request; this value should be passed in a new + // `ListSnapshotsRequest`. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } func (x *ListSnapshotsResponse) Reset() { *x = ListSnapshotsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[42] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3577,7 +3835,7 @@ func (x *ListSnapshotsResponse) String() string { func (*ListSnapshotsResponse) ProtoMessage() {} func (x *ListSnapshotsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[42] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3590,7 +3848,7 @@ func (x *ListSnapshotsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSnapshotsResponse.ProtoReflect.Descriptor instead. func (*ListSnapshotsResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{42} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{43} } func (x *ListSnapshotsResponse) GetSnapshots() []*Snapshot { @@ -3621,7 +3879,7 @@ type DeleteSnapshotRequest struct { func (x *DeleteSnapshotRequest) Reset() { *x = DeleteSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[43] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3634,7 +3892,7 @@ func (x *DeleteSnapshotRequest) String() string { func (*DeleteSnapshotRequest) ProtoMessage() {} func (x *DeleteSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[43] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3647,7 +3905,7 @@ func (x *DeleteSnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteSnapshotRequest.ProtoReflect.Descriptor instead. func (*DeleteSnapshotRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{43} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{44} } func (x *DeleteSnapshotRequest) GetSnapshot() string { @@ -3666,6 +3924,7 @@ type SeekRequest struct { // Required. The subscription to affect. Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"` // Types that are assignable to Target: + // // *SeekRequest_Time // *SeekRequest_Snapshot Target isSeekRequest_Target `protobuf_oneof:"target"` @@ -3674,7 +3933,7 @@ type SeekRequest struct { func (x *SeekRequest) Reset() { *x = SeekRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[44] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3687,7 +3946,7 @@ func (x *SeekRequest) String() string { func (*SeekRequest) ProtoMessage() {} func (x *SeekRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[44] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3700,7 +3959,7 @@ func (x *SeekRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SeekRequest.ProtoReflect.Descriptor instead. func (*SeekRequest) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{44} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{45} } func (x *SeekRequest) GetSubscription() string { @@ -3736,7 +3995,7 @@ type isSeekRequest_Target interface { } type SeekRequest_Time struct { - // The time to seek to. + // Optional. The time to seek to. // Messages retained in the subscription that were published before this // time are marked as acknowledged, and messages retained in the // subscription that were published after this time are marked as @@ -3751,9 +4010,9 @@ type SeekRequest_Time struct { } type SeekRequest_Snapshot struct { - // The snapshot to seek to. The snapshot's topic must be the same as that of - // the provided subscription. - // Format is `projects/{project}/snapshots/{snap}`. + // Optional. The snapshot to seek to. The snapshot's topic must be the same + // as that of the provided subscription. Format is + // `projects/{project}/snapshots/{snap}`. Snapshot string `protobuf:"bytes,3,opt,name=snapshot,proto3,oneof"` } @@ -3771,7 +4030,7 @@ type SeekResponse struct { func (x *SeekResponse) Reset() { *x = SeekResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[45] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3784,7 +4043,7 @@ func (x *SeekResponse) String() string { func (*SeekResponse) ProtoMessage() {} func (x *SeekResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[45] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3797,7 +4056,99 @@ func (x *SeekResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SeekResponse.ProtoReflect.Descriptor instead. func (*SeekResponse) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{45} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{46} +} + +// Ingestion settings for Amazon Kinesis Data Streams. +type IngestionDataSourceSettings_AwsKinesis struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. An output-only field that indicates the state of the Kinesis + // ingestion source. + State IngestionDataSourceSettings_AwsKinesis_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.pubsub.v1.IngestionDataSourceSettings_AwsKinesis_State" json:"state,omitempty"` + // Required. The Kinesis stream ARN to ingest data from. + StreamArn string `protobuf:"bytes,2,opt,name=stream_arn,json=streamArn,proto3" json:"stream_arn,omitempty"` + // Required. The Kinesis consumer ARN to used for ingestion in Enhanced + // Fan-Out mode. The consumer must be already created and ready to be used. + ConsumerArn string `protobuf:"bytes,3,opt,name=consumer_arn,json=consumerArn,proto3" json:"consumer_arn,omitempty"` + // Required. AWS role ARN to be used for Federated Identity authentication + // with Kinesis. Check the Pub/Sub docs for how to set up this role and the + // required permissions that need to be attached to it. + AwsRoleArn string `protobuf:"bytes,4,opt,name=aws_role_arn,json=awsRoleArn,proto3" json:"aws_role_arn,omitempty"` + // Required. The GCP service account to be used for Federated Identity + // authentication with Kinesis (via a `AssumeRoleWithWebIdentity` call for + // the provided role). The `aws_role_arn` must be set up with + // `accounts.google.com:sub` equals to this service account number. + GcpServiceAccount string `protobuf:"bytes,5,opt,name=gcp_service_account,json=gcpServiceAccount,proto3" json:"gcp_service_account,omitempty"` +} + +func (x *IngestionDataSourceSettings_AwsKinesis) Reset() { + *x = IngestionDataSourceSettings_AwsKinesis{} + if protoimpl.UnsafeEnabled { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IngestionDataSourceSettings_AwsKinesis) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IngestionDataSourceSettings_AwsKinesis) ProtoMessage() {} + +func (x *IngestionDataSourceSettings_AwsKinesis) ProtoReflect() protoreflect.Message { + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IngestionDataSourceSettings_AwsKinesis.ProtoReflect.Descriptor instead. +func (*IngestionDataSourceSettings_AwsKinesis) Descriptor() ([]byte, []int) { + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *IngestionDataSourceSettings_AwsKinesis) GetState() IngestionDataSourceSettings_AwsKinesis_State { + if x != nil { + return x.State + } + return IngestionDataSourceSettings_AwsKinesis_STATE_UNSPECIFIED +} + +func (x *IngestionDataSourceSettings_AwsKinesis) GetStreamArn() string { + if x != nil { + return x.StreamArn + } + return "" +} + +func (x *IngestionDataSourceSettings_AwsKinesis) GetConsumerArn() string { + if x != nil { + return x.ConsumerArn + } + return "" +} + +func (x *IngestionDataSourceSettings_AwsKinesis) GetAwsRoleArn() string { + if x != nil { + return x.AwsRoleArn + } + return "" +} + +func (x *IngestionDataSourceSettings_AwsKinesis) GetGcpServiceAccount() string { + if x != nil { + return x.GcpServiceAccount + } + return "" } // Contains information needed for generating an @@ -3808,25 +4159,26 @@ type PushConfig_OidcToken struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // [Service account + // Optional. [Service account // email](https://cloud.google.com/iam/docs/service-accounts) // used for generating the OIDC token. For more information // on setting up authentication, see // [Push subscriptions](https://cloud.google.com/pubsub/docs/push). ServiceAccountEmail string `protobuf:"bytes,1,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"` - // Audience to be used when generating OIDC token. The audience claim - // identifies the recipients that the JWT is intended for. The audience - // value is a single case-sensitive string. Having multiple values (array) - // for the audience field is not supported. More info about the OIDC JWT - // token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3 - // Note: if not specified, the Push endpoint URL will be used. + // Optional. Audience to be used when generating OIDC token. The audience + // claim identifies the recipients that the JWT is intended for. The + // audience value is a single case-sensitive string. Having multiple values + // (array) for the audience field is not supported. More info about the OIDC + // JWT token audience here: + // https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified, + // the Push endpoint URL will be used. Audience string `protobuf:"bytes,2,opt,name=audience,proto3" json:"audience,omitempty"` } func (x *PushConfig_OidcToken) Reset() { *x = PushConfig_OidcToken{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[49] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3839,7 +4191,7 @@ func (x *PushConfig_OidcToken) String() string { func (*PushConfig_OidcToken) ProtoMessage() {} func (x *PushConfig_OidcToken) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[49] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3852,7 +4204,7 @@ func (x *PushConfig_OidcToken) ProtoReflect() protoreflect.Message { // Deprecated: Use PushConfig_OidcToken.ProtoReflect.Descriptor instead. func (*PushConfig_OidcToken) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{21, 0} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{22, 0} } func (x *PushConfig_OidcToken) GetServiceAccountEmail() string { @@ -3881,7 +4233,7 @@ type PushConfig_PubsubWrapper struct { func (x *PushConfig_PubsubWrapper) Reset() { *x = PushConfig_PubsubWrapper{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[50] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3894,7 +4246,7 @@ func (x *PushConfig_PubsubWrapper) String() string { func (*PushConfig_PubsubWrapper) ProtoMessage() {} func (x *PushConfig_PubsubWrapper) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[50] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3907,7 +4259,7 @@ func (x *PushConfig_PubsubWrapper) ProtoReflect() protoreflect.Message { // Deprecated: Use PushConfig_PubsubWrapper.ProtoReflect.Descriptor instead. func (*PushConfig_PubsubWrapper) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{21, 1} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{22, 1} } // Sets the `data` field as the HTTP body for delivery. @@ -3916,7 +4268,7 @@ type PushConfig_NoWrapper struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // When true, writes the Pub/Sub message metadata to + // Optional. When true, writes the Pub/Sub message metadata to // `x-goog-pubsub-:` headers of the HTTP request. Writes the // Pub/Sub message attributes to `:` headers of the HTTP request. WriteMetadata bool `protobuf:"varint,1,opt,name=write_metadata,json=writeMetadata,proto3" json:"write_metadata,omitempty"` @@ -3925,7 +4277,7 @@ type PushConfig_NoWrapper struct { func (x *PushConfig_NoWrapper) Reset() { *x = PushConfig_NoWrapper{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[51] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3938,7 +4290,7 @@ func (x *PushConfig_NoWrapper) String() string { func (*PushConfig_NoWrapper) ProtoMessage() {} func (x *PushConfig_NoWrapper) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[51] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3951,7 +4303,7 @@ func (x *PushConfig_NoWrapper) ProtoReflect() protoreflect.Message { // Deprecated: Use PushConfig_NoWrapper.ProtoReflect.Descriptor instead. func (*PushConfig_NoWrapper) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{21, 2} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{22, 2} } func (x *PushConfig_NoWrapper) GetWriteMetadata() bool { @@ -3973,7 +4325,7 @@ type CloudStorageConfig_TextConfig struct { func (x *CloudStorageConfig_TextConfig) Reset() { *x = CloudStorageConfig_TextConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[53] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3986,7 +4338,7 @@ func (x *CloudStorageConfig_TextConfig) String() string { func (*CloudStorageConfig_TextConfig) ProtoMessage() {} func (x *CloudStorageConfig_TextConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[53] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3999,7 +4351,7 @@ func (x *CloudStorageConfig_TextConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use CloudStorageConfig_TextConfig.ProtoReflect.Descriptor instead. func (*CloudStorageConfig_TextConfig) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{23, 0} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24, 0} } // Configuration for writing message data in Avro format. @@ -4009,19 +4361,19 @@ type CloudStorageConfig_AvroConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // When true, write the subscription name, message_id, publish_time, - // attributes, and ordering_key as additional fields in the output. The - // subscription name, message_id, and publish_time fields are put in their - // own fields while all other message properties other than data (for - // example, an ordering_key, if present) are added as entries in the - // attributes map. + // Optional. When true, write the subscription name, message_id, + // publish_time, attributes, and ordering_key as additional fields in the + // output. The subscription name, message_id, and publish_time fields are + // put in their own fields while all other message properties other than + // data (for example, an ordering_key, if present) are added as entries in + // the attributes map. WriteMetadata bool `protobuf:"varint,1,opt,name=write_metadata,json=writeMetadata,proto3" json:"write_metadata,omitempty"` } func (x *CloudStorageConfig_AvroConfig) Reset() { *x = CloudStorageConfig_AvroConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[54] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4034,7 +4386,7 @@ func (x *CloudStorageConfig_AvroConfig) String() string { func (*CloudStorageConfig_AvroConfig) ProtoMessage() {} func (x *CloudStorageConfig_AvroConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[54] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4047,7 +4399,7 @@ func (x *CloudStorageConfig_AvroConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use CloudStorageConfig_AvroConfig.ProtoReflect.Descriptor instead. func (*CloudStorageConfig_AvroConfig) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{23, 1} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24, 1} } func (x *CloudStorageConfig_AvroConfig) GetWriteMetadata() bool { @@ -4064,21 +4416,22 @@ type StreamingPullResponse_AcknowledgeConfirmation struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Successfully processed acknowledgement IDs. + // Optional. Successfully processed acknowledgement IDs. AckIds []string `protobuf:"bytes,1,rep,name=ack_ids,json=ackIds,proto3" json:"ack_ids,omitempty"` - // List of acknowledgement IDs that were malformed or whose acknowledgement - // deadline has expired. + // Optional. List of acknowledgement IDs that were malformed or whose + // acknowledgement deadline has expired. InvalidAckIds []string `protobuf:"bytes,2,rep,name=invalid_ack_ids,json=invalidAckIds,proto3" json:"invalid_ack_ids,omitempty"` - // List of acknowledgement IDs that were out of order. + // Optional. List of acknowledgement IDs that were out of order. UnorderedAckIds []string `protobuf:"bytes,3,rep,name=unordered_ack_ids,json=unorderedAckIds,proto3" json:"unordered_ack_ids,omitempty"` - // List of acknowledgement IDs that failed processing with temporary issues. + // Optional. List of acknowledgement IDs that failed processing with + // temporary issues. TemporaryFailedAckIds []string `protobuf:"bytes,4,rep,name=temporary_failed_ack_ids,json=temporaryFailedAckIds,proto3" json:"temporary_failed_ack_ids,omitempty"` } func (x *StreamingPullResponse_AcknowledgeConfirmation) Reset() { *x = StreamingPullResponse_AcknowledgeConfirmation{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[55] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4091,7 +4444,7 @@ func (x *StreamingPullResponse_AcknowledgeConfirmation) String() string { func (*StreamingPullResponse_AcknowledgeConfirmation) ProtoMessage() {} func (x *StreamingPullResponse_AcknowledgeConfirmation) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[55] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4104,7 +4457,7 @@ func (x *StreamingPullResponse_AcknowledgeConfirmation) ProtoReflect() protorefl // Deprecated: Use StreamingPullResponse_AcknowledgeConfirmation.ProtoReflect.Descriptor instead. func (*StreamingPullResponse_AcknowledgeConfirmation) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{36, 0} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{37, 0} } func (x *StreamingPullResponse_AcknowledgeConfirmation) GetAckIds() []string { @@ -4142,19 +4495,20 @@ type StreamingPullResponse_ModifyAckDeadlineConfirmation struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Successfully processed acknowledgement IDs. + // Optional. Successfully processed acknowledgement IDs. AckIds []string `protobuf:"bytes,1,rep,name=ack_ids,json=ackIds,proto3" json:"ack_ids,omitempty"` - // List of acknowledgement IDs that were malformed or whose acknowledgement - // deadline has expired. + // Optional. List of acknowledgement IDs that were malformed or whose + // acknowledgement deadline has expired. InvalidAckIds []string `protobuf:"bytes,2,rep,name=invalid_ack_ids,json=invalidAckIds,proto3" json:"invalid_ack_ids,omitempty"` - // List of acknowledgement IDs that failed processing with temporary issues. + // Optional. List of acknowledgement IDs that failed processing with + // temporary issues. TemporaryFailedAckIds []string `protobuf:"bytes,3,rep,name=temporary_failed_ack_ids,json=temporaryFailedAckIds,proto3" json:"temporary_failed_ack_ids,omitempty"` } func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) Reset() { *x = StreamingPullResponse_ModifyAckDeadlineConfirmation{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[56] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4167,7 +4521,7 @@ func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) String() string { func (*StreamingPullResponse_ModifyAckDeadlineConfirmation) ProtoMessage() {} func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[56] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4180,7 +4534,7 @@ func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) ProtoReflect() pro // Deprecated: Use StreamingPullResponse_ModifyAckDeadlineConfirmation.ProtoReflect.Descriptor instead. func (*StreamingPullResponse_ModifyAckDeadlineConfirmation) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{36, 1} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{37, 1} } func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) GetAckIds() []string { @@ -4210,16 +4564,17 @@ type StreamingPullResponse_SubscriptionProperties struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // True iff exactly once delivery is enabled for this subscription. + // Optional. True iff exactly once delivery is enabled for this + // subscription. ExactlyOnceDeliveryEnabled bool `protobuf:"varint,1,opt,name=exactly_once_delivery_enabled,json=exactlyOnceDeliveryEnabled,proto3" json:"exactly_once_delivery_enabled,omitempty"` - // True iff message ordering is enabled for this subscription. + // Optional. True iff message ordering is enabled for this subscription. MessageOrderingEnabled bool `protobuf:"varint,2,opt,name=message_ordering_enabled,json=messageOrderingEnabled,proto3" json:"message_ordering_enabled,omitempty"` } func (x *StreamingPullResponse_SubscriptionProperties) Reset() { *x = StreamingPullResponse_SubscriptionProperties{} if protoimpl.UnsafeEnabled { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[57] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4232,7 +4587,7 @@ func (x *StreamingPullResponse_SubscriptionProperties) String() string { func (*StreamingPullResponse_SubscriptionProperties) ProtoMessage() {} func (x *StreamingPullResponse_SubscriptionProperties) ProtoReflect() protoreflect.Message { - mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[57] + mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4245,7 +4600,7 @@ func (x *StreamingPullResponse_SubscriptionProperties) ProtoReflect() protorefle // Deprecated: Use StreamingPullResponse_SubscriptionProperties.ProtoReflect.Descriptor instead. func (*StreamingPullResponse_SubscriptionProperties) Descriptor() ([]byte, []int) { - return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{36, 2} + return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{37, 2} } func (x *StreamingPullResponse_SubscriptionProperties) GetExactlyOnceDeliveryEnabled() bool { @@ -4285,945 +4640,1035 @@ var file_google_pubsub_v1_pubsub_proto_rawDesc = []byte{ 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0x56, 0x0a, 0x14, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3e, 0x0a, 0x1b, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xdc, 0x01, 0x0a, 0x0e, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, - 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, - 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x36, 0x0a, 0x08, - 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, + 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x14, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x43, 0x0a, 0x1b, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x31, 0x0a, 0x12, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x5f, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x10, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x69, 0x74, 0x22, 0xeb, 0x01, 0x0a, 0x0e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a, + 0x1c, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, + 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, + 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x22, 0xb4, 0x04, 0x0a, 0x1b, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x61, 0x77, 0x73, 0x5f, 0x6b, 0x69, 0x6e, 0x65, 0x73, 0x69, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x67, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x41, 0x77, 0x73, 0x4b, 0x69, 0x6e, 0x65, 0x73, 0x69, + 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x77, 0x73, 0x4b, 0x69, 0x6e, + 0x65, 0x73, 0x69, 0x73, 0x1a, 0xa8, 0x03, 0x0a, 0x0a, 0x41, 0x77, 0x73, 0x4b, 0x69, 0x6e, 0x65, + 0x73, 0x69, 0x73, 0x12, 0x59, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x2e, 0x41, 0x77, 0x73, 0x4b, 0x69, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, + 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, + 0x72, 0x6e, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x61, + 0x72, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, + 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x41, 0x72, 0x6e, 0x12, 0x25, 0x0a, 0x0c, 0x61, 0x77, + 0x73, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x77, 0x73, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x72, + 0x6e, 0x12, 0x33, 0x0a, 0x13, 0x67, 0x63, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x11, 0x67, 0x63, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x96, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, + 0x45, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x4b, 0x49, 0x4e, 0x45, 0x53, 0x49, 0x53, 0x5f, 0x50, + 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, + 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x50, 0x45, + 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, + 0x03, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, + 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4e, 0x53, 0x55, + 0x4d, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x05, 0x42, + 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd2, 0x06, 0x0a, 0x05, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x61, + 0x0a, 0x16, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, - 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, - 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xb7, 0x04, 0x0a, 0x05, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, - 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x5c, 0x0a, 0x16, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x14, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, - 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0f, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, - 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, - 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x61, - 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x12, 0x57, 0x0a, 0x1a, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x25, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x6b, 0x6d, + 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, + 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, + 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, + 0x7a, 0x73, 0x12, 0x5c, 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, + 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x18, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x77, 0x0a, 0x1e, 0x69, 0x6e, + 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x54, - 0xea, 0x41, 0x51, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x12, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x7d, 0x12, 0x0f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x2d, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x5f, 0x22, 0xb4, 0x02, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4f, 0x0a, 0x0a, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x1a, 0x3d, 0x0a, 0x0f, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x0f, 0x47, - 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x48, + 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, + 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4e, + 0x47, 0x45, 0x53, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, + 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x3a, 0x54, 0xea, 0x41, 0x51, 0x0a, 0x1b, 0x70, + 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x21, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x7d, 0x12, 0x0f, 0x5f, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x2d, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x22, 0xc3, + 0x02, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x17, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a, 0x0a, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x3d, + 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, + 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, + 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, + 0x8d, 0x01, 0x0a, 0x0e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, + 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, + 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, + 0x37, 0x0a, 0x0f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, + 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0x77, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, + 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa0, 0x01, 0x0a, + 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, - 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x8d, 0x01, 0x0a, 0x0e, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, - 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x32, 0x0a, 0x0f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x11, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0x9f, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x01, 0xfa, 0x41, + 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x22, 0x9c, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, + 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6d, 0x0a, 0x12, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, - 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x96, 0x01, 0x0a, 0x1d, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, - 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x22, 0x97, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x27, 0xfa, - 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x92, 0x01, - 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, - 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, - 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x22, 0x62, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x26, - 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4f, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, - 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x6b, 0x0a, 0x19, 0x44, 0x65, 0x74, 0x61, 0x63, - 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, - 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xd8, 0x0a, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x05, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, - 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x3d, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0x6c, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, + 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4f, + 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x22, + 0x6b, 0x0a, 0x19, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1c, 0x0a, 0x1a, + 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9e, 0x0b, 0x0a, 0x0c, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, + 0x42, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x56, 0x0a, 0x14, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x63, 0x6b, - 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x61, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, - 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x72, - 0x65, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, 0x74, 0x61, - 0x69, 0x6e, 0x41, 0x63, 0x6b, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, - 0x57, 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x36, 0x0a, 0x17, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, + 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x14, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, + 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x35, 0x0a, 0x14, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, + 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x12, 0x61, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x37, 0x0a, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6e, 0x5f, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6e, 0x41, 0x63, 0x6b, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x12, 0x5c, 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x65, + 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x18, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x74, + 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, + 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x69, 0x6e, 0x67, 0x12, 0x4f, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, + 0x72, 0x69, 0x6e, 0x67, 0x12, 0x54, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x50, 0x0a, - 0x12, 0x64, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x61, - 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x10, 0x64, - 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x40, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, 0x3f, 0x0a, - 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x5f, - 0x6f, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x61, 0x63, 0x74, - 0x6c, 0x79, 0x4f, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x12, 0x67, - 0x0a, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1d, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x3e, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, - 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x10, 0x02, 0x3a, 0x58, 0xea, 0x41, 0x55, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x22, 0x95, 0x01, - 0x0a, 0x0b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x42, 0x0a, - 0x0f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x12, 0x64, 0x65, 0x61, 0x64, 0x5f, + 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, + 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x64, 0x65, + 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x45, + 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, + 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x64, 0x65, + 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x5f, 0x6f, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x65, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, + 0x4f, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x12, 0x67, 0x0a, 0x20, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, + 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, - 0x66, 0x12, 0x42, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x62, 0x61, 0x63, - 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x61, - 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0x72, 0x0a, 0x10, 0x44, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, - 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x61, - 0x64, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x79, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x22, 0x3f, 0x0a, 0x10, 0x45, 0x78, 0x70, - 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2b, 0x0a, - 0x03, 0x74, 0x74, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x22, 0xeb, 0x04, 0x0a, 0x0a, 0x50, - 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x75, 0x73, - 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x70, 0x75, 0x73, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x4c, - 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x0a, - 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, - 0x69, 0x64, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x69, 0x64, 0x63, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x53, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, - 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x48, 0x01, 0x52, 0x0d, 0x70, 0x75, 0x62, - 0x73, 0x75, 0x62, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x0a, 0x6e, 0x6f, - 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x57, - 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x48, 0x01, 0x52, 0x09, 0x6e, 0x6f, 0x57, 0x72, 0x61, 0x70, - 0x70, 0x65, 0x72, 0x1a, 0x5b, 0x0a, 0x09, 0x4f, 0x69, 0x64, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, - 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, - 0x1a, 0x0f, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, - 0x72, 0x1a, 0x32, 0x0a, 0x09, 0x4e, 0x6f, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x25, - 0x0a, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x09, 0x0a, - 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x22, 0x85, 0x03, 0x0a, 0x0e, 0x42, 0x69, 0x67, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x0e, 0x75, 0x73, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x72, 0x6f, 0x70, 0x5f, - 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x72, 0x6f, 0x70, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, - 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x73, - 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x65, 0x0a, 0x05, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, - 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, - 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, - 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x53, - 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x04, - 0x22, 0xf3, 0x04, 0x0a, 0x12, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, - 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x27, 0x0a, - 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, - 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x52, 0x0a, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0a, - 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x0b, 0x61, 0x76, - 0x72, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x76, 0x72, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x48, 0x00, 0x52, 0x0a, 0x61, 0x76, 0x72, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, - 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, + 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1d, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x3e, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a, + 0x0e, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, + 0x02, 0x3a, 0x58, 0xea, 0x41, 0x55, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x22, 0x9f, 0x01, 0x0a, 0x0b, + 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x47, 0x0a, 0x0f, 0x6d, + 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0b, 0x6d, 0x61, 0x78, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, - 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x08, 0x6d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x1a, 0x0c, 0x0a, 0x0a, 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x33, - 0x0a, 0x0a, 0x41, 0x76, 0x72, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x22, 0x50, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, - 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, - 0x4e, 0x49, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, - 0x55, 0x4e, 0x44, 0x10, 0x03, 0x42, 0x0f, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x63, - 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x63, 0x6b, 0x49, - 0x64, 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x10, - 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, - 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x22, 0x68, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, - 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x47, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x61, 0x63, + 0x6b, 0x6f, 0x66, 0x66, 0x12, 0x47, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, + 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xa5, 0x01, 0x0a, 0x18, 0x4c, - 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, - 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x22, 0x89, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x44, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6b, - 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xad, 0x01, 0x0a, 0x17, - 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, - 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d, + 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0x7c, 0x0a, + 0x10, 0x44, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x2f, 0x0a, 0x11, 0x64, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, + 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0f, 0x64, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x12, 0x37, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, + 0x72, 0x79, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x6c, 0x69, 0x76, + 0x65, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x22, 0x44, 0x0a, 0x10, 0x45, + 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x30, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x03, 0x74, 0x74, + 0x6c, 0x22, 0x93, 0x05, 0x0a, 0x0a, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x70, 0x75, + 0x73, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x0a, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x4c, 0x0a, + 0x0a, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, + 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x4f, 0x69, 0x64, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, + 0x52, 0x09, 0x6f, 0x69, 0x64, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x58, 0x0a, 0x0e, 0x70, + 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x57, 0x72, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x6e, 0x6f, 0x5f, 0x77, 0x72, 0x61, 0x70, + 0x70, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, + 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, + 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x6e, 0x6f, 0x57, 0x72, 0x61, 0x70, + 0x70, 0x65, 0x72, 0x1a, 0x65, 0x0a, 0x09, 0x4f, 0x69, 0x64, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1f, 0x0a, 0x08, 0x61, 0x75, 0x64, + 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x0f, 0x0a, 0x0d, 0x50, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x1a, 0x37, 0x0a, 0x09, 0x4e, + 0x6f, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x0e, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x09, 0x0a, 0x07, + 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x22, 0xba, 0x03, 0x0a, 0x0e, 0x42, 0x69, 0x67, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x12, 0x2a, 0x0a, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x33, 0x0a, 0x13, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, + 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x11, 0x64, 0x72, 0x6f, 0x70, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x8a, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, + 0x56, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4e, + 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x43, + 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x04, 0x12, + 0x23, 0x0a, 0x1f, 0x49, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x5f, 0x4c, 0x4f, + 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x05, 0x22, 0xbb, 0x05, 0x0a, 0x12, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x06, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2c, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x75, + 0x66, 0x66, 0x69, 0x78, 0x12, 0x57, 0x0a, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x57, 0x0a, + 0x0b, 0x61, 0x76, 0x72, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x76, 0x72, 0x6f, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x76, 0x72, 0x6f, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x6d, 0x61, + 0x78, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x61, 0x78, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x1a, 0x0c, 0x0a, 0x0a, 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x76, 0x72, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, + 0x0a, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x75, 0x0a, 0x05, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, + 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, + 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, + 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, + 0x49, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0x04, 0x42, 0x0f, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x06, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x61, 0x63, 0x6b, + 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x6d, + 0x70, 0x74, 0x22, 0x68, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, 0x0a, + 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0c, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xaf, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x93, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0a, 0x70, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xbb, 0x01, 0x0a, 0x0b, - 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x12, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x11, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, - 0x79, 0x12, 0x26, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x6d, 0x61, - 0x78, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x5e, 0x0a, 0x0c, 0x50, 0x75, 0x6c, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x11, 0x72, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, - 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x18, 0x4d, 0x6f, - 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x52, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6b, 0x0a, + 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xad, 0x01, 0x0a, 0x17, 0x4d, + 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x63, - 0x6b, 0x49, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x14, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, - 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, - 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x12, - 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, - 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, - 0x22, 0xbd, 0x03, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, - 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x63, 0x6b, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, - 0x64, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x65, 0x61, - 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x15, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x44, 0x65, 0x61, 0x64, 0x6c, - 0x69, 0x6e, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x61, 0x63, - 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x6d, 0x6f, 0x64, - 0x69, 0x66, 0x79, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x63, 0x6b, 0x49, 0x64, - 0x73, 0x12, 0x42, 0x0a, 0x1b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x63, 0x6b, 0x5f, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, + 0x70, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xbb, 0x01, 0x0a, 0x0b, 0x50, + 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x12, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x11, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, + 0x12, 0x26, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x63, 0x0a, 0x0c, 0x50, 0x75, 0x6c, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x11, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0xbf, 0x01, + 0x0a, 0x18, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, + 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x63, + 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x14, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x38, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, - 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6d, 0x61, 0x78, - 0x4f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, - 0x22, 0xe3, 0x07, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, - 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x11, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x7a, 0x0a, 0x18, 0x61, 0x63, - 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x61, - 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x8e, 0x01, 0x0a, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, - 0x79, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, - 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x63, 0x6b, + 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, + 0x82, 0x01, 0x0a, 0x12, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x63, + 0x6b, 0x49, 0x64, 0x73, 0x22, 0xdb, 0x03, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, + 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, + 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, + 0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x3b, 0x0a, 0x17, 0x6d, + 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x15, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, + 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x17, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x79, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x61, 0x63, 0x6b, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x63, + 0x6b, 0x49, 0x64, 0x73, 0x12, 0x42, 0x0a, 0x1b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x61, + 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, + 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x18, 0x6d, 0x61, + 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x15, 0x6d, 0x61, 0x78, + 0x5f, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x6d, + 0x61, 0x78, 0x4f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, + 0x65, 0x73, 0x22, 0xa4, 0x08, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, + 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x11, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x10, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x12, 0x7f, 0x0a, 0x18, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, + 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, 0x6b, + 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x17, 0x61, 0x63, 0x6b, 0x6e, 0x6f, + 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x93, 0x01, 0x0a, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x61, 0x63, + 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, + 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, - 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x77, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x16, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x1a, 0xbf, 0x01, 0x0a, 0x17, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, - 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x61, - 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, - 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, + 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7c, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0xd3, 0x01, 0x0a, 0x17, 0x41, 0x63, 0x6b, 0x6e, 0x6f, + 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, + 0x12, 0x2b, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, + 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x11, 0x75, 0x6e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x6e, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x65, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x74, 0x65, 0x6d, + 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x75, + 0x6e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x3c, + 0x0a, 0x18, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, + 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x1a, 0xa8, 0x01, 0x0a, + 0x1d, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, + 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, + 0x0a, 0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x0f, + 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x18, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x63, - 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x74, 0x65, 0x6d, - 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x6b, 0x49, - 0x64, 0x73, 0x1a, 0x99, 0x01, 0x0a, 0x1d, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, - 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x26, 0x0a, - 0x0f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, - 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, - 0x72, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, - 0x72, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x1a, 0x95, - 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x65, 0x78, 0x61, - 0x63, 0x74, 0x6c, 0x79, 0x5f, 0x6f, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x1a, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x4f, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, - 0x69, 0x76, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x18, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xab, 0x02, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, - 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x0c, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x06, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x96, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, - 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xdc, 0x02, - 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, - 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xfa, + 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x15, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x1a, 0x9f, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x12, 0x46, 0x0a, 0x1d, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x5f, 0x6f, 0x6e, + 0x63, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1a, + 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x4f, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, + 0x65, 0x72, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x18, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x16, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xb0, 0x02, 0x0a, 0x15, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, + 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, + 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x50, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x96, 0x01, 0x0a, + 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xee, 0x02, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, - 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, + 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, - 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x4c, - 0xea, 0x41, 0x49, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x12, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x73, 0x2f, 0x7b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x7d, 0x22, 0x58, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x42, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, - 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1b, - 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x79, 0x0a, 0x15, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x26, 0x0a, - 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5b, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, - 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x22, 0xdc, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, - 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x04, - 0x74, 0x69, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, - 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x00, 0x52, 0x08, 0x73, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x32, 0xb8, 0x0b, 0x0a, 0x09, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12, - 0x71, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x17, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, + 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x4c, 0xea, 0x41, 0x49, 0x0a, 0x1e, 0x70, + 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x27, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x7d, 0x22, 0x58, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x08, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x22, 0xab, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x83, + 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x73, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5b, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, + 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x22, 0xe4, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, + 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x00, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x01, 0xfa, + 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x08, + 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x53, 0x65, 0x65, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xb8, 0x0b, 0x0a, 0x09, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12, 0x71, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, - 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x22, 0x30, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, - 0x01, 0x2a, 0x1a, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, - 0x2a, 0x7d, 0x12, 0x91, 0x01, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x22, 0x43, 0xda, 0x41, 0x11, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2c, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, - 0x32, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x93, 0x01, 0x0a, 0x07, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x12, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, - 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0xda, 0x41, 0x0e, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x2c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, - 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x77, 0x0a, 0x08, - 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x22, 0x2f, 0xda, 0x41, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x73, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, + 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x30, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x1a, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x91, 0x01, 0x0a, 0x0b, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x43, 0xda, 0x41, 0x11, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x32, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x93, 0x01, + 0x0a, 0x07, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, + 0xda, 0x41, 0x0e, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x12, 0x77, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, + 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x2f, 0xda, 0x41, 0x05, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8a, 0x01, 0x0a, + 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x23, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0xba, 0x01, 0x0a, 0x16, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x31, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x73, 0x12, 0xba, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x2e, + 0x63, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xda, 0x41, 0x05, 0x74, 0x6f, 0x70, 0x69, + 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xaa, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x3d, 0xda, 0x41, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, - 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0xda, 0x41, 0x05, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x73, 0x12, 0x7c, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x22, 0x2f, 0xda, 0x41, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, + 0x2a, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, - 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0xaa, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, - 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x39, 0xda, 0x41, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2b, 0x12, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, - 0x2a, 0x7d, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x7c, 0x0a, 0x0b, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x24, 0x2e, 0x67, 0x6f, + 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x61, + 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x22, 0x34, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x61, 0x63, + 0x68, 0x1a, 0x70, 0xca, 0x41, 0x15, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x55, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x32, 0xd2, 0x15, 0x0a, 0x0a, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x72, 0x12, 0xb4, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5e, 0xda, 0x41, 0x2b, 0x6e, 0x61, + 0x6d, 0x65, 0x2c, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2c, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, + 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, + 0x01, 0x2a, 0x1a, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa1, 0x01, 0x0a, 0x0f, 0x47, 0x65, + 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0xda, 0x41, 0x0c, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbb, 0x01, + 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, + 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x58, 0xda, 0x41, 0x18, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01, 0x2a, 0x32, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa6, 0x01, 0x0a, 0x11, + 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, + 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0xda, 0x41, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9f, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2f, 0xda, 0x41, 0x05, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x2a, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, - 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x12, 0x44, - 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x36, 0x22, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x1a, 0x70, 0xca, 0x41, 0x15, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x55, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, - 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, - 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x32, 0xd2, 0x15, 0x0a, - 0x0a, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x12, 0xb4, 0x01, 0x0a, 0x12, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x5e, 0xda, 0x41, 0x2b, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x2c, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, 0x61, 0x63, - 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x1a, 0x25, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x2a, 0x7d, 0x12, 0xa1, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x44, 0xda, 0x41, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, + 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x2a, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x58, 0xda, 0x41, 0x18, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01, 0x2a, - 0x32, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa6, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x38, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9f, 0x01, - 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, - 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x44, 0xda, 0x41, 0x0c, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, - 0x2a, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, - 0xcf, 0x01, 0x0a, 0x11, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, - 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, - 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x76, 0xda, 0x41, 0x29, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x69, - 0x64, 0x73, 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x01, 0x2a, - 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, - 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, - 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x0b, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, - 0x65, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, - 0x5b, 0xda, 0x41, 0x14, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x01, - 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, - 0x3a, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x12, 0xd0, 0x01, 0x0a, - 0x04, 0x50, 0x75, 0x6c, 0x6c, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, - 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0xda, 0x41, 0x2c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x69, 0x6d, - 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x2c, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0xda, 0x41, 0x19, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01, 0x2a, 0x22, 0x32, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x75, 0x6c, 0x6c, 0x12, - 0x66, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, - 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xbb, 0x01, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x69, - 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29, 0x2e, 0x67, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcf, 0x01, 0x0a, 0x11, 0x4d, 0x6f, 0x64, 0x69, 0x66, + 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, - 0x64, 0xda, 0x41, 0x18, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x2c, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x43, 0x3a, 0x01, 0x2a, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x89, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x38, 0xda, 0x41, 0x08, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, - 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, - 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, - 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x0e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x27, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x22, 0x40, 0xda, 0x41, 0x11, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, - 0x2a, 0x1a, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa3, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x4c, 0xda, 0x41, - 0x14, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x01, 0x2a, 0x32, 0x2a, - 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8b, 0x01, 0x0a, 0x0e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x27, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x38, + 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x22, 0x76, 0xda, 0x41, 0x29, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, + 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x01, 0x2a, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, + 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x0b, 0x41, 0x63, 0x6b, + 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x6b, 0x6e, + 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5b, 0xda, 0x41, 0x14, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, + 0x64, 0x67, 0x65, 0x12, 0xd0, 0x01, 0x0a, 0x04, 0x50, 0x75, 0x6c, 0x6c, 0x12, 0x1d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0xda, 0x41, + 0x2c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, + 0x2c, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0xda, 0x41, 0x19, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x6d, 0x61, 0x78, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, + 0x01, 0x2a, 0x22, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x70, 0x75, 0x6c, 0x6c, 0x12, 0x66, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xbb, + 0x01, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, + 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x64, 0xda, 0x41, 0x18, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x01, 0x2a, 0x22, 0x3e, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x89, 0x01, 0x0a, + 0x0b, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x24, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x38, 0xda, 0x41, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x27, 0x2a, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x27, 0x12, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x84, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x65, - 0x6b, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01, 0x2a, 0x22, 0x32, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x65, 0x6b, 0x1a, - 0x70, 0xca, 0x41, 0x15, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x55, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x42, 0xaa, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x50, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x70, - 0x75, 0x62, 0x73, 0x75, 0x62, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x70, 0x75, 0x62, 0x73, - 0x75, 0x62, 0x70, 0x62, 0x3b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x70, 0x62, 0xf8, 0x01, 0x01, - 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x5c, - 0x56, 0x31, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x3a, 0x3a, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0xda, 0x41, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x73, 0x12, 0x97, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x40, 0xda, 0x41, 0x11, 0x6e, 0x61, + 0x6d, 0x65, 0x2c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x1a, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa3, 0x01, 0x0a, 0x0e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x27, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x22, 0x4c, 0xda, 0x41, 0x14, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2f, 0x3a, 0x01, 0x2a, 0x32, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, + 0x7d, 0x12, 0x8b, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, + 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x38, 0xda, 0x41, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x2a, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0x84, 0x01, 0x0a, 0x04, 0x53, 0x65, 0x65, 0x6b, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x65, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, + 0x01, 0x2a, 0x22, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x73, 0x65, 0x65, 0x6b, 0x1a, 0x70, 0xca, 0x41, 0x15, 0x70, 0x75, 0x62, 0x73, 0x75, + 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0xd2, 0x41, 0x55, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, + 0x68, 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x42, 0xaa, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, + 0x31, 0x42, 0x0b, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x32, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2f, 0x61, 0x70, 0x69, + 0x76, 0x31, 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x70, 0x62, 0x3b, 0x70, 0x75, 0x62, 0x73, + 0x75, 0x62, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x50, 0x75, 0x62, 0x53, 0x75, + 0x62, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5238,184 +5683,192 @@ func file_google_pubsub_v1_pubsub_proto_rawDescGZIP() []byte { return file_google_pubsub_v1_pubsub_proto_rawDescData } -var file_google_pubsub_v1_pubsub_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_google_pubsub_v1_pubsub_proto_msgTypes = make([]protoimpl.MessageInfo, 60) +var file_google_pubsub_v1_pubsub_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_google_pubsub_v1_pubsub_proto_msgTypes = make([]protoimpl.MessageInfo, 62) var file_google_pubsub_v1_pubsub_proto_goTypes = []interface{}{ - (Subscription_State)(0), // 0: google.pubsub.v1.Subscription.State - (BigQueryConfig_State)(0), // 1: google.pubsub.v1.BigQueryConfig.State - (CloudStorageConfig_State)(0), // 2: google.pubsub.v1.CloudStorageConfig.State - (*MessageStoragePolicy)(nil), // 3: google.pubsub.v1.MessageStoragePolicy - (*SchemaSettings)(nil), // 4: google.pubsub.v1.SchemaSettings - (*Topic)(nil), // 5: google.pubsub.v1.Topic - (*PubsubMessage)(nil), // 6: google.pubsub.v1.PubsubMessage - (*GetTopicRequest)(nil), // 7: google.pubsub.v1.GetTopicRequest - (*UpdateTopicRequest)(nil), // 8: google.pubsub.v1.UpdateTopicRequest - (*PublishRequest)(nil), // 9: google.pubsub.v1.PublishRequest - (*PublishResponse)(nil), // 10: google.pubsub.v1.PublishResponse - (*ListTopicsRequest)(nil), // 11: google.pubsub.v1.ListTopicsRequest - (*ListTopicsResponse)(nil), // 12: google.pubsub.v1.ListTopicsResponse - (*ListTopicSubscriptionsRequest)(nil), // 13: google.pubsub.v1.ListTopicSubscriptionsRequest - (*ListTopicSubscriptionsResponse)(nil), // 14: google.pubsub.v1.ListTopicSubscriptionsResponse - (*ListTopicSnapshotsRequest)(nil), // 15: google.pubsub.v1.ListTopicSnapshotsRequest - (*ListTopicSnapshotsResponse)(nil), // 16: google.pubsub.v1.ListTopicSnapshotsResponse - (*DeleteTopicRequest)(nil), // 17: google.pubsub.v1.DeleteTopicRequest - (*DetachSubscriptionRequest)(nil), // 18: google.pubsub.v1.DetachSubscriptionRequest - (*DetachSubscriptionResponse)(nil), // 19: google.pubsub.v1.DetachSubscriptionResponse - (*Subscription)(nil), // 20: google.pubsub.v1.Subscription - (*RetryPolicy)(nil), // 21: google.pubsub.v1.RetryPolicy - (*DeadLetterPolicy)(nil), // 22: google.pubsub.v1.DeadLetterPolicy - (*ExpirationPolicy)(nil), // 23: google.pubsub.v1.ExpirationPolicy - (*PushConfig)(nil), // 24: google.pubsub.v1.PushConfig - (*BigQueryConfig)(nil), // 25: google.pubsub.v1.BigQueryConfig - (*CloudStorageConfig)(nil), // 26: google.pubsub.v1.CloudStorageConfig - (*ReceivedMessage)(nil), // 27: google.pubsub.v1.ReceivedMessage - (*GetSubscriptionRequest)(nil), // 28: google.pubsub.v1.GetSubscriptionRequest - (*UpdateSubscriptionRequest)(nil), // 29: google.pubsub.v1.UpdateSubscriptionRequest - (*ListSubscriptionsRequest)(nil), // 30: google.pubsub.v1.ListSubscriptionsRequest - (*ListSubscriptionsResponse)(nil), // 31: google.pubsub.v1.ListSubscriptionsResponse - (*DeleteSubscriptionRequest)(nil), // 32: google.pubsub.v1.DeleteSubscriptionRequest - (*ModifyPushConfigRequest)(nil), // 33: google.pubsub.v1.ModifyPushConfigRequest - (*PullRequest)(nil), // 34: google.pubsub.v1.PullRequest - (*PullResponse)(nil), // 35: google.pubsub.v1.PullResponse - (*ModifyAckDeadlineRequest)(nil), // 36: google.pubsub.v1.ModifyAckDeadlineRequest - (*AcknowledgeRequest)(nil), // 37: google.pubsub.v1.AcknowledgeRequest - (*StreamingPullRequest)(nil), // 38: google.pubsub.v1.StreamingPullRequest - (*StreamingPullResponse)(nil), // 39: google.pubsub.v1.StreamingPullResponse - (*CreateSnapshotRequest)(nil), // 40: google.pubsub.v1.CreateSnapshotRequest - (*UpdateSnapshotRequest)(nil), // 41: google.pubsub.v1.UpdateSnapshotRequest - (*Snapshot)(nil), // 42: google.pubsub.v1.Snapshot - (*GetSnapshotRequest)(nil), // 43: google.pubsub.v1.GetSnapshotRequest - (*ListSnapshotsRequest)(nil), // 44: google.pubsub.v1.ListSnapshotsRequest - (*ListSnapshotsResponse)(nil), // 45: google.pubsub.v1.ListSnapshotsResponse - (*DeleteSnapshotRequest)(nil), // 46: google.pubsub.v1.DeleteSnapshotRequest - (*SeekRequest)(nil), // 47: google.pubsub.v1.SeekRequest - (*SeekResponse)(nil), // 48: google.pubsub.v1.SeekResponse - nil, // 49: google.pubsub.v1.Topic.LabelsEntry - nil, // 50: google.pubsub.v1.PubsubMessage.AttributesEntry - nil, // 51: google.pubsub.v1.Subscription.LabelsEntry - (*PushConfig_OidcToken)(nil), // 52: google.pubsub.v1.PushConfig.OidcToken - (*PushConfig_PubsubWrapper)(nil), // 53: google.pubsub.v1.PushConfig.PubsubWrapper - (*PushConfig_NoWrapper)(nil), // 54: google.pubsub.v1.PushConfig.NoWrapper - nil, // 55: google.pubsub.v1.PushConfig.AttributesEntry - (*CloudStorageConfig_TextConfig)(nil), // 56: google.pubsub.v1.CloudStorageConfig.TextConfig - (*CloudStorageConfig_AvroConfig)(nil), // 57: google.pubsub.v1.CloudStorageConfig.AvroConfig - (*StreamingPullResponse_AcknowledgeConfirmation)(nil), // 58: google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation - (*StreamingPullResponse_ModifyAckDeadlineConfirmation)(nil), // 59: google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation - (*StreamingPullResponse_SubscriptionProperties)(nil), // 60: google.pubsub.v1.StreamingPullResponse.SubscriptionProperties - nil, // 61: google.pubsub.v1.CreateSnapshotRequest.LabelsEntry - nil, // 62: google.pubsub.v1.Snapshot.LabelsEntry - (Encoding)(0), // 63: google.pubsub.v1.Encoding - (*durationpb.Duration)(nil), // 64: google.protobuf.Duration - (*timestamppb.Timestamp)(nil), // 65: google.protobuf.Timestamp - (*fieldmaskpb.FieldMask)(nil), // 66: google.protobuf.FieldMask - (*emptypb.Empty)(nil), // 67: google.protobuf.Empty + (IngestionDataSourceSettings_AwsKinesis_State)(0), // 0: google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State + (Topic_State)(0), // 1: google.pubsub.v1.Topic.State + (Subscription_State)(0), // 2: google.pubsub.v1.Subscription.State + (BigQueryConfig_State)(0), // 3: google.pubsub.v1.BigQueryConfig.State + (CloudStorageConfig_State)(0), // 4: google.pubsub.v1.CloudStorageConfig.State + (*MessageStoragePolicy)(nil), // 5: google.pubsub.v1.MessageStoragePolicy + (*SchemaSettings)(nil), // 6: google.pubsub.v1.SchemaSettings + (*IngestionDataSourceSettings)(nil), // 7: google.pubsub.v1.IngestionDataSourceSettings + (*Topic)(nil), // 8: google.pubsub.v1.Topic + (*PubsubMessage)(nil), // 9: google.pubsub.v1.PubsubMessage + (*GetTopicRequest)(nil), // 10: google.pubsub.v1.GetTopicRequest + (*UpdateTopicRequest)(nil), // 11: google.pubsub.v1.UpdateTopicRequest + (*PublishRequest)(nil), // 12: google.pubsub.v1.PublishRequest + (*PublishResponse)(nil), // 13: google.pubsub.v1.PublishResponse + (*ListTopicsRequest)(nil), // 14: google.pubsub.v1.ListTopicsRequest + (*ListTopicsResponse)(nil), // 15: google.pubsub.v1.ListTopicsResponse + (*ListTopicSubscriptionsRequest)(nil), // 16: google.pubsub.v1.ListTopicSubscriptionsRequest + (*ListTopicSubscriptionsResponse)(nil), // 17: google.pubsub.v1.ListTopicSubscriptionsResponse + (*ListTopicSnapshotsRequest)(nil), // 18: google.pubsub.v1.ListTopicSnapshotsRequest + (*ListTopicSnapshotsResponse)(nil), // 19: google.pubsub.v1.ListTopicSnapshotsResponse + (*DeleteTopicRequest)(nil), // 20: google.pubsub.v1.DeleteTopicRequest + (*DetachSubscriptionRequest)(nil), // 21: google.pubsub.v1.DetachSubscriptionRequest + (*DetachSubscriptionResponse)(nil), // 22: google.pubsub.v1.DetachSubscriptionResponse + (*Subscription)(nil), // 23: google.pubsub.v1.Subscription + (*RetryPolicy)(nil), // 24: google.pubsub.v1.RetryPolicy + (*DeadLetterPolicy)(nil), // 25: google.pubsub.v1.DeadLetterPolicy + (*ExpirationPolicy)(nil), // 26: google.pubsub.v1.ExpirationPolicy + (*PushConfig)(nil), // 27: google.pubsub.v1.PushConfig + (*BigQueryConfig)(nil), // 28: google.pubsub.v1.BigQueryConfig + (*CloudStorageConfig)(nil), // 29: google.pubsub.v1.CloudStorageConfig + (*ReceivedMessage)(nil), // 30: google.pubsub.v1.ReceivedMessage + (*GetSubscriptionRequest)(nil), // 31: google.pubsub.v1.GetSubscriptionRequest + (*UpdateSubscriptionRequest)(nil), // 32: google.pubsub.v1.UpdateSubscriptionRequest + (*ListSubscriptionsRequest)(nil), // 33: google.pubsub.v1.ListSubscriptionsRequest + (*ListSubscriptionsResponse)(nil), // 34: google.pubsub.v1.ListSubscriptionsResponse + (*DeleteSubscriptionRequest)(nil), // 35: google.pubsub.v1.DeleteSubscriptionRequest + (*ModifyPushConfigRequest)(nil), // 36: google.pubsub.v1.ModifyPushConfigRequest + (*PullRequest)(nil), // 37: google.pubsub.v1.PullRequest + (*PullResponse)(nil), // 38: google.pubsub.v1.PullResponse + (*ModifyAckDeadlineRequest)(nil), // 39: google.pubsub.v1.ModifyAckDeadlineRequest + (*AcknowledgeRequest)(nil), // 40: google.pubsub.v1.AcknowledgeRequest + (*StreamingPullRequest)(nil), // 41: google.pubsub.v1.StreamingPullRequest + (*StreamingPullResponse)(nil), // 42: google.pubsub.v1.StreamingPullResponse + (*CreateSnapshotRequest)(nil), // 43: google.pubsub.v1.CreateSnapshotRequest + (*UpdateSnapshotRequest)(nil), // 44: google.pubsub.v1.UpdateSnapshotRequest + (*Snapshot)(nil), // 45: google.pubsub.v1.Snapshot + (*GetSnapshotRequest)(nil), // 46: google.pubsub.v1.GetSnapshotRequest + (*ListSnapshotsRequest)(nil), // 47: google.pubsub.v1.ListSnapshotsRequest + (*ListSnapshotsResponse)(nil), // 48: google.pubsub.v1.ListSnapshotsResponse + (*DeleteSnapshotRequest)(nil), // 49: google.pubsub.v1.DeleteSnapshotRequest + (*SeekRequest)(nil), // 50: google.pubsub.v1.SeekRequest + (*SeekResponse)(nil), // 51: google.pubsub.v1.SeekResponse + (*IngestionDataSourceSettings_AwsKinesis)(nil), // 52: google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis + nil, // 53: google.pubsub.v1.Topic.LabelsEntry + nil, // 54: google.pubsub.v1.PubsubMessage.AttributesEntry + nil, // 55: google.pubsub.v1.Subscription.LabelsEntry + (*PushConfig_OidcToken)(nil), // 56: google.pubsub.v1.PushConfig.OidcToken + (*PushConfig_PubsubWrapper)(nil), // 57: google.pubsub.v1.PushConfig.PubsubWrapper + (*PushConfig_NoWrapper)(nil), // 58: google.pubsub.v1.PushConfig.NoWrapper + nil, // 59: google.pubsub.v1.PushConfig.AttributesEntry + (*CloudStorageConfig_TextConfig)(nil), // 60: google.pubsub.v1.CloudStorageConfig.TextConfig + (*CloudStorageConfig_AvroConfig)(nil), // 61: google.pubsub.v1.CloudStorageConfig.AvroConfig + (*StreamingPullResponse_AcknowledgeConfirmation)(nil), // 62: google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation + (*StreamingPullResponse_ModifyAckDeadlineConfirmation)(nil), // 63: google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation + (*StreamingPullResponse_SubscriptionProperties)(nil), // 64: google.pubsub.v1.StreamingPullResponse.SubscriptionProperties + nil, // 65: google.pubsub.v1.CreateSnapshotRequest.LabelsEntry + nil, // 66: google.pubsub.v1.Snapshot.LabelsEntry + (Encoding)(0), // 67: google.pubsub.v1.Encoding + (*durationpb.Duration)(nil), // 68: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 69: google.protobuf.Timestamp + (*fieldmaskpb.FieldMask)(nil), // 70: google.protobuf.FieldMask + (*emptypb.Empty)(nil), // 71: google.protobuf.Empty } var file_google_pubsub_v1_pubsub_proto_depIdxs = []int32{ - 63, // 0: google.pubsub.v1.SchemaSettings.encoding:type_name -> google.pubsub.v1.Encoding - 49, // 1: google.pubsub.v1.Topic.labels:type_name -> google.pubsub.v1.Topic.LabelsEntry - 3, // 2: google.pubsub.v1.Topic.message_storage_policy:type_name -> google.pubsub.v1.MessageStoragePolicy - 4, // 3: google.pubsub.v1.Topic.schema_settings:type_name -> google.pubsub.v1.SchemaSettings - 64, // 4: google.pubsub.v1.Topic.message_retention_duration:type_name -> google.protobuf.Duration - 50, // 5: google.pubsub.v1.PubsubMessage.attributes:type_name -> google.pubsub.v1.PubsubMessage.AttributesEntry - 65, // 6: google.pubsub.v1.PubsubMessage.publish_time:type_name -> google.protobuf.Timestamp - 5, // 7: google.pubsub.v1.UpdateTopicRequest.topic:type_name -> google.pubsub.v1.Topic - 66, // 8: google.pubsub.v1.UpdateTopicRequest.update_mask:type_name -> google.protobuf.FieldMask - 6, // 9: google.pubsub.v1.PublishRequest.messages:type_name -> google.pubsub.v1.PubsubMessage - 5, // 10: google.pubsub.v1.ListTopicsResponse.topics:type_name -> google.pubsub.v1.Topic - 24, // 11: google.pubsub.v1.Subscription.push_config:type_name -> google.pubsub.v1.PushConfig - 25, // 12: google.pubsub.v1.Subscription.bigquery_config:type_name -> google.pubsub.v1.BigQueryConfig - 26, // 13: google.pubsub.v1.Subscription.cloud_storage_config:type_name -> google.pubsub.v1.CloudStorageConfig - 64, // 14: google.pubsub.v1.Subscription.message_retention_duration:type_name -> google.protobuf.Duration - 51, // 15: google.pubsub.v1.Subscription.labels:type_name -> google.pubsub.v1.Subscription.LabelsEntry - 23, // 16: google.pubsub.v1.Subscription.expiration_policy:type_name -> google.pubsub.v1.ExpirationPolicy - 22, // 17: google.pubsub.v1.Subscription.dead_letter_policy:type_name -> google.pubsub.v1.DeadLetterPolicy - 21, // 18: google.pubsub.v1.Subscription.retry_policy:type_name -> google.pubsub.v1.RetryPolicy - 64, // 19: google.pubsub.v1.Subscription.topic_message_retention_duration:type_name -> google.protobuf.Duration - 0, // 20: google.pubsub.v1.Subscription.state:type_name -> google.pubsub.v1.Subscription.State - 64, // 21: google.pubsub.v1.RetryPolicy.minimum_backoff:type_name -> google.protobuf.Duration - 64, // 22: google.pubsub.v1.RetryPolicy.maximum_backoff:type_name -> google.protobuf.Duration - 64, // 23: google.pubsub.v1.ExpirationPolicy.ttl:type_name -> google.protobuf.Duration - 55, // 24: google.pubsub.v1.PushConfig.attributes:type_name -> google.pubsub.v1.PushConfig.AttributesEntry - 52, // 25: google.pubsub.v1.PushConfig.oidc_token:type_name -> google.pubsub.v1.PushConfig.OidcToken - 53, // 26: google.pubsub.v1.PushConfig.pubsub_wrapper:type_name -> google.pubsub.v1.PushConfig.PubsubWrapper - 54, // 27: google.pubsub.v1.PushConfig.no_wrapper:type_name -> google.pubsub.v1.PushConfig.NoWrapper - 1, // 28: google.pubsub.v1.BigQueryConfig.state:type_name -> google.pubsub.v1.BigQueryConfig.State - 56, // 29: google.pubsub.v1.CloudStorageConfig.text_config:type_name -> google.pubsub.v1.CloudStorageConfig.TextConfig - 57, // 30: google.pubsub.v1.CloudStorageConfig.avro_config:type_name -> google.pubsub.v1.CloudStorageConfig.AvroConfig - 64, // 31: google.pubsub.v1.CloudStorageConfig.max_duration:type_name -> google.protobuf.Duration - 2, // 32: google.pubsub.v1.CloudStorageConfig.state:type_name -> google.pubsub.v1.CloudStorageConfig.State - 6, // 33: google.pubsub.v1.ReceivedMessage.message:type_name -> google.pubsub.v1.PubsubMessage - 20, // 34: google.pubsub.v1.UpdateSubscriptionRequest.subscription:type_name -> google.pubsub.v1.Subscription - 66, // 35: google.pubsub.v1.UpdateSubscriptionRequest.update_mask:type_name -> google.protobuf.FieldMask - 20, // 36: google.pubsub.v1.ListSubscriptionsResponse.subscriptions:type_name -> google.pubsub.v1.Subscription - 24, // 37: google.pubsub.v1.ModifyPushConfigRequest.push_config:type_name -> google.pubsub.v1.PushConfig - 27, // 38: google.pubsub.v1.PullResponse.received_messages:type_name -> google.pubsub.v1.ReceivedMessage - 27, // 39: google.pubsub.v1.StreamingPullResponse.received_messages:type_name -> google.pubsub.v1.ReceivedMessage - 58, // 40: google.pubsub.v1.StreamingPullResponse.acknowledge_confirmation:type_name -> google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation - 59, // 41: google.pubsub.v1.StreamingPullResponse.modify_ack_deadline_confirmation:type_name -> google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation - 60, // 42: google.pubsub.v1.StreamingPullResponse.subscription_properties:type_name -> google.pubsub.v1.StreamingPullResponse.SubscriptionProperties - 61, // 43: google.pubsub.v1.CreateSnapshotRequest.labels:type_name -> google.pubsub.v1.CreateSnapshotRequest.LabelsEntry - 42, // 44: google.pubsub.v1.UpdateSnapshotRequest.snapshot:type_name -> google.pubsub.v1.Snapshot - 66, // 45: google.pubsub.v1.UpdateSnapshotRequest.update_mask:type_name -> google.protobuf.FieldMask - 65, // 46: google.pubsub.v1.Snapshot.expire_time:type_name -> google.protobuf.Timestamp - 62, // 47: google.pubsub.v1.Snapshot.labels:type_name -> google.pubsub.v1.Snapshot.LabelsEntry - 42, // 48: google.pubsub.v1.ListSnapshotsResponse.snapshots:type_name -> google.pubsub.v1.Snapshot - 65, // 49: google.pubsub.v1.SeekRequest.time:type_name -> google.protobuf.Timestamp - 5, // 50: google.pubsub.v1.Publisher.CreateTopic:input_type -> google.pubsub.v1.Topic - 8, // 51: google.pubsub.v1.Publisher.UpdateTopic:input_type -> google.pubsub.v1.UpdateTopicRequest - 9, // 52: google.pubsub.v1.Publisher.Publish:input_type -> google.pubsub.v1.PublishRequest - 7, // 53: google.pubsub.v1.Publisher.GetTopic:input_type -> google.pubsub.v1.GetTopicRequest - 11, // 54: google.pubsub.v1.Publisher.ListTopics:input_type -> google.pubsub.v1.ListTopicsRequest - 13, // 55: google.pubsub.v1.Publisher.ListTopicSubscriptions:input_type -> google.pubsub.v1.ListTopicSubscriptionsRequest - 15, // 56: google.pubsub.v1.Publisher.ListTopicSnapshots:input_type -> google.pubsub.v1.ListTopicSnapshotsRequest - 17, // 57: google.pubsub.v1.Publisher.DeleteTopic:input_type -> google.pubsub.v1.DeleteTopicRequest - 18, // 58: google.pubsub.v1.Publisher.DetachSubscription:input_type -> google.pubsub.v1.DetachSubscriptionRequest - 20, // 59: google.pubsub.v1.Subscriber.CreateSubscription:input_type -> google.pubsub.v1.Subscription - 28, // 60: google.pubsub.v1.Subscriber.GetSubscription:input_type -> google.pubsub.v1.GetSubscriptionRequest - 29, // 61: google.pubsub.v1.Subscriber.UpdateSubscription:input_type -> google.pubsub.v1.UpdateSubscriptionRequest - 30, // 62: google.pubsub.v1.Subscriber.ListSubscriptions:input_type -> google.pubsub.v1.ListSubscriptionsRequest - 32, // 63: google.pubsub.v1.Subscriber.DeleteSubscription:input_type -> google.pubsub.v1.DeleteSubscriptionRequest - 36, // 64: google.pubsub.v1.Subscriber.ModifyAckDeadline:input_type -> google.pubsub.v1.ModifyAckDeadlineRequest - 37, // 65: google.pubsub.v1.Subscriber.Acknowledge:input_type -> google.pubsub.v1.AcknowledgeRequest - 34, // 66: google.pubsub.v1.Subscriber.Pull:input_type -> google.pubsub.v1.PullRequest - 38, // 67: google.pubsub.v1.Subscriber.StreamingPull:input_type -> google.pubsub.v1.StreamingPullRequest - 33, // 68: google.pubsub.v1.Subscriber.ModifyPushConfig:input_type -> google.pubsub.v1.ModifyPushConfigRequest - 43, // 69: google.pubsub.v1.Subscriber.GetSnapshot:input_type -> google.pubsub.v1.GetSnapshotRequest - 44, // 70: google.pubsub.v1.Subscriber.ListSnapshots:input_type -> google.pubsub.v1.ListSnapshotsRequest - 40, // 71: google.pubsub.v1.Subscriber.CreateSnapshot:input_type -> google.pubsub.v1.CreateSnapshotRequest - 41, // 72: google.pubsub.v1.Subscriber.UpdateSnapshot:input_type -> google.pubsub.v1.UpdateSnapshotRequest - 46, // 73: google.pubsub.v1.Subscriber.DeleteSnapshot:input_type -> google.pubsub.v1.DeleteSnapshotRequest - 47, // 74: google.pubsub.v1.Subscriber.Seek:input_type -> google.pubsub.v1.SeekRequest - 5, // 75: google.pubsub.v1.Publisher.CreateTopic:output_type -> google.pubsub.v1.Topic - 5, // 76: google.pubsub.v1.Publisher.UpdateTopic:output_type -> google.pubsub.v1.Topic - 10, // 77: google.pubsub.v1.Publisher.Publish:output_type -> google.pubsub.v1.PublishResponse - 5, // 78: google.pubsub.v1.Publisher.GetTopic:output_type -> google.pubsub.v1.Topic - 12, // 79: google.pubsub.v1.Publisher.ListTopics:output_type -> google.pubsub.v1.ListTopicsResponse - 14, // 80: google.pubsub.v1.Publisher.ListTopicSubscriptions:output_type -> google.pubsub.v1.ListTopicSubscriptionsResponse - 16, // 81: google.pubsub.v1.Publisher.ListTopicSnapshots:output_type -> google.pubsub.v1.ListTopicSnapshotsResponse - 67, // 82: google.pubsub.v1.Publisher.DeleteTopic:output_type -> google.protobuf.Empty - 19, // 83: google.pubsub.v1.Publisher.DetachSubscription:output_type -> google.pubsub.v1.DetachSubscriptionResponse - 20, // 84: google.pubsub.v1.Subscriber.CreateSubscription:output_type -> google.pubsub.v1.Subscription - 20, // 85: google.pubsub.v1.Subscriber.GetSubscription:output_type -> google.pubsub.v1.Subscription - 20, // 86: google.pubsub.v1.Subscriber.UpdateSubscription:output_type -> google.pubsub.v1.Subscription - 31, // 87: google.pubsub.v1.Subscriber.ListSubscriptions:output_type -> google.pubsub.v1.ListSubscriptionsResponse - 67, // 88: google.pubsub.v1.Subscriber.DeleteSubscription:output_type -> google.protobuf.Empty - 67, // 89: google.pubsub.v1.Subscriber.ModifyAckDeadline:output_type -> google.protobuf.Empty - 67, // 90: google.pubsub.v1.Subscriber.Acknowledge:output_type -> google.protobuf.Empty - 35, // 91: google.pubsub.v1.Subscriber.Pull:output_type -> google.pubsub.v1.PullResponse - 39, // 92: google.pubsub.v1.Subscriber.StreamingPull:output_type -> google.pubsub.v1.StreamingPullResponse - 67, // 93: google.pubsub.v1.Subscriber.ModifyPushConfig:output_type -> google.protobuf.Empty - 42, // 94: google.pubsub.v1.Subscriber.GetSnapshot:output_type -> google.pubsub.v1.Snapshot - 45, // 95: google.pubsub.v1.Subscriber.ListSnapshots:output_type -> google.pubsub.v1.ListSnapshotsResponse - 42, // 96: google.pubsub.v1.Subscriber.CreateSnapshot:output_type -> google.pubsub.v1.Snapshot - 42, // 97: google.pubsub.v1.Subscriber.UpdateSnapshot:output_type -> google.pubsub.v1.Snapshot - 67, // 98: google.pubsub.v1.Subscriber.DeleteSnapshot:output_type -> google.protobuf.Empty - 48, // 99: google.pubsub.v1.Subscriber.Seek:output_type -> google.pubsub.v1.SeekResponse - 75, // [75:100] is the sub-list for method output_type - 50, // [50:75] is the sub-list for method input_type - 50, // [50:50] is the sub-list for extension type_name - 50, // [50:50] is the sub-list for extension extendee - 0, // [0:50] is the sub-list for field type_name + 67, // 0: google.pubsub.v1.SchemaSettings.encoding:type_name -> google.pubsub.v1.Encoding + 52, // 1: google.pubsub.v1.IngestionDataSourceSettings.aws_kinesis:type_name -> google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis + 53, // 2: google.pubsub.v1.Topic.labels:type_name -> google.pubsub.v1.Topic.LabelsEntry + 5, // 3: google.pubsub.v1.Topic.message_storage_policy:type_name -> google.pubsub.v1.MessageStoragePolicy + 6, // 4: google.pubsub.v1.Topic.schema_settings:type_name -> google.pubsub.v1.SchemaSettings + 68, // 5: google.pubsub.v1.Topic.message_retention_duration:type_name -> google.protobuf.Duration + 1, // 6: google.pubsub.v1.Topic.state:type_name -> google.pubsub.v1.Topic.State + 7, // 7: google.pubsub.v1.Topic.ingestion_data_source_settings:type_name -> google.pubsub.v1.IngestionDataSourceSettings + 54, // 8: google.pubsub.v1.PubsubMessage.attributes:type_name -> google.pubsub.v1.PubsubMessage.AttributesEntry + 69, // 9: google.pubsub.v1.PubsubMessage.publish_time:type_name -> google.protobuf.Timestamp + 8, // 10: google.pubsub.v1.UpdateTopicRequest.topic:type_name -> google.pubsub.v1.Topic + 70, // 11: google.pubsub.v1.UpdateTopicRequest.update_mask:type_name -> google.protobuf.FieldMask + 9, // 12: google.pubsub.v1.PublishRequest.messages:type_name -> google.pubsub.v1.PubsubMessage + 8, // 13: google.pubsub.v1.ListTopicsResponse.topics:type_name -> google.pubsub.v1.Topic + 27, // 14: google.pubsub.v1.Subscription.push_config:type_name -> google.pubsub.v1.PushConfig + 28, // 15: google.pubsub.v1.Subscription.bigquery_config:type_name -> google.pubsub.v1.BigQueryConfig + 29, // 16: google.pubsub.v1.Subscription.cloud_storage_config:type_name -> google.pubsub.v1.CloudStorageConfig + 68, // 17: google.pubsub.v1.Subscription.message_retention_duration:type_name -> google.protobuf.Duration + 55, // 18: google.pubsub.v1.Subscription.labels:type_name -> google.pubsub.v1.Subscription.LabelsEntry + 26, // 19: google.pubsub.v1.Subscription.expiration_policy:type_name -> google.pubsub.v1.ExpirationPolicy + 25, // 20: google.pubsub.v1.Subscription.dead_letter_policy:type_name -> google.pubsub.v1.DeadLetterPolicy + 24, // 21: google.pubsub.v1.Subscription.retry_policy:type_name -> google.pubsub.v1.RetryPolicy + 68, // 22: google.pubsub.v1.Subscription.topic_message_retention_duration:type_name -> google.protobuf.Duration + 2, // 23: google.pubsub.v1.Subscription.state:type_name -> google.pubsub.v1.Subscription.State + 68, // 24: google.pubsub.v1.RetryPolicy.minimum_backoff:type_name -> google.protobuf.Duration + 68, // 25: google.pubsub.v1.RetryPolicy.maximum_backoff:type_name -> google.protobuf.Duration + 68, // 26: google.pubsub.v1.ExpirationPolicy.ttl:type_name -> google.protobuf.Duration + 59, // 27: google.pubsub.v1.PushConfig.attributes:type_name -> google.pubsub.v1.PushConfig.AttributesEntry + 56, // 28: google.pubsub.v1.PushConfig.oidc_token:type_name -> google.pubsub.v1.PushConfig.OidcToken + 57, // 29: google.pubsub.v1.PushConfig.pubsub_wrapper:type_name -> google.pubsub.v1.PushConfig.PubsubWrapper + 58, // 30: google.pubsub.v1.PushConfig.no_wrapper:type_name -> google.pubsub.v1.PushConfig.NoWrapper + 3, // 31: google.pubsub.v1.BigQueryConfig.state:type_name -> google.pubsub.v1.BigQueryConfig.State + 60, // 32: google.pubsub.v1.CloudStorageConfig.text_config:type_name -> google.pubsub.v1.CloudStorageConfig.TextConfig + 61, // 33: google.pubsub.v1.CloudStorageConfig.avro_config:type_name -> google.pubsub.v1.CloudStorageConfig.AvroConfig + 68, // 34: google.pubsub.v1.CloudStorageConfig.max_duration:type_name -> google.protobuf.Duration + 4, // 35: google.pubsub.v1.CloudStorageConfig.state:type_name -> google.pubsub.v1.CloudStorageConfig.State + 9, // 36: google.pubsub.v1.ReceivedMessage.message:type_name -> google.pubsub.v1.PubsubMessage + 23, // 37: google.pubsub.v1.UpdateSubscriptionRequest.subscription:type_name -> google.pubsub.v1.Subscription + 70, // 38: google.pubsub.v1.UpdateSubscriptionRequest.update_mask:type_name -> google.protobuf.FieldMask + 23, // 39: google.pubsub.v1.ListSubscriptionsResponse.subscriptions:type_name -> google.pubsub.v1.Subscription + 27, // 40: google.pubsub.v1.ModifyPushConfigRequest.push_config:type_name -> google.pubsub.v1.PushConfig + 30, // 41: google.pubsub.v1.PullResponse.received_messages:type_name -> google.pubsub.v1.ReceivedMessage + 30, // 42: google.pubsub.v1.StreamingPullResponse.received_messages:type_name -> google.pubsub.v1.ReceivedMessage + 62, // 43: google.pubsub.v1.StreamingPullResponse.acknowledge_confirmation:type_name -> google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation + 63, // 44: google.pubsub.v1.StreamingPullResponse.modify_ack_deadline_confirmation:type_name -> google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation + 64, // 45: google.pubsub.v1.StreamingPullResponse.subscription_properties:type_name -> google.pubsub.v1.StreamingPullResponse.SubscriptionProperties + 65, // 46: google.pubsub.v1.CreateSnapshotRequest.labels:type_name -> google.pubsub.v1.CreateSnapshotRequest.LabelsEntry + 45, // 47: google.pubsub.v1.UpdateSnapshotRequest.snapshot:type_name -> google.pubsub.v1.Snapshot + 70, // 48: google.pubsub.v1.UpdateSnapshotRequest.update_mask:type_name -> google.protobuf.FieldMask + 69, // 49: google.pubsub.v1.Snapshot.expire_time:type_name -> google.protobuf.Timestamp + 66, // 50: google.pubsub.v1.Snapshot.labels:type_name -> google.pubsub.v1.Snapshot.LabelsEntry + 45, // 51: google.pubsub.v1.ListSnapshotsResponse.snapshots:type_name -> google.pubsub.v1.Snapshot + 69, // 52: google.pubsub.v1.SeekRequest.time:type_name -> google.protobuf.Timestamp + 0, // 53: google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.state:type_name -> google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State + 8, // 54: google.pubsub.v1.Publisher.CreateTopic:input_type -> google.pubsub.v1.Topic + 11, // 55: google.pubsub.v1.Publisher.UpdateTopic:input_type -> google.pubsub.v1.UpdateTopicRequest + 12, // 56: google.pubsub.v1.Publisher.Publish:input_type -> google.pubsub.v1.PublishRequest + 10, // 57: google.pubsub.v1.Publisher.GetTopic:input_type -> google.pubsub.v1.GetTopicRequest + 14, // 58: google.pubsub.v1.Publisher.ListTopics:input_type -> google.pubsub.v1.ListTopicsRequest + 16, // 59: google.pubsub.v1.Publisher.ListTopicSubscriptions:input_type -> google.pubsub.v1.ListTopicSubscriptionsRequest + 18, // 60: google.pubsub.v1.Publisher.ListTopicSnapshots:input_type -> google.pubsub.v1.ListTopicSnapshotsRequest + 20, // 61: google.pubsub.v1.Publisher.DeleteTopic:input_type -> google.pubsub.v1.DeleteTopicRequest + 21, // 62: google.pubsub.v1.Publisher.DetachSubscription:input_type -> google.pubsub.v1.DetachSubscriptionRequest + 23, // 63: google.pubsub.v1.Subscriber.CreateSubscription:input_type -> google.pubsub.v1.Subscription + 31, // 64: google.pubsub.v1.Subscriber.GetSubscription:input_type -> google.pubsub.v1.GetSubscriptionRequest + 32, // 65: google.pubsub.v1.Subscriber.UpdateSubscription:input_type -> google.pubsub.v1.UpdateSubscriptionRequest + 33, // 66: google.pubsub.v1.Subscriber.ListSubscriptions:input_type -> google.pubsub.v1.ListSubscriptionsRequest + 35, // 67: google.pubsub.v1.Subscriber.DeleteSubscription:input_type -> google.pubsub.v1.DeleteSubscriptionRequest + 39, // 68: google.pubsub.v1.Subscriber.ModifyAckDeadline:input_type -> google.pubsub.v1.ModifyAckDeadlineRequest + 40, // 69: google.pubsub.v1.Subscriber.Acknowledge:input_type -> google.pubsub.v1.AcknowledgeRequest + 37, // 70: google.pubsub.v1.Subscriber.Pull:input_type -> google.pubsub.v1.PullRequest + 41, // 71: google.pubsub.v1.Subscriber.StreamingPull:input_type -> google.pubsub.v1.StreamingPullRequest + 36, // 72: google.pubsub.v1.Subscriber.ModifyPushConfig:input_type -> google.pubsub.v1.ModifyPushConfigRequest + 46, // 73: google.pubsub.v1.Subscriber.GetSnapshot:input_type -> google.pubsub.v1.GetSnapshotRequest + 47, // 74: google.pubsub.v1.Subscriber.ListSnapshots:input_type -> google.pubsub.v1.ListSnapshotsRequest + 43, // 75: google.pubsub.v1.Subscriber.CreateSnapshot:input_type -> google.pubsub.v1.CreateSnapshotRequest + 44, // 76: google.pubsub.v1.Subscriber.UpdateSnapshot:input_type -> google.pubsub.v1.UpdateSnapshotRequest + 49, // 77: google.pubsub.v1.Subscriber.DeleteSnapshot:input_type -> google.pubsub.v1.DeleteSnapshotRequest + 50, // 78: google.pubsub.v1.Subscriber.Seek:input_type -> google.pubsub.v1.SeekRequest + 8, // 79: google.pubsub.v1.Publisher.CreateTopic:output_type -> google.pubsub.v1.Topic + 8, // 80: google.pubsub.v1.Publisher.UpdateTopic:output_type -> google.pubsub.v1.Topic + 13, // 81: google.pubsub.v1.Publisher.Publish:output_type -> google.pubsub.v1.PublishResponse + 8, // 82: google.pubsub.v1.Publisher.GetTopic:output_type -> google.pubsub.v1.Topic + 15, // 83: google.pubsub.v1.Publisher.ListTopics:output_type -> google.pubsub.v1.ListTopicsResponse + 17, // 84: google.pubsub.v1.Publisher.ListTopicSubscriptions:output_type -> google.pubsub.v1.ListTopicSubscriptionsResponse + 19, // 85: google.pubsub.v1.Publisher.ListTopicSnapshots:output_type -> google.pubsub.v1.ListTopicSnapshotsResponse + 71, // 86: google.pubsub.v1.Publisher.DeleteTopic:output_type -> google.protobuf.Empty + 22, // 87: google.pubsub.v1.Publisher.DetachSubscription:output_type -> google.pubsub.v1.DetachSubscriptionResponse + 23, // 88: google.pubsub.v1.Subscriber.CreateSubscription:output_type -> google.pubsub.v1.Subscription + 23, // 89: google.pubsub.v1.Subscriber.GetSubscription:output_type -> google.pubsub.v1.Subscription + 23, // 90: google.pubsub.v1.Subscriber.UpdateSubscription:output_type -> google.pubsub.v1.Subscription + 34, // 91: google.pubsub.v1.Subscriber.ListSubscriptions:output_type -> google.pubsub.v1.ListSubscriptionsResponse + 71, // 92: google.pubsub.v1.Subscriber.DeleteSubscription:output_type -> google.protobuf.Empty + 71, // 93: google.pubsub.v1.Subscriber.ModifyAckDeadline:output_type -> google.protobuf.Empty + 71, // 94: google.pubsub.v1.Subscriber.Acknowledge:output_type -> google.protobuf.Empty + 38, // 95: google.pubsub.v1.Subscriber.Pull:output_type -> google.pubsub.v1.PullResponse + 42, // 96: google.pubsub.v1.Subscriber.StreamingPull:output_type -> google.pubsub.v1.StreamingPullResponse + 71, // 97: google.pubsub.v1.Subscriber.ModifyPushConfig:output_type -> google.protobuf.Empty + 45, // 98: google.pubsub.v1.Subscriber.GetSnapshot:output_type -> google.pubsub.v1.Snapshot + 48, // 99: google.pubsub.v1.Subscriber.ListSnapshots:output_type -> google.pubsub.v1.ListSnapshotsResponse + 45, // 100: google.pubsub.v1.Subscriber.CreateSnapshot:output_type -> google.pubsub.v1.Snapshot + 45, // 101: google.pubsub.v1.Subscriber.UpdateSnapshot:output_type -> google.pubsub.v1.Snapshot + 71, // 102: google.pubsub.v1.Subscriber.DeleteSnapshot:output_type -> google.protobuf.Empty + 51, // 103: google.pubsub.v1.Subscriber.Seek:output_type -> google.pubsub.v1.SeekResponse + 79, // [79:104] is the sub-list for method output_type + 54, // [54:79] is the sub-list for method input_type + 54, // [54:54] is the sub-list for extension type_name + 54, // [54:54] is the sub-list for extension extendee + 0, // [0:54] is the sub-list for field type_name } func init() { file_google_pubsub_v1_pubsub_proto_init() } @@ -5450,7 +5903,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Topic); i { + switch v := v.(*IngestionDataSourceSettings); i { case 0: return &v.state case 1: @@ -5462,7 +5915,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PubsubMessage); i { + switch v := v.(*Topic); i { case 0: return &v.state case 1: @@ -5474,7 +5927,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTopicRequest); i { + switch v := v.(*PubsubMessage); i { case 0: return &v.state case 1: @@ -5486,7 +5939,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateTopicRequest); i { + switch v := v.(*GetTopicRequest); i { case 0: return &v.state case 1: @@ -5498,7 +5951,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PublishRequest); i { + switch v := v.(*UpdateTopicRequest); i { case 0: return &v.state case 1: @@ -5510,7 +5963,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PublishResponse); i { + switch v := v.(*PublishRequest); i { case 0: return &v.state case 1: @@ -5522,7 +5975,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTopicsRequest); i { + switch v := v.(*PublishResponse); i { case 0: return &v.state case 1: @@ -5534,7 +5987,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTopicsResponse); i { + switch v := v.(*ListTopicsRequest); i { case 0: return &v.state case 1: @@ -5546,7 +5999,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTopicSubscriptionsRequest); i { + switch v := v.(*ListTopicsResponse); i { case 0: return &v.state case 1: @@ -5558,7 +6011,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTopicSubscriptionsResponse); i { + switch v := v.(*ListTopicSubscriptionsRequest); i { case 0: return &v.state case 1: @@ -5570,7 +6023,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTopicSnapshotsRequest); i { + switch v := v.(*ListTopicSubscriptionsResponse); i { case 0: return &v.state case 1: @@ -5582,7 +6035,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTopicSnapshotsResponse); i { + switch v := v.(*ListTopicSnapshotsRequest); i { case 0: return &v.state case 1: @@ -5594,7 +6047,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteTopicRequest); i { + switch v := v.(*ListTopicSnapshotsResponse); i { case 0: return &v.state case 1: @@ -5606,7 +6059,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DetachSubscriptionRequest); i { + switch v := v.(*DeleteTopicRequest); i { case 0: return &v.state case 1: @@ -5618,7 +6071,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DetachSubscriptionResponse); i { + switch v := v.(*DetachSubscriptionRequest); i { case 0: return &v.state case 1: @@ -5630,7 +6083,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Subscription); i { + switch v := v.(*DetachSubscriptionResponse); i { case 0: return &v.state case 1: @@ -5642,7 +6095,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RetryPolicy); i { + switch v := v.(*Subscription); i { case 0: return &v.state case 1: @@ -5654,7 +6107,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeadLetterPolicy); i { + switch v := v.(*RetryPolicy); i { case 0: return &v.state case 1: @@ -5666,7 +6119,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExpirationPolicy); i { + switch v := v.(*DeadLetterPolicy); i { case 0: return &v.state case 1: @@ -5678,7 +6131,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PushConfig); i { + switch v := v.(*ExpirationPolicy); i { case 0: return &v.state case 1: @@ -5690,7 +6143,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BigQueryConfig); i { + switch v := v.(*PushConfig); i { case 0: return &v.state case 1: @@ -5702,7 +6155,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloudStorageConfig); i { + switch v := v.(*BigQueryConfig); i { case 0: return &v.state case 1: @@ -5714,7 +6167,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReceivedMessage); i { + switch v := v.(*CloudStorageConfig); i { case 0: return &v.state case 1: @@ -5726,7 +6179,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSubscriptionRequest); i { + switch v := v.(*ReceivedMessage); i { case 0: return &v.state case 1: @@ -5738,7 +6191,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateSubscriptionRequest); i { + switch v := v.(*GetSubscriptionRequest); i { case 0: return &v.state case 1: @@ -5750,7 +6203,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSubscriptionsRequest); i { + switch v := v.(*UpdateSubscriptionRequest); i { case 0: return &v.state case 1: @@ -5762,7 +6215,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSubscriptionsResponse); i { + switch v := v.(*ListSubscriptionsRequest); i { case 0: return &v.state case 1: @@ -5774,7 +6227,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteSubscriptionRequest); i { + switch v := v.(*ListSubscriptionsResponse); i { case 0: return &v.state case 1: @@ -5786,7 +6239,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModifyPushConfigRequest); i { + switch v := v.(*DeleteSubscriptionRequest); i { case 0: return &v.state case 1: @@ -5798,7 +6251,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PullRequest); i { + switch v := v.(*ModifyPushConfigRequest); i { case 0: return &v.state case 1: @@ -5810,7 +6263,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PullResponse); i { + switch v := v.(*PullRequest); i { case 0: return &v.state case 1: @@ -5822,7 +6275,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModifyAckDeadlineRequest); i { + switch v := v.(*PullResponse); i { case 0: return &v.state case 1: @@ -5834,7 +6287,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AcknowledgeRequest); i { + switch v := v.(*ModifyAckDeadlineRequest); i { case 0: return &v.state case 1: @@ -5846,7 +6299,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamingPullRequest); i { + switch v := v.(*AcknowledgeRequest); i { case 0: return &v.state case 1: @@ -5858,7 +6311,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamingPullResponse); i { + switch v := v.(*StreamingPullRequest); i { case 0: return &v.state case 1: @@ -5870,7 +6323,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSnapshotRequest); i { + switch v := v.(*StreamingPullResponse); i { case 0: return &v.state case 1: @@ -5882,7 +6335,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateSnapshotRequest); i { + switch v := v.(*CreateSnapshotRequest); i { case 0: return &v.state case 1: @@ -5894,7 +6347,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Snapshot); i { + switch v := v.(*UpdateSnapshotRequest); i { case 0: return &v.state case 1: @@ -5906,7 +6359,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSnapshotRequest); i { + switch v := v.(*Snapshot); i { case 0: return &v.state case 1: @@ -5918,7 +6371,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSnapshotsRequest); i { + switch v := v.(*GetSnapshotRequest); i { case 0: return &v.state case 1: @@ -5930,7 +6383,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSnapshotsResponse); i { + switch v := v.(*ListSnapshotsRequest); i { case 0: return &v.state case 1: @@ -5942,7 +6395,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteSnapshotRequest); i { + switch v := v.(*ListSnapshotsResponse); i { case 0: return &v.state case 1: @@ -5954,7 +6407,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SeekRequest); i { + switch v := v.(*DeleteSnapshotRequest); i { case 0: return &v.state case 1: @@ -5966,6 +6419,18 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } file_google_pubsub_v1_pubsub_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SeekRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_pubsub_v1_pubsub_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SeekResponse); i { case 0: return &v.state @@ -5977,7 +6442,19 @@ func file_google_pubsub_v1_pubsub_proto_init() { return nil } } - file_google_pubsub_v1_pubsub_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_google_pubsub_v1_pubsub_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IngestionDataSourceSettings_AwsKinesis); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_pubsub_v1_pubsub_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PushConfig_OidcToken); i { case 0: return &v.state @@ -5989,7 +6466,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { return nil } } - file_google_pubsub_v1_pubsub_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_google_pubsub_v1_pubsub_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PushConfig_PubsubWrapper); i { case 0: return &v.state @@ -6001,7 +6478,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { return nil } } - file_google_pubsub_v1_pubsub_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_google_pubsub_v1_pubsub_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PushConfig_NoWrapper); i { case 0: return &v.state @@ -6013,7 +6490,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { return nil } } - file_google_pubsub_v1_pubsub_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_google_pubsub_v1_pubsub_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloudStorageConfig_TextConfig); i { case 0: return &v.state @@ -6025,7 +6502,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { return nil } } - file_google_pubsub_v1_pubsub_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_google_pubsub_v1_pubsub_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloudStorageConfig_AvroConfig); i { case 0: return &v.state @@ -6037,7 +6514,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { return nil } } - file_google_pubsub_v1_pubsub_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_google_pubsub_v1_pubsub_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingPullResponse_AcknowledgeConfirmation); i { case 0: return &v.state @@ -6049,7 +6526,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { return nil } } - file_google_pubsub_v1_pubsub_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_google_pubsub_v1_pubsub_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingPullResponse_ModifyAckDeadlineConfirmation); i { case 0: return &v.state @@ -6061,7 +6538,7 @@ func file_google_pubsub_v1_pubsub_proto_init() { return nil } } - file_google_pubsub_v1_pubsub_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_google_pubsub_v1_pubsub_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingPullResponse_SubscriptionProperties); i { case 0: return &v.state @@ -6074,16 +6551,19 @@ func file_google_pubsub_v1_pubsub_proto_init() { } } } - file_google_pubsub_v1_pubsub_proto_msgTypes[21].OneofWrappers = []interface{}{ + file_google_pubsub_v1_pubsub_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*IngestionDataSourceSettings_AwsKinesis_)(nil), + } + file_google_pubsub_v1_pubsub_proto_msgTypes[22].OneofWrappers = []interface{}{ (*PushConfig_OidcToken_)(nil), (*PushConfig_PubsubWrapper_)(nil), (*PushConfig_NoWrapper_)(nil), } - file_google_pubsub_v1_pubsub_proto_msgTypes[23].OneofWrappers = []interface{}{ + file_google_pubsub_v1_pubsub_proto_msgTypes[24].OneofWrappers = []interface{}{ (*CloudStorageConfig_TextConfig_)(nil), (*CloudStorageConfig_AvroConfig_)(nil), } - file_google_pubsub_v1_pubsub_proto_msgTypes[44].OneofWrappers = []interface{}{ + file_google_pubsub_v1_pubsub_proto_msgTypes[45].OneofWrappers = []interface{}{ (*SeekRequest_Time)(nil), (*SeekRequest_Snapshot)(nil), } @@ -6092,8 +6572,8 @@ func file_google_pubsub_v1_pubsub_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_pubsub_v1_pubsub_proto_rawDesc, - NumEnums: 3, - NumMessages: 60, + NumEnums: 5, + NumMessages: 62, NumExtensions: 0, NumServices: 2, }, @@ -6123,8 +6603,8 @@ type PublisherClient interface { // Creates the given topic with the given name. See the [resource name rules] // (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). CreateTopic(ctx context.Context, in *Topic, opts ...grpc.CallOption) (*Topic, error) - // Updates an existing topic. Note that certain properties of a - // topic are not modifiable. + // Updates an existing topic by updating the fields specified in the update + // mask. Note that certain properties of a topic are not modifiable. UpdateTopic(ctx context.Context, in *UpdateTopicRequest, opts ...grpc.CallOption) (*Topic, error) // Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic // does not exist. @@ -6248,8 +6728,8 @@ type PublisherServer interface { // Creates the given topic with the given name. See the [resource name rules] // (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). CreateTopic(context.Context, *Topic) (*Topic, error) - // Updates an existing topic. Note that certain properties of a - // topic are not modifiable. + // Updates an existing topic by updating the fields specified in the update + // mask. Note that certain properties of a topic are not modifiable. UpdateTopic(context.Context, *UpdateTopicRequest) (*Topic, error) // Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic // does not exist. @@ -6540,8 +7020,9 @@ type SubscriberClient interface { CreateSubscription(ctx context.Context, in *Subscription, opts ...grpc.CallOption) (*Subscription, error) // Gets the configuration details of a subscription. GetSubscription(ctx context.Context, in *GetSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error) - // Updates an existing subscription. Note that certain properties of a - // subscription, such as its topic, are not modifiable. + // Updates an existing subscription by updating the fields specified in the + // update mask. Note that certain properties of a subscription, such as its + // topic, are not modifiable. UpdateSubscription(ctx context.Context, in *UpdateSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error) // Lists matching subscriptions. ListSubscriptions(ctx context.Context, in *ListSubscriptionsRequest, opts ...grpc.CallOption) (*ListSubscriptionsResponse, error) @@ -6611,7 +7092,8 @@ type SubscriberClient interface { // generated name is populated in the returned Snapshot object. Note that for // REST API requests, you must specify a name in the request. CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error) - // Updates an existing snapshot. Snapshots are used in + // Updates an existing snapshot by updating the fields specified in the update + // mask. Snapshots are used in // [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, // which allow you to manage message acknowledgments in bulk. That is, you can // set the acknowledgment state of messages in an existing subscription to the @@ -6827,8 +7309,9 @@ type SubscriberServer interface { CreateSubscription(context.Context, *Subscription) (*Subscription, error) // Gets the configuration details of a subscription. GetSubscription(context.Context, *GetSubscriptionRequest) (*Subscription, error) - // Updates an existing subscription. Note that certain properties of a - // subscription, such as its topic, are not modifiable. + // Updates an existing subscription by updating the fields specified in the + // update mask. Note that certain properties of a subscription, such as its + // topic, are not modifiable. UpdateSubscription(context.Context, *UpdateSubscriptionRequest) (*Subscription, error) // Lists matching subscriptions. ListSubscriptions(context.Context, *ListSubscriptionsRequest) (*ListSubscriptionsResponse, error) @@ -6898,7 +7381,8 @@ type SubscriberServer interface { // generated name is populated in the returned Snapshot object. Note that for // REST API requests, you must specify a name in the request. CreateSnapshot(context.Context, *CreateSnapshotRequest) (*Snapshot, error) - // Updates an existing snapshot. Snapshots are used in + // Updates an existing snapshot by updating the fields specified in the update + // mask. Snapshots are used in // [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, // which allow you to manage message acknowledgments in bulk. That is, you can // set the acknowledgment state of messages in an existing subscription to the diff --git a/pubsub/apiv1/pubsubpb/schema.pb.go b/pubsub/apiv1/pubsubpb/schema.pb.go index 871d30f005f..5822b64f47a 100755 --- a/pubsub/apiv1/pubsubpb/schema.pb.go +++ b/pubsub/apiv1/pubsubpb/schema.pb.go @@ -309,8 +309,8 @@ type CreateSchemaRequest struct { // The ID to use for the schema, which will become the final component of // the schema's resource name. // - // See https://cloud.google.com/pubsub/docs/admin#resource_names for resource - // name constraints. + // See https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names for + // resource name constraints. SchemaId string `protobuf:"bytes,3,opt,name=schema_id,json=schemaId,proto3" json:"schema_id,omitempty"` } @@ -775,7 +775,7 @@ type RollbackSchemaRequest struct { // Required. The revision ID to roll back to. // It must be a revision of the same schema. // - // Example: c7cfa2a8 + // Example: c7cfa2a8 RevisionId string `protobuf:"bytes,2,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"` } @@ -1050,6 +1050,7 @@ type ValidateMessageRequest struct { // Format is `projects/{project-id}`. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Types that are assignable to SchemaSpec: + // // *ValidateMessageRequest_Name // *ValidateMessageRequest_Schema SchemaSpec isValidateMessageRequest_SchemaSpec `protobuf_oneof:"schema_spec"` diff --git a/pubsub/apiv1/subscriber_client.go b/pubsub/apiv1/subscriber_client.go index c81de2425bd..6e50c2c5a16 100755 --- a/pubsub/apiv1/subscriber_client.go +++ b/pubsub/apiv1/subscriber_client.go @@ -582,8 +582,9 @@ func (c *SubscriberClient) GetSubscription(ctx context.Context, req *pubsubpb.Ge return c.internalClient.GetSubscription(ctx, req, opts...) } -// UpdateSubscription updates an existing subscription. Note that certain properties of a -// subscription, such as its topic, are not modifiable. +// UpdateSubscription updates an existing subscription by updating the fields specified in the +// update mask. Note that certain properties of a subscription, such as its +// topic, are not modifiable. func (c *SubscriberClient) UpdateSubscription(ctx context.Context, req *pubsubpb.UpdateSubscriptionRequest, opts ...gax.CallOption) (*pubsubpb.Subscription, error) { return c.internalClient.UpdateSubscription(ctx, req, opts...) } @@ -687,7 +688,8 @@ func (c *SubscriberClient) CreateSnapshot(ctx context.Context, req *pubsubpb.Cre return c.internalClient.CreateSnapshot(ctx, req, opts...) } -// UpdateSnapshot updates an existing snapshot. Snapshots are used in +// UpdateSnapshot updates an existing snapshot by updating the fields specified in the update +// mask. Snapshots are used in // Seek (at https://cloud.google.com/pubsub/docs/replay-overview) operations, // which allow you to manage message acknowledgments in bulk. That is, you can // set the acknowledgment state of messages in an existing subscription to the @@ -1404,8 +1406,9 @@ func (c *subscriberRESTClient) GetSubscription(ctx context.Context, req *pubsubp return resp, nil } -// UpdateSubscription updates an existing subscription. Note that certain properties of a -// subscription, such as its topic, are not modifiable. +// UpdateSubscription updates an existing subscription by updating the fields specified in the +// update mask. Note that certain properties of a subscription, such as its +// topic, are not modifiable. func (c *subscriberRESTClient) UpdateSubscription(ctx context.Context, req *pubsubpb.UpdateSubscriptionRequest, opts ...gax.CallOption) (*pubsubpb.Subscription, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} jsonReq, err := m.Marshal(req) @@ -2081,7 +2084,8 @@ func (c *subscriberRESTClient) CreateSnapshot(ctx context.Context, req *pubsubpb return resp, nil } -// UpdateSnapshot updates an existing snapshot. Snapshots are used in +// UpdateSnapshot updates an existing snapshot by updating the fields specified in the update +// mask. Snapshots are used in // Seek (at https://cloud.google.com/pubsub/docs/replay-overview) operations, // which allow you to manage message acknowledgments in bulk. That is, you can // set the acknowledgment state of messages in an existing subscription to the diff --git a/pubsublite/apiv1/pubsublitepb/admin.pb.go b/pubsublite/apiv1/pubsublitepb/admin.pb.go index a3f38590b5c..dec0b06c45b 100755 --- a/pubsublite/apiv1/pubsublitepb/admin.pb.go +++ b/pubsublite/apiv1/pubsublitepb/admin.pb.go @@ -1076,6 +1076,7 @@ type SeekSubscriptionRequest struct { // The target to seek to. Must be set. // // Types that are assignable to Target: + // // *SeekSubscriptionRequest_NamedTarget_ // *SeekSubscriptionRequest_TimeTarget Target isSeekSubscriptionRequest_Target `protobuf_oneof:"target"` diff --git a/pubsublite/apiv1/pubsublitepb/common.pb.go b/pubsublite/apiv1/pubsublitepb/common.pb.go index 894bc6000cb..06f40ce9ae8 100755 --- a/pubsublite/apiv1/pubsublitepb/common.pb.go +++ b/pubsublite/apiv1/pubsublitepb/common.pb.go @@ -662,6 +662,7 @@ type ExportConfig struct { // The destination to export to. Required. // // Types that are assignable to Destination: + // // *ExportConfig_PubsubConfig Destination isExportConfig_Destination `protobuf_oneof:"destination"` } @@ -755,6 +756,7 @@ type TimeTarget struct { // The type of message time to query. // // Types that are assignable to Time: + // // *TimeTarget_PublishTime // *TimeTarget_EventTime Time isTimeTarget_Time `protobuf_oneof:"time"` @@ -853,6 +855,7 @@ type Topic_PartitionConfig struct { // The throughput dimension of this topic. // // Types that are assignable to Dimension: + // // *Topic_PartitionConfig_Scale // *Topic_PartitionConfig_Capacity_ Dimension isTopic_PartitionConfig_Dimension `protobuf_oneof:"dimension"` diff --git a/pubsublite/apiv1/pubsublitepb/cursor.pb.go b/pubsublite/apiv1/pubsublitepb/cursor.pb.go index cb2349e58ac..138d8df74a2 100755 --- a/pubsublite/apiv1/pubsublitepb/cursor.pb.go +++ b/pubsublite/apiv1/pubsublitepb/cursor.pb.go @@ -250,6 +250,7 @@ type StreamingCommitCursorRequest struct { // The type of request this is. // // Types that are assignable to Request: + // // *StreamingCommitCursorRequest_Initial // *StreamingCommitCursorRequest_Commit Request isStreamingCommitCursorRequest_Request `protobuf_oneof:"request"` @@ -335,6 +336,7 @@ type StreamingCommitCursorResponse struct { // The type of request this is. // // Types that are assignable to Request: + // // *StreamingCommitCursorResponse_Initial // *StreamingCommitCursorResponse_Commit Request isStreamingCommitCursorResponse_Request `protobuf_oneof:"request"` diff --git a/pubsublite/apiv1/pubsublitepb/publisher.pb.go b/pubsublite/apiv1/pubsublitepb/publisher.pb.go index 522340a7dcf..9d9e94488bd 100755 --- a/pubsublite/apiv1/pubsublitepb/publisher.pb.go +++ b/pubsublite/apiv1/pubsublitepb/publisher.pb.go @@ -297,6 +297,7 @@ type PublishRequest struct { // The type of request this is. // // Types that are assignable to RequestType: + // // *PublishRequest_InitialRequest // *PublishRequest_MessagePublishRequest RequestType isPublishRequest_RequestType `protobuf_oneof:"request_type"` @@ -382,6 +383,7 @@ type PublishResponse struct { // The type of response this is. // // Types that are assignable to ResponseType: + // // *PublishResponse_InitialResponse // *PublishResponse_MessageResponse ResponseType isPublishResponse_ResponseType `protobuf_oneof:"response_type"` diff --git a/pubsublite/apiv1/pubsublitepb/subscriber.pb.go b/pubsublite/apiv1/pubsublitepb/subscriber.pb.go index bf5e02030f0..a4c8d250ae9 100755 --- a/pubsublite/apiv1/pubsublitepb/subscriber.pb.go +++ b/pubsublite/apiv1/pubsublitepb/subscriber.pb.go @@ -230,6 +230,7 @@ type SeekRequest struct { // The target to seek to. Must be set. // // Types that are assignable to Target: + // // *SeekRequest_NamedTarget_ // *SeekRequest_Cursor Target isSeekRequest_Target `protobuf_oneof:"target"` @@ -424,6 +425,7 @@ type SubscribeRequest struct { // The type of request this is. // // Types that are assignable to Request: + // // *SubscribeRequest_Initial // *SubscribeRequest_Seek // *SubscribeRequest_FlowControl @@ -578,6 +580,7 @@ type SubscribeResponse struct { // The type of response this is. // // Types that are assignable to Response: + // // *SubscribeResponse_Initial // *SubscribeResponse_Seek // *SubscribeResponse_Messages @@ -840,6 +843,7 @@ type PartitionAssignmentRequest struct { // The type of request this is. // // Types that are assignable to Request: + // // *PartitionAssignmentRequest_Initial // *PartitionAssignmentRequest_Ack Request isPartitionAssignmentRequest_Request `protobuf_oneof:"request"` diff --git a/recaptchaenterprise/apiv1/recaptchaenterprisepb/recaptchaenterprise.pb.go b/recaptchaenterprise/apiv1/recaptchaenterprisepb/recaptchaenterprise.pb.go index 94d59ac79b8..c5a1d330057 100755 --- a/recaptchaenterprise/apiv1/recaptchaenterprisepb/recaptchaenterprise.pb.go +++ b/recaptchaenterprise/apiv1/recaptchaenterprisepb/recaptchaenterprise.pb.go @@ -1330,6 +1330,7 @@ type EndpointVerificationInfo struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Endpoint: + // // *EndpointVerificationInfo_EmailAddress // *EndpointVerificationInfo_PhoneNumber Endpoint isEndpointVerificationInfo_Endpoint `protobuf_oneof:"endpoint"` @@ -2170,6 +2171,7 @@ type UserId struct { unknownFields protoimpl.UnknownFields // Types that are assignable to IdOneof: + // // *UserId_Email // *UserId_PhoneNumber // *UserId_Username @@ -3640,6 +3642,7 @@ type Key struct { // platform for which the settings are enabled. // // Types that are assignable to PlatformSettings: + // // *Key_WebSettings // *Key_AndroidSettings // *Key_IosSettings @@ -4405,6 +4408,7 @@ type FirewallAction struct { unknownFields protoimpl.UnknownFields // Types that are assignable to FirewallActionOneof: + // // *FirewallAction_Allow // *FirewallAction_Block // *FirewallAction_Redirect diff --git a/recommendationengine/apiv1beta1/recommendationenginepb/catalog.pb.go b/recommendationengine/apiv1beta1/recommendationenginepb/catalog.pb.go index 0e7af35ceae..e641bbbf0c0 100755 --- a/recommendationengine/apiv1beta1/recommendationenginepb/catalog.pb.go +++ b/recommendationengine/apiv1beta1/recommendationenginepb/catalog.pb.go @@ -119,10 +119,10 @@ type CatalogItem struct { // ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be // represented as: // - // "categoryHierarchies": [ - // { "categories": ["Shoes & Accessories", "Shoes"]}, - // { "categories": ["Sports & Fitness", "Athletic Clothing", "Shoes"] } - // ] + // "categoryHierarchies": [ + // { "categories": ["Shoes & Accessories", "Shoes"]}, + // { "categories": ["Sports & Fitness", "Athletic Clothing", "Shoes"] } + // ] CategoryHierarchies []*CatalogItem_CategoryHierarchy `protobuf:"bytes,2,rep,name=category_hierarchies,json=categoryHierarchies,proto3" json:"category_hierarchies,omitempty"` // Required. Catalog item title. UTF-8 encoded string with a length limit of 1 // KiB. @@ -157,6 +157,7 @@ type CatalogItem struct { // Extra catalog item metadata for different recommendation types. // // Types that are assignable to RecommendationType: + // // *CatalogItem_ProductMetadata RecommendationType isCatalogItem_RecommendationType `protobuf_oneof:"recommendation_type"` } @@ -283,6 +284,7 @@ type ProductCatalogItem struct { // Product price. Only one of 'exactPrice'/'priceRange' can be provided. // // Types that are assignable to Price: + // // *ProductCatalogItem_ExactPrice_ // *ProductCatalogItem_PriceRange_ Price isProductCatalogItem_Price `protobuf_oneof:"price"` diff --git a/recommendationengine/apiv1beta1/recommendationenginepb/common.pb.go b/recommendationengine/apiv1beta1/recommendationenginepb/common.pb.go index b6a42685a02..fe46a8b6d86 100755 --- a/recommendationengine/apiv1beta1/recommendationenginepb/common.pb.go +++ b/recommendationengine/apiv1beta1/recommendationenginepb/common.pb.go @@ -50,7 +50,8 @@ type FeatureMap struct { // Feature names and values must be UTF-8 encoded strings. // // For example: `{ "colors": {"value": ["yellow", "green"]}, - // "sizes": {"value":["S", "M"]}` + // + // "sizes": {"value":["S", "M"]}` CategoricalFeatures map[string]*FeatureMap_StringList `protobuf:"bytes,1,rep,name=categorical_features,json=categoricalFeatures,proto3" json:"categorical_features,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Numerical features. Some examples would be the height/weight of a product, // or age of a customer. @@ -58,7 +59,8 @@ type FeatureMap struct { // Feature names must be UTF-8 encoded strings. // // For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, - // "heights_cm": {"value":[8.1, 6.4]} }` + // + // "heights_cm": {"value":[8.1, 6.4]} }` NumericalFeatures map[string]*FeatureMap_FloatList `protobuf:"bytes,2,rep,name=numerical_features,json=numericalFeatures,proto3" json:"numerical_features,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } diff --git a/recommendationengine/apiv1beta1/recommendationenginepb/import.pb.go b/recommendationengine/apiv1beta1/recommendationenginepb/import.pb.go index 53773d4edd6..4b1a22410f7 100755 --- a/recommendationengine/apiv1beta1/recommendationenginepb/import.pb.go +++ b/recommendationengine/apiv1beta1/recommendationenginepb/import.pb.go @@ -202,6 +202,7 @@ type ImportErrorsConfig struct { // Required. Errors destination. // // Types that are assignable to Destination: + // // *ImportErrorsConfig_GcsPrefix Destination isImportErrorsConfig_Destination `protobuf_oneof:"destination"` } @@ -436,6 +437,7 @@ type InputConfig struct { // Required. The source of the input. // // Types that are assignable to Source: + // // *InputConfig_CatalogInlineSource // *InputConfig_GcsSource // *InputConfig_UserEventInlineSource diff --git a/recommendationengine/apiv1beta1/recommendationenginepb/prediction_service.pb.go b/recommendationengine/apiv1beta1/recommendationenginepb/prediction_service.pb.go index 415033501bc..0bf7bb4c100 100755 --- a/recommendationengine/apiv1beta1/recommendationenginepb/prediction_service.pb.go +++ b/recommendationengine/apiv1beta1/recommendationenginepb/prediction_service.pb.go @@ -54,25 +54,25 @@ type PredictRequest struct { // // We currently support three placements with the following IDs by default: // - // * `shopping_cart`: Predicts items frequently bought together with one or - // more catalog items in the same shopping session. Commonly displayed after - // `add-to-cart` events, on product detail pages, or on the shopping cart - // page. + // - `shopping_cart`: Predicts items frequently bought together with one or + // more catalog items in the same shopping session. Commonly displayed after + // `add-to-cart` events, on product detail pages, or on the shopping cart + // page. // - // * `home_page`: Predicts the next product that a user will most likely - // engage with or purchase based on the shopping or viewing history of the - // specified `userId` or `visitorId`. For example - Recommendations for you. + // - `home_page`: Predicts the next product that a user will most likely + // engage with or purchase based on the shopping or viewing history of the + // specified `userId` or `visitorId`. For example - Recommendations for you. // - // * `product_detail`: Predicts the next product that a user will most likely - // engage with or purchase. The prediction is based on the shopping or - // viewing history of the specified `userId` or `visitorId` and its - // relevance to a specified `CatalogItem`. Typically used on product detail - // pages. For example - More items like this. + // - `product_detail`: Predicts the next product that a user will most likely + // engage with or purchase. The prediction is based on the shopping or + // viewing history of the specified `userId` or `visitorId` and its + // relevance to a specified `CatalogItem`. Typically used on product detail + // pages. For example - More items like this. // - // * `recently_viewed_default`: Returns up to 75 items recently viewed by the - // specified `userId` or `visitorId`, most recent ones first. Returns - // nothing if neither of them has viewed any items yet. For example - - // Recently viewed. + // - `recently_viewed_default`: Returns up to 75 items recently viewed by the + // specified `userId` or `visitorId`, most recent ones first. Returns + // nothing if neither of them has viewed any items yet. For example - + // Recently viewed. // // The full list of available placements can be seen at // https://console.cloud.google.com/recommendation/datafeeds/default_catalog/dashboard @@ -91,21 +91,21 @@ type PredictRequest struct { // Optional. Filter for restricting prediction results. Accepts values for // tags and the `filterOutOfStockItems` flag. // - // * Tag expressions. Restricts predictions to items that match all of the - // specified tags. Boolean operators `OR` and `NOT` are supported if the - // expression is enclosed in parentheses, and must be separated from the - // tag values by a space. `-"tagA"` is also supported and is equivalent to - // `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings - // with a size limit of 1 KiB. + // - Tag expressions. Restricts predictions to items that match all of the + // specified tags. Boolean operators `OR` and `NOT` are supported if the + // expression is enclosed in parentheses, and must be separated from the + // tag values by a space. `-"tagA"` is also supported and is equivalent to + // `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings + // with a size limit of 1 KiB. // - // * filterOutOfStockItems. Restricts predictions to items that do not have a - // stockState value of OUT_OF_STOCK. + // - filterOutOfStockItems. Restricts predictions to items that do not have a + // stockState value of OUT_OF_STOCK. // // Examples: // - // * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional") - // * filterOutOfStockItems tag=(-"promotional") - // * filterOutOfStockItems + // - tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional") + // - filterOutOfStockItems tag=(-"promotional") + // - filterOutOfStockItems Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` // Optional. Use dryRun mode for this prediction query. If set to true, a // dummy model will be used that returns arbitrary catalog items. @@ -116,23 +116,23 @@ type PredictRequest struct { // // Allowed values: // - // * `returnCatalogItem`: Boolean. If set to true, the associated catalogItem - // object will be returned in the - // `PredictResponse.PredictionResult.itemMetadata` object in the method - // response. - // * `returnItemScore`: Boolean. If set to true, the prediction 'score' - // corresponding to each returned item will be set in the `metadata` - // field in the prediction response. The given 'score' indicates the - // probability of an item being clicked/purchased given the user's context - // and history. + // - `returnCatalogItem`: Boolean. If set to true, the associated catalogItem + // object will be returned in the + // `PredictResponse.PredictionResult.itemMetadata` object in the method + // response. + // - `returnItemScore`: Boolean. If set to true, the prediction 'score' + // corresponding to each returned item will be set in the `metadata` + // field in the prediction response. The given 'score' indicates the + // probability of an item being clicked/purchased given the user's context + // and history. Params map[string]*structpb.Value `protobuf:"bytes,6,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Optional. The labels for the predict request. // - // * Label keys can contain lowercase letters, digits and hyphens, must start - // with a letter, and must end with a letter or digit. - // * Non-zero label values can contain lowercase letters, digits and hyphens, - // must start with a letter, and must end with a letter or digit. - // * No more than 64 labels can be associated with a given request. + // - Label keys can contain lowercase letters, digits and hyphens, must start + // with a letter, and must end with a letter or digit. + // - Non-zero label values can contain lowercase letters, digits and hyphens, + // must start with a letter, and must end with a letter or digit. + // - No more than 64 labels can be associated with a given request. // // See https://goo.gl/xmQnxf for more information on and examples of labels. Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` @@ -336,10 +336,10 @@ type PredictResponse_PredictionResult struct { // // Possible values: // - // * `catalogItem`: JSON representation of the catalogItem. Will be set if - // `returnCatalogItem` is set to true in `PredictRequest.params`. - // * `score`: Prediction score in double value. Will be set if - // `returnItemScore` is set to true in `PredictRequest.params`. + // - `catalogItem`: JSON representation of the catalogItem. Will be set if + // `returnCatalogItem` is set to true in `PredictRequest.params`. + // - `score`: Prediction score in double value. Will be set if + // `returnItemScore` is set to true in `PredictRequest.params`. ItemMetadata map[string]*structpb.Value `protobuf:"bytes,2,rep,name=item_metadata,json=itemMetadata,proto3" json:"item_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } diff --git a/recommendationengine/apiv1beta1/recommendationenginepb/user_event.pb.go b/recommendationengine/apiv1beta1/recommendationenginepb/user_event.pb.go index 0773de1ad1f..a4973a74ea2 100755 --- a/recommendationengine/apiv1beta1/recommendationenginepb/user_event.pb.go +++ b/recommendationengine/apiv1beta1/recommendationenginepb/user_event.pb.go @@ -105,22 +105,22 @@ type UserEvent struct { // Required. User event type. Allowed values are: // - // * `add-to-cart` Products being added to cart. - // * `add-to-list` Items being added to a list (shopping list, favorites - // etc). - // * `category-page-view` Special pages such as sale or promotion pages - // viewed. - // * `checkout-start` User starting a checkout process. - // * `detail-page-view` Products detail page viewed. - // * `home-page-view` Homepage viewed. - // * `page-visit` Generic page visits not included in the event types above. - // * `purchase-complete` User finishing a purchase. - // * `refund` Purchased items being refunded or returned. - // * `remove-from-cart` Products being removed from cart. - // * `remove-from-list` Items being removed from a list. - // * `search` Product search. - // * `shopping-cart-page-view` User viewing a shopping cart. - // * `impression` List of items displayed. Used by Google Tag Manager. + // - `add-to-cart` Products being added to cart. + // - `add-to-list` Items being added to a list (shopping list, favorites + // etc). + // - `category-page-view` Special pages such as sale or promotion pages + // viewed. + // - `checkout-start` User starting a checkout process. + // - `detail-page-view` Products detail page viewed. + // - `home-page-view` Homepage viewed. + // - `page-visit` Generic page visits not included in the event types above. + // - `purchase-complete` User finishing a purchase. + // - `refund` Purchased items being refunded or returned. + // - `remove-from-cart` Products being removed from cart. + // - `remove-from-list` Items being removed from a list. + // - `search` Product search. + // - `shopping-cart-page-view` User viewing a shopping cart. + // - `impression` List of items displayed. Used by Google Tag Manager. EventType string `protobuf:"bytes,1,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` // Required. User information. UserInfo *UserInfo `protobuf:"bytes,2,opt,name=user_info,json=userInfo,proto3" json:"user_info,omitempty"` @@ -144,9 +144,9 @@ type UserEvent struct { // // This field is optional for the following event types: // - // * `page-visit` - // * `shopping-cart-page-view` - note that 'product_event_detail' should be - // set for this unless the shopping cart is empty. + // - `page-visit` + // - `shopping-cart-page-view` - note that 'product_event_detail' should be + // set for this unless the shopping cart is empty. // // This field is not allowed for the following event types: // @@ -496,9 +496,9 @@ type ProductEventDetail struct { // // This field is optional for the following event types: // - // * `page-visit` - // * `shopping-cart-page-view` - note that 'product_details' should be set for - // this unless the shopping cart is empty. + // - `page-visit` + // - `shopping-cart-page-view` - note that 'product_details' should be set for + // this unless the shopping cart is empty. // // This field is not allowed for the following event types: // @@ -616,9 +616,12 @@ type PurchaseTransaction struct { // other costs. // // Total product cost such that - // profit = revenue - (sum(taxes) + sum(costs)) + // + // profit = revenue - (sum(taxes) + sum(costs)) + // // If product_cost is not set, then - // profit = revenue - tax - shipping - sum(CatalogItem.costs). + // + // profit = revenue - tax - shipping - sum(CatalogItem.costs). // // If CatalogItem.cost is not specified for one of the items, CatalogItem.cost // based profit *cannot* be calculated for this Transaction. diff --git a/recommendationengine/apiv1beta1/recommendationenginepb/user_event_service.pb.go b/recommendationengine/apiv1beta1/recommendationenginepb/user_event_service.pb.go index 7a6a35c0f27..1c10abec2b7 100755 --- a/recommendationengine/apiv1beta1/recommendationenginepb/user_event_service.pb.go +++ b/recommendationengine/apiv1beta1/recommendationenginepb/user_event_service.pb.go @@ -410,34 +410,35 @@ type ListUserEventsRequest struct { // returned events. This is a sequence of terms, where each term applies some // kind of a restriction to the returned user events. Use this expression to // restrict results to a specific time range, or filter events by eventType. - // eg: eventTime > "2012-04-23T18:25:43.511Z" eventsMissingCatalogItems - // eventTime<"2012-04-23T18:25:43.511Z" eventType=search // - // We expect only 3 types of fields: + // eg: eventTime > "2012-04-23T18:25:43.511Z" eventsMissingCatalogItems + // eventTime<"2012-04-23T18:25:43.511Z" eventType=search // - // * eventTime: this can be specified a maximum of 2 times, once with a - // less than operator and once with a greater than operator. The - // eventTime restrict should result in one contiguous valid eventTime - // range. + // We expect only 3 types of fields: // - // * eventType: only 1 eventType restriction can be specified. + // * eventTime: this can be specified a maximum of 2 times, once with a + // less than operator and once with a greater than operator. The + // eventTime restrict should result in one contiguous valid eventTime + // range. // - // * eventsMissingCatalogItems: specififying this will restrict results - // to events for which catalog items were not found in the catalog. The - // default behavior is to return only those events for which catalog - // items were found. + // * eventType: only 1 eventType restriction can be specified. // - // Some examples of valid filters expressions: + // * eventsMissingCatalogItems: specififying this will restrict results + // to events for which catalog items were not found in the catalog. The + // default behavior is to return only those events for which catalog + // items were found. // - // * Example 1: eventTime > "2012-04-23T18:25:43.511Z" - // eventTime < "2012-04-23T18:30:43.511Z" - // * Example 2: eventTime > "2012-04-23T18:25:43.511Z" - // eventType = detail-page-view - // * Example 3: eventsMissingCatalogItems - // eventType = search eventTime < "2018-04-23T18:30:43.511Z" - // * Example 4: eventTime > "2012-04-23T18:25:43.511Z" - // * Example 5: eventType = search - // * Example 6: eventsMissingCatalogItems + // Some examples of valid filters expressions: + // + // * Example 1: eventTime > "2012-04-23T18:25:43.511Z" + // eventTime < "2012-04-23T18:30:43.511Z" + // * Example 2: eventTime > "2012-04-23T18:25:43.511Z" + // eventType = detail-page-view + // * Example 3: eventsMissingCatalogItems + // eventType = search eventTime < "2018-04-23T18:30:43.511Z" + // * Example 4: eventTime > "2012-04-23T18:25:43.511Z" + // * Example 5: eventType = search + // * Example 6: eventsMissingCatalogItems Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } diff --git a/recommender/apiv1/recommenderpb/recommendation.pb.go b/recommender/apiv1/recommenderpb/recommendation.pb.go index bc4136f0248..fac3359989b 100755 --- a/recommender/apiv1/recommenderpb/recommendation.pb.go +++ b/recommender/apiv1/recommenderpb/recommendation.pb.go @@ -327,8 +327,9 @@ type Recommendation struct { // to see a list of subtypes for a given Recommender. // // Examples: - // For recommender = "google.iam.policy.Recommender", - // recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE" + // + // For recommender = "google.iam.policy.Recommender", + // recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE" RecommenderSubtype string `protobuf:"bytes,12,opt,name=recommender_subtype,json=recommenderSubtype,proto3" json:"recommender_subtype,omitempty"` // Last time this recommendation was refreshed by the system that created it // in the first place. @@ -626,6 +627,7 @@ type Operation struct { // describe a value for 'path' field. // // Types that are assignable to PathValue: + // // *Operation_Value // *Operation_ValueMatcher PathValue isOperation_PathValue `protobuf_oneof:"path_value"` @@ -637,24 +639,30 @@ type Operation struct { // // * Example: // ``` - // { - // "/versions/*/name" : "it-123" - // "/versions/*/targetSize/percent": 20 - // } + // + // { + // "/versions/*/name" : "it-123" + // "/versions/*/targetSize/percent": 20 + // } + // // ``` // * Example: // ``` - // { - // "/bindings/*/role": "roles/owner" - // "/bindings/*/condition" : null - // } + // + // { + // "/bindings/*/role": "roles/owner" + // "/bindings/*/condition" : null + // } + // // ``` // * Example: // ``` - // { - // "/bindings/*/role": "roles/owner" - // "/bindings/*/members/*" : ["x@example.com", "y@example.com"] - // } + // + // { + // "/bindings/*/role": "roles/owner" + // "/bindings/*/members/*" : ["x@example.com", "y@example.com"] + // } + // // ``` // When both path_filters and path_value_matchers are set, an implicit AND // must be performed. @@ -804,6 +812,7 @@ type ValueMatcher struct { unknownFields protoimpl.UnknownFields // Types that are assignable to MatchVariant: + // // *ValueMatcher_MatchesPattern MatchVariant isValueMatcher_MatchVariant `protobuf_oneof:"match_variant"` } @@ -1117,6 +1126,7 @@ type Impact struct { // Contains projections (if any) for this category. // // Types that are assignable to Projection: + // // *Impact_CostProjection // *Impact_SecurityProjection // *Impact_SustainabilityProjection diff --git a/recommender/apiv1beta1/recommenderpb/recommendation.pb.go b/recommender/apiv1beta1/recommenderpb/recommendation.pb.go index e2a9b7487c9..04364d1fb99 100755 --- a/recommender/apiv1beta1/recommenderpb/recommendation.pb.go +++ b/recommender/apiv1beta1/recommenderpb/recommendation.pb.go @@ -265,8 +265,9 @@ type Recommendation struct { // to see a list of subtypes for a given Recommender. // // Examples: - // For recommender = "google.iam.policy.Recommender", - // recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE" + // + // For recommender = "google.iam.policy.Recommender", + // recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE" RecommenderSubtype string `protobuf:"bytes,12,opt,name=recommender_subtype,json=recommenderSubtype,proto3" json:"recommender_subtype,omitempty"` // Last time this recommendation was refreshed by the system that created it // in the first place. @@ -564,6 +565,7 @@ type Operation struct { // describe a value for 'path' field. // // Types that are assignable to PathValue: + // // *Operation_Value // *Operation_ValueMatcher PathValue isOperation_PathValue `protobuf_oneof:"path_value"` @@ -575,24 +577,30 @@ type Operation struct { // // * Example: // ``` - // { - // "/versions/*/name" : "it-123" - // "/versions/*/targetSize/percent": 20 - // } + // + // { + // "/versions/*/name" : "it-123" + // "/versions/*/targetSize/percent": 20 + // } + // // ``` // * Example: // ``` - // { - // "/bindings/*/role": "roles/owner" - // "/bindings/*/condition" : null - // } + // + // { + // "/bindings/*/role": "roles/owner" + // "/bindings/*/condition" : null + // } + // // ``` // * Example: // ``` - // { - // "/bindings/*/role": "roles/owner" - // "/bindings/*/members/*" : ["x@example.com", "y@example.com"] - // } + // + // { + // "/bindings/*/role": "roles/owner" + // "/bindings/*/members/*" : ["x@example.com", "y@example.com"] + // } + // // ``` // When both path_filters and path_value_matchers are set, an implicit AND // must be performed. @@ -742,6 +750,7 @@ type ValueMatcher struct { unknownFields protoimpl.UnknownFields // Types that are assignable to MatchVariant: + // // *ValueMatcher_MatchesPattern MatchVariant isValueMatcher_MatchVariant `protobuf_oneof:"match_variant"` } @@ -989,6 +998,7 @@ type Impact struct { // Contains projections (if any) for this category. // // Types that are assignable to Projection: + // // *Impact_CostProjection // *Impact_SecurityProjection // *Impact_SustainabilityProjection diff --git a/redis/apiv1/redispb/cloud_redis.pb.go b/redis/apiv1/redispb/cloud_redis.pb.go index c35a415c1de..dc3a94e4922 100755 --- a/redis/apiv1/redispb/cloud_redis.pb.go +++ b/redis/apiv1/redispb/cloud_redis.pb.go @@ -688,7 +688,8 @@ type Instance struct { // Required. Unique name of the resource in this scope including project and // location using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` // // Note: Redis instances are managed and addressed at regional level so // location_id here refers to a GCP region; however, users may choose which @@ -718,10 +719,10 @@ type Instance struct { // If not provided, latest supported version will be used. Currently, the // supported values are: // - // * `REDIS_3_2` for Redis 3.2 compatibility - // * `REDIS_4_0` for Redis 4.0 compatibility (default) - // * `REDIS_5_0` for Redis 5.0 compatibility - // * `REDIS_6_X` for Redis 6.x compatibility + // - `REDIS_3_2` for Redis 3.2 compatibility + // - `REDIS_4_0` for Redis 4.0 compatibility (default) + // - `REDIS_5_0` for Redis 5.0 compatibility + // - `REDIS_6_X` for Redis 6.x compatibility RedisVersion string `protobuf:"bytes,7,opt,name=redis_version,json=redisVersion,proto3" json:"redis_version,omitempty"` // Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses // that are reserved for this instance. Range must @@ -758,22 +759,22 @@ type Instance struct { // http://redis.io/topics/config. Currently, the only supported parameters // are: // - // Redis version 3.2 and newer: + // Redis version 3.2 and newer: // - // * maxmemory-policy - // * notify-keyspace-events + // * maxmemory-policy + // * notify-keyspace-events // - // Redis version 4.0 and newer: + // Redis version 4.0 and newer: // - // * activedefrag - // * lfu-decay-time - // * lfu-log-factor - // * maxmemory-gb + // * activedefrag + // * lfu-decay-time + // * lfu-log-factor + // * maxmemory-gb // - // Redis version 5.0 and newer: + // Redis version 5.0 and newer: // - // * stream-node-max-bytes - // * stream-node-max-entries + // * stream-node-max-bytes + // * stream-node-max-entries RedisConfigs map[string]string `protobuf:"bytes,16,rep,name=redis_configs,json=redisConfigs,proto3" json:"redis_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Required. The service tier of the instance. Tier Instance_Tier `protobuf:"varint,17,opt,name=tier,proto3,enum=google.cloud.redis.v1.Instance_Tier" json:"tier,omitempty"` @@ -1211,7 +1212,9 @@ type RescheduleMaintenanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as @@ -1514,7 +1517,9 @@ type ListInstancesRequest struct { unknownFields protoimpl.UnknownFields // Required. The resource name of the instance location using the form: - // `projects/{project_id}/locations/{location_id}` + // + // `projects/{project_id}/locations/{location_id}` + // // where `location_id` refers to a GCP region. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The maximum number of items to return. @@ -1669,7 +1674,9 @@ type GetInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1721,7 +1728,9 @@ type GetInstanceAuthStringRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1822,7 +1831,9 @@ type CreateInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. The resource name of the instance location using the form: - // `projects/{project_id}/locations/{location_id}` + // + // `projects/{project_id}/locations/{location_id}` + // // where `location_id` refers to a GCP region. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The logical name of the Redis instance in the customer project @@ -1902,11 +1913,11 @@ type UpdateInstanceRequest struct { // this field. The elements of the repeated paths field may only include these // fields from [Instance][google.cloud.redis.v1.Instance]: // - // * `displayName` - // * `labels` - // * `memorySizeGb` - // * `redisConfig` - // * `replica_count` + // - `displayName` + // - `labels` + // - `memorySizeGb` + // - `redisConfig` + // - `replica_count` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` // Required. Update description. // Only fields specified in update_mask are updated. @@ -1967,7 +1978,9 @@ type UpgradeInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. Specifies the target version of Redis software to upgrade to. @@ -2028,7 +2041,9 @@ type DeleteInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -2130,6 +2145,7 @@ type InputConfig struct { // Required. Specify source location of input data // // Types that are assignable to Source: + // // *InputConfig_GcsSource Source isInputConfig_Source `protobuf_oneof:"source"` } @@ -2198,7 +2214,9 @@ type ImportInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. Specify data to be imported. @@ -2310,6 +2328,7 @@ type OutputConfig struct { // Required. Specify destination location of output data // // Types that are assignable to Destination: + // // *OutputConfig_GcsDestination Destination isOutputConfig_Destination `protobuf_oneof:"destination"` } @@ -2378,7 +2397,9 @@ type ExportInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. Specify data to be exported. @@ -2438,7 +2459,9 @@ type FailoverInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. Available data protection modes that the user can choose. If it's diff --git a/redis/apiv1beta1/redispb/cloud_redis.pb.go b/redis/apiv1beta1/redispb/cloud_redis.pb.go index a1544621736..0b95ffe5632 100755 --- a/redis/apiv1beta1/redispb/cloud_redis.pb.go +++ b/redis/apiv1beta1/redispb/cloud_redis.pb.go @@ -638,7 +638,8 @@ type Instance struct { // Required. Unique name of the resource in this scope including project and // location using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` // // Note: Redis instances are managed and addressed at regional level so // location_id here refers to a GCP region; however, users may choose which @@ -666,10 +667,10 @@ type Instance struct { // If not provided, latest supported version will be used. Currently, the // supported values are: // - // * `REDIS_3_2` for Redis 3.2 compatibility - // * `REDIS_4_0` for Redis 4.0 compatibility (default) - // * `REDIS_5_0` for Redis 5.0 compatibility - // * `REDIS_6_X` for Redis 6.x compatibility + // - `REDIS_3_2` for Redis 3.2 compatibility + // - `REDIS_4_0` for Redis 4.0 compatibility (default) + // - `REDIS_5_0` for Redis 5.0 compatibility + // - `REDIS_6_X` for Redis 6.x compatibility RedisVersion string `protobuf:"bytes,7,opt,name=redis_version,json=redisVersion,proto3" json:"redis_version,omitempty"` // Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses // that are reserved for this instance. Range must @@ -687,7 +688,8 @@ type Instance struct { // service access connection, or "auto". SecondaryIpRange string `protobuf:"bytes,30,opt,name=secondary_ip_range,json=secondaryIpRange,proto3" json:"secondary_ip_range,omitempty"` // Output only. Hostname or IP address of the exposed Redis endpoint used by - // clients to connect to the service. + // + // clients to connect to the service. Host string `protobuf:"bytes,10,opt,name=host,proto3" json:"host,omitempty"` // Output only. The port number of the exposed Redis endpoint. Port int32 `protobuf:"varint,11,opt,name=port,proto3" json:"port,omitempty"` @@ -706,22 +708,22 @@ type Instance struct { // http://redis.io/topics/config. Currently, the only supported parameters // are: // - // Redis version 3.2 and newer: + // Redis version 3.2 and newer: // - // * maxmemory-policy - // * notify-keyspace-events + // * maxmemory-policy + // * notify-keyspace-events // - // Redis version 4.0 and newer: + // Redis version 4.0 and newer: // - // * activedefrag - // * lfu-decay-time - // * lfu-log-factor - // * maxmemory-gb + // * activedefrag + // * lfu-decay-time + // * lfu-log-factor + // * maxmemory-gb // - // Redis version 5.0 and newer: + // Redis version 5.0 and newer: // - // * stream-node-max-bytes - // * stream-node-max-entries + // * stream-node-max-bytes + // * stream-node-max-entries RedisConfigs map[string]string `protobuf:"bytes,16,rep,name=redis_configs,json=redisConfigs,proto3" json:"redis_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Required. The service tier of the instance. Tier Instance_Tier `protobuf:"varint,17,opt,name=tier,proto3,enum=google.cloud.redis.v1beta1.Instance_Tier" json:"tier,omitempty"` @@ -1118,7 +1120,9 @@ type RescheduleMaintenanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well. @@ -1417,7 +1421,9 @@ type ListInstancesRequest struct { unknownFields protoimpl.UnknownFields // Required. The resource name of the instance location using the form: - // `projects/{project_id}/locations/{location_id}` + // + // `projects/{project_id}/locations/{location_id}` + // // where `location_id` refers to a GCP region. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The maximum number of items to return. @@ -1571,7 +1577,9 @@ type GetInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1622,7 +1630,9 @@ type GetInstanceAuthStringRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1722,7 +1732,9 @@ type CreateInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. The resource name of the instance location using the form: - // `projects/{project_id}/locations/{location_id}` + // + // `projects/{project_id}/locations/{location_id}` + // // where `location_id` refers to a GCP region. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The logical name of the Redis instance in the customer project @@ -1801,11 +1813,11 @@ type UpdateInstanceRequest struct { // this field. The elements of the repeated paths field may only include these // fields from [Instance][google.cloud.redis.v1beta1.Instance]: // - // * `displayName` - // * `labels` - // * `memorySizeGb` - // * `redisConfig` - // * `replica_count` + // - `displayName` + // - `labels` + // - `memorySizeGb` + // - `redisConfig` + // - `replica_count` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` // Required. Update description. // Only fields specified in update_mask are updated. @@ -1865,7 +1877,9 @@ type UpgradeInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. Specifies the target version of Redis software to upgrade to. @@ -1925,7 +1939,9 @@ type DeleteInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -2027,6 +2043,7 @@ type InputConfig struct { // Required. Specify source location of input data // // Types that are assignable to Source: + // // *InputConfig_GcsSource Source isInputConfig_Source `protobuf_oneof:"source"` } @@ -2095,7 +2112,9 @@ type ImportInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. Specify data to be imported. @@ -2207,6 +2226,7 @@ type OutputConfig struct { // Required. Specify destination location of output data // // Types that are assignable to Destination: + // // *OutputConfig_GcsDestination Destination isOutputConfig_Destination `protobuf_oneof:"destination"` } @@ -2275,7 +2295,9 @@ type ExportInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Required. Specify data to be exported. @@ -2335,7 +2357,9 @@ type FailoverInstanceRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis instance resource name using the form: - // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // + // `projects/{project_id}/locations/{location_id}/instances/{instance_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. Available data protection modes that the user can choose. If it's diff --git a/redis/cluster/apiv1/clusterpb/cloud_redis_cluster.pb.go b/redis/cluster/apiv1/clusterpb/cloud_redis_cluster.pb.go index 55dae8d1b74..367dc9a805b 100755 --- a/redis/cluster/apiv1/clusterpb/cloud_redis_cluster.pb.go +++ b/redis/cluster/apiv1/clusterpb/cloud_redis_cluster.pb.go @@ -219,7 +219,9 @@ type CreateClusterRequest struct { unknownFields protoimpl.UnknownFields // Required. The resource name of the cluster location using the form: - // `projects/{project_id}/locations/{location_id}` + // + // `projects/{project_id}/locations/{location_id}` + // // where `location_id` refers to a GCP region. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The logical name of the Redis cluster in the customer project @@ -304,7 +306,9 @@ type ListClustersRequest struct { unknownFields protoimpl.UnknownFields // Required. The resource name of the cluster location using the form: - // `projects/{project_id}/locations/{location_id}` + // + // `projects/{project_id}/locations/{location_id}` + // // where `location_id` refers to a GCP region. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The maximum number of items to return. @@ -461,8 +465,8 @@ type UpdateClusterRequest struct { // this field. The elements of the repeated paths field may only include these // fields from [Cluster][google.cloud.redis.cluster.v1.Cluster]: // - // * `size_gb` - // * `replica_count` + // - `size_gb` + // - `replica_count` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` // Required. Update description. // Only fields specified in update_mask are updated. @@ -531,7 +535,9 @@ type GetClusterRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis cluster resource name using the form: - // `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` + // + // `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -582,7 +588,9 @@ type DeleteClusterRequest struct { unknownFields protoimpl.UnknownFields // Required. Redis cluster resource name using the form: - // `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` + // + // `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` + // // where `location_id` refers to a GCP region. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Idempotent request UUID. @@ -643,7 +651,8 @@ type Cluster struct { // Required. Unique name of the resource in this scope including project and // location using the form: - // `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` + // + // `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Output only. The timestamp associated with the cluster creation request. CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` @@ -1125,6 +1134,7 @@ type Cluster_StateInfo struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Info: + // // *Cluster_StateInfo_UpdateInfo_ Info isCluster_StateInfo_Info `protobuf_oneof:"info"` } diff --git a/resourcemanager/apiv3/resourcemanagerpb/organizations.pb.go b/resourcemanager/apiv3/resourcemanagerpb/organizations.pb.go index cab091f7188..1d304f915be 100755 --- a/resourcemanager/apiv3/resourcemanagerpb/organizations.pb.go +++ b/resourcemanager/apiv3/resourcemanagerpb/organizations.pb.go @@ -119,6 +119,7 @@ type Organization struct { // descendants will be deleted. // // Types that are assignable to Owner: + // // *Organization_DirectoryCustomerId Owner isOrganization_Owner `protobuf_oneof:"owner"` // Output only. The organization's current lifecycle state. @@ -309,7 +310,6 @@ type SearchOrganizationsRequest struct { // Optional. An optional query string used to filter the Organizations to // return in the response. Query rules are case-insensitive. // - // // ``` // | Field | Description | // |------------------|--------------------------------------------| diff --git a/resourcemanager/apiv3/resourcemanagerpb/projects.pb.go b/resourcemanager/apiv3/resourcemanagerpb/projects.pb.go index aad105f93af..324dc0ec956 100755 --- a/resourcemanager/apiv3/resourcemanagerpb/projects.pb.go +++ b/resourcemanager/apiv3/resourcemanagerpb/projects.pb.go @@ -509,7 +509,6 @@ type SearchProjectsRequest struct { // // Some examples queries: // - // // - **`name:how*`**: The project's name starts with "how". // - **`name:Howl`**: The project's name is `Howl` or `howl`. // - **`name:HOWL`**: Equivalent to above. @@ -1855,8 +1854,6 @@ type ProjectsClient interface { // If project has no current parent, or it currently does not have an // associated organization resource, you will also need the // `resourcemanager.projects.setIamPolicy` permission in the project. - // - // MoveProject(ctx context.Context, in *MoveProjectRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Marks the project identified by the specified // `name` (for example, `projects/415104041262`) for deletion. @@ -2113,8 +2110,6 @@ type ProjectsServer interface { // If project has no current parent, or it currently does not have an // associated organization resource, you will also need the // `resourcemanager.projects.setIamPolicy` permission in the project. - // - // MoveProject(context.Context, *MoveProjectRequest) (*longrunningpb.Operation, error) // Marks the project identified by the specified // `name` (for example, `projects/415104041262`) for deletion. diff --git a/resourcemanager/apiv3/resourcemanagerpb/tag_holds.pb.go b/resourcemanager/apiv3/resourcemanagerpb/tag_holds.pb.go index fd922c759d2..c86df064b8b 100755 --- a/resourcemanager/apiv3/resourcemanagerpb/tag_holds.pb.go +++ b/resourcemanager/apiv3/resourcemanagerpb/tag_holds.pb.go @@ -373,10 +373,10 @@ type ListTagHoldsRequest struct { // the `holder` and `origin` fields are supported for filtering. Currently // only `AND` syntax is supported. Some example queries are: // - // * `holder = + // - `holder = // //compute.googleapis.com/compute/projects/myproject/regions/us-east-1/instanceGroupManagers/instance-group` - // * `origin = 35678234` - // * `holder = + // - `origin = 35678234` + // - `holder = // //compute.googleapis.com/compute/projects/myproject/regions/us-east-1/instanceGroupManagers/instance-group // AND origin = 35678234` Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` diff --git a/resourcemanager/apiv3/resourcemanagerpb/tag_values.pb.go b/resourcemanager/apiv3/resourcemanagerpb/tag_values.pb.go index 0aa01bb0f75..a136bf90adc 100755 --- a/resourcemanager/apiv3/resourcemanagerpb/tag_values.pb.go +++ b/resourcemanager/apiv3/resourcemanagerpb/tag_values.pb.go @@ -362,13 +362,13 @@ type GetNamespacedTagValueRequest struct { // Required. A namespaced tag value name in the following format: // - // `{parentId}/{tagKeyShort}/{tagValueShort}` + // `{parentId}/{tagKeyShort}/{tagValueShort}` // // Examples: - // - `42/foo/abc` for a value with short name "abc" under the key with short - // name "foo" under the organization with ID 42 - // - `r2-d2/bar/xyz` for a value with short name "xyz" under the key with - // short name "bar" under the project with ID "r2-d2" + // - `42/foo/abc` for a value with short name "abc" under the key with short + // name "foo" under the organization with ID 42 + // - `r2-d2/bar/xyz` for a value with short name "xyz" under the key with + // short name "bar" under the project with ID "r2-d2" Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } diff --git a/resourcesettings/apiv1/resourcesettingspb/resource_settings.pb.go b/resourcesettings/apiv1/resourcesettingspb/resource_settings.pb.go index 15a8d31365a..723acf0c5e6 100755 --- a/resourcesettings/apiv1/resourcesettingspb/resource_settings.pb.go +++ b/resourcesettings/apiv1/resourcesettingspb/resource_settings.pb.go @@ -187,11 +187,11 @@ type Setting struct { // The effective value evaluates to one of the following options in the given // order (the next option is used if the previous one does not exist): // - // 1. the local setting value on the given resource: [Setting.local_value][google.cloud.resourcesettings.v1.Setting.local_value] - // 2. if one of the given resource's ancestors have a local setting value, - // the local value at the nearest such ancestor - // 3. the setting's default value: [SettingMetadata.default_value][google.cloud.resourcesettings.v1.SettingMetadata.default_value] - // 4. an empty value (defined as a `Value` with all fields unset) + // 1. the local setting value on the given resource: [Setting.local_value][google.cloud.resourcesettings.v1.Setting.local_value] + // 2. if one of the given resource's ancestors have a local setting value, + // the local value at the nearest such ancestor + // 3. the setting's default value: [SettingMetadata.default_value][google.cloud.resourcesettings.v1.SettingMetadata.default_value] + // 4. an empty value (defined as a `Value` with all fields unset) // // The data type of [Value][google.cloud.resourcesettings.v1.Value] must always be // consistent with the data type defined in [Setting.metadata][google.cloud.resourcesettings.v1.Setting.metadata]. @@ -367,6 +367,7 @@ type Value struct { // Selects the data type and associated value. // // Types that are assignable to Value: + // // *Value_BooleanValue // *Value_StringValue // *Value_StringSetValue diff --git a/retail/apiv2/retailpb/catalog.pb.go b/retail/apiv2/retailpb/catalog.pb.go index 8b2d8e52e63..61b3785c4c0 100755 --- a/retail/apiv2/retailpb/catalog.pb.go +++ b/retail/apiv2/retailpb/catalog.pb.go @@ -369,16 +369,17 @@ type ProductLevelConfig struct { // // * `primary` (default): You can ingest // [Product][google.cloud.retail.v2.Product]s of all types. When - // ingesting a [Product][google.cloud.retail.v2.Product], its type will - // default to - // [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] if - // unset. - // * `variant` (incompatible with Retail Search): You can only - // ingest - // [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT] - // [Product][google.cloud.retail.v2.Product]s. This means - // [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id] - // cannot be empty. + // + // ingesting a [Product][google.cloud.retail.v2.Product], its type will + // default to + // [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] if + // unset. + // - `variant` (incompatible with Retail Search): You can only + // ingest + // [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2.Product]s. This means + // [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id] + // cannot be empty. // // If this field is set to an invalid value other than these, an // INVALID_ARGUMENT error is returned. @@ -396,10 +397,10 @@ type ProductLevelConfig struct { // imported as [Product.id][google.cloud.retail.v2.Product.id]. Acceptable // values are: // - // * `offerId` (default): Import `offerId` as the product ID. - // * `itemGroupId`: Import `itemGroupId` as the product ID. Notice that Retail - // API will choose one item from the ones with the same `itemGroupId`, and - // use it to represent the item group. + // - `offerId` (default): Import `offerId` as the product ID. + // - `itemGroupId`: Import `itemGroupId` as the product ID. Notice that Retail + // API will choose one item from the ones with the same `itemGroupId`, and + // use it to represent the item group. // // If this field is set to an invalid value other than these, an // INVALID_ARGUMENT error is returned. diff --git a/retail/apiv2/retailpb/catalog_service.pb.go b/retail/apiv2/retailpb/catalog_service.pb.go index 0f705fbf15f..f104870e5d3 100755 --- a/retail/apiv2/retailpb/catalog_service.pb.go +++ b/retail/apiv2/retailpb/catalog_service.pb.go @@ -1551,11 +1551,11 @@ type CatalogServiceClient interface { // // More specifically: // - // * PredictionService will only return product IDs from branch {newBranch}. - // * SearchService will only return product IDs from branch {newBranch} - // (if branch is not explicitly set). - // * UserEventService will only join events with products from branch - // {newBranch}. + // - PredictionService will only return product IDs from branch {newBranch}. + // - SearchService will only return product IDs from branch {newBranch} + // (if branch is not explicitly set). + // - UserEventService will only join events with products from branch + // {newBranch}. SetDefaultBranch(ctx context.Context, in *SetDefaultBranchRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) // Get which branch is currently default branch set by // [CatalogService.SetDefaultBranch][google.cloud.retail.v2.CatalogService.SetDefaultBranch] @@ -1743,11 +1743,11 @@ type CatalogServiceServer interface { // // More specifically: // - // * PredictionService will only return product IDs from branch {newBranch}. - // * SearchService will only return product IDs from branch {newBranch} - // (if branch is not explicitly set). - // * UserEventService will only join events with products from branch - // {newBranch}. + // - PredictionService will only return product IDs from branch {newBranch}. + // - SearchService will only return product IDs from branch {newBranch} + // (if branch is not explicitly set). + // - UserEventService will only join events with products from branch + // {newBranch}. SetDefaultBranch(context.Context, *SetDefaultBranchRequest) (*emptypb.Empty, error) // Get which branch is currently default branch set by // [CatalogService.SetDefaultBranch][google.cloud.retail.v2.CatalogService.SetDefaultBranch] diff --git a/retail/apiv2/retailpb/common.pb.go b/retail/apiv2/retailpb/common.pb.go index 47288983a57..47293cfb2f5 100755 --- a/retail/apiv2/retailpb/common.pb.go +++ b/retail/apiv2/retailpb/common.pb.go @@ -338,6 +338,7 @@ type Rule struct { // An action must be provided. // // Types that are assignable to Action: + // // *Rule_BoostAction_ // *Rule_RedirectAction_ // *Rule_OnewaySynonymsAction_ @@ -983,6 +984,7 @@ type Interval struct { // Otherwise, an INVALID_ARGUMENT error is returned. // // Types that are assignable to Min: + // // *Interval_Minimum // *Interval_ExclusiveMinimum Min isInterval_Min `protobuf_oneof:"min"` @@ -993,6 +995,7 @@ type Interval struct { // Otherwise, an INVALID_ARGUMENT error is returned. // // Types that are assignable to Max: + // // *Interval_Maximum // *Interval_ExclusiveMaximum Max isInterval_Max `protobuf_oneof:"max"` @@ -1490,18 +1493,18 @@ type LocalInventory struct { // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT // error is returned: // - // * At most 30 attributes are allowed. - // * The key must be a UTF-8 encoded string with a length limit of 32 - // characters. - // * The key must match the pattern: `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, - // key0LikeThis or KEY_1_LIKE_THIS. - // * The attribute values must be of the same type (text or number). - // * Only 1 value is allowed for each attribute. - // * For text values, the length limit is 256 UTF-8 characters. - // * The attribute does not support search. The `searchable` field should be - // unset or set to false. - // * The max summed total bytes of custom attribute keys and values per - // product is 5MiB. + // - At most 30 attributes are allowed. + // - The key must be a UTF-8 encoded string with a length limit of 32 + // characters. + // - The key must match the pattern: `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, + // key0LikeThis or KEY_1_LIKE_THIS. + // - The attribute values must be of the same type (text or number). + // - Only 1 value is allowed for each attribute. + // - For text values, the length limit is 256 UTF-8 characters. + // - The attribute does not support search. The `searchable` field should be + // unset or set to false. + // - The max summed total bytes of custom attribute keys and values per + // product is 5MiB. Attributes map[string]*CustomAttribute `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Input only. Supported fulfillment types. Valid fulfillment type values // include commonly used types (such as pickup in store and same day @@ -1744,10 +1747,11 @@ type Rule_BoostAction struct { // // * To boost products with product ID "product_1" or "product_2", and // color - // "Red" or "Blue":
- // *(id: ANY("product_1", "product_2"))
* - // *AND
* - // *(colorFamilies: ANY("Red", "Blue"))
* + // + // "Red" or "Blue":
+ // *(id: ANY("product_1", "product_2"))
* + // *AND
* + // *(colorFamilies: ANY("Red", "Blue"))
* ProductsFilter string `protobuf:"bytes,2,opt,name=products_filter,json=productsFilter,proto3" json:"products_filter,omitempty"` } @@ -1823,14 +1827,17 @@ type Rule_FilterAction struct { // * Filter syntax is identical to // [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter]. See // more - // details at the Retail Search - // [user guide](/retail/search/docs/filter-and-order#filter). + // + // details at the Retail Search + // [user guide](/retail/search/docs/filter-and-order#filter). + // // * To filter products with product ID "product_1" or "product_2", and // color - // "Red" or "Blue":
- // *(id: ANY("product_1", "product_2"))
* - // *AND
* - // *(colorFamilies: ANY("Red", "Blue"))
* + // + // "Red" or "Blue":
+ // *(id: ANY("product_1", "product_2"))
* + // *AND
* + // *(colorFamilies: ANY("Red", "Blue"))
* Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` } diff --git a/retail/apiv2/retailpb/completion_service.pb.go b/retail/apiv2/retailpb/completion_service.pb.go index f67d784e55d..19fb38d72d4 100755 --- a/retail/apiv2/retailpb/completion_service.pb.go +++ b/retail/apiv2/retailpb/completion_service.pb.go @@ -101,9 +101,9 @@ type CompleteQueryRequest struct { // // * user-data // - // * cloud-retail: - // This option requires enabling auto-learning function first. See - // [guidelines](https://cloud.google.com/retail/docs/completion-overview#generated-completion-dataset). + // - cloud-retail: + // This option requires enabling auto-learning function first. See + // [guidelines](https://cloud.google.com/retail/docs/completion-overview#generated-completion-dataset). Dataset string `protobuf:"bytes,6,opt,name=dataset,proto3" json:"dataset,omitempty"` // Completion max suggestions. If left unset or set to 0, then will fallback // to the configured value @@ -232,15 +232,15 @@ type CompleteQueryResponse struct { // field is set and [UserEvent][google.cloud.retail.v2.UserEvent] is imported. // The recent searches satisfy the follow rules: // - // * They are ordered from latest to oldest. + // - They are ordered from latest to oldest. // - // * They are matched with - // [CompleteQueryRequest.query][google.cloud.retail.v2.CompleteQueryRequest.query] - // case insensitively. + // - They are matched with + // [CompleteQueryRequest.query][google.cloud.retail.v2.CompleteQueryRequest.query] + // case insensitively. // - // * They are transformed to lower case. + // - They are transformed to lower case. // - // * They are UTF-8 safe. + // - They are UTF-8 safe. // // Recent searches are deduplicated. More recent searches will be reserved // when duplication happens. diff --git a/retail/apiv2/retailpb/control.pb.go b/retail/apiv2/retailpb/control.pb.go index ab8bf286149..510f2b99b29 100755 --- a/retail/apiv2/retailpb/control.pb.go +++ b/retail/apiv2/retailpb/control.pb.go @@ -51,6 +51,7 @@ type Control struct { // INVALID_ARGUMENT will be returned if either condition is violated. // // Types that are assignable to Control: + // // *Control_Rule Control isControl_Control `protobuf_oneof:"control"` // Immutable. Fully qualified name diff --git a/retail/apiv2/retailpb/control_service.pb.go b/retail/apiv2/retailpb/control_service.pb.go index 9013da6d412..12693103811 100755 --- a/retail/apiv2/retailpb/control_service.pb.go +++ b/retail/apiv2/retailpb/control_service.pb.go @@ -297,7 +297,7 @@ type ListControlsRequest struct { // // * List all the products under the parent branch if // [filter][google.cloud.retail.v2.ListControlsRequest.filter] is unset. - // * List controls that are used in a single ServingConfig: + // - List controls that are used in a single ServingConfig: // 'serving_config = "boosted_home_page_cvr"' Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } diff --git a/retail/apiv2/retailpb/import_config.pb.go b/retail/apiv2/retailpb/import_config.pb.go index f1b353b8589..4c7970a19bd 100755 --- a/retail/apiv2/retailpb/import_config.pb.go +++ b/retail/apiv2/retailpb/import_config.pb.go @@ -116,16 +116,17 @@ type GcsSource struct { // // * `product` (default): One JSON [Product][google.cloud.retail.v2.Product] // per line. Each product must - // have a valid [Product.id][google.cloud.retail.v2.Product.id]. - // * `product_merchant_center`: See [Importing catalog data from Merchant - // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). + // + // have a valid [Product.id][google.cloud.retail.v2.Product.id]. + // - `product_merchant_center`: See [Importing catalog data from Merchant + // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). // // Supported values for user events imports: // // * `user_event` (default): One JSON // [UserEvent][google.cloud.retail.v2.UserEvent] per line. - // * `user_event_ga360`: Using - // https://support.google.com/analytics/answer/3437719. + // - `user_event_ga360`: Using + // https://support.google.com/analytics/answer/3437719. // // Supported values for control imports: // @@ -195,6 +196,7 @@ type BigQuerySource struct { // is not partitioned. // // Types that are assignable to Partition: + // // *BigQuerySource_PartitionDate Partition isBigQuerySource_Partition `protobuf_oneof:"partition"` // The project ID (can be project # or ID) that the BigQuery source is in with @@ -217,20 +219,21 @@ type BigQuerySource struct { // // * `product` (default): One JSON [Product][google.cloud.retail.v2.Product] // per line. Each product must - // have a valid [Product.id][google.cloud.retail.v2.Product.id]. - // * `product_merchant_center`: See [Importing catalog data from Merchant - // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). + // + // have a valid [Product.id][google.cloud.retail.v2.Product.id]. + // - `product_merchant_center`: See [Importing catalog data from Merchant + // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). // // Supported values for user events imports: // // * `user_event` (default): One JSON // [UserEvent][google.cloud.retail.v2.UserEvent] per line. - // * `user_event_ga360`: - // The schema is available here: - // https://support.google.com/analytics/answer/3437719. - // * `user_event_ga4`: - // The schema is available here: - // https://support.google.com/analytics/answer/7029846. + // - `user_event_ga360`: + // The schema is available here: + // https://support.google.com/analytics/answer/3437719. + // - `user_event_ga4`: + // The schema is available here: + // https://support.google.com/analytics/answer/7029846. // // Supported values for autocomplete imports: // @@ -444,6 +447,7 @@ type ImportErrorsConfig struct { // Required. Errors destination. // // Types that are assignable to Destination: + // // *ImportErrorsConfig_GcsPrefix Destination isImportErrorsConfig_Destination `protobuf_oneof:"destination"` } @@ -781,6 +785,7 @@ type ProductInputConfig struct { // Required. The source of the input. // // Types that are assignable to Source: + // // *ProductInputConfig_ProductInlineSource // *ProductInputConfig_GcsSource // *ProductInputConfig_BigQuerySource @@ -881,6 +886,7 @@ type UserEventInputConfig struct { // The source of the input. // // Types that are assignable to Source: + // // *UserEventInputConfig_UserEventInlineSource // *UserEventInputConfig_GcsSource // *UserEventInputConfig_BigQuerySource @@ -989,6 +995,7 @@ type CompletionDataInputConfig struct { // * `allowlist`: One JSON allow suggestion per line. // // Types that are assignable to Source: + // // *CompletionDataInputConfig_BigQuerySource Source isCompletionDataInputConfig_Source `protobuf_oneof:"source"` } diff --git a/retail/apiv2/retailpb/model.pb.go b/retail/apiv2/retailpb/model.pb.go index 5f99f0347b2..135308ac625 100755 --- a/retail/apiv2/retailpb/model.pb.go +++ b/retail/apiv2/retailpb/model.pb.go @@ -317,7 +317,6 @@ type Model struct { // `frequently-bought-together`, `page-optimization`, `similar-items`, // `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly value). // - // // This field together with // [optimization_objective][google.cloud.retail.v2.Model.optimization_objective] // describe model metadata to use to control model training and serving. @@ -333,7 +332,8 @@ type Model struct { // Currently supported // values: `ctr`, `cvr`, `revenue-per-order`. // - // If not specified, we choose default based on model type. + // If not specified, we choose default based on model type. + // // Default depends on type of recommendation: // // `recommended-for-you` => `ctr` diff --git a/retail/apiv2/retailpb/prediction_service.pb.go b/retail/apiv2/retailpb/prediction_service.pb.go index 3b35c93a794..fe305d15968 100755 --- a/retail/apiv2/retailpb/prediction_service.pb.go +++ b/retail/apiv2/retailpb/prediction_service.pb.go @@ -89,25 +89,25 @@ type PredictRequest struct { // Filter for restricting prediction results with a length limit of 5,000 // characters. Accepts values for tags and the `filterOutOfStockItems` flag. // - // * Tag expressions. Restricts predictions to products that match all of the - // specified tags. Boolean operators `OR` and `NOT` are supported if the - // expression is enclosed in parentheses, and must be separated from the - // tag values by a space. `-"tagA"` is also supported and is equivalent to - // `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings - // with a size limit of 1,000 characters. + // - Tag expressions. Restricts predictions to products that match all of the + // specified tags. Boolean operators `OR` and `NOT` are supported if the + // expression is enclosed in parentheses, and must be separated from the + // tag values by a space. `-"tagA"` is also supported and is equivalent to + // `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings + // with a size limit of 1,000 characters. // - // Note: "Recently viewed" models don't support tag filtering at the - // moment. + // Note: "Recently viewed" models don't support tag filtering at the + // moment. // - // * filterOutOfStockItems. Restricts predictions to products that do not - // have a - // stockState value of OUT_OF_STOCK. + // - filterOutOfStockItems. Restricts predictions to products that do not + // have a + // stockState value of OUT_OF_STOCK. // // Examples: // - // * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional") - // * filterOutOfStockItems tag=(-"promotional") - // * filterOutOfStockItems + // - tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional") + // - filterOutOfStockItems tag=(-"promotional") + // - filterOutOfStockItems // // If your filter blocks all prediction results, the API will return *no* // results. If instead you want empty result sets to return generic @@ -119,9 +119,9 @@ type PredictRequest struct { // attribute-based expressions are expected instead of the above described // tag-based syntax. Examples: // - // * (colors: ANY("Red", "Blue")) AND NOT (categories: ANY("Phones")) - // * (availability: ANY("IN_STOCK")) AND - // (colors: ANY("Red") OR categories: ANY("Phones")) + // - (colors: ANY("Red", "Blue")) AND NOT (categories: ANY("Phones")) + // - (availability: ANY("IN_STOCK")) AND + // (colors: ANY("Red") OR categories: ANY("Phones")) // // For more information, see // [Filter recommendations](https://cloud.google.com/retail/docs/filter-recs). @@ -135,43 +135,43 @@ type PredictRequest struct { // // Allowed values: // - // * `returnProduct`: Boolean. If set to true, the associated product - // object will be returned in the `results.metadata` field in the - // prediction response. - // * `returnScore`: Boolean. If set to true, the prediction 'score' - // corresponding to each returned product will be set in the - // `results.metadata` field in the prediction response. The given - // 'score' indicates the probability of a product being clicked/purchased - // given the user's context and history. - // * `strictFiltering`: Boolean. True by default. If set to false, the service - // will return generic (unfiltered) popular products instead of empty if - // your filter blocks all prediction results. - // * `priceRerankLevel`: String. Default empty. If set to be non-empty, then - // it needs to be one of {'no-price-reranking', 'low-price-reranking', - // 'medium-price-reranking', 'high-price-reranking'}. This gives - // request-level control and adjusts prediction results based on product - // price. - // * `diversityLevel`: String. Default empty. If set to be non-empty, then - // it needs to be one of {'no-diversity', 'low-diversity', - // 'medium-diversity', 'high-diversity', 'auto-diversity'}. This gives - // request-level control and adjusts prediction results based on product - // category. - // * `filterSyntaxV2`: Boolean. False by default. If set to true, the `filter` - // field is interpreteted according to the new, attribute-based syntax. + // - `returnProduct`: Boolean. If set to true, the associated product + // object will be returned in the `results.metadata` field in the + // prediction response. + // - `returnScore`: Boolean. If set to true, the prediction 'score' + // corresponding to each returned product will be set in the + // `results.metadata` field in the prediction response. The given + // 'score' indicates the probability of a product being clicked/purchased + // given the user's context and history. + // - `strictFiltering`: Boolean. True by default. If set to false, the service + // will return generic (unfiltered) popular products instead of empty if + // your filter blocks all prediction results. + // - `priceRerankLevel`: String. Default empty. If set to be non-empty, then + // it needs to be one of {'no-price-reranking', 'low-price-reranking', + // 'medium-price-reranking', 'high-price-reranking'}. This gives + // request-level control and adjusts prediction results based on product + // price. + // - `diversityLevel`: String. Default empty. If set to be non-empty, then + // it needs to be one of {'no-diversity', 'low-diversity', + // 'medium-diversity', 'high-diversity', 'auto-diversity'}. This gives + // request-level control and adjusts prediction results based on product + // category. + // - `filterSyntaxV2`: Boolean. False by default. If set to true, the `filter` + // field is interpreteted according to the new, attribute-based syntax. Params map[string]*structpb.Value `protobuf:"bytes,7,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The labels applied to a resource must meet the following requirements: // - // * Each resource can have multiple labels, up to a maximum of 64. - // * Each label must be a key-value pair. - // * Keys have a minimum length of 1 character and a maximum length of 63 - // characters and cannot be empty. Values can be empty and have a maximum - // length of 63 characters. - // * Keys and values can contain only lowercase letters, numeric characters, - // underscores, and dashes. All characters must use UTF-8 encoding, and - // international characters are allowed. - // * The key portion of a label must be unique. However, you can use the same - // key with multiple resources. - // * Keys must start with a lowercase letter or international character. + // - Each resource can have multiple labels, up to a maximum of 64. + // - Each label must be a key-value pair. + // - Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // - Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // - The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // - Keys must start with a lowercase letter or international character. // // See [Google Cloud // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) @@ -360,10 +360,10 @@ type PredictResponse_PredictionResult struct { // // Possible values: // - // * `product`: JSON representation of the product. Is set if - // `returnProduct` is set to true in `PredictRequest.params`. - // * `score`: Prediction score in double value. Is set if - // `returnScore` is set to true in `PredictRequest.params`. + // - `product`: JSON representation of the product. Is set if + // `returnProduct` is set to true in `PredictRequest.params`. + // - `score`: Prediction score in double value. Is set if + // `returnScore` is set to true in `PredictRequest.params`. Metadata map[string]*structpb.Value `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } diff --git a/retail/apiv2/retailpb/product.pb.go b/retail/apiv2/retailpb/product.pb.go index 5f4a91a97c5..36468f24168 100755 --- a/retail/apiv2/retailpb/product.pb.go +++ b/retail/apiv2/retailpb/product.pb.go @@ -189,6 +189,7 @@ type Product struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Expiration: + // // *Product_ExpireTime // *Product_Ttl Expiration isProduct_Expiration `protobuf_oneof:"expiration"` @@ -266,7 +267,6 @@ type Product struct { // belonging to several parallel categories. Strongly recommended using the // full path for better search / recommendation quality. // - // // To represent full path of category, use '>' sign to separate different // hierarchies. If '>' is part of the category name, replace it with // other character(s). @@ -276,10 +276,10 @@ type Product struct { // ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be // represented as: // - // "categories": [ - // "Shoes & Accessories > Shoes", - // "Sports & Fitness > Athletic Clothing > Shoes" - // ] + // "categories": [ + // "Shoes & Accessories > Shoes", + // "Sports & Fitness > Athletic Clothing > Shoes" + // ] // // Must be set for [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] // [Product][google.cloud.retail.v2.Product] otherwise an INVALID_ARGUMENT @@ -355,16 +355,16 @@ type Product struct { // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT // error is returned: // - // * Max entries count: 200. - // * The key must be a UTF-8 encoded string with a length limit of 128 - // characters. - // * For indexable attribute, the key must match the pattern: - // `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or - // `KEY_1_LIKE_THIS`. - // * For text attributes, at most 400 values are allowed. Empty values are not - // allowed. Each value must be a non-empty UTF-8 encoded string with a - // length limit of 256 characters. - // * For number attributes, at most 400 values are allowed. + // - Max entries count: 200. + // - The key must be a UTF-8 encoded string with a length limit of 128 + // characters. + // - For indexable attribute, the key must match the pattern: + // `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or + // `KEY_1_LIKE_THIS`. + // - For text attributes, at most 400 values are allowed. Empty values are not + // allowed. Each value must be a non-empty UTF-8 encoded string with a + // length limit of 256 characters. + // - For number attributes, at most 400 values are allowed. Attributes map[string]*CustomAttribute `protobuf:"bytes,12,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Custom tags associated with the product. // diff --git a/retail/apiv2/retailpb/product_service.pb.go b/retail/apiv2/retailpb/product_service.pb.go index b918d211444..27b43fdded3 100755 --- a/retail/apiv2/retailpb/product_service.pb.go +++ b/retail/apiv2/retailpb/product_service.pb.go @@ -390,19 +390,24 @@ type ListProductsRequest struct { // [filter][google.cloud.retail.v2.ListProductsRequest.filter] is unset. // * List [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT] // [Product][google.cloud.retail.v2.Product]s sharing the same - // [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] - // [Product][google.cloud.retail.v2.Product]. For example: - // `primary_product_id = "some_product_id"` + // + // [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] + // [Product][google.cloud.retail.v2.Product]. For example: + // `primary_product_id = "some_product_id"` + // // * List [Product][google.cloud.retail.v2.Product]s bundled in a // [Product.Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION] // [Product][google.cloud.retail.v2.Product]. - // For example: - // `collection_product_id = "some_product_id"` + // + // For example: + // `collection_product_id = "some_product_id"` + // // * List [Product][google.cloud.retail.v2.Product]s with a partibular type. // For example: - // `type = "PRIMARY"` - // `type = "VARIANT"` - // `type = "COLLECTION"` + // + // `type = "PRIMARY"` + // `type = "VARIANT"` + // `type = "COLLECTION"` // // If the field is unrecognizable, an INVALID_ARGUMENT error is returned. // diff --git a/retail/apiv2/retailpb/purge_config.pb.go b/retail/apiv2/retailpb/purge_config.pb.go index 759995ddced..41fbfd56c42 100755 --- a/retail/apiv2/retailpb/purge_config.pb.go +++ b/retail/apiv2/retailpb/purge_config.pb.go @@ -92,21 +92,21 @@ type PurgeUserEventsRequest struct { // // * `eventType`: Double quoted // [UserEvent.event_type][google.cloud.retail.v2.UserEvent.event_type] string. - // * `eventTime`: in ISO 8601 "zulu" format. - // * `visitorId`: Double quoted string. Specifying this will delete all - // events associated with a visitor. - // * `userId`: Double quoted string. Specifying this will delete all events - // associated with a user. + // - `eventTime`: in ISO 8601 "zulu" format. + // - `visitorId`: Double quoted string. Specifying this will delete all + // events associated with a visitor. + // - `userId`: Double quoted string. Specifying this will delete all events + // associated with a user. // // Examples: // - // * Deleting all events in a time range: - // `eventTime > "2012-04-23T18:25:43.511Z" - // eventTime < "2012-04-23T18:30:43.511Z"` - // * Deleting specific eventType in time range: - // `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"` - // * Deleting all events for a specific visitor: - // `visitorId = "visitor1024"` + // - Deleting all events in a time range: + // `eventTime > "2012-04-23T18:25:43.511Z" + // eventTime < "2012-04-23T18:30:43.511Z"` + // - Deleting specific eventType in time range: + // `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"` + // - Deleting all events for a specific visitor: + // `visitorId = "visitor1024"` // // The filtering fields are assumed to have an implicit AND. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` diff --git a/retail/apiv2/retailpb/search_service.pb.go b/retail/apiv2/retailpb/search_service.pb.go index 6754302f2a2..4757fd394b1 100755 --- a/retail/apiv2/retailpb/search_service.pb.go +++ b/retail/apiv2/retailpb/search_service.pb.go @@ -485,54 +485,72 @@ type SearchRequest struct { // // Supported keys are: // - // * colorFamilies - // * price - // * originalPrice - // * discount - // * variantId - // * inventory(place_id,price) - // * inventory(place_id,original_price) - // * inventory(place_id,attributes.key), where key is any key in the - // [Product.local_inventories.attributes][google.cloud.retail.v2.LocalInventory.attributes] - // map. - // * attributes.key, where key is any key in the - // [Product.attributes][google.cloud.retail.v2.Product.attributes] map. - // * pickupInStore.id, where id is any + // - colorFamilies + // - price + // - originalPrice + // - discount + // - variantId + // - inventory(place_id,price) + // - inventory(place_id,original_price) + // - inventory(place_id,attributes.key), where key is any key in the + // [Product.local_inventories.attributes][google.cloud.retail.v2.LocalInventory.attributes] + // map. + // - attributes.key, where key is any key in the + // [Product.attributes][google.cloud.retail.v2.Product.attributes] map. + // - pickupInStore.id, where id is any + // // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type] - // "pickup-in-store". + // + // "pickup-in-store". + // // * shipToStore.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type] - // "ship-to-store". + // + // "ship-to-store". + // // * sameDayDelivery.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type] - // "same-day-delivery". + // + // "same-day-delivery". + // // * nextDayDelivery.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type] - // "next-day-delivery". + // + // "next-day-delivery". + // // * customFulfillment1.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type] - // "custom-type-1". + // + // "custom-type-1". + // // * customFulfillment2.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type] - // "custom-type-2". + // + // "custom-type-2". + // // * customFulfillment3.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type] - // "custom-type-3". + // + // "custom-type-3". + // // * customFulfillment4.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type] - // "custom-type-4". + // + // "custom-type-4". + // // * customFulfillment5.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type] - // "custom-type-5". + // + // "custom-type-5". // // If this field is set to an invalid value other than these, an // INVALID_ARGUMENT error is returned. @@ -566,17 +584,17 @@ type SearchRequest struct { PersonalizationSpec *SearchRequest_PersonalizationSpec `protobuf:"bytes,32,opt,name=personalization_spec,json=personalizationSpec,proto3" json:"personalization_spec,omitempty"` // The labels applied to a resource must meet the following requirements: // - // * Each resource can have multiple labels, up to a maximum of 64. - // * Each label must be a key-value pair. - // * Keys have a minimum length of 1 character and a maximum length of 63 - // characters and cannot be empty. Values can be empty and have a maximum - // length of 63 characters. - // * Keys and values can contain only lowercase letters, numeric characters, - // underscores, and dashes. All characters must use UTF-8 encoding, and - // international characters are allowed. - // * The key portion of a label must be unique. However, you can use the same - // key with multiple resources. - // * Keys must start with a lowercase letter or international character. + // - Each resource can have multiple labels, up to a maximum of 64. + // - Each label must be a key-value pair. + // - Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // - Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // - The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // - Keys must start with a lowercase letter or international character. // // See [Google Cloud // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) @@ -949,6 +967,7 @@ type ExperimentInfo struct { // Information associated with the specific experiment entity being recorded. // // Types that are assignable to ExperimentMetadata: + // // *ExperimentInfo_ServingConfigExperiment_ ExperimentMetadata isExperimentInfo_ExperimentMetadata `protobuf_oneof:"experiment_metadata"` // The fully qualified resource name of the experiment that provides the @@ -1038,7 +1057,6 @@ type SearchRequest_FacetSpec struct { Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` // List of keys to exclude when faceting. // - // // By default, // [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key] // is not excluded from the filter unless it is listed in this field. @@ -1452,38 +1470,38 @@ type SearchRequest_FacetSpec_FacetKey struct { // is not specified: // // * textual_field = - // * "brands" - // * "categories" - // * "genders" - // * "ageGroups" - // * "availability" - // * "colorFamilies" - // * "colors" - // * "sizes" - // * "materials" - // * "patterns" - // * "conditions" - // * "attributes.key" - // * "pickupInStore" - // * "shipToStore" - // * "sameDayDelivery" - // * "nextDayDelivery" - // * "customFulfillment1" - // * "customFulfillment2" - // * "customFulfillment3" - // * "customFulfillment4" - // * "customFulfillment5" - // * "inventory(place_id,attributes.key)" + // - "brands" + // - "categories" + // - "genders" + // - "ageGroups" + // - "availability" + // - "colorFamilies" + // - "colors" + // - "sizes" + // - "materials" + // - "patterns" + // - "conditions" + // - "attributes.key" + // - "pickupInStore" + // - "shipToStore" + // - "sameDayDelivery" + // - "nextDayDelivery" + // - "customFulfillment1" + // - "customFulfillment2" + // - "customFulfillment3" + // - "customFulfillment4" + // - "customFulfillment5" + // - "inventory(place_id,attributes.key)" // // * numerical_field = - // * "price" - // * "discount" - // * "rating" - // * "ratingCount" - // * "attributes.key" - // * "inventory(place_id,price)" - // * "inventory(place_id,original_price)" - // * "inventory(place_id,attributes.key)" + // - "price" + // - "discount" + // - "rating" + // - "ratingCount" + // - "attributes.key" + // - "inventory(place_id,price)" + // - "inventory(place_id,original_price)" + // - "inventory(place_id,attributes.key)" Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Set only if values should be bucketized into intervals. Must be set // for facets with numerical values. Must not be set for facet with text @@ -1552,7 +1570,8 @@ type SearchRequest_FacetSpec_FacetKey struct { // * "value desc", which means order by // [SearchResponse.Facet.values.value][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.value] // descending. - // Only applies to textual facets. + // + // Only applies to textual facets. // // If not set, textual values are sorted in [natural // order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical @@ -1700,9 +1719,10 @@ type SearchRequest_BoostSpec_ConditionBoostSpec struct { // // * To boost products with product ID "product_1" or "product_2", and // color - // "Red" or "Blue": - // * (id: ANY("product_1", "product_2")) AND (colorFamilies: - // ANY("Red","Blue")) + // + // "Red" or "Blue": + // * (id: ANY("product_1", "product_2")) AND (colorFamilies: + // ANY("Red","Blue")) Condition string `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"` // Strength of the condition boost, which should be in [-1, 1]. Negative // boost means demotion. Default is 0.0. @@ -1827,14 +1847,14 @@ type SearchResponse_SearchResult struct { // there are two variants with colors "red" and "blue", the rollup values // are // - // { key: "colorFamilies" - // value { - // list_value { - // values { string_value: "red" } - // values { string_value: "blue" } - // } - // } - // } + // { key: "colorFamilies" + // value { + // list_value { + // values { string_value: "red" } + // values { string_value: "blue" } + // } + // } + // } // // For [FulfillmentInfo][google.cloud.retail.v2.FulfillmentInfo], the rollup // values is a double value with type @@ -2071,6 +2091,7 @@ type SearchResponse_Facet_FacetValue struct { // A facet value which contains values. // // Types that are assignable to FacetValue: + // // *SearchResponse_Facet_FacetValue_Value // *SearchResponse_Facet_FacetValue_Interval FacetValue isSearchResponse_Facet_FacetValue_FacetValue `protobuf_oneof:"facet_value"` diff --git a/retail/apiv2/retailpb/serving_config.pb.go b/retail/apiv2/retailpb/serving_config.pb.go index fd40ea7b350..ce90e05ced6 100755 --- a/retail/apiv2/retailpb/serving_config.pb.go +++ b/retail/apiv2/retailpb/serving_config.pb.go @@ -120,7 +120,8 @@ type ServingConfig struct { // recommendation probability to be ordered by price, with the // highest-priced items first. This setting could result in a decrease in // click-through and conversion rates. - // Allowed values are: + // + // Allowed values are: // // * `no-price-reranking` // * `low-price-reranking` @@ -256,14 +257,15 @@ type ServingConfig struct { DiversityType ServingConfig_DiversityType `protobuf:"varint,20,opt,name=diversity_type,json=diversityType,proto3,enum=google.cloud.retail.v2.ServingConfig_DiversityType" json:"diversity_type,omitempty"` // Whether to add additional category filters on the `similar-items` model. // If not specified, we enable it by default. - // Allowed values are: // - // * `no-category-match`: No additional filtering of original results from - // the model and the customer's filters. - // * `relaxed-category-match`: Only keep results with categories that match - // at least one item categories in the PredictRequests's context item. - // * If customer also sends filters in the PredictRequest, then the results - // will satisfy both conditions (user given and category match). + // Allowed values are: + // + // - `no-category-match`: No additional filtering of original results from + // the model and the customer's filters. + // - `relaxed-category-match`: Only keep results with categories that match + // at least one item categories in the PredictRequests's context item. + // - If customer also sends filters in the PredictRequest, then the results + // will satisfy both conditions (user given and category match). // // Can only be set if // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is diff --git a/retail/apiv2/retailpb/user_event.pb.go b/retail/apiv2/retailpb/user_event.pb.go index dbc7743daee..2b1f0e1cdcc 100755 --- a/retail/apiv2/retailpb/user_event.pb.go +++ b/retail/apiv2/retailpb/user_event.pb.go @@ -47,16 +47,16 @@ type UserEvent struct { // Required. User event type. Allowed values are: // - // * `add-to-cart`: Products being added to cart. - // * `category-page-view`: Special pages such as sale or promotion pages - // viewed. - // * `detail-page-view`: Products detail page viewed. - // * `home-page-view`: Homepage viewed. - // * `promotion-offered`: Promotion is offered to a user. - // * `promotion-not-offered`: Promotion is not offered to a user. - // * `purchase-complete`: User finishing a purchase. - // * `search`: Product search. - // * `shopping-cart-page-view`: User viewing a shopping cart. + // - `add-to-cart`: Products being added to cart. + // - `category-page-view`: Special pages such as sale or promotion pages + // viewed. + // - `detail-page-view`: Products detail page viewed. + // - `home-page-view`: Homepage viewed. + // - `promotion-offered`: Promotion is offered to a user. + // - `promotion-not-offered`: Promotion is not offered to a user. + // - `purchase-complete`: User finishing a purchase. + // - `search`: Product search. + // - `shopping-cart-page-view`: User viewing a shopping cart. EventType string `protobuf:"bytes,1,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` // Required. A unique identifier for tracking visitors. // @@ -151,12 +151,12 @@ type UserEvent struct { // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT // error is returned: // - // * The key must be a UTF-8 encoded string with a length limit of 5,000 - // characters. - // * For text attributes, at most 400 values are allowed. Empty values are not - // allowed. Each value must be a UTF-8 encoded string with a length limit of - // 256 characters. - // * For number attributes, at most 400 values are allowed. + // - The key must be a UTF-8 encoded string with a length limit of 5,000 + // characters. + // - For text attributes, at most 400 values are allowed. Empty values are not + // allowed. Each value must be a UTF-8 encoded string with a length limit of + // 256 characters. + // - For number attributes, at most 400 values are allowed. // // For product recommendations, an example of extra user information is // traffic_channel, which is how a user arrives at the site. Users can arrive diff --git a/retail/apiv2/retailpb/user_event_service.pb.go b/retail/apiv2/retailpb/user_event_service.pb.go index fc6bc81fee5..f8341c31f96 100755 --- a/retail/apiv2/retailpb/user_event_service.pb.go +++ b/retail/apiv2/retailpb/user_event_service.pb.go @@ -183,6 +183,7 @@ type CollectUserEventRequest struct { // only when the raw_json is set. // // Types that are assignable to ConversionRule: + // // *CollectUserEventRequest_PrebuiltRule ConversionRule isCollectUserEventRequest_ConversionRule `protobuf_oneof:"conversion_rule"` // Required. The parent catalog name, such as diff --git a/retail/apiv2alpha/retailpb/catalog.pb.go b/retail/apiv2alpha/retailpb/catalog.pb.go index de7ed64bcef..06930fabe63 100755 --- a/retail/apiv2alpha/retailpb/catalog.pb.go +++ b/retail/apiv2alpha/retailpb/catalog.pb.go @@ -369,16 +369,17 @@ type ProductLevelConfig struct { // // * `primary` (default): You can ingest // [Product][google.cloud.retail.v2alpha.Product]s of all types. When - // ingesting a [Product][google.cloud.retail.v2alpha.Product], its type will - // default to - // [Product.Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] - // if unset. - // * `variant` (incompatible with Retail Search): You can only - // ingest - // [Product.Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] - // [Product][google.cloud.retail.v2alpha.Product]s. This means - // [Product.primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id] - // cannot be empty. + // + // ingesting a [Product][google.cloud.retail.v2alpha.Product], its type will + // default to + // [Product.Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] + // if unset. + // - `variant` (incompatible with Retail Search): You can only + // ingest + // [Product.Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2alpha.Product]s. This means + // [Product.primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id] + // cannot be empty. // // If this field is set to an invalid value other than these, an // INVALID_ARGUMENT error is returned. @@ -396,10 +397,10 @@ type ProductLevelConfig struct { // imported as [Product.id][google.cloud.retail.v2alpha.Product.id]. // Acceptable values are: // - // * `offerId` (default): Import `offerId` as the product ID. - // * `itemGroupId`: Import `itemGroupId` as the product ID. Notice that Retail - // API will choose one item from the ones with the same `itemGroupId`, and - // use it to represent the item group. + // - `offerId` (default): Import `offerId` as the product ID. + // - `itemGroupId`: Import `itemGroupId` as the product ID. Notice that Retail + // API will choose one item from the ones with the same `itemGroupId`, and + // use it to represent the item group. // // If this field is set to an invalid value other than these, an // INVALID_ARGUMENT error is returned. diff --git a/retail/apiv2alpha/retailpb/catalog_service.pb.go b/retail/apiv2alpha/retailpb/catalog_service.pb.go index b63982ab825..5277fe52e85 100755 --- a/retail/apiv2alpha/retailpb/catalog_service.pb.go +++ b/retail/apiv2alpha/retailpb/catalog_service.pb.go @@ -1764,11 +1764,11 @@ type CatalogServiceClient interface { // // More specifically: // - // * PredictionService will only return product IDs from branch {newBranch}. - // * SearchService will only return product IDs from branch {newBranch} - // (if branch is not explicitly set). - // * UserEventService will only join events with products from branch - // {newBranch}. + // - PredictionService will only return product IDs from branch {newBranch}. + // - SearchService will only return product IDs from branch {newBranch} + // (if branch is not explicitly set). + // - UserEventService will only join events with products from branch + // {newBranch}. SetDefaultBranch(ctx context.Context, in *SetDefaultBranchRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) // Get which branch is currently default branch set by // [CatalogService.SetDefaultBranch][google.cloud.retail.v2alpha.CatalogService.SetDefaultBranch] @@ -1971,11 +1971,11 @@ type CatalogServiceServer interface { // // More specifically: // - // * PredictionService will only return product IDs from branch {newBranch}. - // * SearchService will only return product IDs from branch {newBranch} - // (if branch is not explicitly set). - // * UserEventService will only join events with products from branch - // {newBranch}. + // - PredictionService will only return product IDs from branch {newBranch}. + // - SearchService will only return product IDs from branch {newBranch} + // (if branch is not explicitly set). + // - UserEventService will only join events with products from branch + // {newBranch}. SetDefaultBranch(context.Context, *SetDefaultBranchRequest) (*emptypb.Empty, error) // Get which branch is currently default branch set by // [CatalogService.SetDefaultBranch][google.cloud.retail.v2alpha.CatalogService.SetDefaultBranch] diff --git a/retail/apiv2alpha/retailpb/common.pb.go b/retail/apiv2alpha/retailpb/common.pb.go index 3c47735ca01..ae09bd5e5f2 100755 --- a/retail/apiv2alpha/retailpb/common.pb.go +++ b/retail/apiv2alpha/retailpb/common.pb.go @@ -339,6 +339,7 @@ type Rule struct { // An action must be provided. // // Types that are assignable to Action: + // // *Rule_BoostAction_ // *Rule_RedirectAction_ // *Rule_OnewaySynonymsAction_ @@ -987,6 +988,7 @@ type Interval struct { // Otherwise, an INVALID_ARGUMENT error is returned. // // Types that are assignable to Min: + // // *Interval_Minimum // *Interval_ExclusiveMinimum Min isInterval_Min `protobuf_oneof:"min"` @@ -997,6 +999,7 @@ type Interval struct { // Otherwise, an INVALID_ARGUMENT error is returned. // // Types that are assignable to Max: + // // *Interval_Maximum // *Interval_ExclusiveMaximum Max isInterval_Max `protobuf_oneof:"max"` @@ -1499,18 +1502,18 @@ type LocalInventory struct { // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT // error is returned: // - // * At most 30 attributes are allowed. - // * The key must be a UTF-8 encoded string with a length limit of 32 - // characters. - // * The key must match the pattern: `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, - // key0LikeThis or KEY_1_LIKE_THIS. - // * The attribute values must be of the same type (text or number). - // * Only 1 value is allowed for each attribute. - // * For text values, the length limit is 256 UTF-8 characters. - // * The attribute does not support search. The `searchable` field should be - // unset or set to false. - // * The max summed total bytes of custom attribute keys and values per - // product is 5MiB. + // - At most 30 attributes are allowed. + // - The key must be a UTF-8 encoded string with a length limit of 32 + // characters. + // - The key must match the pattern: `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, + // key0LikeThis or KEY_1_LIKE_THIS. + // - The attribute values must be of the same type (text or number). + // - Only 1 value is allowed for each attribute. + // - For text values, the length limit is 256 UTF-8 characters. + // - The attribute does not support search. The `searchable` field should be + // unset or set to false. + // - The max summed total bytes of custom attribute keys and values per + // product is 5MiB. Attributes map[string]*CustomAttribute `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Input only. Supported fulfillment types. Valid fulfillment type values // include commonly used types (such as pickup in store and same day @@ -1753,10 +1756,11 @@ type Rule_BoostAction struct { // // * To boost products with product ID "product_1" or "product_2", and // color - // "Red" or "Blue":
- // *(id: ANY("product_1", "product_2"))
* - // *AND
* - // *(colorFamilies: ANY("Red", "Blue"))
* + // + // "Red" or "Blue":
+ // *(id: ANY("product_1", "product_2"))
* + // *AND
* + // *(colorFamilies: ANY("Red", "Blue"))
* ProductsFilter string `protobuf:"bytes,2,opt,name=products_filter,json=productsFilter,proto3" json:"products_filter,omitempty"` } @@ -1833,14 +1837,17 @@ type Rule_FilterAction struct { // * Filter syntax is identical to // [SearchRequest.filter][google.cloud.retail.v2alpha.SearchRequest.filter]. // See more - // details at the Retail Search - // [user guide](/retail/search/docs/filter-and-order#filter). + // + // details at the Retail Search + // [user guide](/retail/search/docs/filter-and-order#filter). + // // * To filter products with product ID "product_1" or "product_2", and // color - // "Red" or "Blue":
- // *(id: ANY("product_1", "product_2"))
* - // *AND
* - // *(colorFamilies: ANY("Red", "Blue"))
* + // + // "Red" or "Blue":
+ // *(id: ANY("product_1", "product_2"))
* + // *AND
* + // *(colorFamilies: ANY("Red", "Blue"))
* Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` } diff --git a/retail/apiv2alpha/retailpb/completion_service.pb.go b/retail/apiv2alpha/retailpb/completion_service.pb.go index 81d9c54fd93..2f17a416393 100755 --- a/retail/apiv2alpha/retailpb/completion_service.pb.go +++ b/retail/apiv2alpha/retailpb/completion_service.pb.go @@ -101,9 +101,9 @@ type CompleteQueryRequest struct { // // * user-data // - // * cloud-retail: - // This option requires enabling auto-learning function first. See - // [guidelines](https://cloud.google.com/retail/docs/completion-overview#generated-completion-dataset). + // - cloud-retail: + // This option requires enabling auto-learning function first. See + // [guidelines](https://cloud.google.com/retail/docs/completion-overview#generated-completion-dataset). Dataset string `protobuf:"bytes,6,opt,name=dataset,proto3" json:"dataset,omitempty"` // Completion max suggestions. If left unset or set to 0, then will fallback // to the configured value @@ -243,15 +243,15 @@ type CompleteQueryResponse struct { // field is set and [UserEvent][google.cloud.retail.v2alpha.UserEvent] is // imported. The recent searches satisfy the follow rules: // - // * They are ordered from latest to oldest. + // - They are ordered from latest to oldest. // - // * They are matched with - // [CompleteQueryRequest.query][google.cloud.retail.v2alpha.CompleteQueryRequest.query] - // case insensitively. + // - They are matched with + // [CompleteQueryRequest.query][google.cloud.retail.v2alpha.CompleteQueryRequest.query] + // case insensitively. // - // * They are transformed to lower case. + // - They are transformed to lower case. // - // * They are UTF-8 safe. + // - They are UTF-8 safe. // // Recent searches are deduplicated. More recent searches will be reserved // when duplication happens. diff --git a/retail/apiv2alpha/retailpb/control.pb.go b/retail/apiv2alpha/retailpb/control.pb.go index 6e5d1a1bf22..cbf1cf5c79d 100755 --- a/retail/apiv2alpha/retailpb/control.pb.go +++ b/retail/apiv2alpha/retailpb/control.pb.go @@ -51,6 +51,7 @@ type Control struct { // INVALID_ARGUMENT will be returned if either condition is violated. // // Types that are assignable to Control: + // // *Control_FacetSpec // *Control_Rule Control isControl_Control `protobuf_oneof:"control"` diff --git a/retail/apiv2alpha/retailpb/control_service.pb.go b/retail/apiv2alpha/retailpb/control_service.pb.go index b3ca72b1065..e93052d87be 100755 --- a/retail/apiv2alpha/retailpb/control_service.pb.go +++ b/retail/apiv2alpha/retailpb/control_service.pb.go @@ -297,7 +297,7 @@ type ListControlsRequest struct { // // * List all the products under the parent branch if // [filter][google.cloud.retail.v2alpha.ListControlsRequest.filter] is unset. - // * List controls that are used in a single ServingConfig: + // - List controls that are used in a single ServingConfig: // 'serving_config = "boosted_home_page_cvr"' Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } diff --git a/retail/apiv2alpha/retailpb/export_config.pb.go b/retail/apiv2alpha/retailpb/export_config.pb.go index 833888c4298..8a0a074f2ac 100755 --- a/retail/apiv2alpha/retailpb/export_config.pb.go +++ b/retail/apiv2alpha/retailpb/export_config.pb.go @@ -47,6 +47,7 @@ type OutputConfig struct { // The configuration of destination for holding output data. // // Types that are assignable to Destination: + // // *OutputConfig_GcsDestination_ // *OutputConfig_BigqueryDestination Destination isOutputConfig_Destination `protobuf_oneof:"destination"` @@ -132,6 +133,7 @@ type ExportErrorsConfig struct { // Required. Errors destination. // // Types that are assignable to Destination: + // // *ExportErrorsConfig_GcsPrefix Destination isExportErrorsConfig_Destination `protobuf_oneof:"destination"` } @@ -212,18 +214,18 @@ type ExportAnalyticsMetricsRequest struct { // the returned metrics. Use this expression to restrict results to a // specific time range. // - // Currently we expect only one types of fields: + // Currently we expect only one types of fields: // - // * `timestamp`: This can be specified twice, once with a - // less than operator and once with a greater than operator. The - // `timestamp` restriction should result in one, contiguous, valid, - // `timestamp` range. + // * `timestamp`: This can be specified twice, once with a + // less than operator and once with a greater than operator. The + // `timestamp` restriction should result in one, contiguous, valid, + // `timestamp` range. // - // Some examples of valid filters expressions: + // Some examples of valid filters expressions: // - // * Example 1: `timestamp > "2012-04-23T18:25:43.511Z" - // timestamp < "2012-04-23T18:30:43.511Z"` - // * Example 2: `timestamp > "2012-04-23T18:25:43.511Z"` + // * Example 1: `timestamp > "2012-04-23T18:25:43.511Z" + // timestamp < "2012-04-23T18:30:43.511Z"` + // * Example 2: `timestamp > "2012-04-23T18:25:43.511Z"` Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` } diff --git a/retail/apiv2alpha/retailpb/import_config.pb.go b/retail/apiv2alpha/retailpb/import_config.pb.go index 5c1e5a0be6a..2abd4b6ab0c 100755 --- a/retail/apiv2alpha/retailpb/import_config.pb.go +++ b/retail/apiv2alpha/retailpb/import_config.pb.go @@ -116,16 +116,17 @@ type GcsSource struct { // // * `product` (default): One JSON // [Product][google.cloud.retail.v2alpha.Product] per line. Each product must - // have a valid [Product.id][google.cloud.retail.v2alpha.Product.id]. - // * `product_merchant_center`: See [Importing catalog data from Merchant - // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). + // + // have a valid [Product.id][google.cloud.retail.v2alpha.Product.id]. + // - `product_merchant_center`: See [Importing catalog data from Merchant + // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). // // Supported values for user events imports: // // * `user_event` (default): One JSON // [UserEvent][google.cloud.retail.v2alpha.UserEvent] per line. - // * `user_event_ga360`: Using - // https://support.google.com/analytics/answer/3437719. + // - `user_event_ga360`: Using + // https://support.google.com/analytics/answer/3437719. // // Supported values for control imports: // @@ -195,6 +196,7 @@ type BigQuerySource struct { // is not partitioned. // // Types that are assignable to Partition: + // // *BigQuerySource_PartitionDate Partition isBigQuerySource_Partition `protobuf_oneof:"partition"` // The project ID (can be project # or ID) that the BigQuery source is in with @@ -217,20 +219,21 @@ type BigQuerySource struct { // // * `product` (default): One JSON // [Product][google.cloud.retail.v2alpha.Product] per line. Each product must - // have a valid [Product.id][google.cloud.retail.v2alpha.Product.id]. - // * `product_merchant_center`: See [Importing catalog data from Merchant - // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). + // + // have a valid [Product.id][google.cloud.retail.v2alpha.Product.id]. + // - `product_merchant_center`: See [Importing catalog data from Merchant + // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). // // Supported values for user events imports: // // * `user_event` (default): One JSON // [UserEvent][google.cloud.retail.v2alpha.UserEvent] per line. - // * `user_event_ga360`: - // The schema is available here: - // https://support.google.com/analytics/answer/3437719. - // * `user_event_ga4`: - // The schema is available here: - // https://support.google.com/analytics/answer/7029846. + // - `user_event_ga360`: + // The schema is available here: + // https://support.google.com/analytics/answer/3437719. + // - `user_event_ga4`: + // The schema is available here: + // https://support.google.com/analytics/answer/7029846. // // Supported values for autocomplete imports: // @@ -444,6 +447,7 @@ type ImportErrorsConfig struct { // Required. Errors destination. // // Types that are assignable to Destination: + // // *ImportErrorsConfig_GcsPrefix Destination isImportErrorsConfig_Destination `protobuf_oneof:"destination"` } @@ -796,6 +800,7 @@ type ProductInputConfig struct { // Required. The source of the input. // // Types that are assignable to Source: + // // *ProductInputConfig_ProductInlineSource // *ProductInputConfig_GcsSource // *ProductInputConfig_BigQuerySource @@ -896,6 +901,7 @@ type UserEventInputConfig struct { // The source of the input. // // Types that are assignable to Source: + // // *UserEventInputConfig_UserEventInlineSource // *UserEventInputConfig_GcsSource // *UserEventInputConfig_BigQuerySource @@ -1004,6 +1010,7 @@ type CompletionDataInputConfig struct { // * `allowlist`: One JSON allow suggestion per line. // // Types that are assignable to Source: + // // *CompletionDataInputConfig_BigQuerySource Source isCompletionDataInputConfig_Source `protobuf_oneof:"source"` } diff --git a/retail/apiv2alpha/retailpb/model.pb.go b/retail/apiv2alpha/retailpb/model.pb.go index d7e0828eb92..d6bfad5c290 100755 --- a/retail/apiv2alpha/retailpb/model.pb.go +++ b/retail/apiv2alpha/retailpb/model.pb.go @@ -286,21 +286,22 @@ const ( // // `Panel2 candidates`: home_page_ctr_no_diversity, // home_page_ctr_diversity, - // pdp_cvr_no_diversity + // + // pdp_cvr_no_diversity // // `Restriction` = NO_RESTRICTION // // `Valid combinations`: // - // * (pdp_ctr, home_page_ctr_no_diversity) - // * (pdp_ctr, home_page_ctr_diversity) - // * (pdp_ctr, pdp_cvr_no_diversity) - // * (pdp_cvr, home_page_ctr_no_diversity) - // * (pdp_cvr, home_page_ctr_diversity) - // * (pdp_cvr, pdp_cvr_no_diversity) - // * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) - // * (home_page_ctr_no_diversity, home_page_ctr_diversity) - // * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) + // - (pdp_ctr, home_page_ctr_no_diversity) + // - (pdp_ctr, home_page_ctr_diversity) + // - (pdp_ctr, pdp_cvr_no_diversity) + // - (pdp_cvr, home_page_ctr_no_diversity) + // - (pdp_cvr, home_page_ctr_diversity) + // - (pdp_cvr, pdp_cvr_no_diversity) + // - (home_page_ctr_no_diversity, home_page_ctr_no_diversity) + // - (home_page_ctr_no_diversity, home_page_ctr_diversity) + // - (home_page_ctr_no_diversity, pdp_cvr_no_diversity) // // `Invalid combinations`: [] Model_PageOptimizationConfig_NO_RESTRICTION Model_PageOptimizationConfig_Restriction = 1 @@ -315,25 +316,26 @@ const ( // // `Panel2 candidates`: home_page_ctr_no_diversity, // home_page_ctr_diversity_low, - // pdp_cvr_no_diversity + // + // pdp_cvr_no_diversity // // `Restriction` = `UNIQUE_SERVING_CONFIG_RESTRICTION` // // `Valid combinations`: // - // * (pdp_ctr, home_page_ctr_no_diversity) - // * (pdp_ctr, home_page_ctr_diversity_low) - // * (pdp_ctr, pdp_cvr_no_diversity) - // * (pdp_ctr, pdp_cvr_no_diversity) - // * (pdp_cvr, home_page_ctr_no_diversity) - // * (pdp_cvr, home_page_ctr_diversity_low) - // * (pdp_cvr, pdp_cvr_no_diversity) - // * (home_page_ctr_no_diversity, home_page_ctr_diversity_low) - // * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) + // - (pdp_ctr, home_page_ctr_no_diversity) + // - (pdp_ctr, home_page_ctr_diversity_low) + // - (pdp_ctr, pdp_cvr_no_diversity) + // - (pdp_ctr, pdp_cvr_no_diversity) + // - (pdp_cvr, home_page_ctr_no_diversity) + // - (pdp_cvr, home_page_ctr_diversity_low) + // - (pdp_cvr, pdp_cvr_no_diversity) + // - (home_page_ctr_no_diversity, home_page_ctr_diversity_low) + // - (home_page_ctr_no_diversity, pdp_cvr_no_diversity) // // `Invalid combinations`: // - // * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) + // - (home_page_ctr_no_diversity, home_page_ctr_no_diversity) Model_PageOptimizationConfig_UNIQUE_SERVING_CONFIG_RESTRICTION Model_PageOptimizationConfig_Restriction = 2 // Do not allow multiple // [ServingConfigs][google.cloud.retail.v2alpha.ServingConfig] with same @@ -347,24 +349,25 @@ const ( // // `Panel2 candidates`: home_page_ctr_no_diversity, // home_page_ctr_diversity_low, - // pdp_cvr_no_diversity + // + // pdp_cvr_no_diversity // // `Restriction` = `UNIQUE_MODEL_RESTRICTION` // // `Valid combinations`: // - // * (pdp_ctr, home_page_ctr_no_diversity) - // * (pdp_ctr, home_page_ctr_diversity) - // * (pdp_ctr, pdp_cvr_no_diversity) - // * (pdp_ctr, pdp_cvr_no_diversity) - // * (pdp_cvr, home_page_ctr_no_diversity) - // * (pdp_cvr, home_page_ctr_diversity_low) - // * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) + // - (pdp_ctr, home_page_ctr_no_diversity) + // - (pdp_ctr, home_page_ctr_diversity) + // - (pdp_ctr, pdp_cvr_no_diversity) + // - (pdp_ctr, pdp_cvr_no_diversity) + // - (pdp_cvr, home_page_ctr_no_diversity) + // - (pdp_cvr, home_page_ctr_diversity_low) + // - (home_page_ctr_no_diversity, pdp_cvr_no_diversity) // // `Invalid combinations`: // - // * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) - // * (pdp_cvr, pdp_cvr_no_diversity) + // - (home_page_ctr_no_diversity, home_page_ctr_no_diversity) + // - (pdp_cvr, pdp_cvr_no_diversity) Model_PageOptimizationConfig_UNIQUE_MODEL_RESTRICTION Model_PageOptimizationConfig_Restriction = 3 // Do not allow multiple // [ServingConfigs][google.cloud.retail.v2alpha.ServingConfig] with same @@ -378,7 +381,8 @@ const ( // // `Panel2 candidates`: home_page_ctr_no_diversity, // home_page_ctr_diversity_low, - // pdp_cvr_no_diversity + // + // pdp_cvr_no_diversity // // `Restriction` = `UNIQUE_MODEL_RESTRICTION` // @@ -392,11 +396,11 @@ const ( // // `Invalid combinations`: // - // * (pdp_ctr, pdp_cvr_no_diversity) - // * (pdp_ctr, pdp_cvr_no_diversity) - // * (pdp_cvr, pdp_cvr_no_diversity) - // * (home_page_ctr_no_diversity, home_page_ctr_no_diversity) - // * (home_page_ctr_no_diversity, home_page_ctr_diversity) + // - (pdp_ctr, pdp_cvr_no_diversity) + // - (pdp_ctr, pdp_cvr_no_diversity) + // - (pdp_cvr, pdp_cvr_no_diversity) + // - (home_page_ctr_no_diversity, home_page_ctr_no_diversity) + // - (home_page_ctr_no_diversity, home_page_ctr_diversity) Model_PageOptimizationConfig_UNIQUE_MODEL_TYPE_RESTRICTION Model_PageOptimizationConfig_Restriction = 4 ) @@ -460,6 +464,7 @@ type Model struct { // page optimization. // // Types that are assignable to TrainingConfig: + // // *Model_PageOptimizationConfig_ TrainingConfig isModel_TrainingConfig `protobuf_oneof:"training_config"` // Required. The fully qualified resource name of the model. @@ -498,7 +503,6 @@ type Model struct { // `frequently-bought-together`, `page-optimization`, `similar-items`, // `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly value). // - // // This field together with // [optimization_objective][google.cloud.retail.v2alpha.Model.optimization_objective] // describe model metadata to use to control model training and serving. @@ -514,7 +518,8 @@ type Model struct { // Currently supported // values: `ctr`, `cvr`, `revenue-per-order`. // - // If not specified, we choose default based on model type. + // If not specified, we choose default based on model type. + // // Default depends on type of recommendation: // // `recommended-for-you` => `ctr` @@ -874,6 +879,7 @@ type Model_PageOptimizationConfig_Candidate struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Candidate: + // // *Model_PageOptimizationConfig_Candidate_ServingConfigId Candidate isModel_PageOptimizationConfig_Candidate_Candidate `protobuf_oneof:"candidate"` } diff --git a/retail/apiv2alpha/retailpb/prediction_service.pb.go b/retail/apiv2alpha/retailpb/prediction_service.pb.go index b0d6a63ff66..c202e306803 100755 --- a/retail/apiv2alpha/retailpb/prediction_service.pb.go +++ b/retail/apiv2alpha/retailpb/prediction_service.pb.go @@ -89,25 +89,25 @@ type PredictRequest struct { // Filter for restricting prediction results with a length limit of 5,000 // characters. Accepts values for tags and the `filterOutOfStockItems` flag. // - // * Tag expressions. Restricts predictions to products that match all of the - // specified tags. Boolean operators `OR` and `NOT` are supported if the - // expression is enclosed in parentheses, and must be separated from the - // tag values by a space. `-"tagA"` is also supported and is equivalent to - // `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings - // with a size limit of 1,000 characters. + // - Tag expressions. Restricts predictions to products that match all of the + // specified tags. Boolean operators `OR` and `NOT` are supported if the + // expression is enclosed in parentheses, and must be separated from the + // tag values by a space. `-"tagA"` is also supported and is equivalent to + // `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings + // with a size limit of 1,000 characters. // - // Note: "Recently viewed" models don't support tag filtering at the - // moment. + // Note: "Recently viewed" models don't support tag filtering at the + // moment. // - // * filterOutOfStockItems. Restricts predictions to products that do not - // have a - // stockState value of OUT_OF_STOCK. + // - filterOutOfStockItems. Restricts predictions to products that do not + // have a + // stockState value of OUT_OF_STOCK. // // Examples: // - // * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional") - // * filterOutOfStockItems tag=(-"promotional") - // * filterOutOfStockItems + // - tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional") + // - filterOutOfStockItems tag=(-"promotional") + // - filterOutOfStockItems // // If your filter blocks all prediction results, the API will return *no* // results. If instead you want empty result sets to return generic @@ -119,9 +119,9 @@ type PredictRequest struct { // attribute-based expressions are expected instead of the above described // tag-based syntax. Examples: // - // * (colors: ANY("Red", "Blue")) AND NOT (categories: ANY("Phones")) - // * (availability: ANY("IN_STOCK")) AND - // (colors: ANY("Red") OR categories: ANY("Phones")) + // - (colors: ANY("Red", "Blue")) AND NOT (categories: ANY("Phones")) + // - (availability: ANY("IN_STOCK")) AND + // (colors: ANY("Red") OR categories: ANY("Phones")) // // For more information, see // [Filter recommendations](https://cloud.google.com/retail/docs/filter-recs). @@ -135,43 +135,43 @@ type PredictRequest struct { // // Allowed values: // - // * `returnProduct`: Boolean. If set to true, the associated product - // object will be returned in the `results.metadata` field in the - // prediction response. - // * `returnScore`: Boolean. If set to true, the prediction 'score' - // corresponding to each returned product will be set in the - // `results.metadata` field in the prediction response. The given - // 'score' indicates the probability of a product being clicked/purchased - // given the user's context and history. - // * `strictFiltering`: Boolean. True by default. If set to false, the service - // will return generic (unfiltered) popular products instead of empty if - // your filter blocks all prediction results. - // * `priceRerankLevel`: String. Default empty. If set to be non-empty, then - // it needs to be one of {'no-price-reranking', 'low-price-reranking', - // 'medium-price-reranking', 'high-price-reranking'}. This gives - // request-level control and adjusts prediction results based on product - // price. - // * `diversityLevel`: String. Default empty. If set to be non-empty, then - // it needs to be one of {'no-diversity', 'low-diversity', - // 'medium-diversity', 'high-diversity', 'auto-diversity'}. This gives - // request-level control and adjusts prediction results based on product - // category. - // * `filterSyntaxV2`: Boolean. False by default. If set to true, the `filter` - // field is interpreteted according to the new, attribute-based syntax. + // - `returnProduct`: Boolean. If set to true, the associated product + // object will be returned in the `results.metadata` field in the + // prediction response. + // - `returnScore`: Boolean. If set to true, the prediction 'score' + // corresponding to each returned product will be set in the + // `results.metadata` field in the prediction response. The given + // 'score' indicates the probability of a product being clicked/purchased + // given the user's context and history. + // - `strictFiltering`: Boolean. True by default. If set to false, the service + // will return generic (unfiltered) popular products instead of empty if + // your filter blocks all prediction results. + // - `priceRerankLevel`: String. Default empty. If set to be non-empty, then + // it needs to be one of {'no-price-reranking', 'low-price-reranking', + // 'medium-price-reranking', 'high-price-reranking'}. This gives + // request-level control and adjusts prediction results based on product + // price. + // - `diversityLevel`: String. Default empty. If set to be non-empty, then + // it needs to be one of {'no-diversity', 'low-diversity', + // 'medium-diversity', 'high-diversity', 'auto-diversity'}. This gives + // request-level control and adjusts prediction results based on product + // category. + // - `filterSyntaxV2`: Boolean. False by default. If set to true, the `filter` + // field is interpreteted according to the new, attribute-based syntax. Params map[string]*structpb.Value `protobuf:"bytes,7,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The labels applied to a resource must meet the following requirements: // - // * Each resource can have multiple labels, up to a maximum of 64. - // * Each label must be a key-value pair. - // * Keys have a minimum length of 1 character and a maximum length of 63 - // characters and cannot be empty. Values can be empty and have a maximum - // length of 63 characters. - // * Keys and values can contain only lowercase letters, numeric characters, - // underscores, and dashes. All characters must use UTF-8 encoding, and - // international characters are allowed. - // * The key portion of a label must be unique. However, you can use the same - // key with multiple resources. - // * Keys must start with a lowercase letter or international character. + // - Each resource can have multiple labels, up to a maximum of 64. + // - Each label must be a key-value pair. + // - Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // - Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // - The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // - Keys must start with a lowercase letter or international character. // // See [Google Cloud // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) @@ -360,10 +360,10 @@ type PredictResponse_PredictionResult struct { // // Possible values: // - // * `product`: JSON representation of the product. Is set if - // `returnProduct` is set to true in `PredictRequest.params`. - // * `score`: Prediction score in double value. Is set if - // `returnScore` is set to true in `PredictRequest.params`. + // - `product`: JSON representation of the product. Is set if + // `returnProduct` is set to true in `PredictRequest.params`. + // - `score`: Prediction score in double value. Is set if + // `returnScore` is set to true in `PredictRequest.params`. Metadata map[string]*structpb.Value `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } diff --git a/retail/apiv2alpha/retailpb/product.pb.go b/retail/apiv2alpha/retailpb/product.pb.go index 3142ad7ab53..6e456e65034 100755 --- a/retail/apiv2alpha/retailpb/product.pb.go +++ b/retail/apiv2alpha/retailpb/product.pb.go @@ -189,6 +189,7 @@ type Product struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Expiration: + // // *Product_ExpireTime // *Product_Ttl Expiration isProduct_Expiration `protobuf_oneof:"expiration"` @@ -267,7 +268,6 @@ type Product struct { // belonging to several parallel categories. Strongly recommended using the // full path for better search / recommendation quality. // - // // To represent full path of category, use '>' sign to separate different // hierarchies. If '>' is part of the category name, replace it with // other character(s). @@ -277,10 +277,10 @@ type Product struct { // ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be // represented as: // - // "categories": [ - // "Shoes & Accessories > Shoes", - // "Sports & Fitness > Athletic Clothing > Shoes" - // ] + // "categories": [ + // "Shoes & Accessories > Shoes", + // "Sports & Fitness > Athletic Clothing > Shoes" + // ] // // Must be set for // [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] @@ -358,16 +358,16 @@ type Product struct { // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT // error is returned: // - // * Max entries count: 200. - // * The key must be a UTF-8 encoded string with a length limit of 128 - // characters. - // * For indexable attribute, the key must match the pattern: - // `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or - // `KEY_1_LIKE_THIS`. - // * For text attributes, at most 400 values are allowed. Empty values are not - // allowed. Each value must be a non-empty UTF-8 encoded string with a - // length limit of 256 characters. - // * For number attributes, at most 400 values are allowed. + // - Max entries count: 200. + // - The key must be a UTF-8 encoded string with a length limit of 128 + // characters. + // - For indexable attribute, the key must match the pattern: + // `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or + // `KEY_1_LIKE_THIS`. + // - For text attributes, at most 400 values are allowed. Empty values are not + // allowed. Each value must be a non-empty UTF-8 encoded string with a + // length limit of 256 characters. + // - For number attributes, at most 400 values are allowed. Attributes map[string]*CustomAttribute `protobuf:"bytes,12,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Custom tags associated with the product. // diff --git a/retail/apiv2alpha/retailpb/product_service.pb.go b/retail/apiv2alpha/retailpb/product_service.pb.go index fcecdd149ff..77359adaf88 100755 --- a/retail/apiv2alpha/retailpb/product_service.pb.go +++ b/retail/apiv2alpha/retailpb/product_service.pb.go @@ -409,19 +409,24 @@ type ListProductsRequest struct { // * List // [Product.Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] // [Product][google.cloud.retail.v2alpha.Product]s sharing the same - // [Product.Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] - // [Product][google.cloud.retail.v2alpha.Product]. For example: - // `primary_product_id = "some_product_id"` + // + // [Product.Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] + // [Product][google.cloud.retail.v2alpha.Product]. For example: + // `primary_product_id = "some_product_id"` + // // * List [Product][google.cloud.retail.v2alpha.Product]s bundled in a // [Product.Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION] // [Product][google.cloud.retail.v2alpha.Product]. - // For example: - // `collection_product_id = "some_product_id"` + // + // For example: + // `collection_product_id = "some_product_id"` + // // * List [Product][google.cloud.retail.v2alpha.Product]s with a partibular // type. For example: - // `type = "PRIMARY"` - // `type = "VARIANT"` - // `type = "COLLECTION"` + // + // `type = "PRIMARY"` + // `type = "VARIANT"` + // `type = "COLLECTION"` // // If the field is unrecognizable, an INVALID_ARGUMENT error is returned. // diff --git a/retail/apiv2alpha/retailpb/purge_config.pb.go b/retail/apiv2alpha/retailpb/purge_config.pb.go index 2d675c6b592..6b933b68efb 100755 --- a/retail/apiv2alpha/retailpb/purge_config.pb.go +++ b/retail/apiv2alpha/retailpb/purge_config.pb.go @@ -180,31 +180,31 @@ type PurgeProductsRequest struct { // // Supported syntax: // - // * Comparators (">", "<", ">=", "<=", "="). - // Examples: - // * create_time <= "2015-02-13T17:05:46Z" - // * availability = "IN_STOCK" + // - Comparators (">", "<", ">=", "<=", "="). + // Examples: + // - create_time <= "2015-02-13T17:05:46Z" + // - availability = "IN_STOCK" // - // * Conjunctions ("AND") - // Examples: - // * create_time <= "2015-02-13T17:05:46Z" AND availability = "PREORDER" + // - Conjunctions ("AND") + // Examples: + // - create_time <= "2015-02-13T17:05:46Z" AND availability = "PREORDER" // - // * Disjunctions ("OR") - // Examples: - // * create_time <= "2015-02-13T17:05:46Z" OR availability = "IN_STOCK" + // - Disjunctions ("OR") + // Examples: + // - create_time <= "2015-02-13T17:05:46Z" OR availability = "IN_STOCK" // - // * Can support nested queries. - // Examples: - // * (create_time <= "2015-02-13T17:05:46Z" AND availability = "PREORDER") - // OR (create_time >= "2015-02-14T13:03:32Z" AND availability = "IN_STOCK") + // - Can support nested queries. + // Examples: + // - (create_time <= "2015-02-13T17:05:46Z" AND availability = "PREORDER") + // OR (create_time >= "2015-02-14T13:03:32Z" AND availability = "IN_STOCK") // // * Filter Limits: - // * Filter should not contain more than 6 conditions. - // * Max nesting depth should not exceed 2 levels. + // - Filter should not contain more than 6 conditions. + // - Max nesting depth should not exceed 2 levels. // // Examples queries: - // * Delete back order products created before a timestamp. - // create_time <= "2015-02-13T17:05:46Z" OR availability = "BACKORDER" + // - Delete back order products created before a timestamp. + // create_time <= "2015-02-13T17:05:46Z" OR availability = "BACKORDER" Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Actually perform the purge. // If `force` is set to false, the method will return the expected purge count @@ -344,21 +344,21 @@ type PurgeUserEventsRequest struct { // * `eventType`: Double quoted // [UserEvent.event_type][google.cloud.retail.v2alpha.UserEvent.event_type] // string. - // * `eventTime`: in ISO 8601 "zulu" format. - // * `visitorId`: Double quoted string. Specifying this will delete all - // events associated with a visitor. - // * `userId`: Double quoted string. Specifying this will delete all events - // associated with a user. + // - `eventTime`: in ISO 8601 "zulu" format. + // - `visitorId`: Double quoted string. Specifying this will delete all + // events associated with a visitor. + // - `userId`: Double quoted string. Specifying this will delete all events + // associated with a user. // // Examples: // - // * Deleting all events in a time range: - // `eventTime > "2012-04-23T18:25:43.511Z" - // eventTime < "2012-04-23T18:30:43.511Z"` - // * Deleting specific eventType in time range: - // `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"` - // * Deleting all events for a specific visitor: - // `visitorId = "visitor1024"` + // - Deleting all events in a time range: + // `eventTime > "2012-04-23T18:25:43.511Z" + // eventTime < "2012-04-23T18:30:43.511Z"` + // - Deleting specific eventType in time range: + // `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"` + // - Deleting all events for a specific visitor: + // `visitorId = "visitor1024"` // // The filtering fields are assumed to have an implicit AND. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` diff --git a/retail/apiv2alpha/retailpb/search_service.pb.go b/retail/apiv2alpha/retailpb/search_service.pb.go index 7f72729d560..b3743c5ec05 100755 --- a/retail/apiv2alpha/retailpb/search_service.pb.go +++ b/retail/apiv2alpha/retailpb/search_service.pb.go @@ -561,63 +561,81 @@ type SearchRequest struct { // // Supported keys are: // - // * colorFamilies - // * price - // * originalPrice - // * discount - // * variantId - // * inventory(place_id,price) - // * inventory(place_id,original_price) - // * inventory(place_id,attributes.key), where key is any key in the - // [Product.local_inventories.attributes][google.cloud.retail.v2alpha.LocalInventory.attributes] - // map. - // * attributes.key, where key is any key in the - // [Product.attributes][google.cloud.retail.v2alpha.Product.attributes] map. - // * pickupInStore.id, where id is any + // - colorFamilies + // - price + // - originalPrice + // - discount + // - variantId + // - inventory(place_id,price) + // - inventory(place_id,original_price) + // - inventory(place_id,attributes.key), where key is any key in the + // [Product.local_inventories.attributes][google.cloud.retail.v2alpha.LocalInventory.attributes] + // map. + // - attributes.key, where key is any key in the + // [Product.attributes][google.cloud.retail.v2alpha.Product.attributes] map. + // - pickupInStore.id, where id is any + // // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids] // for // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type] - // "pickup-in-store". + // + // "pickup-in-store". + // // * shipToStore.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids] // for // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type] - // "ship-to-store". + // + // "ship-to-store". + // // * sameDayDelivery.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids] // for // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type] - // "same-day-delivery". + // + // "same-day-delivery". + // // * nextDayDelivery.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids] // for // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type] - // "next-day-delivery". + // + // "next-day-delivery". + // // * customFulfillment1.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids] // for // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type] - // "custom-type-1". + // + // "custom-type-1". + // // * customFulfillment2.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids] // for // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type] - // "custom-type-2". + // + // "custom-type-2". + // // * customFulfillment3.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids] // for // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type] - // "custom-type-3". + // + // "custom-type-3". + // // * customFulfillment4.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids] // for // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type] - // "custom-type-4". + // + // "custom-type-4". + // // * customFulfillment5.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids] // for // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type] - // "custom-type-5". + // + // "custom-type-5". // // If this field is set to an invalid value other than these, an // INVALID_ARGUMENT error is returned. @@ -651,17 +669,17 @@ type SearchRequest struct { PersonalizationSpec *SearchRequest_PersonalizationSpec `protobuf:"bytes,32,opt,name=personalization_spec,json=personalizationSpec,proto3" json:"personalization_spec,omitempty"` // The labels applied to a resource must meet the following requirements: // - // * Each resource can have multiple labels, up to a maximum of 64. - // * Each label must be a key-value pair. - // * Keys have a minimum length of 1 character and a maximum length of 63 - // characters and cannot be empty. Values can be empty and have a maximum - // length of 63 characters. - // * Keys and values can contain only lowercase letters, numeric characters, - // underscores, and dashes. All characters must use UTF-8 encoding, and - // international characters are allowed. - // * The key portion of a label must be unique. However, you can use the same - // key with multiple resources. - // * Keys must start with a lowercase letter or international character. + // - Each resource can have multiple labels, up to a maximum of 64. + // - Each label must be a key-value pair. + // - Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // - Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // - The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // - Keys must start with a lowercase letter or international character. // // See [Google Cloud // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) @@ -1043,6 +1061,7 @@ type ExperimentInfo struct { // Information associated with the specific experiment entity being recorded. // // Types that are assignable to ExperimentMetadata: + // // *ExperimentInfo_ServingConfigExperiment_ ExperimentMetadata isExperimentInfo_ExperimentMetadata `protobuf_oneof:"experiment_metadata"` // The fully qualified resource name of the experiment that provides the @@ -1132,7 +1151,6 @@ type SearchRequest_FacetSpec struct { Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` // List of keys to exclude when faceting. // - // // By default, // [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key] // is not excluded from the filter unless it is listed in this field. @@ -1546,38 +1564,38 @@ type SearchRequest_FacetSpec_FacetKey struct { // is not specified: // // * textual_field = - // * "brands" - // * "categories" - // * "genders" - // * "ageGroups" - // * "availability" - // * "colorFamilies" - // * "colors" - // * "sizes" - // * "materials" - // * "patterns" - // * "conditions" - // * "attributes.key" - // * "pickupInStore" - // * "shipToStore" - // * "sameDayDelivery" - // * "nextDayDelivery" - // * "customFulfillment1" - // * "customFulfillment2" - // * "customFulfillment3" - // * "customFulfillment4" - // * "customFulfillment5" - // * "inventory(place_id,attributes.key)" + // - "brands" + // - "categories" + // - "genders" + // - "ageGroups" + // - "availability" + // - "colorFamilies" + // - "colors" + // - "sizes" + // - "materials" + // - "patterns" + // - "conditions" + // - "attributes.key" + // - "pickupInStore" + // - "shipToStore" + // - "sameDayDelivery" + // - "nextDayDelivery" + // - "customFulfillment1" + // - "customFulfillment2" + // - "customFulfillment3" + // - "customFulfillment4" + // - "customFulfillment5" + // - "inventory(place_id,attributes.key)" // // * numerical_field = - // * "price" - // * "discount" - // * "rating" - // * "ratingCount" - // * "attributes.key" - // * "inventory(place_id,price)" - // * "inventory(place_id,original_price)" - // * "inventory(place_id,attributes.key)" + // - "price" + // - "discount" + // - "rating" + // - "ratingCount" + // - "attributes.key" + // - "inventory(place_id,price)" + // - "inventory(place_id,original_price)" + // - "inventory(place_id,attributes.key)" Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Set only if values should be bucketized into intervals. Must be set // for facets with numerical values. Must not be set for facet with text @@ -1646,7 +1664,8 @@ type SearchRequest_FacetSpec_FacetKey struct { // * "value desc", which means order by // [SearchResponse.Facet.values.value][google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue.value] // descending. - // Only applies to textual facets. + // + // Only applies to textual facets. // // If not set, textual values are sorted in [natural // order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical @@ -1795,9 +1814,10 @@ type SearchRequest_BoostSpec_ConditionBoostSpec struct { // // * To boost products with product ID "product_1" or "product_2", and // color - // "Red" or "Blue": - // * (id: ANY("product_1", "product_2")) AND (colorFamilies: - // ANY("Red","Blue")) + // + // "Red" or "Blue": + // * (id: ANY("product_1", "product_2")) AND (colorFamilies: + // ANY("Red","Blue")) Condition string `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"` // Strength of the condition boost, which should be in [-1, 1]. Negative // boost means demotion. Default is 0.0. @@ -1923,14 +1943,14 @@ type SearchResponse_SearchResult struct { // there are two variants with colors "red" and "blue", the rollup values // are // - // { key: "colorFamilies" - // value { - // list_value { - // values { string_value: "red" } - // values { string_value: "blue" } - // } - // } - // } + // { key: "colorFamilies" + // value { + // list_value { + // values { string_value: "red" } + // values { string_value: "blue" } + // } + // } + // } // // For [FulfillmentInfo][google.cloud.retail.v2alpha.FulfillmentInfo], the // rollup values is a double value with type @@ -2167,6 +2187,7 @@ type SearchResponse_Facet_FacetValue struct { // A facet value which contains values. // // Types that are assignable to FacetValue: + // // *SearchResponse_Facet_FacetValue_Value // *SearchResponse_Facet_FacetValue_Interval FacetValue isSearchResponse_Facet_FacetValue_FacetValue `protobuf_oneof:"facet_value"` diff --git a/retail/apiv2alpha/retailpb/serving_config.pb.go b/retail/apiv2alpha/retailpb/serving_config.pb.go index 355d9e88c67..6511ceb0199 100755 --- a/retail/apiv2alpha/retailpb/serving_config.pb.go +++ b/retail/apiv2alpha/retailpb/serving_config.pb.go @@ -122,7 +122,8 @@ type ServingConfig struct { // recommendation probability to be ordered by price, with the // highest-priced items first. This setting could result in a decrease in // click-through and conversion rates. - // Allowed values are: + // + // Allowed values are: // // * `no-price-reranking` // * `low-price-reranking` @@ -270,14 +271,15 @@ type ServingConfig struct { DiversityType ServingConfig_DiversityType `protobuf:"varint,20,opt,name=diversity_type,json=diversityType,proto3,enum=google.cloud.retail.v2alpha.ServingConfig_DiversityType" json:"diversity_type,omitempty"` // Whether to add additional category filters on the `similar-items` model. // If not specified, we enable it by default. - // Allowed values are: // - // * `no-category-match`: No additional filtering of original results from - // the model and the customer's filters. - // * `relaxed-category-match`: Only keep results with categories that match - // at least one item categories in the PredictRequests's context item. - // * If customer also sends filters in the PredictRequest, then the results - // will satisfy both conditions (user given and category match). + // Allowed values are: + // + // - `no-category-match`: No additional filtering of original results from + // the model and the customer's filters. + // - `relaxed-category-match`: Only keep results with categories that match + // at least one item categories in the PredictRequests's context item. + // - If customer also sends filters in the PredictRequest, then the results + // will satisfy both conditions (user given and category match). // // Can only be set if // [solution_types][google.cloud.retail.v2alpha.ServingConfig.solution_types] diff --git a/retail/apiv2alpha/retailpb/user_event.pb.go b/retail/apiv2alpha/retailpb/user_event.pb.go index 583cb06c441..f4ee33a7f7b 100755 --- a/retail/apiv2alpha/retailpb/user_event.pb.go +++ b/retail/apiv2alpha/retailpb/user_event.pb.go @@ -47,16 +47,16 @@ type UserEvent struct { // Required. User event type. Allowed values are: // - // * `add-to-cart`: Products being added to cart. - // * `category-page-view`: Special pages such as sale or promotion pages - // viewed. - // * `detail-page-view`: Products detail page viewed. - // * `home-page-view`: Homepage viewed. - // * `promotion-offered`: Promotion is offered to a user. - // * `promotion-not-offered`: Promotion is not offered to a user. - // * `purchase-complete`: User finishing a purchase. - // * `search`: Product search. - // * `shopping-cart-page-view`: User viewing a shopping cart. + // - `add-to-cart`: Products being added to cart. + // - `category-page-view`: Special pages such as sale or promotion pages + // viewed. + // - `detail-page-view`: Products detail page viewed. + // - `home-page-view`: Homepage viewed. + // - `promotion-offered`: Promotion is offered to a user. + // - `promotion-not-offered`: Promotion is not offered to a user. + // - `purchase-complete`: User finishing a purchase. + // - `search`: Product search. + // - `shopping-cart-page-view`: User viewing a shopping cart. EventType string `protobuf:"bytes,1,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` // Required. A unique identifier for tracking visitors. // @@ -151,12 +151,12 @@ type UserEvent struct { // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT // error is returned: // - // * The key must be a UTF-8 encoded string with a length limit of 5,000 - // characters. - // * For text attributes, at most 400 values are allowed. Empty values are not - // allowed. Each value must be a UTF-8 encoded string with a length limit of - // 256 characters. - // * For number attributes, at most 400 values are allowed. + // - The key must be a UTF-8 encoded string with a length limit of 5,000 + // characters. + // - For text attributes, at most 400 values are allowed. Empty values are not + // allowed. Each value must be a UTF-8 encoded string with a length limit of + // 256 characters. + // - For number attributes, at most 400 values are allowed. // // For product recommendations, an example of extra user information is // traffic_channel, which is how a user arrives at the site. Users can arrive diff --git a/retail/apiv2alpha/retailpb/user_event_service.pb.go b/retail/apiv2alpha/retailpb/user_event_service.pb.go index c7b7a3c3879..3ffb1910bdf 100755 --- a/retail/apiv2alpha/retailpb/user_event_service.pb.go +++ b/retail/apiv2alpha/retailpb/user_event_service.pb.go @@ -183,6 +183,7 @@ type CollectUserEventRequest struct { // only when the raw_json is set. // // Types that are assignable to ConversionRule: + // // *CollectUserEventRequest_PrebuiltRule ConversionRule isCollectUserEventRequest_ConversionRule `protobuf_oneof:"conversion_rule"` // Required. The parent catalog name, such as diff --git a/retail/apiv2beta/retailpb/catalog.pb.go b/retail/apiv2beta/retailpb/catalog.pb.go index 4947e10a527..8e2e0f2b4dc 100755 --- a/retail/apiv2beta/retailpb/catalog.pb.go +++ b/retail/apiv2beta/retailpb/catalog.pb.go @@ -369,16 +369,17 @@ type ProductLevelConfig struct { // // * `primary` (default): You can ingest // [Product][google.cloud.retail.v2beta.Product]s of all types. When - // ingesting a [Product][google.cloud.retail.v2beta.Product], its type will - // default to - // [Product.Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY] - // if unset. - // * `variant` (incompatible with Retail Search): You can only - // ingest - // [Product.Type.VARIANT][google.cloud.retail.v2beta.Product.Type.VARIANT] - // [Product][google.cloud.retail.v2beta.Product]s. This means - // [Product.primary_product_id][google.cloud.retail.v2beta.Product.primary_product_id] - // cannot be empty. + // + // ingesting a [Product][google.cloud.retail.v2beta.Product], its type will + // default to + // [Product.Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY] + // if unset. + // - `variant` (incompatible with Retail Search): You can only + // ingest + // [Product.Type.VARIANT][google.cloud.retail.v2beta.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2beta.Product]s. This means + // [Product.primary_product_id][google.cloud.retail.v2beta.Product.primary_product_id] + // cannot be empty. // // If this field is set to an invalid value other than these, an // INVALID_ARGUMENT error is returned. @@ -396,10 +397,10 @@ type ProductLevelConfig struct { // imported as [Product.id][google.cloud.retail.v2beta.Product.id]. Acceptable // values are: // - // * `offerId` (default): Import `offerId` as the product ID. - // * `itemGroupId`: Import `itemGroupId` as the product ID. Notice that Retail - // API will choose one item from the ones with the same `itemGroupId`, and - // use it to represent the item group. + // - `offerId` (default): Import `offerId` as the product ID. + // - `itemGroupId`: Import `itemGroupId` as the product ID. Notice that Retail + // API will choose one item from the ones with the same `itemGroupId`, and + // use it to represent the item group. // // If this field is set to an invalid value other than these, an // INVALID_ARGUMENT error is returned. diff --git a/retail/apiv2beta/retailpb/catalog_service.pb.go b/retail/apiv2beta/retailpb/catalog_service.pb.go index b612aea8194..9e7da219f6c 100755 --- a/retail/apiv2beta/retailpb/catalog_service.pb.go +++ b/retail/apiv2beta/retailpb/catalog_service.pb.go @@ -1761,11 +1761,11 @@ type CatalogServiceClient interface { // // More specifically: // - // * PredictionService will only return product IDs from branch {newBranch}. - // * SearchService will only return product IDs from branch {newBranch} - // (if branch is not explicitly set). - // * UserEventService will only join events with products from branch - // {newBranch}. + // - PredictionService will only return product IDs from branch {newBranch}. + // - SearchService will only return product IDs from branch {newBranch} + // (if branch is not explicitly set). + // - UserEventService will only join events with products from branch + // {newBranch}. SetDefaultBranch(ctx context.Context, in *SetDefaultBranchRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) // Get which branch is currently default branch set by // [CatalogService.SetDefaultBranch][google.cloud.retail.v2beta.CatalogService.SetDefaultBranch] @@ -1968,11 +1968,11 @@ type CatalogServiceServer interface { // // More specifically: // - // * PredictionService will only return product IDs from branch {newBranch}. - // * SearchService will only return product IDs from branch {newBranch} - // (if branch is not explicitly set). - // * UserEventService will only join events with products from branch - // {newBranch}. + // - PredictionService will only return product IDs from branch {newBranch}. + // - SearchService will only return product IDs from branch {newBranch} + // (if branch is not explicitly set). + // - UserEventService will only join events with products from branch + // {newBranch}. SetDefaultBranch(context.Context, *SetDefaultBranchRequest) (*emptypb.Empty, error) // Get which branch is currently default branch set by // [CatalogService.SetDefaultBranch][google.cloud.retail.v2beta.CatalogService.SetDefaultBranch] diff --git a/retail/apiv2beta/retailpb/common.pb.go b/retail/apiv2beta/retailpb/common.pb.go index 050e1f26433..d563cc7a4d8 100755 --- a/retail/apiv2beta/retailpb/common.pb.go +++ b/retail/apiv2beta/retailpb/common.pb.go @@ -339,6 +339,7 @@ type Rule struct { // An action must be provided. // // Types that are assignable to Action: + // // *Rule_BoostAction_ // *Rule_RedirectAction_ // *Rule_OnewaySynonymsAction_ @@ -987,6 +988,7 @@ type Interval struct { // Otherwise, an INVALID_ARGUMENT error is returned. // // Types that are assignable to Min: + // // *Interval_Minimum // *Interval_ExclusiveMinimum Min isInterval_Min `protobuf_oneof:"min"` @@ -997,6 +999,7 @@ type Interval struct { // Otherwise, an INVALID_ARGUMENT error is returned. // // Types that are assignable to Max: + // // *Interval_Maximum // *Interval_ExclusiveMaximum Max isInterval_Max `protobuf_oneof:"max"` @@ -1498,18 +1501,18 @@ type LocalInventory struct { // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT // error is returned: // - // * At most 30 attributes are allowed. - // * The key must be a UTF-8 encoded string with a length limit of 32 - // characters. - // * The key must match the pattern: `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, - // key0LikeThis or KEY_1_LIKE_THIS. - // * The attribute values must be of the same type (text or number). - // * Only 1 value is allowed for each attribute. - // * For text values, the length limit is 256 UTF-8 characters. - // * The attribute does not support search. The `searchable` field should be - // unset or set to false. - // * The max summed total bytes of custom attribute keys and values per - // product is 5MiB. + // - At most 30 attributes are allowed. + // - The key must be a UTF-8 encoded string with a length limit of 32 + // characters. + // - The key must match the pattern: `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, + // key0LikeThis or KEY_1_LIKE_THIS. + // - The attribute values must be of the same type (text or number). + // - Only 1 value is allowed for each attribute. + // - For text values, the length limit is 256 UTF-8 characters. + // - The attribute does not support search. The `searchable` field should be + // unset or set to false. + // - The max summed total bytes of custom attribute keys and values per + // product is 5MiB. Attributes map[string]*CustomAttribute `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Input only. Supported fulfillment types. Valid fulfillment type values // include commonly used types (such as pickup in store and same day @@ -1752,10 +1755,11 @@ type Rule_BoostAction struct { // // * To boost products with product ID "product_1" or "product_2", and // color - // "Red" or "Blue":
- // *(id: ANY("product_1", "product_2"))
* - // *AND
* - // *(colorFamilies: ANY("Red", "Blue"))
* + // + // "Red" or "Blue":
+ // *(id: ANY("product_1", "product_2"))
* + // *AND
* + // *(colorFamilies: ANY("Red", "Blue"))
* ProductsFilter string `protobuf:"bytes,2,opt,name=products_filter,json=productsFilter,proto3" json:"products_filter,omitempty"` } @@ -1832,14 +1836,17 @@ type Rule_FilterAction struct { // * Filter syntax is identical to // [SearchRequest.filter][google.cloud.retail.v2beta.SearchRequest.filter]. // See more - // details at the Retail Search - // [user guide](/retail/search/docs/filter-and-order#filter). + // + // details at the Retail Search + // [user guide](/retail/search/docs/filter-and-order#filter). + // // * To filter products with product ID "product_1" or "product_2", and // color - // "Red" or "Blue":
- // *(id: ANY("product_1", "product_2"))
* - // *AND
* - // *(colorFamilies: ANY("Red", "Blue"))
* + // + // "Red" or "Blue":
+ // *(id: ANY("product_1", "product_2"))
* + // *AND
* + // *(colorFamilies: ANY("Red", "Blue"))
* Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` } diff --git a/retail/apiv2beta/retailpb/completion_service.pb.go b/retail/apiv2beta/retailpb/completion_service.pb.go index 3062c941ff9..d932a0250f1 100755 --- a/retail/apiv2beta/retailpb/completion_service.pb.go +++ b/retail/apiv2beta/retailpb/completion_service.pb.go @@ -101,9 +101,9 @@ type CompleteQueryRequest struct { // // * user-data // - // * cloud-retail: - // This option requires enabling auto-learning function first. See - // [guidelines](https://cloud.google.com/retail/docs/completion-overview#generated-completion-dataset). + // - cloud-retail: + // This option requires enabling auto-learning function first. See + // [guidelines](https://cloud.google.com/retail/docs/completion-overview#generated-completion-dataset). Dataset string `protobuf:"bytes,6,opt,name=dataset,proto3" json:"dataset,omitempty"` // Completion max suggestions. If left unset or set to 0, then will fallback // to the configured value @@ -232,15 +232,15 @@ type CompleteQueryResponse struct { // field is set and [UserEvent][google.cloud.retail.v2beta.UserEvent] is // imported. The recent searches satisfy the follow rules: // - // * They are ordered from latest to oldest. + // - They are ordered from latest to oldest. // - // * They are matched with - // [CompleteQueryRequest.query][google.cloud.retail.v2beta.CompleteQueryRequest.query] - // case insensitively. + // - They are matched with + // [CompleteQueryRequest.query][google.cloud.retail.v2beta.CompleteQueryRequest.query] + // case insensitively. // - // * They are transformed to lower case. + // - They are transformed to lower case. // - // * They are UTF-8 safe. + // - They are UTF-8 safe. // // Recent searches are deduplicated. More recent searches will be reserved // when duplication happens. diff --git a/retail/apiv2beta/retailpb/control.pb.go b/retail/apiv2beta/retailpb/control.pb.go index 4f4ea0e8a5c..e3a35b30bb1 100755 --- a/retail/apiv2beta/retailpb/control.pb.go +++ b/retail/apiv2beta/retailpb/control.pb.go @@ -51,6 +51,7 @@ type Control struct { // INVALID_ARGUMENT will be returned if either condition is violated. // // Types that are assignable to Control: + // // *Control_FacetSpec // *Control_Rule Control isControl_Control `protobuf_oneof:"control"` diff --git a/retail/apiv2beta/retailpb/control_service.pb.go b/retail/apiv2beta/retailpb/control_service.pb.go index 05bd7fb282f..0e7aeb1ee96 100755 --- a/retail/apiv2beta/retailpb/control_service.pb.go +++ b/retail/apiv2beta/retailpb/control_service.pb.go @@ -297,7 +297,7 @@ type ListControlsRequest struct { // // * List all the products under the parent branch if // [filter][google.cloud.retail.v2beta.ListControlsRequest.filter] is unset. - // * List controls that are used in a single ServingConfig: + // - List controls that are used in a single ServingConfig: // 'serving_config = "boosted_home_page_cvr"' Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } diff --git a/retail/apiv2beta/retailpb/export_config.pb.go b/retail/apiv2beta/retailpb/export_config.pb.go index f3ced45551a..43ef8133476 100755 --- a/retail/apiv2beta/retailpb/export_config.pb.go +++ b/retail/apiv2beta/retailpb/export_config.pb.go @@ -47,6 +47,7 @@ type OutputConfig struct { // The configuration of destination for holding output data. // // Types that are assignable to Destination: + // // *OutputConfig_GcsDestination_ // *OutputConfig_BigqueryDestination Destination isOutputConfig_Destination `protobuf_oneof:"destination"` @@ -132,6 +133,7 @@ type ExportErrorsConfig struct { // Required. Errors destination. // // Types that are assignable to Destination: + // // *ExportErrorsConfig_GcsPrefix Destination isExportErrorsConfig_Destination `protobuf_oneof:"destination"` } @@ -212,18 +214,18 @@ type ExportAnalyticsMetricsRequest struct { // the returned metrics. Use this expression to restrict results to a // specific time range. // - // Currently we expect only one types of fields: + // Currently we expect only one types of fields: // - // * `timestamp`: This can be specified twice, once with a - // less than operator and once with a greater than operator. The - // `timestamp` restriction should result in one, contiguous, valid, - // `timestamp` range. + // * `timestamp`: This can be specified twice, once with a + // less than operator and once with a greater than operator. The + // `timestamp` restriction should result in one, contiguous, valid, + // `timestamp` range. // - // Some examples of valid filters expressions: + // Some examples of valid filters expressions: // - // * Example 1: `timestamp > "2012-04-23T18:25:43.511Z" - // timestamp < "2012-04-23T18:30:43.511Z"` - // * Example 2: `timestamp > "2012-04-23T18:25:43.511Z"` + // * Example 1: `timestamp > "2012-04-23T18:25:43.511Z" + // timestamp < "2012-04-23T18:30:43.511Z"` + // * Example 2: `timestamp > "2012-04-23T18:25:43.511Z"` Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` } diff --git a/retail/apiv2beta/retailpb/import_config.pb.go b/retail/apiv2beta/retailpb/import_config.pb.go index f3caf45a8db..c3f3e44d9f5 100755 --- a/retail/apiv2beta/retailpb/import_config.pb.go +++ b/retail/apiv2beta/retailpb/import_config.pb.go @@ -116,16 +116,17 @@ type GcsSource struct { // // * `product` (default): One JSON // [Product][google.cloud.retail.v2beta.Product] per line. Each product must - // have a valid [Product.id][google.cloud.retail.v2beta.Product.id]. - // * `product_merchant_center`: See [Importing catalog data from Merchant - // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). + // + // have a valid [Product.id][google.cloud.retail.v2beta.Product.id]. + // - `product_merchant_center`: See [Importing catalog data from Merchant + // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). // // Supported values for user events imports: // // * `user_event` (default): One JSON // [UserEvent][google.cloud.retail.v2beta.UserEvent] per line. - // * `user_event_ga360`: Using - // https://support.google.com/analytics/answer/3437719. + // - `user_event_ga360`: Using + // https://support.google.com/analytics/answer/3437719. // // Supported values for control imports: // @@ -195,6 +196,7 @@ type BigQuerySource struct { // is not partitioned. // // Types that are assignable to Partition: + // // *BigQuerySource_PartitionDate Partition isBigQuerySource_Partition `protobuf_oneof:"partition"` // The project ID (can be project # or ID) that the BigQuery source is in with @@ -217,20 +219,21 @@ type BigQuerySource struct { // // * `product` (default): One JSON // [Product][google.cloud.retail.v2beta.Product] per line. Each product must - // have a valid [Product.id][google.cloud.retail.v2beta.Product.id]. - // * `product_merchant_center`: See [Importing catalog data from Merchant - // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). + // + // have a valid [Product.id][google.cloud.retail.v2beta.Product.id]. + // - `product_merchant_center`: See [Importing catalog data from Merchant + // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). // // Supported values for user events imports: // // * `user_event` (default): One JSON // [UserEvent][google.cloud.retail.v2beta.UserEvent] per line. - // * `user_event_ga360`: - // The schema is available here: - // https://support.google.com/analytics/answer/3437719. - // * `user_event_ga4`: - // The schema is available here: - // https://support.google.com/analytics/answer/7029846. + // - `user_event_ga360`: + // The schema is available here: + // https://support.google.com/analytics/answer/3437719. + // - `user_event_ga4`: + // The schema is available here: + // https://support.google.com/analytics/answer/7029846. // // Supported values for autocomplete imports: // @@ -444,6 +447,7 @@ type ImportErrorsConfig struct { // Required. Errors destination. // // Types that are assignable to Destination: + // // *ImportErrorsConfig_GcsPrefix Destination isImportErrorsConfig_Destination `protobuf_oneof:"destination"` } @@ -781,6 +785,7 @@ type ProductInputConfig struct { // Required. The source of the input. // // Types that are assignable to Source: + // // *ProductInputConfig_ProductInlineSource // *ProductInputConfig_GcsSource // *ProductInputConfig_BigQuerySource @@ -881,6 +886,7 @@ type UserEventInputConfig struct { // The source of the input. // // Types that are assignable to Source: + // // *UserEventInputConfig_UserEventInlineSource // *UserEventInputConfig_GcsSource // *UserEventInputConfig_BigQuerySource @@ -989,6 +995,7 @@ type CompletionDataInputConfig struct { // * `allowlist`: One JSON allow suggestion per line. // // Types that are assignable to Source: + // // *CompletionDataInputConfig_BigQuerySource Source isCompletionDataInputConfig_Source `protobuf_oneof:"source"` } diff --git a/retail/apiv2beta/retailpb/model.pb.go b/retail/apiv2beta/retailpb/model.pb.go index 775a0e3a329..072eecf5907 100755 --- a/retail/apiv2beta/retailpb/model.pb.go +++ b/retail/apiv2beta/retailpb/model.pb.go @@ -317,7 +317,6 @@ type Model struct { // `frequently-bought-together`, `page-optimization`, `similar-items`, // `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly value). // - // // This field together with // [optimization_objective][google.cloud.retail.v2beta.Model.optimization_objective] // describe model metadata to use to control model training and serving. @@ -333,7 +332,8 @@ type Model struct { // Currently supported // values: `ctr`, `cvr`, `revenue-per-order`. // - // If not specified, we choose default based on model type. + // If not specified, we choose default based on model type. + // // Default depends on type of recommendation: // // `recommended-for-you` => `ctr` diff --git a/retail/apiv2beta/retailpb/prediction_service.pb.go b/retail/apiv2beta/retailpb/prediction_service.pb.go index 4146b1de449..651ebe4c270 100755 --- a/retail/apiv2beta/retailpb/prediction_service.pb.go +++ b/retail/apiv2beta/retailpb/prediction_service.pb.go @@ -89,25 +89,25 @@ type PredictRequest struct { // Filter for restricting prediction results with a length limit of 5,000 // characters. Accepts values for tags and the `filterOutOfStockItems` flag. // - // * Tag expressions. Restricts predictions to products that match all of the - // specified tags. Boolean operators `OR` and `NOT` are supported if the - // expression is enclosed in parentheses, and must be separated from the - // tag values by a space. `-"tagA"` is also supported and is equivalent to - // `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings - // with a size limit of 1,000 characters. + // - Tag expressions. Restricts predictions to products that match all of the + // specified tags. Boolean operators `OR` and `NOT` are supported if the + // expression is enclosed in parentheses, and must be separated from the + // tag values by a space. `-"tagA"` is also supported and is equivalent to + // `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings + // with a size limit of 1,000 characters. // - // Note: "Recently viewed" models don't support tag filtering at the - // moment. + // Note: "Recently viewed" models don't support tag filtering at the + // moment. // - // * filterOutOfStockItems. Restricts predictions to products that do not - // have a - // stockState value of OUT_OF_STOCK. + // - filterOutOfStockItems. Restricts predictions to products that do not + // have a + // stockState value of OUT_OF_STOCK. // // Examples: // - // * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional") - // * filterOutOfStockItems tag=(-"promotional") - // * filterOutOfStockItems + // - tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional") + // - filterOutOfStockItems tag=(-"promotional") + // - filterOutOfStockItems // // If your filter blocks all prediction results, the API will return *no* // results. If instead you want empty result sets to return generic @@ -119,9 +119,9 @@ type PredictRequest struct { // attribute-based expressions are expected instead of the above described // tag-based syntax. Examples: // - // * (colors: ANY("Red", "Blue")) AND NOT (categories: ANY("Phones")) - // * (availability: ANY("IN_STOCK")) AND - // (colors: ANY("Red") OR categories: ANY("Phones")) + // - (colors: ANY("Red", "Blue")) AND NOT (categories: ANY("Phones")) + // - (availability: ANY("IN_STOCK")) AND + // (colors: ANY("Red") OR categories: ANY("Phones")) // // For more information, see // [Filter recommendations](https://cloud.google.com/retail/docs/filter-recs). @@ -135,43 +135,43 @@ type PredictRequest struct { // // Allowed values: // - // * `returnProduct`: Boolean. If set to true, the associated product - // object will be returned in the `results.metadata` field in the - // prediction response. - // * `returnScore`: Boolean. If set to true, the prediction 'score' - // corresponding to each returned product will be set in the - // `results.metadata` field in the prediction response. The given - // 'score' indicates the probability of a product being clicked/purchased - // given the user's context and history. - // * `strictFiltering`: Boolean. True by default. If set to false, the service - // will return generic (unfiltered) popular products instead of empty if - // your filter blocks all prediction results. - // * `priceRerankLevel`: String. Default empty. If set to be non-empty, then - // it needs to be one of {'no-price-reranking', 'low-price-reranking', - // 'medium-price-reranking', 'high-price-reranking'}. This gives - // request-level control and adjusts prediction results based on product - // price. - // * `diversityLevel`: String. Default empty. If set to be non-empty, then - // it needs to be one of {'no-diversity', 'low-diversity', - // 'medium-diversity', 'high-diversity', 'auto-diversity'}. This gives - // request-level control and adjusts prediction results based on product - // category. - // * `filterSyntaxV2`: Boolean. False by default. If set to true, the `filter` - // field is interpreteted according to the new, attribute-based syntax. + // - `returnProduct`: Boolean. If set to true, the associated product + // object will be returned in the `results.metadata` field in the + // prediction response. + // - `returnScore`: Boolean. If set to true, the prediction 'score' + // corresponding to each returned product will be set in the + // `results.metadata` field in the prediction response. The given + // 'score' indicates the probability of a product being clicked/purchased + // given the user's context and history. + // - `strictFiltering`: Boolean. True by default. If set to false, the service + // will return generic (unfiltered) popular products instead of empty if + // your filter blocks all prediction results. + // - `priceRerankLevel`: String. Default empty. If set to be non-empty, then + // it needs to be one of {'no-price-reranking', 'low-price-reranking', + // 'medium-price-reranking', 'high-price-reranking'}. This gives + // request-level control and adjusts prediction results based on product + // price. + // - `diversityLevel`: String. Default empty. If set to be non-empty, then + // it needs to be one of {'no-diversity', 'low-diversity', + // 'medium-diversity', 'high-diversity', 'auto-diversity'}. This gives + // request-level control and adjusts prediction results based on product + // category. + // - `filterSyntaxV2`: Boolean. False by default. If set to true, the `filter` + // field is interpreteted according to the new, attribute-based syntax. Params map[string]*structpb.Value `protobuf:"bytes,7,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The labels applied to a resource must meet the following requirements: // - // * Each resource can have multiple labels, up to a maximum of 64. - // * Each label must be a key-value pair. - // * Keys have a minimum length of 1 character and a maximum length of 63 - // characters and cannot be empty. Values can be empty and have a maximum - // length of 63 characters. - // * Keys and values can contain only lowercase letters, numeric characters, - // underscores, and dashes. All characters must use UTF-8 encoding, and - // international characters are allowed. - // * The key portion of a label must be unique. However, you can use the same - // key with multiple resources. - // * Keys must start with a lowercase letter or international character. + // - Each resource can have multiple labels, up to a maximum of 64. + // - Each label must be a key-value pair. + // - Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // - Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // - The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // - Keys must start with a lowercase letter or international character. // // See [Google Cloud // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) @@ -360,10 +360,10 @@ type PredictResponse_PredictionResult struct { // // Possible values: // - // * `product`: JSON representation of the product. Is set if - // `returnProduct` is set to true in `PredictRequest.params`. - // * `score`: Prediction score in double value. Is set if - // `returnScore` is set to true in `PredictRequest.params`. + // - `product`: JSON representation of the product. Is set if + // `returnProduct` is set to true in `PredictRequest.params`. + // - `score`: Prediction score in double value. Is set if + // `returnScore` is set to true in `PredictRequest.params`. Metadata map[string]*structpb.Value `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } diff --git a/retail/apiv2beta/retailpb/product.pb.go b/retail/apiv2beta/retailpb/product.pb.go index d0ef5dbf7a0..5d5079b2eae 100755 --- a/retail/apiv2beta/retailpb/product.pb.go +++ b/retail/apiv2beta/retailpb/product.pb.go @@ -189,6 +189,7 @@ type Product struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Expiration: + // // *Product_ExpireTime // *Product_Ttl Expiration isProduct_Expiration `protobuf_oneof:"expiration"` @@ -267,7 +268,6 @@ type Product struct { // belonging to several parallel categories. Strongly recommended using the // full path for better search / recommendation quality. // - // // To represent full path of category, use '>' sign to separate different // hierarchies. If '>' is part of the category name, replace it with // other character(s). @@ -277,10 +277,10 @@ type Product struct { // ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be // represented as: // - // "categories": [ - // "Shoes & Accessories > Shoes", - // "Sports & Fitness > Athletic Clothing > Shoes" - // ] + // "categories": [ + // "Shoes & Accessories > Shoes", + // "Sports & Fitness > Athletic Clothing > Shoes" + // ] // // Must be set for // [Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY] @@ -358,16 +358,16 @@ type Product struct { // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT // error is returned: // - // * Max entries count: 200. - // * The key must be a UTF-8 encoded string with a length limit of 128 - // characters. - // * For indexable attribute, the key must match the pattern: - // `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or - // `KEY_1_LIKE_THIS`. - // * For text attributes, at most 400 values are allowed. Empty values are not - // allowed. Each value must be a non-empty UTF-8 encoded string with a - // length limit of 256 characters. - // * For number attributes, at most 400 values are allowed. + // - Max entries count: 200. + // - The key must be a UTF-8 encoded string with a length limit of 128 + // characters. + // - For indexable attribute, the key must match the pattern: + // `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or + // `KEY_1_LIKE_THIS`. + // - For text attributes, at most 400 values are allowed. Empty values are not + // allowed. Each value must be a non-empty UTF-8 encoded string with a + // length limit of 256 characters. + // - For number attributes, at most 400 values are allowed. Attributes map[string]*CustomAttribute `protobuf:"bytes,12,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Custom tags associated with the product. // diff --git a/retail/apiv2beta/retailpb/product_service.pb.go b/retail/apiv2beta/retailpb/product_service.pb.go index 35e57c415cd..8abe8616f7d 100755 --- a/retail/apiv2beta/retailpb/product_service.pb.go +++ b/retail/apiv2beta/retailpb/product_service.pb.go @@ -393,19 +393,24 @@ type ListProductsRequest struct { // * List // [Product.Type.VARIANT][google.cloud.retail.v2beta.Product.Type.VARIANT] // [Product][google.cloud.retail.v2beta.Product]s sharing the same - // [Product.Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY] - // [Product][google.cloud.retail.v2beta.Product]. For example: - // `primary_product_id = "some_product_id"` + // + // [Product.Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY] + // [Product][google.cloud.retail.v2beta.Product]. For example: + // `primary_product_id = "some_product_id"` + // // * List [Product][google.cloud.retail.v2beta.Product]s bundled in a // [Product.Type.COLLECTION][google.cloud.retail.v2beta.Product.Type.COLLECTION] // [Product][google.cloud.retail.v2beta.Product]. - // For example: - // `collection_product_id = "some_product_id"` + // + // For example: + // `collection_product_id = "some_product_id"` + // // * List [Product][google.cloud.retail.v2beta.Product]s with a partibular // type. For example: - // `type = "PRIMARY"` - // `type = "VARIANT"` - // `type = "COLLECTION"` + // + // `type = "PRIMARY"` + // `type = "VARIANT"` + // `type = "COLLECTION"` // // If the field is unrecognizable, an INVALID_ARGUMENT error is returned. // diff --git a/retail/apiv2beta/retailpb/purge_config.pb.go b/retail/apiv2beta/retailpb/purge_config.pb.go index 648b9226b9f..fcb520eaa4b 100755 --- a/retail/apiv2beta/retailpb/purge_config.pb.go +++ b/retail/apiv2beta/retailpb/purge_config.pb.go @@ -93,21 +93,21 @@ type PurgeUserEventsRequest struct { // * `eventType`: Double quoted // [UserEvent.event_type][google.cloud.retail.v2beta.UserEvent.event_type] // string. - // * `eventTime`: in ISO 8601 "zulu" format. - // * `visitorId`: Double quoted string. Specifying this will delete all - // events associated with a visitor. - // * `userId`: Double quoted string. Specifying this will delete all events - // associated with a user. + // - `eventTime`: in ISO 8601 "zulu" format. + // - `visitorId`: Double quoted string. Specifying this will delete all + // events associated with a visitor. + // - `userId`: Double quoted string. Specifying this will delete all events + // associated with a user. // // Examples: // - // * Deleting all events in a time range: - // `eventTime > "2012-04-23T18:25:43.511Z" - // eventTime < "2012-04-23T18:30:43.511Z"` - // * Deleting specific eventType in time range: - // `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"` - // * Deleting all events for a specific visitor: - // `visitorId = "visitor1024"` + // - Deleting all events in a time range: + // `eventTime > "2012-04-23T18:25:43.511Z" + // eventTime < "2012-04-23T18:30:43.511Z"` + // - Deleting specific eventType in time range: + // `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"` + // - Deleting all events for a specific visitor: + // `visitorId = "visitor1024"` // // The filtering fields are assumed to have an implicit AND. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` diff --git a/retail/apiv2beta/retailpb/search_service.pb.go b/retail/apiv2beta/retailpb/search_service.pb.go index 78a8068570a..9fb32bec553 100755 --- a/retail/apiv2beta/retailpb/search_service.pb.go +++ b/retail/apiv2beta/retailpb/search_service.pb.go @@ -487,54 +487,72 @@ type SearchRequest struct { // // Supported keys are: // - // * colorFamilies - // * price - // * originalPrice - // * discount - // * variantId - // * inventory(place_id,price) - // * inventory(place_id,original_price) - // * inventory(place_id,attributes.key), where key is any key in the - // [Product.local_inventories.attributes][google.cloud.retail.v2beta.LocalInventory.attributes] - // map. - // * attributes.key, where key is any key in the - // [Product.attributes][google.cloud.retail.v2beta.Product.attributes] map. - // * pickupInStore.id, where id is any + // - colorFamilies + // - price + // - originalPrice + // - discount + // - variantId + // - inventory(place_id,price) + // - inventory(place_id,original_price) + // - inventory(place_id,attributes.key), where key is any key in the + // [Product.local_inventories.attributes][google.cloud.retail.v2beta.LocalInventory.attributes] + // map. + // - attributes.key, where key is any key in the + // [Product.attributes][google.cloud.retail.v2beta.Product.attributes] map. + // - pickupInStore.id, where id is any + // // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type] - // "pickup-in-store". + // + // "pickup-in-store". + // // * shipToStore.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type] - // "ship-to-store". + // + // "ship-to-store". + // // * sameDayDelivery.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type] - // "same-day-delivery". + // + // "same-day-delivery". + // // * nextDayDelivery.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type] - // "next-day-delivery". + // + // "next-day-delivery". + // // * customFulfillment1.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type] - // "custom-type-1". + // + // "custom-type-1". + // // * customFulfillment2.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type] - // "custom-type-2". + // + // "custom-type-2". + // // * customFulfillment3.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type] - // "custom-type-3". + // + // "custom-type-3". + // // * customFulfillment4.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type] - // "custom-type-4". + // + // "custom-type-4". + // // * customFulfillment5.id, where id is any // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids] // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type] - // "custom-type-5". + // + // "custom-type-5". // // If this field is set to an invalid value other than these, an // INVALID_ARGUMENT error is returned. @@ -568,17 +586,17 @@ type SearchRequest struct { PersonalizationSpec *SearchRequest_PersonalizationSpec `protobuf:"bytes,32,opt,name=personalization_spec,json=personalizationSpec,proto3" json:"personalization_spec,omitempty"` // The labels applied to a resource must meet the following requirements: // - // * Each resource can have multiple labels, up to a maximum of 64. - // * Each label must be a key-value pair. - // * Keys have a minimum length of 1 character and a maximum length of 63 - // characters and cannot be empty. Values can be empty and have a maximum - // length of 63 characters. - // * Keys and values can contain only lowercase letters, numeric characters, - // underscores, and dashes. All characters must use UTF-8 encoding, and - // international characters are allowed. - // * The key portion of a label must be unique. However, you can use the same - // key with multiple resources. - // * Keys must start with a lowercase letter or international character. + // - Each resource can have multiple labels, up to a maximum of 64. + // - Each label must be a key-value pair. + // - Keys have a minimum length of 1 character and a maximum length of 63 + // characters and cannot be empty. Values can be empty and have a maximum + // length of 63 characters. + // - Keys and values can contain only lowercase letters, numeric characters, + // underscores, and dashes. All characters must use UTF-8 encoding, and + // international characters are allowed. + // - The key portion of a label must be unique. However, you can use the same + // key with multiple resources. + // - Keys must start with a lowercase letter or international character. // // See [Google Cloud // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) @@ -952,6 +970,7 @@ type ExperimentInfo struct { // Information associated with the specific experiment entity being recorded. // // Types that are assignable to ExperimentMetadata: + // // *ExperimentInfo_ServingConfigExperiment_ ExperimentMetadata isExperimentInfo_ExperimentMetadata `protobuf_oneof:"experiment_metadata"` // The fully qualified resource name of the experiment that provides the @@ -1041,7 +1060,6 @@ type SearchRequest_FacetSpec struct { Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` // List of keys to exclude when faceting. // - // // By default, // [FacetKey.key][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.key] // is not excluded from the filter unless it is listed in this field. @@ -1455,38 +1473,38 @@ type SearchRequest_FacetSpec_FacetKey struct { // is not specified: // // * textual_field = - // * "brands" - // * "categories" - // * "genders" - // * "ageGroups" - // * "availability" - // * "colorFamilies" - // * "colors" - // * "sizes" - // * "materials" - // * "patterns" - // * "conditions" - // * "attributes.key" - // * "pickupInStore" - // * "shipToStore" - // * "sameDayDelivery" - // * "nextDayDelivery" - // * "customFulfillment1" - // * "customFulfillment2" - // * "customFulfillment3" - // * "customFulfillment4" - // * "customFulfillment5" - // * "inventory(place_id,attributes.key)" + // - "brands" + // - "categories" + // - "genders" + // - "ageGroups" + // - "availability" + // - "colorFamilies" + // - "colors" + // - "sizes" + // - "materials" + // - "patterns" + // - "conditions" + // - "attributes.key" + // - "pickupInStore" + // - "shipToStore" + // - "sameDayDelivery" + // - "nextDayDelivery" + // - "customFulfillment1" + // - "customFulfillment2" + // - "customFulfillment3" + // - "customFulfillment4" + // - "customFulfillment5" + // - "inventory(place_id,attributes.key)" // // * numerical_field = - // * "price" - // * "discount" - // * "rating" - // * "ratingCount" - // * "attributes.key" - // * "inventory(place_id,price)" - // * "inventory(place_id,original_price)" - // * "inventory(place_id,attributes.key)" + // - "price" + // - "discount" + // - "rating" + // - "ratingCount" + // - "attributes.key" + // - "inventory(place_id,price)" + // - "inventory(place_id,original_price)" + // - "inventory(place_id,attributes.key)" Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Set only if values should be bucketized into intervals. Must be set // for facets with numerical values. Must not be set for facet with text @@ -1555,7 +1573,8 @@ type SearchRequest_FacetSpec_FacetKey struct { // * "value desc", which means order by // [SearchResponse.Facet.values.value][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.value] // descending. - // Only applies to textual facets. + // + // Only applies to textual facets. // // If not set, textual values are sorted in [natural // order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical @@ -1704,9 +1723,10 @@ type SearchRequest_BoostSpec_ConditionBoostSpec struct { // // * To boost products with product ID "product_1" or "product_2", and // color - // "Red" or "Blue": - // * (id: ANY("product_1", "product_2")) AND (colorFamilies: - // ANY("Red","Blue")) + // + // "Red" or "Blue": + // * (id: ANY("product_1", "product_2")) AND (colorFamilies: + // ANY("Red","Blue")) Condition string `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"` // Strength of the condition boost, which should be in [-1, 1]. Negative // boost means demotion. Default is 0.0. @@ -1832,14 +1852,14 @@ type SearchResponse_SearchResult struct { // there are two variants with colors "red" and "blue", the rollup values // are // - // { key: "colorFamilies" - // value { - // list_value { - // values { string_value: "red" } - // values { string_value: "blue" } - // } - // } - // } + // { key: "colorFamilies" + // value { + // list_value { + // values { string_value: "red" } + // values { string_value: "blue" } + // } + // } + // } // // For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the // rollup values is a double value with type @@ -2076,6 +2096,7 @@ type SearchResponse_Facet_FacetValue struct { // A facet value which contains values. // // Types that are assignable to FacetValue: + // // *SearchResponse_Facet_FacetValue_Value // *SearchResponse_Facet_FacetValue_Interval FacetValue isSearchResponse_Facet_FacetValue_FacetValue `protobuf_oneof:"facet_value"` diff --git a/retail/apiv2beta/retailpb/serving_config.pb.go b/retail/apiv2beta/retailpb/serving_config.pb.go index 488548cf983..8873ce6c5ee 100755 --- a/retail/apiv2beta/retailpb/serving_config.pb.go +++ b/retail/apiv2beta/retailpb/serving_config.pb.go @@ -122,7 +122,8 @@ type ServingConfig struct { // recommendation probability to be ordered by price, with the // highest-priced items first. This setting could result in a decrease in // click-through and conversion rates. - // Allowed values are: + // + // Allowed values are: // // * `no-price-reranking` // * `low-price-reranking` @@ -270,14 +271,15 @@ type ServingConfig struct { DiversityType ServingConfig_DiversityType `protobuf:"varint,20,opt,name=diversity_type,json=diversityType,proto3,enum=google.cloud.retail.v2beta.ServingConfig_DiversityType" json:"diversity_type,omitempty"` // Whether to add additional category filters on the `similar-items` model. // If not specified, we enable it by default. - // Allowed values are: // - // * `no-category-match`: No additional filtering of original results from - // the model and the customer's filters. - // * `relaxed-category-match`: Only keep results with categories that match - // at least one item categories in the PredictRequests's context item. - // * If customer also sends filters in the PredictRequest, then the results - // will satisfy both conditions (user given and category match). + // Allowed values are: + // + // - `no-category-match`: No additional filtering of original results from + // the model and the customer's filters. + // - `relaxed-category-match`: Only keep results with categories that match + // at least one item categories in the PredictRequests's context item. + // - If customer also sends filters in the PredictRequest, then the results + // will satisfy both conditions (user given and category match). // // Can only be set if // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types] diff --git a/retail/apiv2beta/retailpb/user_event.pb.go b/retail/apiv2beta/retailpb/user_event.pb.go index f8b91390f02..a51ea33e812 100755 --- a/retail/apiv2beta/retailpb/user_event.pb.go +++ b/retail/apiv2beta/retailpb/user_event.pb.go @@ -47,16 +47,16 @@ type UserEvent struct { // Required. User event type. Allowed values are: // - // * `add-to-cart`: Products being added to cart. - // * `category-page-view`: Special pages such as sale or promotion pages - // viewed. - // * `detail-page-view`: Products detail page viewed. - // * `home-page-view`: Homepage viewed. - // * `promotion-offered`: Promotion is offered to a user. - // * `promotion-not-offered`: Promotion is not offered to a user. - // * `purchase-complete`: User finishing a purchase. - // * `search`: Product search. - // * `shopping-cart-page-view`: User viewing a shopping cart. + // - `add-to-cart`: Products being added to cart. + // - `category-page-view`: Special pages such as sale or promotion pages + // viewed. + // - `detail-page-view`: Products detail page viewed. + // - `home-page-view`: Homepage viewed. + // - `promotion-offered`: Promotion is offered to a user. + // - `promotion-not-offered`: Promotion is not offered to a user. + // - `purchase-complete`: User finishing a purchase. + // - `search`: Product search. + // - `shopping-cart-page-view`: User viewing a shopping cart. EventType string `protobuf:"bytes,1,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` // Required. A unique identifier for tracking visitors. // @@ -151,12 +151,12 @@ type UserEvent struct { // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT // error is returned: // - // * The key must be a UTF-8 encoded string with a length limit of 5,000 - // characters. - // * For text attributes, at most 400 values are allowed. Empty values are not - // allowed. Each value must be a UTF-8 encoded string with a length limit of - // 256 characters. - // * For number attributes, at most 400 values are allowed. + // - The key must be a UTF-8 encoded string with a length limit of 5,000 + // characters. + // - For text attributes, at most 400 values are allowed. Empty values are not + // allowed. Each value must be a UTF-8 encoded string with a length limit of + // 256 characters. + // - For number attributes, at most 400 values are allowed. // // For product recommendations, an example of extra user information is // traffic_channel, which is how a user arrives at the site. Users can arrive diff --git a/retail/apiv2beta/retailpb/user_event_service.pb.go b/retail/apiv2beta/retailpb/user_event_service.pb.go index 07ac0fa5b5f..282fd4ea91e 100755 --- a/retail/apiv2beta/retailpb/user_event_service.pb.go +++ b/retail/apiv2beta/retailpb/user_event_service.pb.go @@ -183,6 +183,7 @@ type CollectUserEventRequest struct { // only when the raw_json is set. // // Types that are assignable to ConversionRule: + // // *CollectUserEventRequest_PrebuiltRule ConversionRule isCollectUserEventRequest_ConversionRule `protobuf_oneof:"conversion_rule"` // Required. The parent catalog name, such as diff --git a/run/apiv2/runpb/condition.pb.go b/run/apiv2/runpb/condition.pb.go index c0695161c53..84c6540f612 100755 --- a/run/apiv2/runpb/condition.pb.go +++ b/run/apiv2/runpb/condition.pb.go @@ -446,6 +446,7 @@ type Condition struct { // Successful conditions cannot have a reason. // // Types that are assignable to Reasons: + // // *Condition_Reason // *Condition_RevisionReason_ // *Condition_ExecutionReason_ diff --git a/run/apiv2/runpb/k8s.min.pb.go b/run/apiv2/runpb/k8s.min.pb.go index 5483369eb3d..d6e4f0b2c0a 100755 --- a/run/apiv2/runpb/k8s.min.pb.go +++ b/run/apiv2/runpb/k8s.min.pb.go @@ -262,11 +262,12 @@ type ResourceRequirements struct { // Only ´memory´ and 'cpu' are supported. // //

Notes: - // * The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 + // - The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 + // // CPU requires at least 2Gi of memory. For more information, go to // https://cloud.google.com/run/docs/configuring/cpu. - // * For supported 'memory' values and syntax, go to - // https://cloud.google.com/run/docs/configuring/memory-limits + // - For supported 'memory' values and syntax, go to + // https://cloud.google.com/run/docs/configuring/memory-limits Limits map[string]string `protobuf:"bytes,1,rep,name=limits,proto3" json:"limits,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Determines whether CPU should be throttled or not outside of requests. CpuIdle bool `protobuf:"varint,2,opt,name=cpu_idle,json=cpuIdle,proto3" json:"cpu_idle,omitempty"` @@ -339,6 +340,7 @@ type EnvVar struct { // characters. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to Values: + // // *EnvVar_Value // *EnvVar_ValueSource Values isEnvVar_Values `protobuf_oneof:"values"` @@ -672,6 +674,7 @@ type Volume struct { // Required. Volume's name. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to VolumeType: + // // *Volume_Secret // *Volume_CloudSqlInstance // *Volume_EmptyDir @@ -795,7 +798,7 @@ type SecretVolumeSource struct { // Must be a value between 0000 and 0777 (octal), defaulting to 0444. // Directories within the path are not affected by this setting. // - // Notes + // # Notes // // * Internally, a umask of 0222 will be applied to any non-zero value. // * This is an integer representation of the mode bits. So, the octal @@ -882,7 +885,7 @@ type VersionToPath struct { // 01 and 0777 (octal). If 0 or not set, the Volume's default mode will be // used. // - // Notes + // # Notes // // * Internally, a umask of 0222 will be applied to any non-zero value. // * This is an integer representation of the mode bits. So, the octal @@ -1100,6 +1103,7 @@ type Probe struct { // having succeeded. Defaults to 3. Minimum value is 1. FailureThreshold int32 `protobuf:"varint,4,opt,name=failure_threshold,json=failureThreshold,proto3" json:"failure_threshold,omitempty"` // Types that are assignable to ProbeType: + // // *Probe_HttpGet // *Probe_TcpSocket // *Probe_Grpc diff --git a/run/apiv2/runpb/task_template.pb.go b/run/apiv2/runpb/task_template.pb.go index e52ed79baf9..e79edad103e 100755 --- a/run/apiv2/runpb/task_template.pb.go +++ b/run/apiv2/runpb/task_template.pb.go @@ -50,6 +50,7 @@ type TaskTemplate struct { // A list of Volumes to make available to containers. Volumes []*Volume `protobuf:"bytes,2,rep,name=volumes,proto3" json:"volumes,omitempty"` // Types that are assignable to Retries: + // // *TaskTemplate_MaxRetries Retries isTaskTemplate_Retries `protobuf_oneof:"retries"` // Max allowed time duration the Task may be active before the system will diff --git a/run/apiv2/runpb/vendor_settings.pb.go b/run/apiv2/runpb/vendor_settings.pb.go index 37b4b7d467e..e7efb90b6fd 100755 --- a/run/apiv2/runpb/vendor_settings.pb.go +++ b/run/apiv2/runpb/vendor_settings.pb.go @@ -333,6 +333,7 @@ type BinaryAuthorization struct { unknownFields protoimpl.UnknownFields // Types that are assignable to BinauthzMethod: + // // *BinaryAuthorization_UseDefault BinauthzMethod isBinaryAuthorization_BinauthzMethod `protobuf_oneof:"binauthz_method"` // If present, indicates to use Breakglass using this justification. diff --git a/scheduler/apiv1/schedulerpb/job.pb.go b/scheduler/apiv1/schedulerpb/job.pb.go index 9a0dff04d09..5a50d3dc362 100755 --- a/scheduler/apiv1/schedulerpb/job.pb.go +++ b/scheduler/apiv1/schedulerpb/job.pb.go @@ -121,17 +121,17 @@ type Job struct { // The job name. For example: // `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`. // - // * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), - // hyphens (-), colons (:), or periods (.). - // For more information, see - // [Identifying - // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) - // * `LOCATION_ID` is the canonical ID for the job's location. - // The list of available locations can be obtained by calling - // [ListLocations][google.cloud.location.Locations.ListLocations]. - // For more information, see https://cloud.google.com/about/locations/. - // * `JOB_ID` can contain only letters ([A-Za-z]), numbers ([0-9]), - // hyphens (-), or underscores (_). The maximum length is 500 characters. + // - `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), + // hyphens (-), colons (:), or periods (.). + // For more information, see + // [Identifying + // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) + // - `LOCATION_ID` is the canonical ID for the job's location. + // The list of available locations can be obtained by calling + // [ListLocations][google.cloud.location.Locations.ListLocations]. + // For more information, see https://cloud.google.com/about/locations/. + // - `JOB_ID` can contain only letters ([A-Za-z]), numbers ([0-9]), + // hyphens (-), or underscores (_). The maximum length is 500 characters. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optionally caller-specified in // [CreateJob][google.cloud.scheduler.v1.CloudScheduler.CreateJob] or @@ -145,6 +145,7 @@ type Job struct { // Delivery settings containing destination and parameters. // // Types that are assignable to Target: + // // *Job_PubsubTarget // *Job_AppEngineHttpTarget // *Job_HttpTarget diff --git a/scheduler/apiv1/schedulerpb/target.pb.go b/scheduler/apiv1/schedulerpb/target.pb.go index b9e93cf83b1..f0b3dd2787e 100755 --- a/scheduler/apiv1/schedulerpb/target.pb.go +++ b/scheduler/apiv1/schedulerpb/target.pb.go @@ -162,6 +162,7 @@ type HttpTarget struct { // will be overridden. // // Types that are assignable to AuthorizationHeader: + // // *HttpTarget_OauthToken // *HttpTarget_OidcToken AuthorizationHeader isHttpTarget_AuthorizationHeader `protobuf_oneof:"authorization_header"` @@ -313,14 +314,15 @@ type AppEngineHttpTarget struct { // // Cloud Scheduler sets some headers to default values: // - // * `User-Agent`: By default, this header is - // `"AppEngine-Google; (+http://code.google.com/appengine)"`. - // This header can be modified, but Cloud Scheduler will append - // `"AppEngine-Google; (+http://code.google.com/appengine)"` to the - // modified `User-Agent`. - // * `X-CloudScheduler`: This header will be set to true. - // * `X-CloudScheduler-JobName`: This header will contain the job name. - // * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in + // - `User-Agent`: By default, this header is + // `"AppEngine-Google; (+http://code.google.com/appengine)"`. + // This header can be modified, but Cloud Scheduler will append + // `"AppEngine-Google; (+http://code.google.com/appengine)"` to the + // modified `User-Agent`. + // - `X-CloudScheduler`: This header will be set to true. + // - `X-CloudScheduler-JobName`: This header will contain the job name. + // - `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in + // // the unix-cron format, this header will contain the job schedule as an // offset of UTC parsed according to RFC3339. // @@ -328,13 +330,13 @@ type AppEngineHttpTarget struct { // [body][google.cloud.scheduler.v1.AppEngineHttpTarget.body], Cloud Scheduler // sets the following headers: // - // * `Content-Type`: By default, the `Content-Type` header is set to - // `"application/octet-stream"`. The default can be overridden by explictly - // setting `Content-Type` to a particular media type when the job is - // created. - // For example, `Content-Type` can be set to `"application/json"`. - // * `Content-Length`: This is computed by Cloud Scheduler. This value is - // output only. It cannot be changed. + // - `Content-Type`: By default, the `Content-Type` header is set to + // `"application/octet-stream"`. The default can be overridden by explictly + // setting `Content-Type` to a particular media type when the job is + // created. + // For example, `Content-Type` can be set to `"application/json"`. + // - `Content-Length`: This is computed by Cloud Scheduler. This value is + // output only. It cannot be changed. // // The headers below are output only. They cannot be set or overridden: // @@ -547,44 +549,42 @@ type AppEngineRouting struct { // // The host is constructed as: // + // - `host = [application_domain_name]`
+ // `| [service] + '.' + [application_domain_name]`
+ // `| [version] + '.' + [application_domain_name]`
+ // `| [version_dot_service]+ '.' + [application_domain_name]`
+ // `| [instance] + '.' + [application_domain_name]`
+ // `| [instance_dot_service] + '.' + [application_domain_name]`
+ // `| [instance_dot_version] + '.' + [application_domain_name]`
+ // `| [instance_dot_version_dot_service] + '.' + [application_domain_name]` // - // * `host = [application_domain_name]`
- // `| [service] + '.' + [application_domain_name]`
- // `| [version] + '.' + [application_domain_name]`
- // `| [version_dot_service]+ '.' + [application_domain_name]`
- // `| [instance] + '.' + [application_domain_name]`
- // `| [instance_dot_service] + '.' + [application_domain_name]`
- // `| [instance_dot_version] + '.' + [application_domain_name]`
- // `| [instance_dot_version_dot_service] + '.' + [application_domain_name]` - // - // * `application_domain_name` = The domain name of the app, for - // example .appspot.com, which is associated with the - // job's project ID. + // - `application_domain_name` = The domain name of the app, for + // example .appspot.com, which is associated with the + // job's project ID. // // * `service =` [service][google.cloud.scheduler.v1.AppEngineRouting.service] // // * `version =` [version][google.cloud.scheduler.v1.AppEngineRouting.version] // - // * `version_dot_service =` - // [version][google.cloud.scheduler.v1.AppEngineRouting.version] `+ '.' +` - // [service][google.cloud.scheduler.v1.AppEngineRouting.service] + // - `version_dot_service =` + // [version][google.cloud.scheduler.v1.AppEngineRouting.version] `+ '.' +` + // [service][google.cloud.scheduler.v1.AppEngineRouting.service] // // * `instance =` // [instance][google.cloud.scheduler.v1.AppEngineRouting.instance] // - // * `instance_dot_service =` - // [instance][google.cloud.scheduler.v1.AppEngineRouting.instance] `+ '.' +` - // [service][google.cloud.scheduler.v1.AppEngineRouting.service] - // - // * `instance_dot_version =` - // [instance][google.cloud.scheduler.v1.AppEngineRouting.instance] `+ '.' +` - // [version][google.cloud.scheduler.v1.AppEngineRouting.version] + // - `instance_dot_service =` + // [instance][google.cloud.scheduler.v1.AppEngineRouting.instance] `+ '.' +` + // [service][google.cloud.scheduler.v1.AppEngineRouting.service] // - // * `instance_dot_version_dot_service =` - // [instance][google.cloud.scheduler.v1.AppEngineRouting.instance] `+ '.' +` - // [version][google.cloud.scheduler.v1.AppEngineRouting.version] `+ '.' +` - // [service][google.cloud.scheduler.v1.AppEngineRouting.service] + // - `instance_dot_version =` + // [instance][google.cloud.scheduler.v1.AppEngineRouting.instance] `+ '.' +` + // [version][google.cloud.scheduler.v1.AppEngineRouting.version] // + // - `instance_dot_version_dot_service =` + // [instance][google.cloud.scheduler.v1.AppEngineRouting.instance] `+ '.' +` + // [version][google.cloud.scheduler.v1.AppEngineRouting.version] `+ '.' +` + // [service][google.cloud.scheduler.v1.AppEngineRouting.service] // // If [service][google.cloud.scheduler.v1.AppEngineRouting.service] is empty, // then the job will be sent to the service which is the default service when diff --git a/scheduler/apiv1beta1/schedulerpb/job.pb.go b/scheduler/apiv1beta1/schedulerpb/job.pb.go index b600fab202d..d1697ead0fe 100755 --- a/scheduler/apiv1beta1/schedulerpb/job.pb.go +++ b/scheduler/apiv1beta1/schedulerpb/job.pb.go @@ -121,17 +121,17 @@ type Job struct { // The job name. For example: // `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`. // - // * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), - // hyphens (-), colons (:), or periods (.). - // For more information, see - // [Identifying - // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) - // * `LOCATION_ID` is the canonical ID for the job's location. - // The list of available locations can be obtained by calling - // [ListLocations][google.cloud.location.Locations.ListLocations]. - // For more information, see https://cloud.google.com/about/locations/. - // * `JOB_ID` can contain only letters ([A-Za-z]), numbers ([0-9]), - // hyphens (-), or underscores (_). The maximum length is 500 characters. + // - `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), + // hyphens (-), colons (:), or periods (.). + // For more information, see + // [Identifying + // projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) + // - `LOCATION_ID` is the canonical ID for the job's location. + // The list of available locations can be obtained by calling + // [ListLocations][google.cloud.location.Locations.ListLocations]. + // For more information, see https://cloud.google.com/about/locations/. + // - `JOB_ID` can contain only letters ([A-Za-z]), numbers ([0-9]), + // hyphens (-), or underscores (_). The maximum length is 500 characters. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optionally caller-specified in // [CreateJob][google.cloud.scheduler.v1beta1.CloudScheduler.CreateJob] or @@ -145,6 +145,7 @@ type Job struct { // Delivery settings containing destination and parameters. // // Types that are assignable to Target: + // // *Job_PubsubTarget // *Job_AppEngineHttpTarget // *Job_HttpTarget diff --git a/scheduler/apiv1beta1/schedulerpb/target.pb.go b/scheduler/apiv1beta1/schedulerpb/target.pb.go index e98d3bd758a..755a34020f3 100755 --- a/scheduler/apiv1beta1/schedulerpb/target.pb.go +++ b/scheduler/apiv1beta1/schedulerpb/target.pb.go @@ -162,6 +162,7 @@ type HttpTarget struct { // field will be overridden. // // Types that are assignable to AuthorizationHeader: + // // *HttpTarget_OauthToken // *HttpTarget_OidcToken AuthorizationHeader isHttpTarget_AuthorizationHeader `protobuf_oneof:"authorization_header"` @@ -312,14 +313,15 @@ type AppEngineHttpTarget struct { // // Cloud Scheduler sets some headers to default values: // - // * `User-Agent`: By default, this header is - // `"AppEngine-Google; (+http://code.google.com/appengine)"`. - // This header can be modified, but Cloud Scheduler will append - // `"AppEngine-Google; (+http://code.google.com/appengine)"` to the - // modified `User-Agent`. - // * `X-CloudScheduler`: This header will be set to true. - // * `X-CloudScheduler-JobName`: This header will contain the job name. - // * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in + // - `User-Agent`: By default, this header is + // `"AppEngine-Google; (+http://code.google.com/appengine)"`. + // This header can be modified, but Cloud Scheduler will append + // `"AppEngine-Google; (+http://code.google.com/appengine)"` to the + // modified `User-Agent`. + // - `X-CloudScheduler`: This header will be set to true. + // - `X-CloudScheduler-JobName`: This header will contain the job name. + // - `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in + // // the unix-cron format, this header will contain the job schedule as an // offset of UTC parsed according to RFC3339. // @@ -327,13 +329,13 @@ type AppEngineHttpTarget struct { // [body][google.cloud.scheduler.v1beta1.AppEngineHttpTarget.body], Cloud // Scheduler sets the following headers: // - // * `Content-Type`: By default, the `Content-Type` header is set to - // `"application/octet-stream"`. The default can be overridden by explictly - // setting `Content-Type` to a particular media type when the job is - // created. - // For example, `Content-Type` can be set to `"application/json"`. - // * `Content-Length`: This is computed by Cloud Scheduler. This value is - // output only. It cannot be changed. + // - `Content-Type`: By default, the `Content-Type` header is set to + // `"application/octet-stream"`. The default can be overridden by explictly + // setting `Content-Type` to a particular media type when the job is + // created. + // For example, `Content-Type` can be set to `"application/json"`. + // - `Content-Length`: This is computed by Cloud Scheduler. This value is + // output only. It cannot be changed. // // The headers below are output only. They cannot be set or overridden: // @@ -546,19 +548,18 @@ type AppEngineRouting struct { // // The host is constructed as: // + // - `host = [application_domain_name]`
+ // `| [service] + '.' + [application_domain_name]`
+ // `| [version] + '.' + [application_domain_name]`
+ // `| [version_dot_service]+ '.' + [application_domain_name]`
+ // `| [instance] + '.' + [application_domain_name]`
+ // `| [instance_dot_service] + '.' + [application_domain_name]`
+ // `| [instance_dot_version] + '.' + [application_domain_name]`
+ // `| [instance_dot_version_dot_service] + '.' + [application_domain_name]` // - // * `host = [application_domain_name]`
- // `| [service] + '.' + [application_domain_name]`
- // `| [version] + '.' + [application_domain_name]`
- // `| [version_dot_service]+ '.' + [application_domain_name]`
- // `| [instance] + '.' + [application_domain_name]`
- // `| [instance_dot_service] + '.' + [application_domain_name]`
- // `| [instance_dot_version] + '.' + [application_domain_name]`
- // `| [instance_dot_version_dot_service] + '.' + [application_domain_name]` - // - // * `application_domain_name` = The domain name of the app, for - // example .appspot.com, which is associated with the - // job's project ID. + // - `application_domain_name` = The domain name of the app, for + // example .appspot.com, which is associated with the + // job's project ID. // // * `service =` // [service][google.cloud.scheduler.v1beta1.AppEngineRouting.service] @@ -566,27 +567,26 @@ type AppEngineRouting struct { // * `version =` // [version][google.cloud.scheduler.v1beta1.AppEngineRouting.version] // - // * `version_dot_service =` - // [version][google.cloud.scheduler.v1beta1.AppEngineRouting.version] `+ '.' - // +` [service][google.cloud.scheduler.v1beta1.AppEngineRouting.service] + // - `version_dot_service =` + // [version][google.cloud.scheduler.v1beta1.AppEngineRouting.version] `+ '.' + // +` [service][google.cloud.scheduler.v1beta1.AppEngineRouting.service] // // * `instance =` // [instance][google.cloud.scheduler.v1beta1.AppEngineRouting.instance] // - // * `instance_dot_service =` - // [instance][google.cloud.scheduler.v1beta1.AppEngineRouting.instance] `+ - // '.' +` [service][google.cloud.scheduler.v1beta1.AppEngineRouting.service] - // - // * `instance_dot_version =` - // [instance][google.cloud.scheduler.v1beta1.AppEngineRouting.instance] `+ - // '.' +` [version][google.cloud.scheduler.v1beta1.AppEngineRouting.version] + // - `instance_dot_service =` + // [instance][google.cloud.scheduler.v1beta1.AppEngineRouting.instance] `+ + // '.' +` [service][google.cloud.scheduler.v1beta1.AppEngineRouting.service] // - // * `instance_dot_version_dot_service =` - // [instance][google.cloud.scheduler.v1beta1.AppEngineRouting.instance] `+ - // '.' +` [version][google.cloud.scheduler.v1beta1.AppEngineRouting.version] - // `+ '.' +` - // [service][google.cloud.scheduler.v1beta1.AppEngineRouting.service] + // - `instance_dot_version =` + // [instance][google.cloud.scheduler.v1beta1.AppEngineRouting.instance] `+ + // '.' +` [version][google.cloud.scheduler.v1beta1.AppEngineRouting.version] // + // - `instance_dot_version_dot_service =` + // [instance][google.cloud.scheduler.v1beta1.AppEngineRouting.instance] `+ + // '.' +` [version][google.cloud.scheduler.v1beta1.AppEngineRouting.version] + // `+ '.' +` + // [service][google.cloud.scheduler.v1beta1.AppEngineRouting.service] // // If [service][google.cloud.scheduler.v1beta1.AppEngineRouting.service] is // empty, then the job will be sent to the service which is the default diff --git a/secretmanager/apiv1/secretmanagerpb/resources.pb.go b/secretmanager/apiv1/secretmanagerpb/resources.pb.go index 05e82823750..f49e1427cce 100755 --- a/secretmanager/apiv1/secretmanagerpb/resources.pb.go +++ b/secretmanager/apiv1/secretmanagerpb/resources.pb.go @@ -155,6 +155,7 @@ type Secret struct { // can be reversed. // // Types that are assignable to Expiration: + // // *Secret_ExpireTime // *Secret_Ttl Expiration isSecret_Expiration `protobuf_oneof:"expiration"` @@ -460,6 +461,7 @@ type Replication struct { // The replication policy for this secret. // // Types that are assignable to Replication: + // // *Replication_Automatic_ // *Replication_UserManaged_ Replication isReplication_Replication `protobuf_oneof:"replication"` @@ -611,6 +613,7 @@ type ReplicationStatus struct { // [SecretVersion][google.cloud.secretmanager.v1.SecretVersion]. // // Types that are assignable to ReplicationStatus: + // // *ReplicationStatus_Automatic // *ReplicationStatus_UserManaged ReplicationStatus isReplicationStatus_ReplicationStatus `protobuf_oneof:"replication_status"` diff --git a/security/privateca/apiv1/privatecapb/resources.pb.go b/security/privateca/apiv1/privatecapb/resources.pb.go index 205b30c3c2d..52d8aae4114 100755 --- a/security/privateca/apiv1/privatecapb/resources.pb.go +++ b/security/privateca/apiv1/privatecapb/resources.pb.go @@ -1142,7 +1142,8 @@ type CertificateRevocationList struct { // Output only. The resource name for this // [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList] // in the format `projects/*/locations/*/caPools/*certificateAuthorities/*/ - // certificateRevocationLists/*`. + // + // certificateRevocationLists/*`. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Output only. The CRL sequence number that appears in pem_crl. SequenceNumber int64 `protobuf:"varint,2,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"` @@ -1291,6 +1292,7 @@ type Certificate struct { // The config used to create a signed X.509 certificate. // // Types that are assignable to CertificateConfig: + // // *Certificate_PemCsr // *Certificate_Config CertificateConfig isCertificate_CertificateConfig `protobuf_oneof:"certificate_config"` @@ -1756,6 +1758,7 @@ type SubordinateConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to SubordinateConfig: + // // *SubordinateConfig_CertificateAuthority // *SubordinateConfig_PemIssuerChain SubordinateConfig isSubordinateConfig_SubordinateConfig `protobuf_oneof:"subordinate_config"` @@ -2716,6 +2719,7 @@ type CertificateAuthority_KeyVersionSpec struct { unknownFields protoimpl.UnknownFields // Types that are assignable to KeyVersion: + // // *CertificateAuthority_KeyVersionSpec_CloudKmsKeyVersion // *CertificateAuthority_KeyVersionSpec_Algorithm KeyVersion isCertificateAuthority_KeyVersionSpec_KeyVersion `protobuf_oneof:"KeyVersion"` @@ -3025,6 +3029,7 @@ type CaPool_IssuancePolicy_AllowedKeyType struct { unknownFields protoimpl.UnknownFields // Types that are assignable to KeyType: + // // *CaPool_IssuancePolicy_AllowedKeyType_Rsa // *CaPool_IssuancePolicy_AllowedKeyType_EllipticCurve KeyType isCaPool_IssuancePolicy_AllowedKeyType_KeyType `protobuf_oneof:"key_type"` diff --git a/securitycenter/apiv1/securitycenterpb/access.pb.go b/securitycenter/apiv1/securitycenterpb/access.pb.go index 5fab4b8c36f..e03eb78d0fe 100755 --- a/securitycenter/apiv1/securitycenterpb/access.pb.go +++ b/securitycenter/apiv1/securitycenterpb/access.pb.go @@ -78,7 +78,6 @@ type Access struct { // This is a scheme-less URI full resource name. For example: // // "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - // ServiceAccountKeyName string `protobuf:"bytes,8,opt,name=service_account_key_name,json=serviceAccountKeyName,proto3" json:"service_account_key_name,omitempty"` // The identity delegation history of an authenticated service account that // made the request. The `serviceAccountDelegationInfo[]` object contains diff --git a/securitycenter/apiv1/securitycenterpb/finding.pb.go b/securitycenter/apiv1/securitycenterpb/finding.pb.go index 94a1a90a19b..6a1781e3b76 100755 --- a/securitycenter/apiv1/securitycenterpb/finding.pb.go +++ b/securitycenter/apiv1/securitycenterpb/finding.pb.go @@ -430,18 +430,18 @@ type Finding struct { // all the contacts that pertain. Please refer to: // https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories // - // { - // "security": { - // "contacts": [ - // { - // "email": "person1@company.com" - // }, - // { - // "email": "person2@company.com" - // } - // ] - // } - // } + // { + // "security": { + // "contacts": [ + // { + // "email": "person1@company.com" + // }, + // { + // "email": "person2@company.com" + // } + // ] + // } + // } Contacts map[string]*ContactDetails `protobuf:"bytes,33,rep,name=contacts,proto3" json:"contacts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Contains compliance information for security standards associated to the // finding. diff --git a/securitycenter/apiv1/securitycenterpb/indicator.pb.go b/securitycenter/apiv1/securitycenterpb/indicator.pb.go index ae67aee28e2..c0ece2f2c23 100755 --- a/securitycenter/apiv1/securitycenterpb/indicator.pb.go +++ b/securitycenter/apiv1/securitycenterpb/indicator.pb.go @@ -123,6 +123,7 @@ type Indicator_ProcessSignature struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Signature: + // // *Indicator_ProcessSignature_MemoryHashSignature_ // *Indicator_ProcessSignature_YaraRuleSignature_ Signature isIndicator_ProcessSignature_Signature `protobuf_oneof:"signature"` diff --git a/securitycenter/apiv1/securitycenterpb/notification_config.pb.go b/securitycenter/apiv1/securitycenterpb/notification_config.pb.go index 8904870e389..85583504620 100755 --- a/securitycenter/apiv1/securitycenterpb/notification_config.pb.go +++ b/securitycenter/apiv1/securitycenterpb/notification_config.pb.go @@ -63,6 +63,7 @@ type NotificationConfig struct { // The config for triggering notifications. // // Types that are assignable to NotifyConfig: + // // *NotificationConfig_StreamingConfig_ NotifyConfig isNotificationConfig_NotifyConfig `protobuf_oneof:"notify_config"` } diff --git a/securitycenter/apiv1/securitycenterpb/notification_message.pb.go b/securitycenter/apiv1/securitycenterpb/notification_message.pb.go index a3e6e6999e6..12767a8033f 100755 --- a/securitycenter/apiv1/securitycenterpb/notification_message.pb.go +++ b/securitycenter/apiv1/securitycenterpb/notification_message.pb.go @@ -46,6 +46,7 @@ type NotificationMessage struct { // Notification Event. // // Types that are assignable to Event: + // // *NotificationMessage_Finding Event isNotificationMessage_Event `protobuf_oneof:"event"` // The Cloud resource tied to this notification's Finding. diff --git a/securitycenter/apiv1/securitycenterpb/security_marks.pb.go b/securitycenter/apiv1/securitycenterpb/security_marks.pb.go index b34c611d11c..c00534ad01e 100755 --- a/securitycenter/apiv1/securitycenterpb/security_marks.pb.go +++ b/securitycenter/apiv1/securitycenterpb/security_marks.pb.go @@ -54,10 +54,10 @@ type SecurityMarks struct { // Mutable user specified security marks belonging to the parent resource. // Constraints are as follows: // - // * Keys and values are treated as case insensitive - // * Keys must be between 1 - 256 characters (inclusive) - // * Keys must be letters, numbers, underscores, or dashes - // * Values have leading and trailing whitespace trimmed, remaining + // - Keys and values are treated as case insensitive + // - Keys must be between 1 - 256 characters (inclusive) + // - Keys must be letters, numbers, underscores, or dashes + // - Values have leading and trailing whitespace trimmed, remaining // characters must be between 1 - 4096 characters (inclusive) Marks map[string]string `protobuf:"bytes,2,rep,name=marks,proto3" json:"marks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The canonical name of the marks. diff --git a/securitycenter/apiv1/securitycenterpb/securitycenter_service.pb.go b/securitycenter/apiv1/securitycenterpb/securitycenter_service.pb.go index aa651a8ad77..3e55a2488c6 100755 --- a/securitycenter/apiv1/securitycenterpb/securitycenter_service.pb.go +++ b/securitycenter/apiv1/securitycenterpb/securitycenter_service.pb.go @@ -1218,17 +1218,17 @@ type GroupAssetsRequest struct { // * name: `=` // * update_time: `=`, `>`, `<`, `>=`, `<=` // - // Usage: This should be milliseconds since epoch or an RFC3339 string. - // Examples: - // `update_time = "2019-06-10T16:07:18-07:00"` - // `update_time = 1560208038000` + // Usage: This should be milliseconds since epoch or an RFC3339 string. + // Examples: + // `update_time = "2019-06-10T16:07:18-07:00"` + // `update_time = 1560208038000` // // * create_time: `=`, `>`, `<`, `>=`, `<=` // - // Usage: This should be milliseconds since epoch or an RFC3339 string. - // Examples: - // `create_time = "2019-06-10T16:07:18-07:00"` - // `create_time = 1560208038000` + // Usage: This should be milliseconds since epoch or an RFC3339 string. + // Examples: + // `create_time = "2019-06-10T16:07:18-07:00"` + // `create_time = 1560208038000` // // * iam_policy.policy_blob: `=`, `:` // * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` @@ -1282,13 +1282,13 @@ type GroupAssetsRequest struct { // // Possible "state_change" values when compare_duration is specified: // - // * "ADDED": indicates that the asset was not present at the start of - // compare_duration, but present at reference_time. - // * "REMOVED": indicates that the asset was present at the start of - // compare_duration, but not present at reference_time. - // * "ACTIVE": indicates that the asset was present at both the - // start and the end of the time period defined by - // compare_duration and reference_time. + // - "ADDED": indicates that the asset was not present at the start of + // compare_duration, but present at reference_time. + // - "REMOVED": indicates that the asset was present at the start of + // compare_duration, but not present at reference_time. + // - "ACTIVE": indicates that the asset was present at both the + // start and the end of the time period defined by + // compare_duration and reference_time. // // If compare_duration is not specified, then the only possible state_change // is "UNUSED", which will be the state_change set for all assets present at @@ -1493,9 +1493,9 @@ type GroupFindingsRequest struct { // Restrictions have the form ` ` and may have a `-` // character in front of them to indicate negation. Examples include: // - // * name - // * source_properties.a_property - // * security_marks.marks.marka + // - name + // - source_properties.a_property + // - security_marks.marks.marka // // The supported operators are: // @@ -1519,31 +1519,31 @@ type GroupFindingsRequest struct { // * external_uri: `=`, `:` // * event_time: `=`, `>`, `<`, `>=`, `<=` // - // Usage: This should be milliseconds since epoch or an RFC3339 string. - // Examples: - // `event_time = "2019-06-10T16:07:18-07:00"` - // `event_time = 1560208038000` + // Usage: This should be milliseconds since epoch or an RFC3339 string. + // Examples: + // `event_time = "2019-06-10T16:07:18-07:00"` + // `event_time = 1560208038000` // // * severity: `=`, `:` // * workflow_state: `=`, `:` // * security_marks.marks: `=`, `:` // * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` // - // For example, `source_properties.size = 100` is a valid filter string. + // For example, `source_properties.size = 100` is a valid filter string. // - // Use a partial match on the empty string to filter based on a property - // existing: `source_properties.my_property : ""` + // Use a partial match on the empty string to filter based on a property + // existing: `source_properties.my_property : ""` // - // Use a negated partial match on the empty string to filter based on a - // property not existing: `-source_properties.my_property : ""` + // Use a negated partial match on the empty string to filter based on a + // property not existing: `-source_properties.my_property : ""` // // * resource: - // * resource.name: `=`, `:` - // * resource.parent_name: `=`, `:` - // * resource.parent_display_name: `=`, `:` - // * resource.project_name: `=`, `:` - // * resource.project_display_name: `=`, `:` - // * resource.type: `=`, `:` + // - resource.name: `=`, `:` + // - resource.parent_name: `=`, `:` + // - resource.parent_display_name: `=`, `:` + // - resource.project_name: `=`, `:` + // - resource.project_display_name: `=`, `:` + // - resource.type: `=`, `:` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Required. Expression that defines what assets fields to use for grouping // (including `state_change`). The string value should follow SQL syntax: @@ -1579,18 +1579,18 @@ type GroupFindingsRequest struct { // // Possible "state_change" values when compare_duration is specified: // - // * "CHANGED": indicates that the finding was present and matched the given - // filter at the start of compare_duration, but changed its - // state at read_time. - // * "UNCHANGED": indicates that the finding was present and matched the given - // filter at the start of compare_duration and did not change - // state at read_time. - // * "ADDED": indicates that the finding did not match the given filter or - // was not present at the start of compare_duration, but was - // present at read_time. - // * "REMOVED": indicates that the finding was present and matched the - // filter at the start of compare_duration, but did not match - // the filter at read_time. + // - "CHANGED": indicates that the finding was present and matched the given + // filter at the start of compare_duration, but changed its + // state at read_time. + // - "UNCHANGED": indicates that the finding was present and matched the given + // filter at the start of compare_duration and did not change + // state at read_time. + // - "ADDED": indicates that the finding did not match the given filter or + // was not present at the start of compare_duration, but was + // present at read_time. + // - "REMOVED": indicates that the finding was present and matched the + // filter at the start of compare_duration, but did not match + // the filter at read_time. // // If compare_duration is not specified, then the only possible state_change // is "UNUSED", which will be the state_change set for all findings present @@ -2661,17 +2661,17 @@ type ListAssetsRequest struct { // * name: `=` // * update_time: `=`, `>`, `<`, `>=`, `<=` // - // Usage: This should be milliseconds since epoch or an RFC3339 string. - // Examples: - // `update_time = "2019-06-10T16:07:18-07:00"` - // `update_time = 1560208038000` + // Usage: This should be milliseconds since epoch or an RFC3339 string. + // Examples: + // `update_time = "2019-06-10T16:07:18-07:00"` + // `update_time = 1560208038000` // // * create_time: `=`, `>`, `<`, `>=`, `<=` // - // Usage: This should be milliseconds since epoch or an RFC3339 string. - // Examples: - // `create_time = "2019-06-10T16:07:18-07:00"` - // `create_time = 1560208038000` + // Usage: This should be milliseconds since epoch or an RFC3339 string. + // Examples: + // `create_time = "2019-06-10T16:07:18-07:00"` + // `create_time = 1560208038000` // // * iam_policy.policy_blob: `=`, `:` // * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` @@ -2733,13 +2733,13 @@ type ListAssetsRequest struct { // // Possible "state_change" values when compare_duration is specified: // - // * "ADDED": indicates that the asset was not present at the start of - // compare_duration, but present at read_time. - // * "REMOVED": indicates that the asset was present at the start of - // compare_duration, but not present at read_time. - // * "ACTIVE": indicates that the asset was present at both the - // start and the end of the time period defined by - // compare_duration and read_time. + // - "ADDED": indicates that the asset was not present at the start of + // compare_duration, but present at read_time. + // - "REMOVED": indicates that the asset was present at the start of + // compare_duration, but not present at read_time. + // - "ACTIVE": indicates that the asset was present at both the + // start and the end of the time period defined by + // compare_duration and read_time. // // If compare_duration is not specified, then the only possible state_change // is "UNUSED", which will be the state_change set for all assets present at @@ -2945,9 +2945,9 @@ type ListFindingsRequest struct { // Restrictions have the form ` ` and may have a `-` // character in front of them to indicate negation. Examples include: // - // * name - // * source_properties.a_property - // * security_marks.marks.marka + // - name + // - source_properties.a_property + // - security_marks.marks.marka // // The supported operators are: // @@ -2971,33 +2971,33 @@ type ListFindingsRequest struct { // * external_uri: `=`, `:` // * event_time: `=`, `>`, `<`, `>=`, `<=` // - // Usage: This should be milliseconds since epoch or an RFC3339 string. - // Examples: - // `event_time = "2019-06-10T16:07:18-07:00"` - // `event_time = 1560208038000` + // Usage: This should be milliseconds since epoch or an RFC3339 string. + // Examples: + // `event_time = "2019-06-10T16:07:18-07:00"` + // `event_time = 1560208038000` // // * severity: `=`, `:` // * workflow_state: `=`, `:` // * security_marks.marks: `=`, `:` // * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` // - // For example, `source_properties.size = 100` is a valid filter string. + // For example, `source_properties.size = 100` is a valid filter string. // - // Use a partial match on the empty string to filter based on a property - // existing: `source_properties.my_property : ""` + // Use a partial match on the empty string to filter based on a property + // existing: `source_properties.my_property : ""` // - // Use a negated partial match on the empty string to filter based on a - // property not existing: `-source_properties.my_property : ""` + // Use a negated partial match on the empty string to filter based on a + // property not existing: `-source_properties.my_property : ""` // // * resource: - // * resource.name: `=`, `:` - // * resource.parent_name: `=`, `:` - // * resource.parent_display_name: `=`, `:` - // * resource.project_name: `=`, `:` - // * resource.project_display_name: `=`, `:` - // * resource.type: `=`, `:` - // * resource.folders.resource_folder: `=`, `:` - // * resource.display_name: `=`, `:` + // - resource.name: `=`, `:` + // - resource.parent_name: `=`, `:` + // - resource.parent_display_name: `=`, `:` + // - resource.project_name: `=`, `:` + // - resource.project_display_name: `=`, `:` + // - resource.type: `=`, `:` + // - resource.folders.resource_folder: `=`, `:` + // - resource.display_name: `=`, `:` Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Expression that defines what fields and order to use for sorting. The // string value should follow SQL syntax: comma separated list of fields. For @@ -3037,18 +3037,18 @@ type ListFindingsRequest struct { // // Possible "state_change" values when compare_duration is specified: // - // * "CHANGED": indicates that the finding was present and matched the given - // filter at the start of compare_duration, but changed its - // state at read_time. - // * "UNCHANGED": indicates that the finding was present and matched the given - // filter at the start of compare_duration and did not change - // state at read_time. - // * "ADDED": indicates that the finding did not match the given filter or - // was not present at the start of compare_duration, but was - // present at read_time. - // * "REMOVED": indicates that the finding was present and matched the - // filter at the start of compare_duration, but did not match - // the filter at read_time. + // - "CHANGED": indicates that the finding was present and matched the given + // filter at the start of compare_duration, but changed its + // state at read_time. + // - "UNCHANGED": indicates that the finding was present and matched the given + // filter at the start of compare_duration and did not change + // state at read_time. + // - "ADDED": indicates that the finding did not match the given filter or + // was not present at the start of compare_duration, but was + // present at read_time. + // - "REMOVED": indicates that the finding was present and matched the + // filter at the start of compare_duration, but did not match + // the filter at read_time. // // If compare_duration is not specified, then the only possible state_change // is "UNUSED", which will be the state_change set for all findings present at @@ -4675,6 +4675,7 @@ type SimulateSecurityHealthAnalyticsCustomModuleResponse_SimulatedResult struct unknownFields protoimpl.UnknownFields // Types that are assignable to Result: + // // *SimulateSecurityHealthAnalyticsCustomModuleResponse_SimulatedResult_Finding // *SimulateSecurityHealthAnalyticsCustomModuleResponse_SimulatedResult_NoViolation // *SimulateSecurityHealthAnalyticsCustomModuleResponse_SimulatedResult_Error @@ -7781,7 +7782,6 @@ type SecurityCenterClient interface { UpdateFinding(ctx context.Context, in *UpdateFindingRequest, opts ...grpc.CallOption) (*Finding, error) // Updates a mute config. UpdateMuteConfig(ctx context.Context, in *UpdateMuteConfigRequest, opts ...grpc.CallOption) (*MuteConfig, error) - // // Updates a notification config. The following update // fields are allowed: description, pubsub_topic, streaming_config.filter UpdateNotificationConfig(ctx context.Context, in *UpdateNotificationConfigRequest, opts ...grpc.CallOption) (*NotificationConfig, error) @@ -8333,7 +8333,6 @@ type SecurityCenterServer interface { UpdateFinding(context.Context, *UpdateFindingRequest) (*Finding, error) // Updates a mute config. UpdateMuteConfig(context.Context, *UpdateMuteConfigRequest) (*MuteConfig, error) - // // Updates a notification config. The following update // fields are allowed: description, pubsub_topic, streaming_config.filter UpdateNotificationConfig(context.Context, *UpdateNotificationConfigRequest) (*NotificationConfig, error) diff --git a/securitycenter/apiv1beta1/securitycenterpb/security_marks.pb.go b/securitycenter/apiv1beta1/securitycenterpb/security_marks.pb.go index 797b49b6c92..bbdb2791b40 100755 --- a/securitycenter/apiv1beta1/securitycenterpb/security_marks.pb.go +++ b/securitycenter/apiv1beta1/securitycenterpb/security_marks.pb.go @@ -54,10 +54,10 @@ type SecurityMarks struct { // Mutable user specified security marks belonging to the parent resource. // Constraints are as follows: // - // * Keys and values are treated as case insensitive - // * Keys must be between 1 - 256 characters (inclusive) - // * Keys must be letters, numbers, underscores, or dashes - // * Values have leading and trailing whitespace trimmed, remaining + // - Keys and values are treated as case insensitive + // - Keys must be between 1 - 256 characters (inclusive) + // - Keys must be letters, numbers, underscores, or dashes + // - Values have leading and trailing whitespace trimmed, remaining // characters must be between 1 - 4096 characters (inclusive) Marks map[string]string `protobuf:"bytes,2,rep,name=marks,proto3" json:"marks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } diff --git a/securitycenter/apiv1beta1/securitycenterpb/securitycenter_service.pb.go b/securitycenter/apiv1beta1/securitycenterpb/securitycenter_service.pb.go index 1631094027e..c20756467e1 100755 --- a/securitycenter/apiv1beta1/securitycenterpb/securitycenter_service.pb.go +++ b/securitycenter/apiv1beta1/securitycenterpb/securitycenter_service.pb.go @@ -407,13 +407,13 @@ type GroupAssetsRequest struct { // // Possible "state" values when compare_duration is specified: // - // * "ADDED": indicates that the asset was not present before - // compare_duration, but present at reference_time. - // * "REMOVED": indicates that the asset was present at the start of - // compare_duration, but not present at reference_time. - // * "ACTIVE": indicates that the asset was present at both the - // start and the end of the time period defined by - // compare_duration and reference_time. + // - "ADDED": indicates that the asset was not present before + // compare_duration, but present at reference_time. + // - "REMOVED": indicates that the asset was present at the start of + // compare_duration, but not present at reference_time. + // - "ACTIVE": indicates that the asset was present at both the + // start and the end of the time period defined by + // compare_duration and reference_time. // // This field is ignored if `state` is not a field in `group_by`. CompareDuration *durationpb.Duration `protobuf:"bytes,4,opt,name=compare_duration,json=compareDuration,proto3" json:"compare_duration,omitempty"` @@ -601,9 +601,9 @@ type GroupFindingsRequest struct { // Restrictions have the form ` ` and may have a `-` // character in front of them to indicate negation. Examples include: // - // * name - // * source_properties.a_property - // * security_marks.marks.marka + // - name + // - source_properties.a_property + // - security_marks.marks.marka // // The supported operators are: // @@ -1041,13 +1041,13 @@ type ListAssetsRequest struct { // // Possible "state" values when compare_duration is specified: // - // * "ADDED": indicates that the asset was not present before - // compare_duration, but present at read_time. - // * "REMOVED": indicates that the asset was present at the start of - // compare_duration, but not present at read_time. - // * "ACTIVE": indicates that the asset was present at both the - // start and the end of the time period defined by - // compare_duration and read_time. + // - "ADDED": indicates that the asset was not present before + // compare_duration, but present at read_time. + // - "REMOVED": indicates that the asset was present at the start of + // compare_duration, but not present at read_time. + // - "ACTIVE": indicates that the asset was present at both the + // start and the end of the time period defined by + // compare_duration and read_time. // // If compare_duration is not specified, then the only possible state is // "UNUSED", which indicates that the asset is present at read_time. @@ -1249,9 +1249,9 @@ type ListFindingsRequest struct { // Restrictions have the form ` ` and may have a `-` // character in front of them to indicate negation. Examples include: // - // * name - // * source_properties.a_property - // * security_marks.marks.marka + // - name + // - source_properties.a_property + // - security_marks.marks.marka // // The supported operators are: // diff --git a/securitycenter/apiv1p1beta1/securitycenterpb/notification_config.pb.go b/securitycenter/apiv1p1beta1/securitycenterpb/notification_config.pb.go index dc7ac50d967..2fd7a99acb8 100755 --- a/securitycenter/apiv1p1beta1/securitycenterpb/notification_config.pb.go +++ b/securitycenter/apiv1p1beta1/securitycenterpb/notification_config.pb.go @@ -113,6 +113,7 @@ type NotificationConfig struct { // The config for triggering notifications. // // Types that are assignable to NotifyConfig: + // // *NotificationConfig_StreamingConfig_ NotifyConfig isNotificationConfig_NotifyConfig `protobuf_oneof:"notify_config"` } diff --git a/securitycenter/apiv1p1beta1/securitycenterpb/notification_message.pb.go b/securitycenter/apiv1p1beta1/securitycenterpb/notification_message.pb.go index fcc0d6fabd6..297ace28661 100755 --- a/securitycenter/apiv1p1beta1/securitycenterpb/notification_message.pb.go +++ b/securitycenter/apiv1p1beta1/securitycenterpb/notification_message.pb.go @@ -46,6 +46,7 @@ type NotificationMessage struct { // Notification Event. // // Types that are assignable to Event: + // // *NotificationMessage_Finding Event isNotificationMessage_Event `protobuf_oneof:"event"` // The Cloud resource tied to the notification. diff --git a/securitycenter/apiv1p1beta1/securitycenterpb/security_marks.pb.go b/securitycenter/apiv1p1beta1/securitycenterpb/security_marks.pb.go index 35f6634a02e..4877185fc68 100755 --- a/securitycenter/apiv1p1beta1/securitycenterpb/security_marks.pb.go +++ b/securitycenter/apiv1p1beta1/securitycenterpb/security_marks.pb.go @@ -54,10 +54,10 @@ type SecurityMarks struct { // Mutable user specified security marks belonging to the parent resource. // Constraints are as follows: // - // * Keys and values are treated as case insensitive - // * Keys must be between 1 - 256 characters (inclusive) - // * Keys must be letters, numbers, underscores, or dashes - // * Values have leading and trailing whitespace trimmed, remaining + // - Keys and values are treated as case insensitive + // - Keys must be between 1 - 256 characters (inclusive) + // - Keys must be letters, numbers, underscores, or dashes + // - Values have leading and trailing whitespace trimmed, remaining // characters must be between 1 - 4096 characters (inclusive) Marks map[string]string `protobuf:"bytes,2,rep,name=marks,proto3" json:"marks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The canonical name of the marks. diff --git a/securitycenter/apiv1p1beta1/securitycenterpb/securitycenter_service.pb.go b/securitycenter/apiv1p1beta1/securitycenterpb/securitycenter_service.pb.go index d1d343e9ca4..92736908822 100755 --- a/securitycenter/apiv1p1beta1/securitycenterpb/securitycenter_service.pb.go +++ b/securitycenter/apiv1p1beta1/securitycenterpb/securitycenter_service.pb.go @@ -621,17 +621,17 @@ type GroupAssetsRequest struct { // * name: `=` // * update_time: `=`, `>`, `<`, `>=`, `<=` // - // Usage: This should be milliseconds since epoch or an RFC3339 string. - // Examples: - // `update_time = "2019-06-10T16:07:18-07:00"` - // `update_time = 1560208038000` + // Usage: This should be milliseconds since epoch or an RFC3339 string. + // Examples: + // `update_time = "2019-06-10T16:07:18-07:00"` + // `update_time = 1560208038000` // // * create_time: `=`, `>`, `<`, `>=`, `<=` // - // Usage: This should be milliseconds since epoch or an RFC3339 string. - // Examples: - // `create_time = "2019-06-10T16:07:18-07:00"` - // `create_time = 1560208038000` + // Usage: This should be milliseconds since epoch or an RFC3339 string. + // Examples: + // `create_time = "2019-06-10T16:07:18-07:00"` + // `create_time = 1560208038000` // // * iam_policy.policy_blob: `=`, `:` // * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` @@ -685,13 +685,13 @@ type GroupAssetsRequest struct { // // Possible "state_change" values when compare_duration is specified: // - // * "ADDED": indicates that the asset was not present at the start of - // compare_duration, but present at reference_time. - // * "REMOVED": indicates that the asset was present at the start of - // compare_duration, but not present at reference_time. - // * "ACTIVE": indicates that the asset was present at both the - // start and the end of the time period defined by - // compare_duration and reference_time. + // - "ADDED": indicates that the asset was not present at the start of + // compare_duration, but present at reference_time. + // - "REMOVED": indicates that the asset was present at the start of + // compare_duration, but not present at reference_time. + // - "ACTIVE": indicates that the asset was present at both the + // start and the end of the time period defined by + // compare_duration and reference_time. // // If compare_duration is not specified, then the only possible state_change // is "UNUSED", which will be the state_change set for all assets present at @@ -896,9 +896,9 @@ type GroupFindingsRequest struct { // Restrictions have the form ` ` and may have a `-` // character in front of them to indicate negation. Examples include: // - // * name - // * source_properties.a_property - // * security_marks.marks.marka + // - name + // - source_properties.a_property + // - security_marks.marks.marka // // The supported operators are: // @@ -923,10 +923,10 @@ type GroupFindingsRequest struct { // * event_time: `=`, `>`, `<`, `>=`, `<=` // * severity: `=`, `:` // - // Usage: This should be milliseconds since epoch or an RFC3339 string. - // Examples: - // `event_time = "2019-06-10T16:07:18-07:00"` - // `event_time = 1560208038000` + // Usage: This should be milliseconds since epoch or an RFC3339 string. + // Examples: + // `event_time = "2019-06-10T16:07:18-07:00"` + // `event_time = 1560208038000` // // * security_marks.marks: `=`, `:` // * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` @@ -973,18 +973,18 @@ type GroupFindingsRequest struct { // // Possible "state_change" values when compare_duration is specified: // - // * "CHANGED": indicates that the finding was present and matched the given - // filter at the start of compare_duration, but changed its - // state at read_time. - // * "UNCHANGED": indicates that the finding was present and matched the given - // filter at the start of compare_duration and did not change - // state at read_time. - // * "ADDED": indicates that the finding did not match the given filter or - // was not present at the start of compare_duration, but was - // present at read_time. - // * "REMOVED": indicates that the finding was present and matched the - // filter at the start of compare_duration, but did not match - // the filter at read_time. + // - "CHANGED": indicates that the finding was present and matched the given + // filter at the start of compare_duration, but changed its + // state at read_time. + // - "UNCHANGED": indicates that the finding was present and matched the given + // filter at the start of compare_duration and did not change + // state at read_time. + // - "ADDED": indicates that the finding did not match the given filter or + // was not present at the start of compare_duration, but was + // present at read_time. + // - "REMOVED": indicates that the finding was present and matched the + // filter at the start of compare_duration, but did not match + // the filter at read_time. // // If compare_duration is not specified, then the only possible state_change // is "UNUSED", which will be the state_change set for all findings present @@ -1522,17 +1522,17 @@ type ListAssetsRequest struct { // * name: `=` // * update_time: `=`, `>`, `<`, `>=`, `<=` // - // Usage: This should be milliseconds since epoch or an RFC3339 string. - // Examples: - // `update_time = "2019-06-10T16:07:18-07:00"` - // `update_time = 1560208038000` + // Usage: This should be milliseconds since epoch or an RFC3339 string. + // Examples: + // `update_time = "2019-06-10T16:07:18-07:00"` + // `update_time = 1560208038000` // // * create_time: `=`, `>`, `<`, `>=`, `<=` // - // Usage: This should be milliseconds since epoch or an RFC3339 string. - // Examples: - // `create_time = "2019-06-10T16:07:18-07:00"` - // `create_time = 1560208038000` + // Usage: This should be milliseconds since epoch or an RFC3339 string. + // Examples: + // `create_time = "2019-06-10T16:07:18-07:00"` + // `create_time = 1560208038000` // // * iam_policy.policy_blob: `=`, `:` // * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` @@ -1594,13 +1594,13 @@ type ListAssetsRequest struct { // // Possible "state_change" values when compare_duration is specified: // - // * "ADDED": indicates that the asset was not present at the start of - // compare_duration, but present at read_time. - // * "REMOVED": indicates that the asset was present at the start of - // compare_duration, but not present at read_time. - // * "ACTIVE": indicates that the asset was present at both the - // start and the end of the time period defined by - // compare_duration and read_time. + // - "ADDED": indicates that the asset was not present at the start of + // compare_duration, but present at read_time. + // - "REMOVED": indicates that the asset was present at the start of + // compare_duration, but not present at read_time. + // - "ACTIVE": indicates that the asset was present at both the + // start and the end of the time period defined by + // compare_duration and read_time. // // If compare_duration is not specified, then the only possible state_change // is "UNUSED", which will be the state_change set for all assets present at @@ -1806,9 +1806,9 @@ type ListFindingsRequest struct { // Restrictions have the form ` ` and may have a `-` // character in front of them to indicate negation. Examples include: // - // * name - // * source_properties.a_property - // * security_marks.marks.marka + // - name + // - source_properties.a_property + // - security_marks.marks.marka // // The supported operators are: // @@ -1833,10 +1833,10 @@ type ListFindingsRequest struct { // * event_time: `=`, `>`, `<`, `>=`, `<=` // * severity: `=`, `:` // - // Usage: This should be milliseconds since epoch or an RFC3339 string. - // Examples: - // `event_time = "2019-06-10T16:07:18-07:00"` - // `event_time = 1560208038000` + // Usage: This should be milliseconds since epoch or an RFC3339 string. + // Examples: + // `event_time = "2019-06-10T16:07:18-07:00"` + // `event_time = 1560208038000` // // security_marks.marks: `=`, `:` // source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` @@ -1887,18 +1887,18 @@ type ListFindingsRequest struct { // // Possible "state_change" values when compare_duration is specified: // - // * "CHANGED": indicates that the finding was present and matched the given - // filter at the start of compare_duration, but changed its - // state at read_time. - // * "UNCHANGED": indicates that the finding was present and matched the given - // filter at the start of compare_duration and did not change - // state at read_time. - // * "ADDED": indicates that the finding did not match the given filter or - // was not present at the start of compare_duration, but was - // present at read_time. - // * "REMOVED": indicates that the finding was present and matched the - // filter at the start of compare_duration, but did not match - // the filter at read_time. + // - "CHANGED": indicates that the finding was present and matched the given + // filter at the start of compare_duration, but changed its + // state at read_time. + // - "UNCHANGED": indicates that the finding was present and matched the given + // filter at the start of compare_duration and did not change + // state at read_time. + // - "ADDED": indicates that the finding did not match the given filter or + // was not present at the start of compare_duration, but was + // present at read_time. + // - "REMOVED": indicates that the finding was present and matched the + // filter at the start of compare_duration, but did not match + // the filter at read_time. // // If compare_duration is not specified, then the only possible state_change // is "UNUSED", which will be the state_change set for all findings present at diff --git a/securitycenter/settings/apiv1beta1/settingspb/component_settings.pb.go b/securitycenter/settings/apiv1beta1/settingspb/component_settings.pb.go index 10a70958ec8..75e45dccb52 100755 --- a/securitycenter/settings/apiv1beta1/settingspb/component_settings.pb.go +++ b/securitycenter/settings/apiv1beta1/settingspb/component_settings.pb.go @@ -102,12 +102,12 @@ type ComponentSettings struct { // The relative resource name of the component settings. // Formats: - // * `organizations/{organization}/components/{component}/settings` - // * `folders/{folder}/components/{component}/settings` - // * `projects/{project}/components/{component}/settings` - // * `projects/{project}/locations/{location}/clusters/{cluster}/components/{component}/settings` - // * `projects/{project}/regions/{region}/clusters/{cluster}/components/{component}/settings` - // * `projects/{project}/zones/{zone}/clusters/{cluster}/components/{component}/settings` + // - `organizations/{organization}/components/{component}/settings` + // - `folders/{folder}/components/{component}/settings` + // - `projects/{project}/components/{component}/settings` + // - `projects/{project}/locations/{location}/clusters/{cluster}/components/{component}/settings` + // - `projects/{project}/regions/{region}/clusters/{cluster}/components/{component}/settings` + // - `projects/{project}/zones/{zone}/clusters/{cluster}/components/{component}/settings` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // ENABLE to enable component, DISABLE to disable and INHERIT to inherit // setting from ancestors. @@ -128,6 +128,7 @@ type ComponentSettings struct { // Component specific settings. This must match the component value. // // Types that are assignable to SpecificSettings: + // // *ComponentSettings_ContainerThreatDetectionSettings // *ComponentSettings_EventThreatDetectionSettings // *ComponentSettings_SecurityHealthAnalyticsSettings @@ -515,9 +516,10 @@ type SecurityHealthAnalyticsSettings_NonOrgIamMemberSettings struct { // permissions on a project or the organization. Otherwise a finding will // be created. // A valid identity can be: - // * a domain that starts with "@", e.g. "@yourdomain.com". - // * a fully specified email address that does not start with "@", e.g. - // "abc@gmail.com" + // - a domain that starts with "@", e.g. "@yourdomain.com". + // - a fully specified email address that does not start with "@", e.g. + // "abc@gmail.com" + // // Regular expressions are not supported. // Service accounts are not examined by the scanner and will be omitted if // added to the list. @@ -574,11 +576,12 @@ type SecurityHealthAnalyticsSettings_AdminServiceAccountSettings struct { // allowed to have Admin, Owner or Editor roles granted to them. Otherwise // a finding will be created. // A valid identity can be: - // * a partilly specified service account that starts with "@", e.g. - // "@myproject.iam.gserviceaccount.com". This approves all the service - // accounts suffixed with the specified identity. - // * a fully specified service account that does not start with "@", e.g. - // "myadmin@myproject.iam.gserviceaccount.com". + // - a partilly specified service account that starts with "@", e.g. + // "@myproject.iam.gserviceaccount.com". This approves all the service + // accounts suffixed with the specified identity. + // - a fully specified service account that does not start with "@", e.g. + // "myadmin@myproject.iam.gserviceaccount.com". + // // Google-created service accounts are all approved. ApprovedIdentities []string `protobuf:"bytes,1,rep,name=approved_identities,json=approvedIdentities,proto3" json:"approved_identities,omitempty"` } diff --git a/securitycenter/settings/apiv1beta1/settingspb/securitycenter_settings_service.pb.go b/securitycenter/settings/apiv1beta1/settingspb/securitycenter_settings_service.pb.go index 0ffface1351..20fbe6b0515 100755 --- a/securitycenter/settings/apiv1beta1/settingspb/securitycenter_settings_service.pb.go +++ b/securitycenter/settings/apiv1beta1/settingspb/securitycenter_settings_service.pb.go @@ -50,7 +50,7 @@ type GetServiceAccountRequest struct { // Required. The relative resource name of the service account resource. // Format: - // * `organizations/{organization}/serviceAccount` + // - `organizations/{organization}/serviceAccount` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -102,7 +102,7 @@ type ServiceAccount struct { // The relative resource name of the service account resource. // Format: - // * `organizations/{organization}/serviceAccount` + // - `organizations/{organization}/serviceAccount` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Security Center managed service account for the organization // example service-org-1234@scc.iam.gserviceaccount.com @@ -165,12 +165,12 @@ type GetSettingsRequest struct { // Required. The name of the settings to retrieve. // Formats: - // * `organizations/{organization}/settings` - // * `folders/{folder}/settings` - // * `projects/{project}/settings` - // * `projects/{project}/locations/{location}/clusters/{cluster}/settings` - // * `projects/{project}/regions/{region}/clusters/{cluster}/settings` - // * `projects/{project}/zones/{zone}/clusters/{cluster}/settings` + // - `organizations/{organization}/settings` + // - `folders/{folder}/settings` + // - `projects/{project}/settings` + // - `projects/{project}/locations/{location}/clusters/{cluster}/settings` + // - `projects/{project}/regions/{region}/clusters/{cluster}/settings` + // - `projects/{project}/zones/{zone}/clusters/{cluster}/settings` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -223,12 +223,12 @@ type UpdateSettingsRequest struct { // // The settings' `name` field is used to identify the settings to be updated. // Formats: - // * `organizations/{organization}/settings` - // * `folders/{folder}/settings` - // * `projects/{project}/settings` - // * `projects/{project}/locations/{location}/clusters/{cluster}/settings` - // * `projects/{project}/regions/{region}/clusters/{cluster}/settings` - // * `projects/{project}/zones/{zone}/clusters/{cluster}/settings` + // - `organizations/{organization}/settings` + // - `folders/{folder}/settings` + // - `projects/{project}/settings` + // - `projects/{project}/locations/{location}/clusters/{cluster}/settings` + // - `projects/{project}/regions/{region}/clusters/{cluster}/settings` + // - `projects/{project}/zones/{zone}/clusters/{cluster}/settings` Settings *Settings `protobuf:"bytes,1,opt,name=settings,proto3" json:"settings,omitempty"` // The list of fields to be updated on the settings. UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` @@ -288,12 +288,12 @@ type ResetSettingsRequest struct { // Required. The name of the settings to reset. // Formats: - // * `organizations/{organization}/settings` - // * `folders/{folder}/settings` - // * `projects/{project}/settings` - // * `projects/{project}/locations/{location}/clusters/{cluster}/settings` - // * `projects/{project}/regions/{region}/clusters/{cluster}/settings` - // * `projects/{project}/zones/{zone}/clusters/{cluster}/settings` + // - `organizations/{organization}/settings` + // - `folders/{folder}/settings` + // - `projects/{project}/settings` + // - `projects/{project}/locations/{location}/clusters/{cluster}/settings` + // - `projects/{project}/regions/{region}/clusters/{cluster}/settings` + // - `projects/{project}/zones/{zone}/clusters/{cluster}/settings` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A fingerprint used for optimistic concurrency. If none is provided, // then the existing settings will be blindly overwritten. @@ -355,17 +355,17 @@ type BatchGetSettingsRequest struct { // Required. The relative resource name of the organization shared by all of the // settings being retrieved. // Format: - // * `organizations/{organization}` + // - `organizations/{organization}` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The names of the settings to retrieve. // A maximum of 1000 settings can be retrieved in a batch. // Formats: - // * `organizations/{organization}/settings` - // * `folders/{folder}/settings` - // * `projects/{project}/settings` - // * `projects/{project}/locations/{location}/clusters/{cluster}/settings` - // * `projects/{project}/regions/{region}/clusters/{cluster}/settings` - // * `projects/{project}/zones/{zone}/clusters/{cluster}/settings` + // - `organizations/{organization}/settings` + // - `folders/{folder}/settings` + // - `projects/{project}/settings` + // - `projects/{project}/locations/{location}/clusters/{cluster}/settings` + // - `projects/{project}/regions/{region}/clusters/{cluster}/settings` + // - `projects/{project}/zones/{zone}/clusters/{cluster}/settings` Names []string `protobuf:"bytes,2,rep,name=names,proto3" json:"names,omitempty"` } @@ -472,12 +472,12 @@ type CalculateEffectiveSettingsRequest struct { // Required. The name of the effective settings to retrieve. // Formats: - // * `organizations/{organization}/effectiveSettings` - // * `folders/{folder}/effectiveSettings` - // * `projects/{project}/effectiveSettings` - // * `projects/{project}/locations/{location}/clusters/{cluster}/effectiveSettings` - // * `projects/{project}/regions/{region}/clusters/{cluster}/effectiveSettings` - // * `projects/{project}/zones/{zone}/clusters/{cluster}/effectiveSettings` + // - `organizations/{organization}/effectiveSettings` + // - `folders/{folder}/effectiveSettings` + // - `projects/{project}/effectiveSettings` + // - `projects/{project}/locations/{location}/clusters/{cluster}/effectiveSettings` + // - `projects/{project}/regions/{region}/clusters/{cluster}/effectiveSettings` + // - `projects/{project}/zones/{zone}/clusters/{cluster}/effectiveSettings` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -529,7 +529,7 @@ type BatchCalculateEffectiveSettingsRequest struct { // Required. The relative resource name of the organization shared by all of the // settings being retrieved. // Format: - // * `organizations/{organization}` + // - `organizations/{organization}` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The requests specifying the effective settings to retrieve. // A maximum of 1000 effective settings can be retrieved in a batch. @@ -640,12 +640,12 @@ type GetComponentSettingsRequest struct { // Required. The component settings to retrieve. // // Formats: - // * `organizations/{organization}/components/{component}/settings` - // * `folders/{folder}/components/{component}/settings` - // * `projects/{project}/components/{component}/settings` - // * `projects/{project}/locations/{location}/clusters/{cluster}/components/{component}/settings` - // * `projects/{project}/regions/{region}/clusters/{cluster}/components/{component}/settings` - // * `projects/{project}/zones/{zone}/clusters/{cluster}/components/{component}/settings` + // - `organizations/{organization}/components/{component}/settings` + // - `folders/{folder}/components/{component}/settings` + // - `projects/{project}/components/{component}/settings` + // - `projects/{project}/locations/{location}/clusters/{cluster}/components/{component}/settings` + // - `projects/{project}/regions/{region}/clusters/{cluster}/components/{component}/settings` + // - `projects/{project}/zones/{zone}/clusters/{cluster}/components/{component}/settings` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -698,12 +698,12 @@ type UpdateComponentSettingsRequest struct { // // The component settings' `name` field is used to identify the component // settings to be updated. Formats: - // * `organizations/{organization}/components/{component}/settings` - // * `folders/{folder}/components/{component}/settings` - // * `projects/{project}/components/{component}/settings` - // * `projects/{project}/locations/{location}/clusters/{cluster}/components/{component}/settings` - // * `projects/{project}/regions/{region}/clusters/{cluster}/components/{component}/settings` - // * `projects/{project}/zones/{zone}/clusters/{cluster}/components/{component}/settings` + // - `organizations/{organization}/components/{component}/settings` + // - `folders/{folder}/components/{component}/settings` + // - `projects/{project}/components/{component}/settings` + // - `projects/{project}/locations/{location}/clusters/{cluster}/components/{component}/settings` + // - `projects/{project}/regions/{region}/clusters/{cluster}/components/{component}/settings` + // - `projects/{project}/zones/{zone}/clusters/{cluster}/components/{component}/settings` ComponentSettings *ComponentSettings `protobuf:"bytes,1,opt,name=component_settings,json=componentSettings,proto3" json:"component_settings,omitempty"` // The list of fields to be updated on the component settings resource. UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` @@ -764,12 +764,12 @@ type ResetComponentSettingsRequest struct { // Required. The component settings to reset. // // Formats: - // * `organizations/{organization}/components/{component}/settings` - // * `folders/{folder}/components/{component}/settings` - // * `projects/{project}/components/{component}/settings` - // * `projects/{project}/locations/{location}/clusters/{cluster}/components/{component}/settings` - // * `projects/{project}/regions/{region}/clusters/{cluster}/components/{component}/settings` - // * `projects/{project}/zones/{zone}/clusters/{cluster}/components/{component}/settings` + // - `organizations/{organization}/components/{component}/settings` + // - `folders/{folder}/components/{component}/settings` + // - `projects/{project}/components/{component}/settings` + // - `projects/{project}/locations/{location}/clusters/{cluster}/components/{component}/settings` + // - `projects/{project}/regions/{region}/clusters/{cluster}/components/{component}/settings` + // - `projects/{project}/zones/{zone}/clusters/{cluster}/components/{component}/settings` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // An fingerprint used for optimistic concurrency. If none is provided, // then the existing settings will be blindly overwritten. @@ -831,12 +831,12 @@ type CalculateEffectiveComponentSettingsRequest struct { // Required. The effective component settings to retrieve. // // Formats: - // * `organizations/{organization}/components/{component}/settings` - // * `folders/{folder}/components/{component}/settings` - // * `projects/{project}/components/{component}/settings` - // * `projects/{project}/locations/{location}/clusters/{cluster}/components/{component}/settings` - // * `projects/{project}/regions/{region}/clusters/{cluster}/components/{component}/settings` - // * `projects/{project}/zones/{zone}/clusters/{cluster}/components/{component}/settings` + // - `organizations/{organization}/components/{component}/settings` + // - `folders/{folder}/components/{component}/settings` + // - `projects/{project}/components/{component}/settings` + // - `projects/{project}/locations/{location}/clusters/{cluster}/components/{component}/settings` + // - `projects/{project}/regions/{region}/clusters/{cluster}/components/{component}/settings` + // - `projects/{project}/zones/{zone}/clusters/{cluster}/components/{component}/settings` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -887,12 +887,12 @@ type ListDetectorsRequest struct { // Required. The parent, which owns this collection of detectors. // Format: - // * `organizations/{organization}` + // - `organizations/{organization}` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Filters to apply on the response. Filters can be applied on: - // * components - // * labels - // * billing tiers + // - components + // - labels + // - billing tiers // // Component filters will retrieve only detectors for the components // specified. Label filters will retrieve only detectors that match one of the @@ -1040,7 +1040,7 @@ type ListComponentsRequest struct { // Required. The parent, which owns this collection of components. // Format: - // * `organizations/{organization}` + // - `organizations/{organization}` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The maximum number of components to return. The service may return fewer // than this value. If unspecified, at most 100 components will be returned. @@ -2161,14 +2161,14 @@ type SecurityCenterSettingsServiceClient interface { // CalculateEffectiveSettings looks up all of the Security Center // Settings resources in the GCP resource hierarchy, and calculates the // effective settings on that resource by applying the following rules: - // * Settings provided closer to the target resource take precedence over - // those further away (e.g. folder will override organization level - // settings). - // * Product defaults can be overridden at org, folder, project, and cluster - // levels. - // * Detectors will be filtered out if they belong to a billing tier the - // customer - // has not configured. + // - Settings provided closer to the target resource take precedence over + // those further away (e.g. folder will override organization level + // settings). + // - Product defaults can be overridden at org, folder, project, and cluster + // levels. + // - Detectors will be filtered out if they belong to a billing tier the + // customer + // has not configured. CalculateEffectiveSettings(ctx context.Context, in *CalculateEffectiveSettingsRequest, opts ...grpc.CallOption) (*Settings, error) // Gets a list of effective settings. BatchCalculateEffectiveSettings(ctx context.Context, in *BatchCalculateEffectiveSettingsRequest, opts ...grpc.CallOption) (*BatchCalculateEffectiveSettingsResponse, error) @@ -2348,14 +2348,14 @@ type SecurityCenterSettingsServiceServer interface { // CalculateEffectiveSettings looks up all of the Security Center // Settings resources in the GCP resource hierarchy, and calculates the // effective settings on that resource by applying the following rules: - // * Settings provided closer to the target resource take precedence over - // those further away (e.g. folder will override organization level - // settings). - // * Product defaults can be overridden at org, folder, project, and cluster - // levels. - // * Detectors will be filtered out if they belong to a billing tier the - // customer - // has not configured. + // - Settings provided closer to the target resource take precedence over + // those further away (e.g. folder will override organization level + // settings). + // - Product defaults can be overridden at org, folder, project, and cluster + // levels. + // - Detectors will be filtered out if they belong to a billing tier the + // customer + // has not configured. CalculateEffectiveSettings(context.Context, *CalculateEffectiveSettingsRequest) (*Settings, error) // Gets a list of effective settings. BatchCalculateEffectiveSettings(context.Context, *BatchCalculateEffectiveSettingsRequest) (*BatchCalculateEffectiveSettingsResponse, error) diff --git a/securitycenter/settings/apiv1beta1/settingspb/settings.pb.go b/securitycenter/settings/apiv1beta1/settingspb/settings.pb.go index 208783c659e..64ef1da402b 100755 --- a/securitycenter/settings/apiv1beta1/settingspb/settings.pb.go +++ b/securitycenter/settings/apiv1beta1/settingspb/settings.pb.go @@ -119,12 +119,12 @@ type Settings struct { // The relative resource name of the settings resource. // Formats: - // * `organizations/{organization}/settings` - // * `folders/{folder}/settings` - // * `projects/{project}/settings` - // * `projects/{project}/locations/{location}/clusters/{cluster}/settings` - // * `projects/{project}/regions/{region}/clusters/{cluster}/settings` - // * `projects/{project}/zones/{zone}/clusters/{cluster}/settings` + // - `organizations/{organization}/settings` + // - `folders/{folder}/settings` + // - `projects/{project}/settings` + // - `projects/{project}/locations/{location}/clusters/{cluster}/settings` + // - `projects/{project}/regions/{region}/clusters/{cluster}/settings` + // - `projects/{project}/zones/{zone}/clusters/{cluster}/settings` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Billing settings BillingSettings *BillingSettings `protobuf:"bytes,2,opt,name=billing_settings,json=billingSettings,proto3" json:"billing_settings,omitempty"` diff --git a/securitycentermanagement/apiv1/securitycentermanagementpb/security_center_management.pb.go b/securitycentermanagement/apiv1/securitycentermanagementpb/security_center_management.pb.go index 8c588a3d1e5..5bbf1d57e5c 100755 --- a/securitycentermanagement/apiv1/securitycentermanagementpb/security_center_management.pb.go +++ b/securitycentermanagement/apiv1/securitycentermanagementpb/security_center_management.pb.go @@ -800,9 +800,9 @@ type GetEffectiveSecurityHealthAnalyticsCustomModuleRequest struct { // // Its format is: // - // * "organizations/{organization}/locations/{location}/effectiveSecurityHealthAnalyticsCustomModules/{module_id}". - // * "folders/{folder}/locations/{location}/effectiveSecurityHealthAnalyticsCustomModules/{module_id}". - // * "projects/{project}/locations/{location}/effectiveSecurityHealthAnalyticsCustomModules/{module_id}". + // - "organizations/{organization}/locations/{location}/effectiveSecurityHealthAnalyticsCustomModules/{module_id}". + // - "folders/{folder}/locations/{location}/effectiveSecurityHealthAnalyticsCustomModules/{module_id}". + // - "projects/{project}/locations/{location}/effectiveSecurityHealthAnalyticsCustomModules/{module_id}". Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -1405,6 +1405,7 @@ type CreateSecurityHealthAnalyticsCustomModuleRequest struct { // still fail because: // 1. the state could have changed (e.g. IAM permission lost) or // 2. A failure occurred during creation of the module. + // // Defaults to false. ValidateOnly bool `protobuf:"varint,3,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` } @@ -1548,9 +1549,9 @@ type DeleteSecurityHealthAnalyticsCustomModuleRequest struct { // // Its format is: // - // * "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}". - // * "folders/{folder}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}". - // * "projects/{project}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}". + // - "organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}". + // - "folders/{folder}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}". + // - "projects/{project}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}". Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. When set to true, only validations (including IAM checks) will // done for the request (module will not be deleted). An OK response indicates @@ -1894,9 +1895,9 @@ type EffectiveEventThreatDetectionCustomModule struct { // // Its format is: // - // * "organizations/{organization}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". - // * "folders/{folder}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". - // * "projects/{project}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". + // - "organizations/{organization}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". + // - "folders/{folder}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". + // - "projects/{project}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Output only. Config for the effective module. Config *structpb.Struct `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` @@ -2127,9 +2128,9 @@ type GetEffectiveEventThreatDetectionCustomModuleRequest struct { // // Its format is: // - // * "organizations/{organization}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". - // * "folders/{folder}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". - // * "projects/{project}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". + // - "organizations/{organization}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". + // - "folders/{folder}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". + // - "projects/{project}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}". Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -2184,9 +2185,9 @@ type EventThreatDetectionCustomModule struct { // // Its format is: // - // * "organizations/{organization}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". - // * "folders/{folder}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". - // * "projects/{project}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + // - "organizations/{organization}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + // - "folders/{folder}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + // - "projects/{project}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. Config for the module. For the resident module, its config value // is defined at this level. For the inherited module, its config value is @@ -2587,9 +2588,9 @@ type GetEventThreatDetectionCustomModuleRequest struct { // // Its format is: // - // * "organizations/{organization}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". - // * "folders/{folder}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". - // * "projects/{project}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + // - "organizations/{organization}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + // - "folders/{folder}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + // - "projects/{project}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -2798,9 +2799,9 @@ type DeleteEventThreatDetectionCustomModuleRequest struct { // // Its format is: // - // * "organizations/{organization}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". - // * "folders/{folder}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". - // * "projects/{project}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + // - "organizations/{organization}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + // - "folders/{folder}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". + // - "projects/{project}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}". Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. When set to true, only validations (including IAM checks) will // done for the request (module will not be deleted). An OK response indicates @@ -2868,7 +2869,7 @@ type ValidateEventThreatDetectionCustomModuleRequest struct { // // Its format is: // - // * "organizations/{organization}/locations/{location}". + // - "organizations/{organization}/locations/{location}". Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The raw text of the module's contents. Used to generate error // messages. @@ -3219,6 +3220,7 @@ type SimulateSecurityHealthAnalyticsCustomModuleResponse_SimulatedResult struct unknownFields protoimpl.UnknownFields // Types that are assignable to Result: + // // *SimulateSecurityHealthAnalyticsCustomModuleResponse_SimulatedResult_Finding // *SimulateSecurityHealthAnalyticsCustomModuleResponse_SimulatedResult_NoViolation // *SimulateSecurityHealthAnalyticsCustomModuleResponse_SimulatedResult_Error diff --git a/securityposture/apiv1/securityposturepb/org_policy_config.pb.go b/securityposture/apiv1/securityposturepb/org_policy_config.pb.go index 0ec997f59d3..318d6e4b4d9 100755 --- a/securityposture/apiv1/securityposturepb/org_policy_config.pb.go +++ b/securityposture/apiv1/securityposturepb/org_policy_config.pb.go @@ -162,6 +162,7 @@ type PolicyRule struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Kind: + // // *PolicyRule_Values // *PolicyRule_AllowAll // *PolicyRule_DenyAll @@ -318,7 +319,7 @@ type CustomConstraint struct { // Immutable. The resource instance type on which this policy applies. Format // will be of the form : `/` Example: // - // - `compute.googleapis.com/Instance`. + // - `compute.googleapis.com/Instance`. ResourceTypes []string `protobuf:"bytes,2,rep,name=resource_types,json=resourceTypes,proto3" json:"resource_types,omitempty"` // All the operations being applied for this constraint. MethodTypes []CustomConstraint_MethodType `protobuf:"varint,3,rep,packed,name=method_types,json=methodTypes,proto3,enum=google.cloud.securityposture.v1.CustomConstraint_MethodType" json:"method_types,omitempty"` diff --git a/securityposture/apiv1/securityposturepb/securityposture.pb.go b/securityposture/apiv1/securityposturepb/securityposture.pb.go index 77398712b5f..48cf303106a 100755 --- a/securityposture/apiv1/securityposturepb/securityposture.pb.go +++ b/securityposture/apiv1/securityposturepb/securityposture.pb.go @@ -32,7 +32,6 @@ import ( status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - _ "google.golang.org/protobuf/types/known/emptypb" fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" timestamppb "google.golang.org/protobuf/types/known/timestamppb" ) @@ -643,6 +642,7 @@ type Constraint struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Implementation: + // // *Constraint_SecurityHealthAnalyticsModule // *Constraint_SecurityHealthAnalyticsCustomModule // *Constraint_OrgPolicyConstraint @@ -2280,687 +2280,691 @@ var file_google_cloud_securityposture_v1_securityposture_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xff, 0x02, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0b, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x76, 0x65, 0x72, 0x62, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, - 0x2a, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x16, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, - 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xca, 0x06, 0x0a, 0x07, 0x50, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x49, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0b, 0x72, 0x65, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, - 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x74, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x74, 0x73, - 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x60, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x72, - 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, - 0x6e, 0x67, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x45, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, - 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x52, 0x41, 0x46, 0x54, 0x10, 0x02, 0x12, 0x0a, 0x0a, - 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x03, 0x3a, 0x88, 0x01, 0xea, 0x41, 0x84, 0x01, - 0x0a, 0x26, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x44, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x7d, 0x2a, 0x08, - 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x32, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x52, 0x01, 0x01, 0x22, 0xa5, 0x01, 0x0a, 0x09, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, - 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0xed, 0x02, 0x0a, - 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x72, 0x0a, 0x14, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, - 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x6e, 0x64, - 0x61, 0x72, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, - 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x73, 0x12, 0x50, 0x0a, - 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, - 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x54, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, - 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x12, 0x1f, 0x0a, 0x08, - 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x08, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x0a, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x22, 0xc9, 0x04, 0x0a, - 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x8e, 0x01, 0x0a, 0x20, - 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, - 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x1d, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x41, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0xa1, 0x01, 0x0a, - 0x27, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x23, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x41, 0x6e, 0x61, 0x6c, 0x79, - 0x74, 0x69, 0x63, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x12, 0x6f, 0x0a, 0x15, 0x6f, 0x72, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, - 0x72, 0x61, 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x13, 0x6f, 0x72, - 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x74, 0x12, 0x82, 0x01, 0x0a, 0x1c, 0x6f, 0x72, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x19, 0x6f, 0x72, 0x67, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x42, 0x10, 0x0a, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, - 0x08, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xa7, 0x01, - 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, - 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, - 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8e, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7d, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, - 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, - 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, - 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xcb, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x07, - 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0xc7, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, - 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xff, 0x02, 0x0a, 0x11, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, + 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, - 0x12, 0x47, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x76, 0x65, 0x72, + 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x76, 0x65, + 0x72, 0x62, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, + 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x70, + 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xca, 0x06, 0x0a, 0x07, 0x50, + 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x65, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, - 0x73, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, - 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, - 0x65, 0x74, 0x61, 0x67, 0x22, 0xa4, 0x01, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, - 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, - 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x06, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x09, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x08, 0x77, 0x6f, - 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x92, 0x09, 0x0a, 0x11, - 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, - 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, - 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, - 0x64, 0x12, 0x33, 0x0a, 0x13, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x11, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x76, 0x69, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, + 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x6a, 0x0a, 0x0b, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, - 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x31, 0x0a, - 0x12, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, - 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, - 0x12, 0x42, 0x0a, 0x1b, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x18, 0x64, 0x65, 0x73, 0x69, - 0x72, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, - 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, - 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0a, 0x0a, - 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x52, 0x45, - 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x12, - 0x11, 0x0a, 0x0d, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, - 0x10, 0x07, 0x3a, 0xbb, 0x01, 0xea, 0x41, 0xb7, 0x01, 0x0a, 0x30, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x59, 0x6f, 0x72, 0x67, + 0x6e, 0x12, 0x50, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x73, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x65, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x60, 0x0a, 0x0b, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, + 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, + 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x45, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, + 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, + 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x52, 0x41, 0x46, 0x54, 0x10, 0x02, + 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x03, 0x3a, 0x88, 0x01, 0xea, + 0x41, 0x84, 0x01, 0x0a, 0x26, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x44, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, - 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x2a, 0x12, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x32, 0x11, 0x70, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x01, 0x01, - 0x22, 0xd4, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x50, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x38, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x32, 0x12, 0x30, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, + 0x7d, 0x2a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x32, 0x07, 0x70, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x52, 0x01, 0x01, 0x22, 0xa5, 0x01, 0x0a, 0x09, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x53, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, + 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, + 0xed, 0x02, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x72, 0x0a, 0x14, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, + 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, + 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x73, + 0x12, 0x50, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x54, 0x0a, 0x12, 0x43, 0x6f, 0x6d, + 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x12, + 0x1f, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, + 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x22, + 0xc9, 0x04, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x8e, + 0x01, 0x0a, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x6d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, + 0x52, 0x1d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, + 0xa1, 0x01, 0x0a, 0x27, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x23, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x41, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0x12, 0x6f, 0x0a, 0x15, 0x6f, 0x72, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, + 0x13, 0x6f, 0x72, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x74, 0x12, 0x82, 0x01, 0x0a, 0x1c, 0x6f, 0x72, 0x67, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x5f, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, + 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x19, + 0x6f, 0x72, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x42, 0x10, 0x0a, 0x0e, 0x69, 0x6d, 0x70, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x13, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, + 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x44, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x70, 0x6f, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, + 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, + 0x22, 0xa7, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, + 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xcf, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x13, 0x70, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, - 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x12, 0x70, 0x6f, 0x73, - 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, - 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x6b, 0x0a, 0x1b, 0x47, 0x65, 0x74, - 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x32, 0x0a, 0x30, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8e, 0x01, 0x0a, 0x1c, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7d, 0x0a, 0x11, 0x47, + 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xcb, 0x01, 0x0a, 0x14, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, + 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, + 0x47, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, + 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0xc7, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, + 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x73, 0x6b, 0x12, 0x47, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0b, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x22, 0x73, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, + 0x0a, 0x26, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, + 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, + 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0xa4, 0x01, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, + 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, + 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x92, + 0x09, 0x0a, 0x11, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, + 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x75, + 0x72, 0x65, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x13, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x6a, 0x0a, + 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x72, 0x65, 0x63, + 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, + 0x12, 0x31, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x10, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, + 0x65, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x1b, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x70, + 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x18, 0x64, + 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, + 0x72, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, + 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, + 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, + 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, + 0x11, 0x0a, 0x0d, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, + 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, + 0x4c, 0x45, 0x44, 0x10, 0x07, 0x3a, 0xbb, 0x01, 0xea, 0x41, 0xb7, 0x01, 0x0a, 0x30, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x59, + 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x2a, 0x12, 0x70, 0x6f, 0x73, 0x74, 0x75, + 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x32, 0x11, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x93, 0x02, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xe0, 0x41, 0x02, 0xfa, 0x41, - 0x32, 0x12, 0x30, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, + 0x52, 0x01, 0x01, 0x22, 0xd4, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x32, 0x12, 0x30, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xcf, 0x01, 0x0a, 0x1e, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, + 0x13, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x12, + 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, + 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, + 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x6b, 0x0a, 0x1b, + 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x32, 0x0a, 0x30, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x70, - 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x13, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x66, 0x0a, 0x12, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x93, 0x02, 0x0a, 0x1e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x32, 0x12, 0x30, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x37, + 0x0a, 0x15, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x13, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x66, 0x0a, 0x12, 0x70, 0x6f, 0x73, 0x74, 0x75, + 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, + 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x70, 0x6f, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, + 0xca, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, + 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x66, 0x0a, 0x12, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x70, 0x6f, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xca, 0x01, 0x0a, - 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, + 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x87, 0x01, 0x0a, + 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, - 0x6b, 0x12, 0x66, 0x0a, 0x12, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, + 0x4c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x32, 0x0a, 0x30, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, + 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, + 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x8c, 0x04, 0x0a, 0x0f, 0x50, 0x6f, 0x73, 0x74, 0x75, + 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x03, 0xe0, 0x41, 0x08, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x74, 0x73, 0x22, 0x3a, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, + 0x56, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, + 0x45, 0x44, 0x10, 0x02, 0x3a, 0xae, 0x01, 0xea, 0x41, 0xaa, 0x01, 0x0a, 0x2e, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x55, 0x6f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, + 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, + 0x7b, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x7d, 0x2a, 0x10, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x32, 0x0f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x30, 0x12, 0x2e, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa5, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x11, 0x70, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0x8d, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x30, 0x0a, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x32, 0x94, 0x1a, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x12, 0xbf, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x42, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x6f, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0xdc, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x1e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xe0, 0x41, 0x02, 0xfa, - 0x41, 0x32, 0x0a, 0x30, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, - 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, - 0x74, 0x61, 0x67, 0x22, 0x8c, 0x04, 0x0a, 0x0f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x72, - 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x51, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 0x65, - 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x53, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x53, 0x65, 0x74, 0x73, 0x22, 0x3a, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, - 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, - 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, - 0x02, 0x3a, 0xae, 0x01, 0xea, 0x41, 0xaa, 0x01, 0x0a, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x55, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x2a, - 0x10, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x32, 0x0f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x30, 0x12, 0x2e, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa5, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x11, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8d, 0x01, - 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, 0x02, 0xfa, 0x41, - 0x30, 0x0a, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x32, 0x94, 0x1a, - 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x12, 0xbf, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x6f, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xac, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x42, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, - 0x12, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x73, 0x12, 0xdc, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x41, 0x12, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, + 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, + 0x72, 0x65, 0x22, 0x40, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x33, 0x12, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0xac, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, - 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, - 0x40, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, - 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x2a, - 0x7d, 0x12, 0xe4, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe4, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0xca, 0x41, + 0x1c, 0x0a, 0x07, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x19, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x70, + 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x3a, + 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0xe6, 0x01, 0x0a, 0x0d, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x35, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, + 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x7f, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, + 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x13, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, + 0x3a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x32, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd4, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, + 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, + 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6d, 0xca, 0x41, + 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x2a, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xea, 0x01, 0x0a, 0x0e, + 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x36, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x01, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x50, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x1a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x2c, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x2c, 0x77, 0x6f, 0x72, 0x6b, + 0x6c, 0x6f, 0x61, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x3a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0xe7, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0xca, 0x41, 0x1c, 0x0a, 0x07, - 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x70, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x3a, 0x07, 0x70, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, + 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, + 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, + 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, - 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0xe6, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, - 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x7f, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x11, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xda, 0x41, 0x13, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x07, 0x70, - 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x32, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x6f, 0x73, - 0x74, 0x75, 0x72, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x2a, - 0x7d, 0x12, 0xd4, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6d, 0xca, 0x41, 0x2a, 0x0a, 0x15, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x2a, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, - 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x6f, 0x73, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xea, 0x01, 0x0a, 0x0e, 0x45, 0x78, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, + 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0xd4, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, + 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, - 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x80, 0x01, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x1a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x2c, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, - 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x4a, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x73, 0x3a, 0x65, 0x78, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0xe7, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x4c, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, - 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x6f, 0x73, - 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0xd4, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, + 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xae, 0x02, 0x0a, 0x17, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x4a, 0xda, 0x41, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, - 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xae, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, - 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xb2, 0x01, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x11, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, - 0x2f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x6f, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, 0x12, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3b, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xb0, 0x02, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, - 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xb4, 0x01, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x50, 0x6f, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x11, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, - 0x41, 0x1e, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x3a, 0x12, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0x4e, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf2, 0x01, 0x0a, 0x17, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x01, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x50, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x11, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xda, 0x41, 0x2f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x6f, 0x73, 0x74, 0x75, + 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x6f, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, 0x12, 0x70, 0x6f, 0x73, 0x74, 0x75, + 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3b, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xb0, 0x02, 0x0a, 0x17, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x77, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3d, 0x2a, 0x3b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, - 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, - 0xdf, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, - 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, - 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x12, 0xcc, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, - 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x48, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb4, 0x01, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x50, 0x6f, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xda, 0x41, 0x1e, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x3a, 0x12, 0x70, 0x6f, 0x73, 0x74, 0x75, + 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0x4e, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf2, 0x01, + 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x77, 0xca, 0x41, 0x2a, 0x0a, 0x15, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x2a, 0x3b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x6f, 0x73, - 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, - 0x1a, 0x52, 0xca, 0x41, 0x1e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, - 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, - 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xe5, 0x01, 0xea, 0x41, 0x5f, 0x0a, 0x2a, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0b, - 0x56, 0x31, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4d, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x67, 0x6f, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, - 0x72, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x70, 0x62, 0x3b, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, + 0x2a, 0x7d, 0x12, 0xdf, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, + 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x12, 0xcc, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, + 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x75, 0x72, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x48, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x1a, 0x52, 0xca, 0x41, 0x1e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xce, 0x02, 0xea, 0x41, 0x5f, 0x0a, 0x2a, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x0a, 0x23, 0x63, 0x6f, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x76, + 0x31, 0x42, 0x0b, 0x56, 0x31, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x4d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x70, 0x62, 0x3b, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x70, 0x62, 0xaa, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x56, + 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, + 0x5c, 0x56, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x70, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/servicecontrol/apiv1/servicecontrolpb/distribution.pb.go b/servicecontrol/apiv1/servicecontrolpb/distribution.pb.go index 79871427ba9..3bd51e47e18 100755 --- a/servicecontrol/apiv1/servicecontrolpb/distribution.pb.go +++ b/servicecontrol/apiv1/servicecontrolpb/distribution.pb.go @@ -59,7 +59,9 @@ type Distribution struct { // The maximum of the population of values. Ignored if `count` is zero. Maximum float64 `protobuf:"fixed64,4,opt,name=maximum,proto3" json:"maximum,omitempty"` // The sum of squared deviations from the mean: - // Sum[i=1..count]((x_i - mean)^2) + // + // Sum[i=1..count]((x_i - mean)^2) + // // where each x_i is a sample values. If `count` is zero then this field // must be zero, otherwise validation of the request fails. SumOfSquaredDeviation float64 `protobuf:"fixed64,5,opt,name=sum_of_squared_deviation,json=sumOfSquaredDeviation,proto3" json:"sum_of_squared_deviation,omitempty"` @@ -88,9 +90,9 @@ type Distribution struct { // buckets because they have finite lower and upper bounds. As described // below, there are three ways to define the finite buckets. // - // (1) Buckets with constant width. - // (2) Buckets with exponentially growing widths. - // (3) Buckets with arbitrary user-provided widths. + // (1) Buckets with constant width. + // (2) Buckets with exponentially growing widths. + // (3) Buckets with arbitrary user-provided widths. // // In all cases, the buckets cover the entire real number line (-inf, // +inf). Bucket upper bounds are exclusive and lower bounds are @@ -100,6 +102,7 @@ type Distribution struct { // bucket. // // Types that are assignable to BucketOption: + // // *Distribution_LinearBuckets_ // *Distribution_ExponentialBuckets_ // *Distribution_ExplicitBuckets_ @@ -253,12 +256,16 @@ type Distribution_LinearBuckets struct { // See comments on `bucket_options` for details. NumFiniteBuckets int32 `protobuf:"varint,1,opt,name=num_finite_buckets,json=numFiniteBuckets,proto3" json:"num_finite_buckets,omitempty"` // The i'th linear bucket covers the interval - // [offset + (i-1) * width, offset + i * width) + // + // [offset + (i-1) * width, offset + i * width) + // // where i ranges from 1 to num_finite_buckets, inclusive. // Must be strictly positive. Width float64 `protobuf:"fixed64,2,opt,name=width,proto3" json:"width,omitempty"` // The i'th linear bucket covers the interval - // [offset + (i-1) * width, offset + i * width) + // + // [offset + (i-1) * width, offset + i * width) + // // where i ranges from 1 to num_finite_buckets, inclusive. Offset float64 `protobuf:"fixed64,3,opt,name=offset,proto3" json:"offset,omitempty"` } @@ -327,12 +334,16 @@ type Distribution_ExponentialBuckets struct { // See comments on `bucket_options` for details. NumFiniteBuckets int32 `protobuf:"varint,1,opt,name=num_finite_buckets,json=numFiniteBuckets,proto3" json:"num_finite_buckets,omitempty"` // The i'th exponential bucket covers the interval - // [scale * growth_factor^(i-1), scale * growth_factor^i) + // + // [scale * growth_factor^(i-1), scale * growth_factor^i) + // // where i ranges from 1 to num_finite_buckets inclusive. // Must be larger than 1.0. GrowthFactor float64 `protobuf:"fixed64,2,opt,name=growth_factor,json=growthFactor,proto3" json:"growth_factor,omitempty"` // The i'th exponential bucket covers the interval - // [scale * growth_factor^(i-1), scale * growth_factor^i) + // + // [scale * growth_factor^(i-1), scale * growth_factor^i) + // // where i ranges from 1 to num_finite_buckets inclusive. // Must be > 0. Scale float64 `protobuf:"fixed64,3,opt,name=scale,proto3" json:"scale,omitempty"` @@ -402,16 +413,19 @@ type Distribution_ExplicitBuckets struct { // of fenceposting. See comments on `bucket_options` for details. // // The i'th finite bucket covers the interval - // [bound[i-1], bound[i]) + // + // [bound[i-1], bound[i]) + // // where i ranges from 1 to bound_size() - 1. Note that there are no // finite buckets at all if 'bound' only contains a single element; in // that special case the single bound defines the boundary between the // underflow and overflow buckets. // // bucket number lower bound upper bound - // i == 0 (underflow) -inf bound[i] - // 0 < i < bound_size() bound[i-1] bound[i] - // i == bound_size() (overflow) bound[i-1] +inf + // + // i == 0 (underflow) -inf bound[i] + // 0 < i < bound_size() bound[i-1] bound[i] + // i == bound_size() (overflow) bound[i-1] +inf Bounds []float64 `protobuf:"fixed64,1,rep,packed,name=bounds,proto3" json:"bounds,omitempty"` } diff --git a/servicecontrol/apiv1/servicecontrolpb/log_entry.pb.go b/servicecontrol/apiv1/servicecontrolpb/log_entry.pb.go index bb1cd09a83c..aaf30b6949f 100755 --- a/servicecontrol/apiv1/servicecontrolpb/log_entry.pb.go +++ b/servicecontrol/apiv1/servicecontrolpb/log_entry.pb.go @@ -71,6 +71,7 @@ type LogEntry struct { // The log entry payload, which can be one of multiple types. // // Types that are assignable to Payload: + // // *LogEntry_ProtoPayload // *LogEntry_TextPayload // *LogEntry_StructPayload diff --git a/servicecontrol/apiv1/servicecontrolpb/metric_value.pb.go b/servicecontrol/apiv1/servicecontrolpb/metric_value.pb.go index 679f1057aec..4fbf0e2b3d6 100755 --- a/servicecontrol/apiv1/servicecontrolpb/metric_value.pb.go +++ b/servicecontrol/apiv1/servicecontrolpb/metric_value.pb.go @@ -62,6 +62,7 @@ type MetricValue struct { // the MetricValue is rejected. // // Types that are assignable to Value: + // // *MetricValue_BoolValue // *MetricValue_Int64Value // *MetricValue_DoubleValue diff --git a/servicecontrol/apiv1/servicecontrolpb/operation.pb.go b/servicecontrol/apiv1/servicecontrolpb/operation.pb.go index b62ba48453e..29e642c223e 100755 --- a/servicecontrol/apiv1/servicecontrolpb/operation.pb.go +++ b/servicecontrol/apiv1/servicecontrolpb/operation.pb.go @@ -113,12 +113,12 @@ type Operation struct { // not related to a specific consumer. // // - This can be in one of the following formats: - // - project:PROJECT_ID, - // - project`_`number:PROJECT_NUMBER, - // - projects/PROJECT_ID or PROJECT_NUMBER, - // - folders/FOLDER_NUMBER, - // - organizations/ORGANIZATION_NUMBER, - // - api`_`key:API_KEY. + // - project:PROJECT_ID, + // - project`_`number:PROJECT_NUMBER, + // - projects/PROJECT_ID or PROJECT_NUMBER, + // - folders/FOLDER_NUMBER, + // - organizations/ORGANIZATION_NUMBER, + // - api`_`key:API_KEY. ConsumerId string `protobuf:"bytes,3,opt,name=consumer_id,json=consumerId,proto3" json:"consumer_id,omitempty"` // Required. Start time of the operation. StartTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` @@ -130,20 +130,20 @@ type Operation struct { EndTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` // Labels describing the operation. Only the following labels are allowed: // - // - Labels describing monitored resources as defined in - // the service configuration. - // - Default labels of metric values. When specified, labels defined in the - // metric value override these default. - // - The following labels defined by Google Cloud Platform: - // - `cloud.googleapis.com/location` describing the location where the - // operation happened, - // - `servicecontrol.googleapis.com/user_agent` describing the user agent - // of the API request, - // - `servicecontrol.googleapis.com/service_agent` describing the service - // used to handle the API request (e.g. ESP), - // - `servicecontrol.googleapis.com/platform` describing the platform - // where the API is served, such as App Engine, Compute Engine, or - // Kubernetes Engine. + // - Labels describing monitored resources as defined in + // the service configuration. + // - Default labels of metric values. When specified, labels defined in the + // metric value override these default. + // - The following labels defined by Google Cloud Platform: + // - `cloud.googleapis.com/location` describing the location where the + // operation happened, + // - `servicecontrol.googleapis.com/user_agent` describing the user agent + // of the API request, + // - `servicecontrol.googleapis.com/service_agent` describing the service + // used to handle the API request (e.g. ESP), + // - `servicecontrol.googleapis.com/platform` describing the platform + // where the API is served, such as App Engine, Compute Engine, or + // Kubernetes Engine. Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Represents information about this operation. Each MetricValueSet // corresponds to a metric defined in the service configuration. diff --git a/servicecontrol/apiv1/servicecontrolpb/quota_controller.pb.go b/servicecontrol/apiv1/servicecontrolpb/quota_controller.pb.go index caf468d6d72..936e9d1898b 100755 --- a/servicecontrol/apiv1/servicecontrolpb/quota_controller.pb.go +++ b/servicecontrol/apiv1/servicecontrolpb/quota_controller.pb.go @@ -295,16 +295,17 @@ type QuotaOperation struct { // (1) the quota operation is performed on non-API resources. // (2) quota_metrics is set because the caller is doing quota override. // - // // Example of an RPC method name: - // google.example.library.v1.LibraryService.CreateShelf + // + // google.example.library.v1.LibraryService.CreateShelf MethodName string `protobuf:"bytes,2,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"` // Identity of the consumer for whom this quota operation is being performed. // // This can be in one of the following formats: - // project:, - // project_number:, - // api_key:. + // + // project:, + // project_number:, + // api_key:. ConsumerId string `protobuf:"bytes,3,opt,name=consumer_id,json=consumerId,proto3" json:"consumer_id,omitempty"` // Labels describing the operation. Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` @@ -415,11 +416,13 @@ type AllocateQuotaResponse struct { // // 1. Per quota group or per quota metric incremental usage will be specified // using the following delta metric : - // "serviceruntime.googleapis.com/api/consumer/quota_used_count" + // + // "serviceruntime.googleapis.com/api/consumer/quota_used_count" // // 2. The quota limit reached condition will be specified using the following // boolean metric : - // "serviceruntime.googleapis.com/quota/exceeded" + // + // "serviceruntime.googleapis.com/quota/exceeded" QuotaMetrics []*MetricValueSet `protobuf:"bytes,3,rep,name=quota_metrics,json=quotaMetrics,proto3" json:"quota_metrics,omitempty"` // ID of the actual config used to process the request. ServiceConfigId string `protobuf:"bytes,4,opt,name=service_config_id,json=serviceConfigId,proto3" json:"service_config_id,omitempty"` diff --git a/servicecontrol/apiv1/servicecontrolpb/service_controller.pb.go b/servicecontrol/apiv1/servicecontrolpb/service_controller.pb.go index a6f519d9720..ccda126cd30 100755 --- a/servicecontrol/apiv1/servicecontrolpb/service_controller.pb.go +++ b/servicecontrol/apiv1/servicecontrolpb/service_controller.pb.go @@ -367,17 +367,17 @@ type ReportResponse struct { // Partial failures, one for each `Operation` in the request that failed // processing. There are three possible combinations of the RPC status: // - // 1. The combination of a successful RPC status and an empty `report_errors` - // list indicates a complete success where all `Operations` in the - // request are processed successfully. - // 2. The combination of a successful RPC status and a non-empty - // `report_errors` list indicates a partial success where some - // `Operations` in the request succeeded. Each - // `Operation` that failed processing has a corresponding item - // in this list. - // 3. A failed RPC status indicates a general non-deterministic failure. - // When this happens, it's impossible to know which of the - // 'Operations' in the request succeeded or failed. + // 1. The combination of a successful RPC status and an empty `report_errors` + // list indicates a complete success where all `Operations` in the + // request are processed successfully. + // 2. The combination of a successful RPC status and a non-empty + // `report_errors` list indicates a partial success where some + // `Operations` in the request succeeded. Each + // `Operation` that failed processing has a corresponding item + // in this list. + // 3. A failed RPC status indicates a general non-deterministic failure. + // When this happens, it's impossible to know which of the + // 'Operations' in the request succeeded or failed. ReportErrors []*ReportResponse_ReportError `protobuf:"bytes,1,rep,name=report_errors,json=reportErrors,proto3" json:"report_errors,omitempty"` // The actual config id used to process the request. ServiceConfigId string `protobuf:"bytes,2,opt,name=service_config_id,json=serviceConfigId,proto3" json:"service_config_id,omitempty"` diff --git a/servicedirectory/apiv1/servicedirectorypb/endpoint.pb.go b/servicedirectory/apiv1/servicedirectorypb/endpoint.pb.go index 7471862556c..71a8f020335 100755 --- a/servicedirectory/apiv1/servicedirectorypb/endpoint.pb.go +++ b/servicedirectory/apiv1/servicedirectorypb/endpoint.pb.go @@ -65,10 +65,10 @@ type Endpoint struct { // // Restrictions: // - // * The entire annotations dictionary may contain up to 512 characters, + // - The entire annotations dictionary may contain up to 512 characters, // spread accoss all key-value pairs. Annotations that go beyond this // limit are rejected - // * Valid annotation keys have two segments: an optional prefix and name, + // - Valid annotation keys have two segments: an optional prefix and name, // separated by a slash (/). The name segment is required and must be 63 // characters or less, beginning and ending with an alphanumeric character // ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and diff --git a/servicedirectory/apiv1/servicedirectorypb/lookup_service.pb.go b/servicedirectory/apiv1/servicedirectorypb/lookup_service.pb.go index e0fe110cde8..c118e9edd5f 100755 --- a/servicedirectory/apiv1/servicedirectorypb/lookup_service.pb.go +++ b/servicedirectory/apiv1/servicedirectorypb/lookup_service.pb.go @@ -59,32 +59,36 @@ type ResolveServiceRequest struct { // General `filter` string syntax: // ` ()` // - // * `` can be `name`, `address`, `port`, or `annotations.` for + // - `` can be `name`, `address`, `port`, or `annotations.` for // map field - // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + // - `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` // means `HAS`, and is roughly the same as `=` - // * `` must be the same data type as field - // * `` can be `AND`, `OR`, `NOT` + // - `` must be the same data type as field + // - `` can be `AND`, `OR`, `NOT` // // Examples of valid filters: // - // * `annotations.owner` returns endpoints that have a annotation with the + // - `annotations.owner` returns endpoints that have a annotation with the // key `owner`, this is the same as `annotations:owner` - // * `annotations.protocol=gRPC` returns endpoints that have key/value + // - `annotations.protocol=gRPC` returns endpoints that have key/value // `protocol=gRPC` - // * `address=192.108.1.105` returns endpoints that have this address - // * `port>8080` returns endpoints that have port number larger than 8080 + // - `address=192.108.1.105` returns endpoints that have this address + // - `port>8080` returns endpoints that have port number larger than 8080 + // // * // `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` - // returns endpoints that have name that is alphabetically later than the - // string, so "endpoint-e" is returned but "endpoint-a" is not + // + // returns endpoints that have name that is alphabetically later than the + // string, so "endpoint-e" is returned but "endpoint-a" is not + // // * // `name=projects/my-project/locations/us-central1/namespaces/my-namespace/services/my-service/endpoints/ep-1` - // returns the endpoint that has an endpoint_id equal to `ep-1` - // * `annotations.owner!=sd AND annotations.foo=bar` returns endpoints that + // + // returns the endpoint that has an endpoint_id equal to `ep-1` + // - `annotations.owner!=sd AND annotations.foo=bar` returns endpoints that // have `owner` in annotation key but value is not `sd` AND have // key/value `foo=bar` - // * `doesnotexist.foo=bar` returns an empty list. Note that endpoint + // - `doesnotexist.foo=bar` returns an empty list. Note that endpoint // doesn't have a field called "doesnotexist". Since the filter does not // match any endpoint, it returns no results // diff --git a/servicedirectory/apiv1/servicedirectorypb/registration_service.pb.go b/servicedirectory/apiv1/servicedirectorypb/registration_service.pb.go index d844f616514..3a04dab2b94 100755 --- a/servicedirectory/apiv1/servicedirectorypb/registration_service.pb.go +++ b/servicedirectory/apiv1/servicedirectorypb/registration_service.pb.go @@ -138,24 +138,24 @@ type ListNamespacesRequest struct { // General `filter` string syntax: // ` ()` // - // * `` can be `name` or `labels.` for map field - // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + // - `` can be `name` or `labels.` for map field + // - `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` // means `HAS`, and is roughly the same as `=` - // * `` must be the same data type as field - // * `` can be `AND`, `OR`, `NOT` + // - `` must be the same data type as field + // - `` can be `AND`, `OR`, `NOT` // // Examples of valid filters: // - // * `labels.owner` returns namespaces that have a label with the key + // - `labels.owner` returns namespaces that have a label with the key // `owner`, this is the same as `labels:owner` - // * `labels.owner=sd` returns namespaces that have key/value + // - `labels.owner=sd` returns namespaces that have key/value // `owner=sd` - // * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` + // - `name>projects/my-project/locations/us-east1/namespaces/namespace-c` // returns namespaces that have name that is alphabetically later than the // string, so "namespace-e" is returned but "namespace-a" is not - // * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have + // - `labels.owner!=sd AND labels.foo=bar` returns namespaces that have // `owner` in label key but value is not `sd` AND have key/value `foo=bar` - // * `doesnotexist.foo=bar` returns an empty list. Note that namespace + // - `doesnotexist.foo=bar` returns an empty list. Note that namespace // doesn't have a field called "doesnotexist". Since the filter does not // match any namespaces, it returns no results // @@ -166,8 +166,8 @@ type ListNamespacesRequest struct { // // General `order_by` string syntax: ` () (,)` // - // * `` allows value: `name` - // * `` ascending or descending order by ``. If this is + // - `` allows value: `name` + // - `` ascending or descending order by ``. If this is // left blank, `asc` is used // // Note that an empty `order_by` string results in default order, which is @@ -555,26 +555,28 @@ type ListServicesRequest struct { // General `filter` string syntax: // ` ()` // - // * `` can be `name` or `annotations.` for map field - // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + // - `` can be `name` or `annotations.` for map field + // - `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` // means `HAS`, and is roughly the same as `=` - // * `` must be the same data type as field - // * `` can be `AND`, `OR`, `NOT` + // - `` must be the same data type as field + // - `` can be `AND`, `OR`, `NOT` // // Examples of valid filters: // - // * `annotations.owner` returns services that have a annotation with the + // - `annotations.owner` returns services that have a annotation with the // key `owner`, this is the same as `annotations:owner` - // * `annotations.protocol=gRPC` returns services that have key/value + // - `annotations.protocol=gRPC` returns services that have key/value // `protocol=gRPC` + // // * // `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` - // returns services that have name that is alphabetically later than the - // string, so "service-e" is returned but "service-a" is not - // * `annotations.owner!=sd AND annotations.foo=bar` returns services that + // + // returns services that have name that is alphabetically later than the + // string, so "service-e" is returned but "service-a" is not + // - `annotations.owner!=sd AND annotations.foo=bar` returns services that // have `owner` in annotation key but value is not `sd` AND have // key/value `foo=bar` - // * `doesnotexist.foo=bar` returns an empty list. Note that service + // - `doesnotexist.foo=bar` returns an empty list. Note that service // doesn't have a field called "doesnotexist". Since the filter does not // match any services, it returns no results // @@ -585,8 +587,8 @@ type ListServicesRequest struct { // // General `order_by` string syntax: ` () (,)` // - // * `` allows value: `name` - // * `` ascending or descending order by ``. If this is + // - `` allows value: `name` + // - `` ascending or descending order by ``. If this is // left blank, `asc` is used // // Note that an empty `order_by` string results in default order, which is @@ -976,29 +978,31 @@ type ListEndpointsRequest struct { // General `filter` string syntax: // ` ()` // - // * `` can be `name`, `address`, `port`, or `annotations.` for - // map field - // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + // - `` can be `name`, `address`, `port`, or `annotations.` for + // map field + // - `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` // means `HAS`, and is roughly the same as `=` - // * `` must be the same data type as field - // * `` can be `AND`, `OR`, `NOT` + // - `` must be the same data type as field + // - `` can be `AND`, `OR`, `NOT` // // Examples of valid filters: // - // * `annotations.owner` returns endpoints that have a annotation with the + // - `annotations.owner` returns endpoints that have a annotation with the // key `owner`, this is the same as `annotations:owner` - // * `annotations.protocol=gRPC` returns endpoints that have key/value + // - `annotations.protocol=gRPC` returns endpoints that have key/value // `protocol=gRPC` - // * `address=192.108.1.105` returns endpoints that have this address - // * `port>8080` returns endpoints that have port number larger than 8080 + // - `address=192.108.1.105` returns endpoints that have this address + // - `port>8080` returns endpoints that have port number larger than 8080 + // // * // `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` - // returns endpoints that have name that is alphabetically later than the - // string, so "endpoint-e" is returned but "endpoint-a" is not - // * `annotations.owner!=sd AND annotations.foo=bar` returns endpoints that + // + // returns endpoints that have name that is alphabetically later than the + // string, so "endpoint-e" is returned but "endpoint-a" is not + // - `annotations.owner!=sd AND annotations.foo=bar` returns endpoints that // have `owner` in annotation key but value is not `sd` AND have // key/value `foo=bar` - // * `doesnotexist.foo=bar` returns an empty list. Note that endpoint + // - `doesnotexist.foo=bar` returns an empty list. Note that endpoint // doesn't have a field called "doesnotexist". Since the filter does not // match any endpoints, it returns no results // @@ -1009,8 +1013,8 @@ type ListEndpointsRequest struct { // // General `order_by` string syntax: ` () (,)` // - // * `` allows values: `name`, `address`, `port` - // * `` ascending or descending order by ``. If this is + // - `` allows values: `name`, `address`, `port` + // - `` ascending or descending order by ``. If this is // left blank, `asc` is used // // Note that an empty `order_by` string results in default order, which is diff --git a/servicedirectory/apiv1/servicedirectorypb/service.pb.go b/servicedirectory/apiv1/servicedirectorypb/service.pb.go index 039680e9e20..f9f8c661ee9 100755 --- a/servicedirectory/apiv1/servicedirectorypb/service.pb.go +++ b/servicedirectory/apiv1/servicedirectorypb/service.pb.go @@ -53,10 +53,10 @@ type Service struct { // // Restrictions: // - // * The entire annotations dictionary may contain up to 2000 characters, + // - The entire annotations dictionary may contain up to 2000 characters, // spread accoss all key-value pairs. Annotations that go beyond this // limit are rejected - // * Valid annotation keys have two segments: an optional prefix and name, + // - Valid annotation keys have two segments: an optional prefix and name, // separated by a slash (/). The name segment is required and must be 63 // characters or less, beginning and ending with an alphanumeric character // ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and diff --git a/servicedirectory/apiv1beta1/servicedirectorypb/endpoint.pb.go b/servicedirectory/apiv1beta1/servicedirectorypb/endpoint.pb.go index 7c0033f9229..a3391841781 100755 --- a/servicedirectory/apiv1beta1/servicedirectorypb/endpoint.pb.go +++ b/servicedirectory/apiv1beta1/servicedirectorypb/endpoint.pb.go @@ -66,10 +66,10 @@ type Endpoint struct { // // Restrictions: // - // * The entire metadata dictionary may contain up to 512 characters, + // - The entire metadata dictionary may contain up to 512 characters, // spread accoss all key-value pairs. Metadata that goes beyond this // limit are rejected - // * Valid metadata keys have two segments: an optional prefix and name, + // - Valid metadata keys have two segments: an optional prefix and name, // separated by a slash (/). The name segment is required and must be 63 // characters or less, beginning and ending with an alphanumeric character // ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and diff --git a/servicedirectory/apiv1beta1/servicedirectorypb/lookup_service.pb.go b/servicedirectory/apiv1beta1/servicedirectorypb/lookup_service.pb.go index 6ce442964e9..03947159071 100755 --- a/servicedirectory/apiv1beta1/servicedirectorypb/lookup_service.pb.go +++ b/servicedirectory/apiv1beta1/servicedirectorypb/lookup_service.pb.go @@ -59,32 +59,36 @@ type ResolveServiceRequest struct { // General `filter` string syntax: // ` ()` // - // * `` can be `name`, `address`, `port`, or `metadata.` for + // - `` can be `name`, `address`, `port`, or `metadata.` for // map field - // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + // - `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` // means `HAS`, and is roughly the same as `=` - // * `` must be the same data type as field - // * `` can be `AND`, `OR`, `NOT` + // - `` must be the same data type as field + // - `` can be `AND`, `OR`, `NOT` // // Examples of valid filters: // - // * `metadata.owner` returns endpoints that have a annotation with the key + // - `metadata.owner` returns endpoints that have a annotation with the key // `owner`, this is the same as `metadata:owner` - // * `metadata.protocol=gRPC` returns endpoints that have key/value + // - `metadata.protocol=gRPC` returns endpoints that have key/value // `protocol=gRPC` - // * `address=192.108.1.105` returns endpoints that have this address - // * `port>8080` returns endpoints that have port number larger than 8080 + // - `address=192.108.1.105` returns endpoints that have this address + // - `port>8080` returns endpoints that have port number larger than 8080 + // // * // `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` - // returns endpoints that have name that is alphabetically later than the - // string, so "endpoint-e" is returned but "endpoint-a" is not + // + // returns endpoints that have name that is alphabetically later than the + // string, so "endpoint-e" is returned but "endpoint-a" is not + // // * // `name=projects/my-project/locations/us-central1/namespaces/my-namespace/services/my-service/endpoints/ep-1` - // returns the endpoint that has an endpoint_id equal to `ep-1` - // * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have + // + // returns the endpoint that has an endpoint_id equal to `ep-1` + // - `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have // `owner` in annotation key but value is not `sd` AND have key/value - // `foo=bar` - // * `doesnotexist.foo=bar` returns an empty list. Note that endpoint + // `foo=bar` + // - `doesnotexist.foo=bar` returns an empty list. Note that endpoint // doesn't have a field called "doesnotexist". Since the filter does not // match any endpoint, it returns no results // diff --git a/servicedirectory/apiv1beta1/servicedirectorypb/registration_service.pb.go b/servicedirectory/apiv1beta1/servicedirectorypb/registration_service.pb.go index ca37cdbacb9..f30aaa04c9e 100755 --- a/servicedirectory/apiv1beta1/servicedirectorypb/registration_service.pb.go +++ b/servicedirectory/apiv1beta1/servicedirectorypb/registration_service.pb.go @@ -140,25 +140,25 @@ type ListNamespacesRequest struct { // // * `` can be `name`, `labels.` for map field, or // `attributes.` for attributes field - // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + // - `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` // means `HAS`, and is roughly the same as `=` - // * `` must be the same data type as field - // * `` can be `AND`, `OR`, `NOT` + // - `` must be the same data type as field + // - `` can be `AND`, `OR`, `NOT` // // Examples of valid filters: // - // * `labels.owner` returns namespaces that have a label with the key + // - `labels.owner` returns namespaces that have a label with the key // `owner`, this is the same as `labels:owner` - // * `labels.owner=sd` returns namespaces that have key/value `owner=sd` - // * `name>projects/my-project/locations/us-east1/namespaces/namespace-c` + // - `labels.owner=sd` returns namespaces that have key/value `owner=sd` + // - `name>projects/my-project/locations/us-east1/namespaces/namespace-c` // returns namespaces that have name that is alphabetically later than the // string, so "namespace-e" is returned but "namespace-a" is not - // * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have + // - `labels.owner!=sd AND labels.foo=bar` returns namespaces that have // `owner` in label key but value is not `sd` AND have key/value `foo=bar` - // * `doesnotexist.foo=bar` returns an empty list. Note that namespace + // - `doesnotexist.foo=bar` returns an empty list. Note that namespace // doesn't have a field called "doesnotexist". Since the filter does not // match any namespaces, it returns no results - // * `attributes.managed_registration=true` returns namespaces that are + // - `attributes.managed_registration=true` returns namespaces that are // managed by a GCP product or service // // For more information about filtering, see @@ -168,8 +168,8 @@ type ListNamespacesRequest struct { // // General `order_by` string syntax: ` () (,)` // - // * `` allows value: `name` - // * `` ascending or descending order by ``. If this is + // - `` allows value: `name` + // - `` ascending or descending order by ``. If this is // left blank, `asc` is used // // Note that an empty `order_by` string results in default order, which is @@ -557,31 +557,35 @@ type ListServicesRequest struct { // General `filter` string syntax: // ` ()` // - // * `` can be `name` or `metadata.` for map field - // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + // - `` can be `name` or `metadata.` for map field + // - `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` // means `HAS`, and is roughly the same as `=` - // * `` must be the same data type as field - // * `` can be `AND`, `OR`, `NOT` + // - `` must be the same data type as field + // - `` can be `AND`, `OR`, `NOT` // // Examples of valid filters: // - // * `metadata.owner` returns services that have a metadata with the key + // - `metadata.owner` returns services that have a metadata with the key // `owner`, this is the same as `metadata:owner` - // * `metadata.protocol=gRPC` returns services that have key/value + // - `metadata.protocol=gRPC` returns services that have key/value // `protocol=gRPC` + // // * // `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c` - // returns services that have name that is alphabetically later than the - // string, so "service-e" is returned but "service-a" is not - // * `metadata.owner!=sd AND metadata.foo=bar` returns services that have + // + // returns services that have name that is alphabetically later than the + // string, so "service-e" is returned but "service-a" is not + // - `metadata.owner!=sd AND metadata.foo=bar` returns services that have // `owner` in metadata key but value is not `sd` AND have key/value // `foo=bar` - // * `doesnotexist.foo=bar` returns an empty list. Note that service + // - `doesnotexist.foo=bar` returns an empty list. Note that service // doesn't have a field called "doesnotexist". Since the filter does not // match any services, it returns no results - // * `attributes.managed_registration=true` returns services that are + // - `attributes.managed_registration=true` returns services that are + // // managed - // by a GCP product or service + // + // by a GCP product or service // // For more information about filtering, see // [API Filtering](https://aip.dev/160). @@ -590,8 +594,8 @@ type ListServicesRequest struct { // // General `order_by` string syntax: ` () (,)` // - // * `` allows value: `name` - // * `` ascending or descending order by ``. If this is + // - `` allows value: `name` + // - `` ascending or descending order by ``. If this is // left blank, `asc` is used // // Note that an empty `order_by` string results in default order, which is @@ -981,32 +985,34 @@ type ListEndpointsRequest struct { // General `filter` string syntax: // ` ()` // - // * `` can be `name`, `address`, `port`, `metadata.` for map + // - `` can be `name`, `address`, `port`, `metadata.` for map // field, or `attributes.` for attributes field - // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` + // - `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:` // means `HAS`, and is roughly the same as `=` - // * `` must be the same data type as field - // * `` can be `AND`, `OR`, `NOT` + // - `` must be the same data type as field + // - `` can be `AND`, `OR`, `NOT` // // Examples of valid filters: // - // * `metadata.owner` returns endpoints that have a metadata with the key + // - `metadata.owner` returns endpoints that have a metadata with the key // `owner`, this is the same as `metadata:owner` - // * `metadata.protocol=gRPC` returns endpoints that have key/value + // - `metadata.protocol=gRPC` returns endpoints that have key/value // `protocol=gRPC` - // * `address=192.108.1.105` returns endpoints that have this address - // * `port>8080` returns endpoints that have port number larger than 8080 + // - `address=192.108.1.105` returns endpoints that have this address + // - `port>8080` returns endpoints that have port number larger than 8080 + // // * // `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c` - // returns endpoints that have name that is alphabetically later than the - // string, so "endpoint-e" is returned but "endpoint-a" is not - // * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have + // + // returns endpoints that have name that is alphabetically later than the + // string, so "endpoint-e" is returned but "endpoint-a" is not + // - `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have // `owner` in metadata key but value is not `sd` AND have key/value - // `foo=bar` - // * `doesnotexist.foo=bar` returns an empty list. Note that endpoint + // `foo=bar` + // - `doesnotexist.foo=bar` returns an empty list. Note that endpoint // doesn't have a field called "doesnotexist". Since the filter does not // match any endpoints, it returns no results - // * `attributes.kubernetes_resource_type=KUBERNETES_RESOURCE_TYPE_CLUSTER_ + // - `attributes.kubernetes_resource_type=KUBERNETES_RESOURCE_TYPE_CLUSTER_ // IP` returns endpoints with the corresponding kubernetes_resource_type // // For more information about filtering, see @@ -1016,8 +1022,8 @@ type ListEndpointsRequest struct { // // General `order_by` string syntax: ` () (,)` // - // * `` allows values: `name`, `address`, `port` - // * `` ascending or descending order by ``. If this is + // - `` allows values: `name`, `address`, `port` + // - `` ascending or descending order by ``. If this is // left blank, `asc` is used // // Note that an empty `order_by` string results in default order, which is diff --git a/servicedirectory/apiv1beta1/servicedirectorypb/service.pb.go b/servicedirectory/apiv1beta1/servicedirectorypb/service.pb.go index 09edae03742..c6de64c0ae8 100755 --- a/servicedirectory/apiv1beta1/servicedirectorypb/service.pb.go +++ b/servicedirectory/apiv1beta1/servicedirectorypb/service.pb.go @@ -54,10 +54,10 @@ type Service struct { // // Restrictions: // - // * The entire metadata dictionary may contain up to 2000 characters, + // - The entire metadata dictionary may contain up to 2000 characters, // spread accoss all key-value pairs. Metadata that goes beyond this // limit are rejected - // * Valid metadata keys have two segments: an optional prefix and name, + // - Valid metadata keys have two segments: an optional prefix and name, // separated by a slash (/). The name segment is required and must be 63 // characters or less, beginning and ending with an alphanumeric character // ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and diff --git a/servicehealth/apiv1/servicehealthpb/event_resources.pb.go b/servicehealth/apiv1/servicehealthpb/event_resources.pb.go index 9b6c1f96197..61ad44a8ce7 100755 --- a/servicehealth/apiv1/servicehealthpb/event_resources.pb.go +++ b/servicehealth/apiv1/servicehealthpb/event_resources.pb.go @@ -1942,7 +1942,8 @@ type ListOrganizationImpactsRequest struct { // Optional. The maximum number of events that should be returned. Acceptable // values are `1` to `100`, inclusive. The default value is `10`. // - // If more results are available, the service returns a + // If more results are available, the service returns a + // // `next_page_token` that can be used to get the next page of results in // subsequent list requests. The service may return fewer // [impacts](/service-health/docs/reference/rest/v1beta/organizations.locations.organizationImpacts#OrganizationImpact) diff --git a/servicemanagement/apiv1/servicemanagementpb/resources.pb.go b/servicemanagement/apiv1/servicemanagementpb/resources.pb.go index 5b3732a37de..23279cab87d 100755 --- a/servicemanagement/apiv1/servicemanagementpb/resources.pb.go +++ b/servicemanagement/apiv1/servicemanagementpb/resources.pb.go @@ -769,6 +769,7 @@ type Rollout struct { // and how they should be used at runtime. // // Types that are assignable to Strategy: + // // *Rollout_TrafficPercentStrategy_ // *Rollout_DeleteServiceStrategy_ Strategy isRollout_Strategy `protobuf_oneof:"strategy"` diff --git a/servicemanagement/apiv1/servicemanagementpb/servicemanager.pb.go b/servicemanagement/apiv1/servicemanagementpb/servicemanager.pb.go index 8dc37697c4c..9fb5c1918ce 100755 --- a/servicemanagement/apiv1/servicemanagementpb/servicemanager.pb.go +++ b/servicemanagement/apiv1/servicemanagementpb/servicemanager.pb.go @@ -947,13 +947,13 @@ type ListServiceRolloutsRequest struct { // Required. Use `filter` to return subset of rollouts. // The following filters are supported: // - // -- By [status] - // [google.api.servicemanagement.v1.Rollout.RolloutStatus]. For example, - // `filter='status=SUCCESS'` + // -- By [status] + // [google.api.servicemanagement.v1.Rollout.RolloutStatus]. For example, + // `filter='status=SUCCESS'` // - // -- By [strategy] - // [google.api.servicemanagement.v1.Rollout.strategy]. For example, - // `filter='strategy=TrafficPercentStrategy'` + // -- By [strategy] + // [google.api.servicemanagement.v1.Rollout.strategy]. For example, + // `filter='strategy=TrafficPercentStrategy'` Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } diff --git a/shopping/css/apiv1/csspb/css_product_common.pb.go b/shopping/css/apiv1/csspb/css_product_common.pb.go index 16349ba6378..bac3d358989 100755 --- a/shopping/css/apiv1/csspb/css_product_common.pb.go +++ b/shopping/css/apiv1/csspb/css_product_common.pb.go @@ -687,8 +687,8 @@ type ProductDimension struct { Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` // Required. The dimension units. // Acceptable values are: - // * "`in`" - // * "`cm`" + // - "`in`" + // - "`cm`" Unit string `protobuf:"bytes,2,opt,name=unit,proto3" json:"unit,omitempty"` } @@ -749,10 +749,10 @@ type ProductWeight struct { Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` // Required. The weight unit. // Acceptable values are: - // * "`g`" - // * "`kg`" - // * "`oz`" - // * "`lb`" + // - "`g`" + // - "`kg`" + // - "`oz`" + // - "`lb`" Unit string `protobuf:"bytes,2,opt,name=unit,proto3" json:"unit,omitempty"` } diff --git a/spanner/admin/database/apiv1/databasepb/backup.pb.go b/spanner/admin/database/apiv1/databasepb/backup.pb.go index 2636f853a5c..372d09f43c5 100755 --- a/spanner/admin/database/apiv1/databasepb/backup.pb.go +++ b/spanner/admin/database/apiv1/databasepb/backup.pb.go @@ -785,7 +785,7 @@ type UpdateBackupRequest struct { // Required. The backup to update. `backup.name`, and the fields to be updated // as specified by `update_mask` are required. Other fields are ignored. // Update is only supported for the following fields: - // * `backup.expire_time`. + // - `backup.expire_time`. Backup *Backup `protobuf:"bytes,1,opt,name=backup,proto3" json:"backup,omitempty"` // Required. A mask specifying which fields (e.g. `expire_time`) in the // Backup resource should be updated. This mask is relative to the Backup @@ -962,13 +962,13 @@ type ListBackupsRequest struct { // // The following fields in the [Backup][google.spanner.admin.database.v1.Backup] are eligible for filtering: // - // * `name` - // * `database` - // * `state` - // * `create_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) - // * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) - // * `version_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) - // * `size_bytes` + // - `name` + // - `database` + // - `state` + // - `create_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) + // - `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) + // - `version_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) + // - `size_bytes` // // You can combine multiple expressions by enclosing each expression in // parentheses. By default, expressions are combined with AND logic, but @@ -976,17 +976,17 @@ type ListBackupsRequest struct { // // Here are a few examples: // - // * `name:Howl` - The backup's name contains the string "howl". - // * `database:prod` - // - The database's name contains the string "prod". - // * `state:CREATING` - The backup is pending creation. - // * `state:READY` - The backup is fully created and ready for use. - // * `(name:howl) AND (create_time < \"2018-03-28T14:50:00Z\")` - // - The backup name contains the string "howl" and `create_time` - // of the backup is before 2018-03-28T14:50:00Z. - // * `expire_time < \"2018-03-28T14:50:00Z\"` - // - The backup `expire_time` is before 2018-03-28T14:50:00Z. - // * `size_bytes > 10000000000` - The backup's size is greater than 10GB + // - `name:Howl` - The backup's name contains the string "howl". + // - `database:prod` + // - The database's name contains the string "prod". + // - `state:CREATING` - The backup is pending creation. + // - `state:READY` - The backup is fully created and ready for use. + // - `(name:howl) AND (create_time < \"2018-03-28T14:50:00Z\")` + // - The backup name contains the string "howl" and `create_time` + // of the backup is before 2018-03-28T14:50:00Z. + // - `expire_time < \"2018-03-28T14:50:00Z\"` + // - The backup `expire_time` is before 2018-03-28T14:50:00Z. + // - `size_bytes > 10000000000` - The backup's size is greater than 10GB Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Number of backups to be returned in the response. If 0 or // less, defaults to the server's maximum allowed page size. @@ -1140,17 +1140,17 @@ type ListBackupOperationsRequest struct { // The following fields in the [operation][google.longrunning.Operation] // are eligible for filtering: // - // * `name` - The name of the long-running operation - // * `done` - False if the operation is in progress, else true. - // * `metadata.@type` - the type of metadata. For example, the type string - // for [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata] is - // `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`. - // * `metadata.` - any field in metadata.value. - // `metadata.@type` must be specified first if filtering on metadata - // fields. - // * `error` - Error associated with the long-running operation. - // * `response.@type` - the type of response. - // * `response.` - any field in response.value. + // - `name` - The name of the long-running operation + // - `done` - False if the operation is in progress, else true. + // - `metadata.@type` - the type of metadata. For example, the type string + // for [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata] is + // `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`. + // - `metadata.` - any field in metadata.value. + // `metadata.@type` must be specified first if filtering on metadata + // fields. + // - `error` - Error associated with the long-running operation. + // - `response.@type` - the type of response. + // - `response.` - any field in response.value. // // You can combine multiple expressions by enclosing each expression in // parentheses. By default, expressions are combined with AND logic, but @@ -1158,43 +1158,43 @@ type ListBackupOperationsRequest struct { // // Here are a few examples: // - // * `done:true` - The operation is complete. - // * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \ - // `metadata.database:prod` - Returns operations where: - // * The operation's metadata type is [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata]. - // * The database the backup was taken from has a name containing the - // string "prod". - // * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \ + // - `done:true` - The operation is complete. + // - `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \ + // `metadata.database:prod` - Returns operations where: + // - The operation's metadata type is [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata]. + // - The database the backup was taken from has a name containing the + // string "prod". + // - `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \ // `(metadata.name:howl) AND` \ // `(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND` \ // `(error:*)` - Returns operations where: - // * The operation's metadata type is [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata]. - // * The backup name contains the string "howl". - // * The operation started before 2018-03-28T14:50:00Z. - // * The operation resulted in an error. - // * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CopyBackupMetadata) AND` \ + // - The operation's metadata type is [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata]. + // - The backup name contains the string "howl". + // - The operation started before 2018-03-28T14:50:00Z. + // - The operation resulted in an error. + // - `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CopyBackupMetadata) AND` \ // `(metadata.source_backup:test) AND` \ // `(metadata.progress.start_time < \"2022-01-18T14:50:00Z\") AND` \ // `(error:*)` - Returns operations where: - // * The operation's metadata type is [CopyBackupMetadata][google.spanner.admin.database.v1.CopyBackupMetadata]. - // * The source backup of the copied backup name contains the string + // - The operation's metadata type is [CopyBackupMetadata][google.spanner.admin.database.v1.CopyBackupMetadata]. + // - The source backup of the copied backup name contains the string // "test". - // * The operation started before 2022-01-18T14:50:00Z. - // * The operation resulted in an error. - // * `((metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \ + // - The operation started before 2022-01-18T14:50:00Z. + // - The operation resulted in an error. + // - `((metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \ // `(metadata.database:test_db)) OR` \ // `((metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CopyBackupMetadata) // AND` \ // `(metadata.source_backup:test_bkp)) AND` \ // `(error:*)` - Returns operations where: - // * The operation's metadata matches either of criteria: - // * The operation's metadata type is [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata] AND the - // database the backup was taken from has name containing string - // "test_db" - // * The operation's metadata type is [CopyBackupMetadata][google.spanner.admin.database.v1.CopyBackupMetadata] AND the - // backup the backup was copied from has name containing string - // "test_bkp" - // * The operation resulted in an error. + // - The operation's metadata matches either of criteria: + // - The operation's metadata type is [CreateBackupMetadata][google.spanner.admin.database.v1.CreateBackupMetadata] AND the + // database the backup was taken from has name containing string + // "test_db" + // - The operation's metadata type is [CopyBackupMetadata][google.spanner.admin.database.v1.CopyBackupMetadata] AND the + // backup the backup was copied from has name containing string + // "test_bkp" + // - The operation resulted in an error. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Number of operations to be returned in the response. If 0 or // less, defaults to the server's maximum allowed page size. diff --git a/spanner/admin/database/apiv1/databasepb/spanner_database_admin.pb.go b/spanner/admin/database/apiv1/databasepb/spanner_database_admin.pb.go index ac588a9a19a..cb22385c52d 100755 --- a/spanner/admin/database/apiv1/databasepb/spanner_database_admin.pb.go +++ b/spanner/admin/database/apiv1/databasepb/spanner_database_admin.pb.go @@ -229,6 +229,7 @@ type RestoreInfo struct { // Information about the source used to restore the database. // // Types that are assignable to SourceInfo: + // // *RestoreInfo_BackupInfo SourceInfo isRestoreInfo_SourceInfo `protobuf_oneof:"source_info"` } @@ -621,7 +622,7 @@ type CreateDatabaseRequest struct { // new database. The database ID must conform to the regular expression // `[a-z][a-z0-9_\-]*[a-z0-9]` and be between 2 and 30 characters in length. // If the database ID is a reserved word or if it contains a hyphen, the - // database ID must be enclosed in backticks (`` ` ``). + // database ID must be enclosed in backticks (“ ` “). CreateStatement string `protobuf:"bytes,2,opt,name=create_statement,json=createStatement,proto3" json:"create_statement,omitempty"` // Optional. A list of DDL statements to run inside the newly created // database. Statements can create tables, indexes, etc. These @@ -634,6 +635,24 @@ type CreateDatabaseRequest struct { EncryptionConfig *EncryptionConfig `protobuf:"bytes,4,opt,name=encryption_config,json=encryptionConfig,proto3" json:"encryption_config,omitempty"` // Optional. The dialect of the Cloud Spanner Database. DatabaseDialect DatabaseDialect `protobuf:"varint,5,opt,name=database_dialect,json=databaseDialect,proto3,enum=google.spanner.admin.database.v1.DatabaseDialect" json:"database_dialect,omitempty"` + // Optional. Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements in + // 'extra_statements' above. + // Contains a protobuf-serialized + // [google.protobuf.FileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto). + // To generate it, [install](https://grpc.io/docs/protoc-installation/) and + // run `protoc` with --include_imports and --descriptor_set_out. For example, + // to generate for moon/shot/app.proto, run + // ``` + // + // $protoc --proto_path=/app_path --proto_path=/lib_path \ + // --include_imports \ + // --descriptor_set_out=descriptors.data \ + // moon/shot/app.proto + // + // ``` + // For more details, see protobuffer [self + // description](https://developers.google.com/protocol-buffers/docs/techniques#self-description). + ProtoDescriptors []byte `protobuf:"bytes,6,opt,name=proto_descriptors,json=protoDescriptors,proto3" json:"proto_descriptors,omitempty"` } func (x *CreateDatabaseRequest) Reset() { @@ -703,6 +722,13 @@ func (x *CreateDatabaseRequest) GetDatabaseDialect() DatabaseDialect { return DatabaseDialect_DATABASE_DIALECT_UNSPECIFIED } +func (x *CreateDatabaseRequest) GetProtoDescriptors() []byte { + if x != nil { + return x.ProtoDescriptors + } + return nil +} + // Metadata type for the operation returned by // [CreateDatabase][google.spanner.admin.database.v1.DatabaseAdmin.CreateDatabase]. type CreateDatabaseMetadata struct { @@ -982,6 +1008,23 @@ type UpdateDatabaseDdlRequest struct { // [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] returns // `ALREADY_EXISTS`. OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + // Optional. Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements. + // Contains a protobuf-serialized + // [google.protobuf.FileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto). + // To generate it, [install](https://grpc.io/docs/protoc-installation/) and + // run `protoc` with --include_imports and --descriptor_set_out. For example, + // to generate for moon/shot/app.proto, run + // ``` + // + // $protoc --proto_path=/app_path --proto_path=/lib_path \ + // --include_imports \ + // --descriptor_set_out=descriptors.data \ + // moon/shot/app.proto + // + // ``` + // For more details, see protobuffer [self + // description](https://developers.google.com/protocol-buffers/docs/techniques#self-description). + ProtoDescriptors []byte `protobuf:"bytes,4,opt,name=proto_descriptors,json=protoDescriptors,proto3" json:"proto_descriptors,omitempty"` } func (x *UpdateDatabaseDdlRequest) Reset() { @@ -1037,6 +1080,13 @@ func (x *UpdateDatabaseDdlRequest) GetOperationId() string { return "" } +func (x *UpdateDatabaseDdlRequest) GetProtoDescriptors() []byte { + if x != nil { + return x.ProtoDescriptors + } + return nil +} + // Action information extracted from a DDL statement. This proto is used to // display the brief info of the DDL statement for the operation // [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]. @@ -1329,6 +1379,12 @@ type GetDatabaseDdlResponse struct { // A list of formatted DDL statements defining the schema of the database // specified in the request. Statements []string `protobuf:"bytes,1,rep,name=statements,proto3" json:"statements,omitempty"` + // Proto descriptors stored in the database. + // Contains a protobuf-serialized + // [google.protobuf.FileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto). + // For more details, see protobuffer [self + // description](https://developers.google.com/protocol-buffers/docs/techniques#self-description). + ProtoDescriptors []byte `protobuf:"bytes,2,opt,name=proto_descriptors,json=protoDescriptors,proto3" json:"proto_descriptors,omitempty"` } func (x *GetDatabaseDdlResponse) Reset() { @@ -1370,6 +1426,13 @@ func (x *GetDatabaseDdlResponse) GetStatements() []string { return nil } +func (x *GetDatabaseDdlResponse) GetProtoDescriptors() []byte { + if x != nil { + return x.ProtoDescriptors + } + return nil +} + // The request for // [ListDatabaseOperations][google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseOperations]. type ListDatabaseOperationsRequest struct { @@ -1391,17 +1454,17 @@ type ListDatabaseOperationsRequest struct { // The following fields in the [Operation][google.longrunning.Operation] // are eligible for filtering: // - // * `name` - The name of the long-running operation - // * `done` - False if the operation is in progress, else true. - // * `metadata.@type` - the type of metadata. For example, the type string - // for [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata] is - // `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`. - // * `metadata.` - any field in metadata.value. - // `metadata.@type` must be specified first, if filtering on metadata - // fields. - // * `error` - Error associated with the long-running operation. - // * `response.@type` - the type of response. - // * `response.` - any field in response.value. + // - `name` - The name of the long-running operation + // - `done` - False if the operation is in progress, else true. + // - `metadata.@type` - the type of metadata. For example, the type string + // for [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata] is + // `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`. + // - `metadata.` - any field in metadata.value. + // `metadata.@type` must be specified first, if filtering on metadata + // fields. + // - `error` - Error associated with the long-running operation. + // - `response.@type` - the type of response. + // - `response.` - any field in response.value. // // You can combine multiple expressions by enclosing each expression in // parentheses. By default, expressions are combined with AND logic. However, @@ -1409,19 +1472,19 @@ type ListDatabaseOperationsRequest struct { // // Here are a few examples: // - // * `done:true` - The operation is complete. - // * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \ + // - `done:true` - The operation is complete. + // - `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \ // `(metadata.source_type:BACKUP) AND` \ // `(metadata.backup_info.backup:backup_howl) AND` \ // `(metadata.name:restored_howl) AND` \ // `(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND` \ // `(error:*)` - Return operations where: - // * The operation's metadata type is [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata]. - // * The database is restored from a backup. - // * The backup name contains "backup_howl". - // * The restored database's name contains "restored_howl". - // * The operation started before 2018-03-28T14:50:00Z. - // * The operation resulted in an error. + // - The operation's metadata type is [RestoreDatabaseMetadata][google.spanner.admin.database.v1.RestoreDatabaseMetadata]. + // - The database is restored from a backup. + // - The backup name contains "backup_howl". + // - The restored database's name contains "restored_howl". + // - The operation started before 2018-03-28T14:50:00Z. + // - The operation resulted in an error. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Number of operations to be returned in the response. If 0 or // less, defaults to the server's maximum allowed page size. @@ -1579,6 +1642,7 @@ type RestoreDatabaseRequest struct { // Required. The source from which to restore. // // Types that are assignable to Source: + // // *RestoreDatabaseRequest_Backup Source isRestoreDatabaseRequest_Source `protobuf_oneof:"source"` // Optional. An encryption configuration describing the encryption type and key @@ -1746,6 +1810,7 @@ type RestoreDatabaseMetadata struct { // `source` in [RestoreDatabaseRequest][google.spanner.admin.database.v1.RestoreDatabaseRequest]. // // Types that are assignable to SourceInfo: + // // *RestoreDatabaseMetadata_BackupInfo SourceInfo isRestoreDatabaseMetadata_SourceInfo `protobuf_oneof:"source_info"` // The progress of the @@ -2245,7 +2310,7 @@ var file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDesc = 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0x81, 0x03, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, + 0x22, 0xb3, 0x03, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, @@ -2269,567 +2334,576 @@ var file_google_spanner_admin_database_v1_spanner_database_admin_proto_rawDesc = 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x69, 0x61, 0x6c, 0x65, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x69, 0x61, - 0x6c, 0x65, 0x63, 0x74, 0x22, 0x5a, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, - 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x22, 0x51, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, - 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, - 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xf9, 0x01, 0x0a, - 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x51, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x61, - 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, - 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x22, 0x74, 0x0a, 0x16, 0x44, 0x64, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x8e, 0x03, 0x0a, 0x19, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, - 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x08, - 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x73, 0x12, 0x21, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, - 0x74, 0x6c, 0x65, 0x64, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x52, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x64, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x5a, 0x0a, 0x13, 0x44, 0x72, 0x6f, - 0x70, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x43, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, - 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, - 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, - 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x22, 0x38, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x44, 0x64, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xb4, 0x01, - 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, + 0x6c, 0x65, 0x63, 0x74, 0x12, 0x30, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x5a, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x40, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xbc, - 0x02, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, - 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x49, 0x64, - 0x12, 0x3c, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x22, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x73, - 0x0a, 0x11, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x10, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x8f, 0x03, - 0x0a, 0x1f, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x7e, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x23, 0x0a, - 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, - 0x65, 0x79, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9e, - 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x55, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, - 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x4f, 0x52, 0x5f, 0x42, 0x41, 0x43, 0x4b, - 0x55, 0x50, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, - 0x1d, 0x0a, 0x19, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, - 0x54, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x1f, - 0x0a, 0x1b, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, - 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x22, - 0xe0, 0x03, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, + 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x22, 0x51, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4b, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, + 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0b, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xf9, + 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x51, 0x0a, 0x07, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4f, 0x0a, 0x0b, 0x62, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, - 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, - 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4f, 0x0a, 0x08, - 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, + 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x08, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, - 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, - 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x20, 0x6f, 0x70, - 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, - 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, - 0x66, 0x6f, 0x22, 0xad, 0x01, 0x0a, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, - 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, - 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x22, 0xa4, 0x01, 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, - 0x6f, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x7b, 0xea, 0x41, - 0x78, 0x0a, 0x23, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x18, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x74, 0x0a, 0x16, 0x44, 0x64, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x8e, 0x03, 0x0a, + 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, + 0x64, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x08, 0x64, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, + 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x51, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, - 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, - 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6c, 0x65, 0x7d, 0x22, 0x97, 0x01, 0x0a, 0x18, 0x4c, 0x69, - 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x73, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x11, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x21, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x74, + 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x52, 0x0a, 0x07, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x64, + 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x5a, 0x0a, + 0x13, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x22, 0x9a, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x55, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x6f, - 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x2a, 0x35, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x42, - 0x41, 0x43, 0x4b, 0x55, 0x50, 0x10, 0x01, 0x32, 0xee, 0x25, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0xc0, 0x01, 0x0a, 0x0d, 0x4c, 0x69, - 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, + 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x15, 0x47, 0x65, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x43, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, + 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x08, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x22, 0xb4, + 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, + 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0xbc, 0x02, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x49, + 0x64, 0x12, 0x3c, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x22, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, + 0x73, 0x0a, 0x11, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x10, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x8f, + 0x03, 0x0a, 0x1f, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x7e, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, + 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x23, + 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, + 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x9e, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x55, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, + 0x47, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x4f, 0x52, 0x5f, 0x42, 0x41, 0x43, + 0x4b, 0x55, 0x50, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, + 0x12, 0x1d, 0x0a, 0x19, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, + 0x4c, 0x54, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, + 0x1f, 0x0a, 0x1b, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, + 0x22, 0xe0, 0x03, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, + 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4f, 0x0a, 0x0b, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, + 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x48, + 0x00, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4f, 0x0a, + 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3b, + 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x20, 0x6f, + 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x22, 0xad, 0x01, 0x0a, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, + 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x73, 0x70, 0x61, + 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, + 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x22, 0xa4, 0x01, 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x7b, 0xea, + 0x41, 0x78, 0x0a, 0x23, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x51, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, + 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x6f, + 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x6c, 0x65, 0x7d, 0x22, 0x97, 0x01, 0x0a, 0x18, 0x4c, + 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, + 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9a, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x55, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, + 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x2a, 0x35, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x10, 0x01, 0x32, 0xee, 0x25, 0x0a, 0x0d, 0x44, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0xc0, 0x01, 0x0a, 0x0d, 0x4c, + 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, + 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0xda, + 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0xa4, 0x02, + 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, + 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0xca, 0x41, 0x64, 0x0a, 0x29, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x32, 0x3a, 0x01, 0x2a, 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x73, 0x12, 0xad, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, + 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x22, 0x3c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xef, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, + 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x84, 0x01, 0xca, 0x41, 0x22, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, + 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x14, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x42, 0x3a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x32, 0x36, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x9d, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x12, 0x3a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xac, 0x01, 0xca, 0x41, 0x53, 0x0a, 0x15, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0xda, 0x41, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, - 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, - 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0xa4, 0x02, 0x0a, - 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, + 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xda, 0x41, 0x13, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2c, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x3a, 0x01, 0x2a, 0x32, + 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x64, 0x64, 0x6c, 0x12, 0xa3, 0x01, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x44, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x44, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x44, 0xda, 0x41, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x2a, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcd, 0x01, 0x0a, + 0x0e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0xca, 0x41, 0x64, 0x0a, 0x29, 0x67, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x48, 0xda, 0x41, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x64, 0x6c, 0x12, 0xeb, 0x01, 0x0a, + 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x9f, 0x01, 0xda, 0x41, 0x0f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x86, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x41, 0x3a, 0x01, 0x2a, 0x22, 0x3c, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, + 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xe4, 0x01, 0x0a, 0x0c, 0x47, + 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x98, 0x01, 0xda, 0x41, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x86, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x41, + 0x3a, 0x01, 0x2a, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0xf7, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x02, + 0xda, 0x41, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xed, 0x01, 0x3a, 0x01, + 0x2a, 0x5a, 0x47, 0x3a, 0x01, 0x2a, 0x22, 0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5a, 0x59, 0x3a, 0x01, 0x2a, 0x22, + 0x54, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, + 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9f, 0x02, 0x0a, 0x0c, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, + 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xb8, 0x01, 0xca, 0x41, 0x60, 0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x32, 0x3a, 0x01, 0x2a, 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x73, 0x12, 0xad, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, - 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x22, 0x3c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, - 0x2f, 0x2a, 0x7d, 0x12, 0xef, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, - 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, - 0x01, 0xca, 0x41, 0x22, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x16, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x14, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x42, 0x3a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x32, 0x36, 0x2f, - 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x9d, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x12, 0x3a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xac, 0x01, 0xca, 0x41, 0x53, 0x0a, 0x15, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x12, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, - 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, - 0x41, 0x13, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2c, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x3a, 0x01, 0x2a, 0x32, 0x35, - 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x12, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, + 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, + 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, - 0x7d, 0x2f, 0x64, 0x64, 0x6c, 0x12, 0xa3, 0x01, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x44, 0xda, 0x41, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x2a, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcd, 0x01, 0x0a, 0x0e, - 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x12, 0x37, + 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0xac, 0x02, + 0x0a, 0x0a, 0x43, 0x6f, 0x70, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x33, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x70, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, + 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xc9, 0x01, 0xca, 0x41, 0x5e, 0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, + 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, + 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x2a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x2c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x62, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x3a, 0x01, 0x2a, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x3a, 0x63, 0x6f, 0x70, 0x79, 0x12, 0xa5, 0x01, 0x0a, + 0x09, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x44, 0x64, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x48, 0xda, 0x41, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x64, 0x6c, 0x12, 0xeb, 0x01, 0x0a, 0x0c, - 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x9f, 0x01, 0xda, 0x41, 0x0f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x86, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x41, 0x3a, 0x01, 0x2a, 0x22, 0x3c, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, - 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, - 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xe4, 0x01, 0x0a, 0x0c, 0x47, 0x65, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, - 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x98, 0x01, 0xda, 0x41, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x86, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x41, 0x3a, - 0x01, 0x2a, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, - 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, - 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0xf7, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x02, 0xda, - 0x41, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xed, 0x01, 0x3a, 0x01, 0x2a, - 0x5a, 0x47, 0x3a, 0x01, 0x2a, 0x22, 0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5a, 0x59, 0x3a, 0x01, 0x2a, 0x22, 0x54, - 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, + 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x3a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc8, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, + 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x57, 0xda, 0x41, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3c, 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x32, 0x32, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, - 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x2a, - 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9f, 0x02, 0x0a, 0x0c, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x35, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, - 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xb8, 0x01, 0xca, 0x41, 0x60, 0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x12, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, - 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, - 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0xac, 0x02, 0x0a, - 0x0a, 0x43, 0x6f, 0x70, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x33, 0x2e, 0x67, 0x6f, + 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0x99, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, + 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, + 0x3a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x2a, 0x2b, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, + 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb8, 0x01, 0x0a, 0x0b, + 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6f, 0x70, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, - 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xc9, 0x01, 0xca, 0x41, 0x5e, 0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, - 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x33, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xda, 0x41, 0x2a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x2c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x62, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x3a, 0x01, 0x2a, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, + 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x3a, 0x63, 0x6f, 0x70, 0x79, 0x12, 0xa5, 0x01, 0x0a, 0x09, - 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x3a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, - 0x2f, 0x2a, 0x7d, 0x12, 0xc8, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, - 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x57, 0xda, 0x41, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3c, 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x32, 0x32, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x99, - 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, - 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3a, - 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x2a, 0x2b, 0x2f, - 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb8, 0x01, 0x0a, 0x0b, 0x4c, - 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0xb1, 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, - 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, - 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0xb1, 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, - 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xc4, 0x01, 0xca, 0x41, 0x65, 0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x12, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, - 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x19, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, - 0x69, 0x64, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x3a, - 0x01, 0x2a, 0x22, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x73, 0x3a, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0xe4, 0x01, 0x0a, 0x16, 0x4c, 0x69, - 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, - 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, + 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, + 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xc4, 0x01, 0xca, 0x41, 0x65, 0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x12, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, + 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, + 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x69, 0x64, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, + 0x3a, 0x01, 0x2a, 0x22, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x73, 0x3a, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0xe4, 0x01, 0x0a, 0x16, 0x4c, + 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, - 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0xdc, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0xdc, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0xdc, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, - 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, - 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, - 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, - 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, - 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x1a, 0x78, - 0xca, 0x41, 0x16, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x5c, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0xda, 0x41, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0xdc, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, + 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x4e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, + 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x1a, + 0x78, 0xca, 0x41, 0x16, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x5c, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x6e, - 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x42, 0xd8, 0x02, 0xea, 0x41, 0x4a, 0x0a, 0x1f, - 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x19, - 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, - 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x70, 0x62, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x70, 0x62, 0xaa, 0x02, 0x26, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x26, 0x47, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x53, 0x70, 0x61, 0x6e, - 0x6e, 0x65, 0x72, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x2b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x3a, 0x3a, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x73, 0x70, 0x61, 0x6e, + 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x42, 0xd8, 0x02, 0xea, 0x41, 0x4a, 0x0a, + 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x42, + 0x19, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x6f, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x70, 0x62, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x26, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x26, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x53, 0x70, 0x61, + 0x6e, 0x6e, 0x65, 0x72, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x2b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, + 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x3a, + 0x3a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3335,24 +3409,24 @@ type DatabaseAdminClient interface { // // While the operation is pending: // - // * The database's + // - The database's // [reconciling][google.spanner.admin.database.v1.Database.reconciling] // field is set to true. - // * Cancelling the operation is best-effort. If the cancellation succeeds, + // - Cancelling the operation is best-effort. If the cancellation succeeds, // the operation metadata's // [cancel_time][google.spanner.admin.database.v1.UpdateDatabaseMetadata.cancel_time] // is set, the updates are reverted, and the operation terminates with a // `CANCELLED` status. - // * New UpdateDatabase requests will return a `FAILED_PRECONDITION` error + // - New UpdateDatabase requests will return a `FAILED_PRECONDITION` error // until the pending operation is done (returns successfully or with // error). - // * Reading the database via the API continues to give the pre-request + // - Reading the database via the API continues to give the pre-request // values. // // Upon completion of the returned operation: // - // * The new values are in effect and readable via the API. - // * The database's + // - The new values are in effect and readable via the API. + // - The database's // [reconciling][google.spanner.admin.database.v1.Database.reconciling] // field becomes false. // @@ -3699,24 +3773,24 @@ type DatabaseAdminServer interface { // // While the operation is pending: // - // * The database's + // - The database's // [reconciling][google.spanner.admin.database.v1.Database.reconciling] // field is set to true. - // * Cancelling the operation is best-effort. If the cancellation succeeds, + // - Cancelling the operation is best-effort. If the cancellation succeeds, // the operation metadata's // [cancel_time][google.spanner.admin.database.v1.UpdateDatabaseMetadata.cancel_time] // is set, the updates are reverted, and the operation terminates with a // `CANCELLED` status. - // * New UpdateDatabase requests will return a `FAILED_PRECONDITION` error + // - New UpdateDatabase requests will return a `FAILED_PRECONDITION` error // until the pending operation is done (returns successfully or with // error). - // * Reading the database via the API continues to give the pre-request + // - Reading the database via the API continues to give the pre-request // values. // // Upon completion of the returned operation: // - // * The new values are in effect and readable via the API. - // * The database's + // - The new values are in effect and readable via the API. + // - The database's // [reconciling][google.spanner.admin.database.v1.Database.reconciling] // field becomes false. // diff --git a/spanner/admin/instance/apiv1/instancepb/spanner_instance_admin.pb.go b/spanner/admin/instance/apiv1/instancepb/spanner_instance_admin.pb.go index a616f1d6d62..342719415d6 100755 --- a/spanner/admin/instance/apiv1/instancepb/spanner_instance_admin.pb.go +++ b/spanner/admin/instance/apiv1/instancepb/spanner_instance_admin.pb.go @@ -387,11 +387,11 @@ type InstanceConfig struct { // And they can be used as arguments to policy management rules (e.g. route, // firewall, load balancing, etc.). // - // * Label keys must be between 1 and 63 characters long and must conform to - // the following regular expression: `[a-z][a-z0-9_-]{0,62}`. - // * Label values must be between 0 and 63 characters long and must conform - // to the regular expression `[a-z0-9_-]{0,63}`. - // * No more than 64 labels can be associated with a given resource. + // - Label keys must be between 1 and 63 characters long and must conform to + // the following regular expression: `[a-z][a-z0-9_-]{0,62}`. + // - Label values must be between 0 and 63 characters long and must conform + // to the regular expression `[a-z0-9_-]{0,63}`. + // - No more than 64 labels can be associated with a given resource. // // See https://goo.gl/xmQnxf for more information on and examples of labels. // @@ -653,11 +653,11 @@ type Instance struct { // And they can be used as arguments to policy management rules (e.g. route, // firewall, load balancing, etc.). // - // * Label keys must be between 1 and 63 characters long and must conform to - // the following regular expression: `[a-z][a-z0-9_-]{0,62}`. - // * Label values must be between 0 and 63 characters long and must conform - // to the regular expression `[a-z0-9_-]{0,63}`. - // * No more than 64 labels can be associated with a given resource. + // - Label keys must be between 1 and 63 characters long and must conform to + // the following regular expression: `[a-z][a-z0-9_-]{0,62}`. + // - Label values must be between 0 and 63 characters long and must conform + // to the regular expression `[a-z0-9_-]{0,63}`. + // - No more than 64 labels can be associated with a given resource. // // See https://goo.gl/xmQnxf for more information on and examples of labels. // @@ -1234,19 +1234,19 @@ type ListInstanceConfigOperationsRequest struct { // The following fields in the [Operation][google.longrunning.Operation] // are eligible for filtering: // - // * `name` - The name of the long-running operation - // * `done` - False if the operation is in progress, else true. - // * `metadata.@type` - the type of metadata. For example, the type string - // for - // [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata] - // is - // `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`. - // * `metadata.` - any field in metadata.value. - // `metadata.@type` must be specified first, if filtering on metadata - // fields. - // * `error` - Error associated with the long-running operation. - // * `response.@type` - the type of response. - // * `response.` - any field in response.value. + // - `name` - The name of the long-running operation + // - `done` - False if the operation is in progress, else true. + // - `metadata.@type` - the type of metadata. For example, the type string + // for + // [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata] + // is + // `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`. + // - `metadata.` - any field in metadata.value. + // `metadata.@type` must be specified first, if filtering on metadata + // fields. + // - `error` - Error associated with the long-running operation. + // - `response.@type` - the type of response. + // - `response.` - any field in response.value. // // You can combine multiple expressions by enclosing each expression in // parentheses. By default, expressions are combined with AND logic. However, @@ -1254,18 +1254,18 @@ type ListInstanceConfigOperationsRequest struct { // // Here are a few examples: // - // * `done:true` - The operation is complete. - // * `(metadata.@type=` \ + // - `done:true` - The operation is complete. + // - `(metadata.@type=` \ // `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata) // AND` \ // `(metadata.instance_config.name:custom-config) AND` \ // `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \ // `(error:*)` - Return operations where: - // * The operation's metadata type is + // - The operation's metadata type is // [CreateInstanceConfigMetadata][google.spanner.admin.instance.v1.CreateInstanceConfigMetadata]. - // * The instance config name contains "custom-config". - // * The operation started before 2021-03-28T14:50:00Z. - // * The operation resulted in an error. + // - The instance config name contains "custom-config". + // - The operation started before 2021-03-28T14:50:00Z. + // - The operation resulted in an error. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Number of operations to be returned in the response. If 0 or // less, defaults to the server's maximum allowed page size. @@ -1559,22 +1559,22 @@ type ListInstancesRequest struct { // An expression for filtering the results of the request. Filter rules are // case insensitive. The fields eligible for filtering are: // - // * `name` - // * `display_name` - // * `labels.key` where key is the name of a label + // - `name` + // - `display_name` + // - `labels.key` where key is the name of a label // // Some examples of using filters are: // - // * `name:*` --> The instance has a name. - // * `name:Howl` --> The instance's name contains the string "howl". - // * `name:HOWL` --> Equivalent to above. - // * `NAME:howl` --> Equivalent to above. - // * `labels.env:*` --> The instance has the label "env". - // * `labels.env:dev` --> The instance has the label "env" and the value of - // the label contains the string "dev". - // * `name:howl labels.env:dev` --> The instance's name contains "howl" and - // it has the label "env" with its value - // containing "dev". + // - `name:*` --> The instance has a name. + // - `name:Howl` --> The instance's name contains the string "howl". + // - `name:HOWL` --> Equivalent to above. + // - `NAME:howl` --> Equivalent to above. + // - `labels.env:*` --> The instance has the label "env". + // - `labels.env:dev` --> The instance has the label "env" and the value of + // the label contains the string "dev". + // - `name:howl labels.env:dev` --> The instance's name contains "howl" and + // it has the label "env" with its value + // containing "dev". Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } @@ -2131,6 +2131,7 @@ type AutoscalingConfig_AutoscalingLimits struct { // The minimum compute capacity for the instance. // // Types that are assignable to MinLimit: + // // *AutoscalingConfig_AutoscalingLimits_MinNodes // *AutoscalingConfig_AutoscalingLimits_MinProcessingUnits MinLimit isAutoscalingConfig_AutoscalingLimits_MinLimit `protobuf_oneof:"min_limit"` @@ -2139,6 +2140,7 @@ type AutoscalingConfig_AutoscalingLimits struct { // capacity. // // Types that are assignable to MaxLimit: + // // *AutoscalingConfig_AutoscalingLimits_MaxNodes // *AutoscalingConfig_AutoscalingLimits_MaxProcessingUnits MaxLimit isAutoscalingConfig_AutoscalingLimits_MaxLimit `protobuf_oneof:"max_limit"` @@ -3443,24 +3445,24 @@ type InstanceAdminClient interface { // // Immediately after the request returns: // - // * The instance config is readable via the API, with all requested + // - The instance config is readable via the API, with all requested // attributes. The instance config's // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] // field is set to true. Its state is `CREATING`. // // While the operation is pending: // - // * Cancelling the operation renders the instance config immediately + // - Cancelling the operation renders the instance config immediately // unreadable via the API. - // * Except for deleting the creating resource, all other attempts to modify + // - Except for deleting the creating resource, all other attempts to modify // the instance config are rejected. // // Upon completion of the returned operation: // - // * Instances can be created using the instance configuration. - // * The instance config's - // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] - // field becomes false. Its state becomes `READY`. + // - Instances can be created using the instance configuration. + // - The instance config's + // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] + // field becomes false. Its state becomes `READY`. // // The returned [long-running operation][google.longrunning.Operation] will // have a name of the format @@ -3485,28 +3487,28 @@ type InstanceAdminClient interface { // // Immediately after the request returns: // - // * The instance config's + // - The instance config's // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] // field is set to true. // // While the operation is pending: // - // * Cancelling the operation sets its metadata's + // - Cancelling the operation sets its metadata's // [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.cancel_time]. // The operation is guaranteed to succeed at undoing all changes, after // which point it terminates with a `CANCELLED` status. - // * All other attempts to modify the instance config are rejected. - // * Reading the instance config via the API continues to give the + // - All other attempts to modify the instance config are rejected. + // - Reading the instance config via the API continues to give the // pre-request values. // // Upon completion of the returned operation: // - // * Creating instances using the instance configuration uses the new + // - Creating instances using the instance configuration uses the new // values. - // * The instance config's new values are readable via the API. - // * The instance config's - // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] - // field becomes false. + // - The instance config's new values are readable via the API. + // - The instance config's + // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] + // field becomes false. // // The returned [long-running operation][google.longrunning.Operation] will // have a name of the format @@ -3555,23 +3557,23 @@ type InstanceAdminClient interface { // // Immediately upon completion of this request: // - // * The instance is readable via the API, with all requested attributes + // - The instance is readable via the API, with all requested attributes // but no allocated resources. Its state is `CREATING`. // // Until completion of the returned operation: // - // * Cancelling the operation renders the instance immediately unreadable + // - Cancelling the operation renders the instance immediately unreadable // via the API. - // * The instance can be deleted. - // * All other attempts to modify the instance are rejected. + // - The instance can be deleted. + // - All other attempts to modify the instance are rejected. // // Upon completion of the returned operation: // - // * Billing for all successfully-allocated resources begins (some types + // - Billing for all successfully-allocated resources begins (some types // may have lower than the requested levels). - // * Databases can be created in the instance. - // * The instance's allocated resource levels are readable via the API. - // * The instance's state becomes `READY`. + // - Databases can be created in the instance. + // - The instance's allocated resource levels are readable via the API. + // - The instance's state becomes `READY`. // // The returned [long-running operation][google.longrunning.Operation] will // have a name of the format `/operations/` and @@ -3589,27 +3591,27 @@ type InstanceAdminClient interface { // // Immediately upon completion of this request: // - // * For resource types for which a decrease in the instance's allocation + // - For resource types for which a decrease in the instance's allocation // has been requested, billing is based on the newly-requested level. // // Until completion of the returned operation: // - // * Cancelling the operation sets its metadata's + // - Cancelling the operation sets its metadata's // [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time], // and begins restoring resources to their pre-request values. The // operation is guaranteed to succeed at undoing all resource changes, // after which point it terminates with a `CANCELLED` status. - // * All other attempts to modify the instance are rejected. - // * Reading the instance via the API continues to give the pre-request + // - All other attempts to modify the instance are rejected. + // - Reading the instance via the API continues to give the pre-request // resource levels. // // Upon completion of the returned operation: // - // * Billing begins for all successfully-allocated resources (some types + // - Billing begins for all successfully-allocated resources (some types // may have lower than the requested levels). - // * All newly-reserved resources are available for serving the instance's + // - All newly-reserved resources are available for serving the instance's // tables. - // * The instance's new resource levels are readable via the API. + // - The instance's new resource levels are readable via the API. // // The returned [long-running operation][google.longrunning.Operation] will // have a name of the format `/operations/` and @@ -3626,11 +3628,11 @@ type InstanceAdminClient interface { // // Immediately upon completion of the request: // - // * Billing ceases for all of the instance's reserved resources. + // - Billing ceases for all of the instance's reserved resources. // // Soon afterward: // - // * The instance and *all of its databases* immediately and + // - The instance and *all of its databases* immediately and // irrevocably disappear from the API. All data in the databases // is permanently deleted. DeleteInstance(ctx context.Context, in *DeleteInstanceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) @@ -3804,24 +3806,24 @@ type InstanceAdminServer interface { // // Immediately after the request returns: // - // * The instance config is readable via the API, with all requested + // - The instance config is readable via the API, with all requested // attributes. The instance config's // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] // field is set to true. Its state is `CREATING`. // // While the operation is pending: // - // * Cancelling the operation renders the instance config immediately + // - Cancelling the operation renders the instance config immediately // unreadable via the API. - // * Except for deleting the creating resource, all other attempts to modify + // - Except for deleting the creating resource, all other attempts to modify // the instance config are rejected. // // Upon completion of the returned operation: // - // * Instances can be created using the instance configuration. - // * The instance config's - // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] - // field becomes false. Its state becomes `READY`. + // - Instances can be created using the instance configuration. + // - The instance config's + // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] + // field becomes false. Its state becomes `READY`. // // The returned [long-running operation][google.longrunning.Operation] will // have a name of the format @@ -3846,28 +3848,28 @@ type InstanceAdminServer interface { // // Immediately after the request returns: // - // * The instance config's + // - The instance config's // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] // field is set to true. // // While the operation is pending: // - // * Cancelling the operation sets its metadata's + // - Cancelling the operation sets its metadata's // [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.cancel_time]. // The operation is guaranteed to succeed at undoing all changes, after // which point it terminates with a `CANCELLED` status. - // * All other attempts to modify the instance config are rejected. - // * Reading the instance config via the API continues to give the + // - All other attempts to modify the instance config are rejected. + // - Reading the instance config via the API continues to give the // pre-request values. // // Upon completion of the returned operation: // - // * Creating instances using the instance configuration uses the new + // - Creating instances using the instance configuration uses the new // values. - // * The instance config's new values are readable via the API. - // * The instance config's - // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] - // field becomes false. + // - The instance config's new values are readable via the API. + // - The instance config's + // [reconciling][google.spanner.admin.instance.v1.InstanceConfig.reconciling] + // field becomes false. // // The returned [long-running operation][google.longrunning.Operation] will // have a name of the format @@ -3916,23 +3918,23 @@ type InstanceAdminServer interface { // // Immediately upon completion of this request: // - // * The instance is readable via the API, with all requested attributes + // - The instance is readable via the API, with all requested attributes // but no allocated resources. Its state is `CREATING`. // // Until completion of the returned operation: // - // * Cancelling the operation renders the instance immediately unreadable + // - Cancelling the operation renders the instance immediately unreadable // via the API. - // * The instance can be deleted. - // * All other attempts to modify the instance are rejected. + // - The instance can be deleted. + // - All other attempts to modify the instance are rejected. // // Upon completion of the returned operation: // - // * Billing for all successfully-allocated resources begins (some types + // - Billing for all successfully-allocated resources begins (some types // may have lower than the requested levels). - // * Databases can be created in the instance. - // * The instance's allocated resource levels are readable via the API. - // * The instance's state becomes `READY`. + // - Databases can be created in the instance. + // - The instance's allocated resource levels are readable via the API. + // - The instance's state becomes `READY`. // // The returned [long-running operation][google.longrunning.Operation] will // have a name of the format `/operations/` and @@ -3950,27 +3952,27 @@ type InstanceAdminServer interface { // // Immediately upon completion of this request: // - // * For resource types for which a decrease in the instance's allocation + // - For resource types for which a decrease in the instance's allocation // has been requested, billing is based on the newly-requested level. // // Until completion of the returned operation: // - // * Cancelling the operation sets its metadata's + // - Cancelling the operation sets its metadata's // [cancel_time][google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time], // and begins restoring resources to their pre-request values. The // operation is guaranteed to succeed at undoing all resource changes, // after which point it terminates with a `CANCELLED` status. - // * All other attempts to modify the instance are rejected. - // * Reading the instance via the API continues to give the pre-request + // - All other attempts to modify the instance are rejected. + // - Reading the instance via the API continues to give the pre-request // resource levels. // // Upon completion of the returned operation: // - // * Billing begins for all successfully-allocated resources (some types + // - Billing begins for all successfully-allocated resources (some types // may have lower than the requested levels). - // * All newly-reserved resources are available for serving the instance's + // - All newly-reserved resources are available for serving the instance's // tables. - // * The instance's new resource levels are readable via the API. + // - The instance's new resource levels are readable via the API. // // The returned [long-running operation][google.longrunning.Operation] will // have a name of the format `/operations/` and @@ -3987,11 +3989,11 @@ type InstanceAdminServer interface { // // Immediately upon completion of the request: // - // * Billing ceases for all of the instance's reserved resources. + // - Billing ceases for all of the instance's reserved resources. // // Soon afterward: // - // * The instance and *all of its databases* immediately and + // - The instance and *all of its databases* immediately and // irrevocably disappear from the API. All data in the databases // is permanently deleted. DeleteInstance(context.Context, *DeleteInstanceRequest) (*emptypb.Empty, error) diff --git a/spanner/apiv1/spannerpb/keys.pb.go b/spanner/apiv1/spannerpb/keys.pb.go index 606082cb38f..18c4d5341a4 100755 --- a/spanner/apiv1/spannerpb/keys.pb.go +++ b/spanner/apiv1/spannerpb/keys.pb.go @@ -132,12 +132,14 @@ type KeyRange struct { // The start key must be provided. It can be either closed or open. // // Types that are assignable to StartKeyType: + // // *KeyRange_StartClosed // *KeyRange_StartOpen StartKeyType isKeyRange_StartKeyType `protobuf_oneof:"start_key_type"` // The end key must be provided. It can be either closed or open. // // Types that are assignable to EndKeyType: + // // *KeyRange_EndClosed // *KeyRange_EndOpen EndKeyType isKeyRange_EndKeyType `protobuf_oneof:"end_key_type"` diff --git a/spanner/apiv1/spannerpb/mutation.pb.go b/spanner/apiv1/spannerpb/mutation.pb.go index b51672ef7e7..28294c53859 100755 --- a/spanner/apiv1/spannerpb/mutation.pb.go +++ b/spanner/apiv1/spannerpb/mutation.pb.go @@ -48,6 +48,7 @@ type Mutation struct { // Required. The operation to perform. // // Types that are assignable to Operation: + // // *Mutation_Insert // *Mutation_Update // *Mutation_InsertOrUpdate diff --git a/spanner/apiv1/spannerpb/query_plan.pb.go b/spanner/apiv1/spannerpb/query_plan.pb.go index 605b5eb79b5..7fb6ed54754 100755 --- a/spanner/apiv1/spannerpb/query_plan.pb.go +++ b/spanner/apiv1/spannerpb/query_plan.pb.go @@ -119,10 +119,10 @@ type PlanNode struct { // For example, a Parameter Reference node could have the following // information in its metadata: // - // { - // "parameter_reference": "param1", - // "parameter_type": "array" - // } + // { + // "parameter_reference": "param1", + // "parameter_type": "array" + // } Metadata *structpb.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` // The execution statistics associated with the node, contained in a group of // key-value pairs. Only present if the plan was returned as a result of a diff --git a/spanner/apiv1/spannerpb/result_set.pb.go b/spanner/apiv1/spannerpb/result_set.pb.go index 85ea32c2bd2..a3fecf2fd08 100755 --- a/spanner/apiv1/spannerpb/result_set.pb.go +++ b/spanner/apiv1/spannerpb/result_set.pb.go @@ -142,60 +142,60 @@ type PartialResultSet struct { // field. Two or more chunked values can be merged to form a // complete value as follows: // - // * `bool/number/null`: cannot be chunked - // * `string`: concatenate the strings - // * `list`: concatenate the lists. If the last element in a list is a + // - `bool/number/null`: cannot be chunked + // - `string`: concatenate the strings + // - `list`: concatenate the lists. If the last element in a list is a // `string`, `list`, or `object`, merge it with the first element in // the next list by applying these rules recursively. - // * `object`: concatenate the (field name, field value) pairs. If a + // - `object`: concatenate the (field name, field value) pairs. If a // field name is duplicated, then apply these rules recursively // to merge the field values. // // Some examples of merging: // - // # Strings are concatenated. - // "foo", "bar" => "foobar" + // # Strings are concatenated. + // "foo", "bar" => "foobar" // - // # Lists of non-strings are concatenated. - // [2, 3], [4] => [2, 3, 4] + // # Lists of non-strings are concatenated. + // [2, 3], [4] => [2, 3, 4] // - // # Lists are concatenated, but the last and first elements are merged - // # because they are strings. - // ["a", "b"], ["c", "d"] => ["a", "bc", "d"] + // # Lists are concatenated, but the last and first elements are merged + // # because they are strings. + // ["a", "b"], ["c", "d"] => ["a", "bc", "d"] // - // # Lists are concatenated, but the last and first elements are merged - // # because they are lists. Recursively, the last and first elements - // # of the inner lists are merged because they are strings. - // ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"] + // # Lists are concatenated, but the last and first elements are merged + // # because they are lists. Recursively, the last and first elements + // # of the inner lists are merged because they are strings. + // ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"] // - // # Non-overlapping object fields are combined. - // {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"} + // # Non-overlapping object fields are combined. + // {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"} // - // # Overlapping object fields are merged. - // {"a": "1"}, {"a": "2"} => {"a": "12"} + // # Overlapping object fields are merged. + // {"a": "1"}, {"a": "2"} => {"a": "12"} // - // # Examples of merging objects containing lists of strings. - // {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]} + // # Examples of merging objects containing lists of strings. + // {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]} // // For a more complete example, suppose a streaming SQL query is // yielding a result set whose rows contain a single string // field. The following `PartialResultSet`s might be yielded: // - // { - // "metadata": { ... } - // "values": ["Hello", "W"] - // "chunked_value": true - // "resume_token": "Af65..." - // } - // { - // "values": ["orl"] - // "chunked_value": true - // "resume_token": "Bqp2..." - // } - // { - // "values": ["d"] - // "resume_token": "Zx1B..." - // } + // { + // "metadata": { ... } + // "values": ["Hello", "W"] + // "chunked_value": true + // "resume_token": "Af65..." + // } + // { + // "values": ["orl"] + // "chunked_value": true + // "resume_token": "Bqp2..." + // } + // { + // "values": ["d"] + // "resume_token": "Zx1B..." + // } // // This sequence of `PartialResultSet`s encodes two rows, one // containing the field value `"Hello"`, and a second containing the @@ -297,10 +297,10 @@ type ResultSetMetadata struct { // set. For example, a SQL query like `"SELECT UserId, UserName FROM // Users"` could return a `row_type` value like: // - // "fields": [ - // { "name": "UserId", "type": { "code": "INT64" } }, - // { "name": "UserName", "type": { "code": "STRING" } }, - // ] + // "fields": [ + // { "name": "UserId", "type": { "code": "INT64" } }, + // { "name": "UserName", "type": { "code": "STRING" } }, + // ] RowType *StructType `protobuf:"bytes,1,opt,name=row_type,json=rowType,proto3" json:"row_type,omitempty"` // If the read or SQL query began a transaction as a side-effect, the // information about the new transaction is yielded here. @@ -311,10 +311,10 @@ type ResultSetMetadata struct { // Users where UserId = @userId and UserName = @userName "` could return a // `undeclared_parameters` value like: // - // "fields": [ - // { "name": "UserId", "type": { "code": "INT64" } }, - // { "name": "UserName", "type": { "code": "STRING" } }, - // ] + // "fields": [ + // { "name": "UserId", "type": { "code": "INT64" } }, + // { "name": "UserName", "type": { "code": "STRING" } }, + // ] UndeclaredParameters *StructType `protobuf:"bytes,3,opt,name=undeclared_parameters,json=undeclaredParameters,proto3" json:"undeclared_parameters,omitempty"` } @@ -383,15 +383,16 @@ type ResultSetStats struct { // the query is profiled. For example, a query could return the statistics as // follows: // - // { - // "rows_returned": "3", - // "elapsed_time": "1.22 secs", - // "cpu_time": "1.19 secs" - // } + // { + // "rows_returned": "3", + // "elapsed_time": "1.22 secs", + // "cpu_time": "1.19 secs" + // } QueryStats *structpb.Struct `protobuf:"bytes,2,opt,name=query_stats,json=queryStats,proto3" json:"query_stats,omitempty"` // The number of rows modified by the DML statement. // // Types that are assignable to RowCount: + // // *ResultSetStats_RowCountExact // *ResultSetStats_RowCountLowerBound RowCount isResultSetStats_RowCount `protobuf_oneof:"row_count"` diff --git a/spanner/apiv1/spannerpb/spanner.pb.go b/spanner/apiv1/spannerpb/spanner.pb.go index 00f90d551e7..df42784e3f4 100755 --- a/spanner/apiv1/spannerpb/spanner.pb.go +++ b/spanner/apiv1/spannerpb/spanner.pb.go @@ -416,11 +416,11 @@ type Session struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The labels for the session. // - // * Label keys must be between 1 and 63 characters long and must conform to - // the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. - // * Label values must be between 0 and 63 characters long and must conform - // to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. - // * No more than 64 labels can be associated with a given session. + // - Label keys must be between 1 and 63 characters long and must conform to + // the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. + // - Label values must be between 0 and 63 characters long and must conform + // to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. + // - No more than 64 labels can be associated with a given session. // // See https://goo.gl/xmQnxf for more information on and examples of labels. Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` @@ -568,13 +568,13 @@ type ListSessionsRequest struct { // An expression for filtering the results of the request. Filter rules are // case insensitive. The fields eligible for filtering are: // - // * `labels.key` where key is the name of a label + // - `labels.key` where key is the name of a label // // Some examples of using filters are: // - // * `labels.env:*` --> The session has the label "env". - // * `labels.env:dev` --> The session has the label "env" and the value of - // the label contains the string "dev". + // - `labels.env:*` --> The session has the label "env". + // - `labels.env:dev` --> The session has the label "env" and the value of + // the label contains the string "dev". Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } @@ -848,6 +848,7 @@ type DirectedReadOptions struct { // should be present in the message. // // Types that are assignable to Replicas: + // // *DirectedReadOptions_IncludeReplicas_ // *DirectedReadOptions_ExcludeReplicas_ Replicas isDirectedReadOptions_Replicas `protobuf_oneof:"replicas"` @@ -2035,6 +2036,7 @@ type CommitRequest struct { // Required. The transaction in which to commit. // // Types that are assignable to Transaction: + // // *CommitRequest_TransactionId // *CommitRequest_SingleUseTransaction Transaction isCommitRequest_Transaction `protobuf_oneof:"transaction"` diff --git a/spanner/apiv1/spannerpb/transaction.pb.go b/spanner/apiv1/spannerpb/transaction.pb.go index d9dcfbecb21..d9b50104edf 100755 --- a/spanner/apiv1/spannerpb/transaction.pb.go +++ b/spanner/apiv1/spannerpb/transaction.pb.go @@ -431,6 +431,7 @@ type TransactionOptions struct { // Required. The type of transaction. // // Types that are assignable to Mode: + // // *TransactionOptions_ReadWrite_ // *TransactionOptions_PartitionedDml_ // *TransactionOptions_ReadOnly_ @@ -619,6 +620,7 @@ type TransactionSelector struct { // with strong concurrency. // // Types that are assignable to Selector: + // // *TransactionSelector_SingleUse // *TransactionSelector_Id // *TransactionSelector_Begin @@ -813,6 +815,7 @@ type TransactionOptions_ReadOnly struct { // How to choose the timestamp for the read-only transaction. // // Types that are assignable to TimestampBound: + // // *TransactionOptions_ReadOnly_Strong // *TransactionOptions_ReadOnly_MinReadTimestamp // *TransactionOptions_ReadOnly_MaxStaleness diff --git a/spanner/apiv1/spannerpb/type.pb.go b/spanner/apiv1/spannerpb/type.pb.go index 9d9332270a0..db605dec3ca 100755 --- a/spanner/apiv1/spannerpb/type.pb.go +++ b/spanner/apiv1/spannerpb/type.pb.go @@ -55,6 +55,9 @@ const ( // Encoded as `number`, or the strings `"NaN"`, `"Infinity"`, or // `"-Infinity"`. TypeCode_FLOAT64 TypeCode = 3 + // Encoded as `number`, or the strings `"NaN"`, `"Infinity"`, or + // `"-Infinity"`. + TypeCode_FLOAT32 TypeCode = 15 // Encoded as `string` in RFC 3339 timestamp format. The time zone // must be present, and must be `"Z"`. // @@ -91,11 +94,11 @@ const ( // Encoded as a JSON-formatted `string` as described in RFC 7159. The // following rules are applied when parsing JSON input: // - // - Whitespace characters are not preserved. - // - If a JSON object has duplicate keys, only the first key is preserved. - // - Members of a JSON object are not guaranteed to have their order - // preserved. - // - JSON array elements will have their order preserved. + // - Whitespace characters are not preserved. + // - If a JSON object has duplicate keys, only the first key is preserved. + // - Members of a JSON object are not guaranteed to have their order + // preserved. + // - JSON array elements will have their order preserved. TypeCode_JSON TypeCode = 11 // Encoded as a base64-encoded `string`, as described in RFC 4648, // section 4. @@ -111,6 +114,7 @@ var ( 1: "BOOL", 2: "INT64", 3: "FLOAT64", + 15: "FLOAT32", 4: "TIMESTAMP", 5: "DATE", 6: "STRING", @@ -127,6 +131,7 @@ var ( "BOOL": 1, "INT64": 2, "FLOAT64": 3, + "FLOAT32": 15, "TIMESTAMP": 4, "DATE": 5, "STRING": 6, @@ -492,36 +497,37 @@ var file_google_spanner_v1_type_proto_rawDesc = []byte{ 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x2a, 0xba, 0x01, 0x0a, 0x08, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x64, + 0x74, 0x79, 0x70, 0x65, 0x2a, 0xc7, 0x01, 0x0a, 0x08, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, - 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x36, 0x34, 0x10, 0x03, 0x12, 0x0d, - 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x04, 0x12, 0x08, 0x0a, - 0x04, 0x44, 0x41, 0x54, 0x45, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, - 0x47, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x07, 0x12, 0x09, - 0x0a, 0x05, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, - 0x55, 0x43, 0x54, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, - 0x10, 0x0a, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x0b, 0x12, 0x09, 0x0a, 0x05, - 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x10, 0x0d, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x4e, 0x55, 0x4d, 0x10, - 0x0e, 0x2a, 0x64, 0x0a, 0x12, 0x54, 0x79, 0x70, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, - 0x0a, 0x50, 0x47, 0x5f, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0x02, 0x12, 0x0c, 0x0a, - 0x08, 0x50, 0x47, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x42, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x50, - 0x47, 0x5f, 0x4f, 0x49, 0x44, 0x10, 0x04, 0x42, 0xac, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x42, 0x09, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x67, 0x6f, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x76, - 0x31, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x70, 0x62, 0x3b, 0x73, 0x70, 0x61, 0x6e, - 0x6e, 0x65, 0x72, 0x70, 0x62, 0xaa, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, - 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x53, - 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x53, 0x70, 0x61, 0x6e, 0x6e, - 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x36, 0x34, 0x10, 0x03, 0x12, 0x0b, + 0x0a, 0x07, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x33, 0x32, 0x10, 0x0f, 0x12, 0x0d, 0x0a, 0x09, 0x54, + 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, + 0x54, 0x45, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x06, + 0x12, 0x09, 0x0a, 0x05, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x41, + 0x52, 0x52, 0x41, 0x59, 0x10, 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, + 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0x0a, 0x12, + 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x0b, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x52, 0x4f, + 0x54, 0x4f, 0x10, 0x0d, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x0e, 0x2a, 0x64, + 0x0a, 0x12, 0x54, 0x79, 0x70, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x4e, + 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x47, + 0x5f, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x47, + 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x42, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x47, 0x5f, 0x4f, + 0x49, 0x44, 0x10, 0x04, 0x42, 0xac, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, 0x09, + 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, + 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x73, + 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x70, 0x62, 0x3b, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, + 0x70, 0x62, 0xaa, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x17, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x53, 0x70, 0x61, 0x6e, + 0x6e, 0x65, 0x72, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, + 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/spanner/executor/apiv1/executorpb/cloud_executor.pb.go b/spanner/executor/apiv1/executorpb/cloud_executor.pb.go index 97a21081e23..90e58f4b87a 100755 --- a/spanner/executor/apiv1/executorpb/cloud_executor.pb.go +++ b/spanner/executor/apiv1/executorpb/cloud_executor.pb.go @@ -294,6 +294,7 @@ type SpannerAction struct { // per SpannerAction. // // Types that are assignable to Action: + // // *SpannerAction_Start // *SpannerAction_Finish // *SpannerAction_Read @@ -849,6 +850,7 @@ type Value struct { // Exactly one of the following fields will be present. // // Types that are assignable to ValueType: + // // *Value_IsNull // *Value_IntValue // *Value_BoolValue @@ -1517,6 +1519,7 @@ type Concurrency struct { // should be set. // // Types that are assignable to ConcurrencyMode: + // // *Concurrency_StalenessSeconds // *Concurrency_MinReadTimestampMicros // *Concurrency_MaxStalenessSeconds @@ -1919,6 +1922,7 @@ type AdminAction struct { // Exactly one of the actions below will be performed in AdminAction. // // Types that are assignable to Action: + // // *AdminAction_CreateUserInstanceConfig // *AdminAction_UpdateUserInstanceConfig // *AdminAction_DeleteUserInstanceConfig @@ -4585,6 +4589,7 @@ type StartBatchTransactionAction struct { // set. // // Types that are assignable to Param: + // // *StartBatchTransactionAction_BatchTxnTime // *StartBatchTransactionAction_Tid Param isStartBatchTransactionAction_Param `protobuf_oneof:"param"` @@ -5859,6 +5864,7 @@ type ChangeStreamRecord struct { // Record represents one type of the change stream record. // // Types that are assignable to Record: + // // *ChangeStreamRecord_DataChange // *ChangeStreamRecord_ChildPartition // *ChangeStreamRecord_Heartbeat diff --git a/speech/apiv1/speechpb/cloud_speech.pb.go b/speech/apiv1/speechpb/cloud_speech.pb.go index f13bcdaa007..452b41695b2 100755 --- a/speech/apiv1/speechpb/cloud_speech.pb.go +++ b/speech/apiv1/speechpb/cloud_speech.pb.go @@ -649,6 +649,7 @@ type TranscriptOutputConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to OutputType: + // // *TranscriptOutputConfig_GcsUri OutputType isTranscriptOutputConfig_OutputType `protobuf_oneof:"output_type"` } @@ -725,6 +726,7 @@ type StreamingRecognizeRequest struct { // The streaming request, which is either a streaming config or audio content. // // Types that are assignable to StreamingRequest: + // // *StreamingRecognizeRequest_StreamingConfig // *StreamingRecognizeRequest_AudioContent StreamingRequest isStreamingRecognizeRequest_StreamingRequest `protobuf_oneof:"streaming_request"` @@ -836,11 +838,11 @@ type StreamingRecognitionConfig struct { // otherwise an error is thrown. The `model` field in [`RecognitionConfig`][] // must be set to: // - // * `command_and_search` - // * `phone_call` AND additional field `useEnhanced`=`true` - // * The `model` field is left undefined. In this case the API auto-selects - // a model based on any other parameters that you set in - // `RecognitionConfig`. + // - `command_and_search` + // - `phone_call` AND additional field `useEnhanced`=`true` + // - The `model` field is left undefined. In this case the API auto-selects + // a model based on any other parameters that you set in + // `RecognitionConfig`. SingleUtterance bool `protobuf:"varint,2,opt,name=single_utterance,json=singleUtterance,proto3" json:"single_utterance,omitempty"` // If `true`, interim results (tentative hypotheses) may be // returned as they become available (these interim results are indicated with @@ -1053,51 +1055,53 @@ type RecognitionConfig struct { // explicitly specified, then we auto-select a model based on the parameters // in the RecognitionConfig. // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // //
ModelDescription
latest_longBest for long form content like media or conversation.
latest_shortBest for short form content like commands or single shot directed - // speech.
command_and_searchBest for short queries such as voice commands or voice search.
phone_callBest for audio that originated from a phone call (typically - // recorded at an 8khz sampling rate).
videoBest for audio that originated from video or includes multiple - // speakers. Ideally the audio is recorded at a 16khz or greater - // sampling rate. This is a premium model that costs more than the - // standard rate.
defaultBest for audio that is not one of the specific audio models. - // For example, long-form audio. Ideally the audio is high-fidelity, - // recorded at a 16khz or greater sampling rate.
medical_conversationBest for audio that originated from a conversation between a - // medical provider and patient.
medical_dictationBest for audio that originated from dictation notes by a medical - // provider.
ModelDescription
latest_longBest for long form content like media or conversation.
latest_shortBest for short form content like commands or single shot directed + // speech.
command_and_searchBest for short queries such as voice commands or voice search.
phone_callBest for audio that originated from a phone call (typically + // recorded at an 8khz sampling rate).
videoBest for audio that originated from video or includes multiple + // speakers. Ideally the audio is recorded at a 16khz or greater + // sampling rate. This is a premium model that costs more than the + // standard rate.
defaultBest for audio that is not one of the specific audio models. + // For example, long-form audio. Ideally the audio is high-fidelity, + // recorded at a 16khz or greater sampling rate.
medical_conversationBest for audio that originated from a conversation between a + // medical provider and patient.
medical_dictationBest for audio that originated from dictation notes by a medical + // provider.
Model string `protobuf:"bytes,13,opt,name=model,proto3" json:"model,omitempty"` // Set to true to use an enhanced model for speech recognition. @@ -1581,6 +1585,7 @@ type RecognitionAudio struct { // Storage uri. // // Types that are assignable to AudioSource: + // // *RecognitionAudio_Content // *RecognitionAudio_Uri AudioSource isRecognitionAudio_AudioSource `protobuf_oneof:"audio_source"` diff --git a/speech/apiv1p1beta1/speechpb/cloud_speech.pb.go b/speech/apiv1p1beta1/speechpb/cloud_speech.pb.go index 23df3be8827..c335a609a79 100755 --- a/speech/apiv1p1beta1/speechpb/cloud_speech.pb.go +++ b/speech/apiv1p1beta1/speechpb/cloud_speech.pb.go @@ -649,6 +649,7 @@ type TranscriptOutputConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to OutputType: + // // *TranscriptOutputConfig_GcsUri OutputType isTranscriptOutputConfig_OutputType `protobuf_oneof:"output_type"` } @@ -725,6 +726,7 @@ type StreamingRecognizeRequest struct { // The streaming request, which is either a streaming config or audio content. // // Types that are assignable to StreamingRequest: + // // *StreamingRecognizeRequest_StreamingConfig // *StreamingRecognizeRequest_AudioContent StreamingRequest isStreamingRecognizeRequest_StreamingRequest `protobuf_oneof:"streaming_request"` @@ -836,11 +838,11 @@ type StreamingRecognitionConfig struct { // otherwise an error is thrown. The `model` field in [`RecognitionConfig`][] // must be set to: // - // * `command_and_search` - // * `phone_call` AND additional field `useEnhanced`=`true` - // * The `model` field is left undefined. In this case the API auto-selects - // a model based on any other parameters that you set in - // `RecognitionConfig`. + // - `command_and_search` + // - `phone_call` AND additional field `useEnhanced`=`true` + // - The `model` field is left undefined. In this case the API auto-selects + // a model based on any other parameters that you set in + // `RecognitionConfig`. SingleUtterance bool `protobuf:"varint,2,opt,name=single_utterance,json=singleUtterance,proto3" json:"single_utterance,omitempty"` // If `true`, interim results (tentative hypotheses) may be // returned as they become available (these interim results are indicated with @@ -1066,51 +1068,53 @@ type RecognitionConfig struct { // explicitly specified, then we auto-select a model based on the parameters // in the RecognitionConfig. // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // //
ModelDescription
latest_longBest for long form content like media or conversation.
latest_shortBest for short form content like commands or single shot directed - // speech.
command_and_searchBest for short queries such as voice commands or voice search.
phone_callBest for audio that originated from a phone call (typically - // recorded at an 8khz sampling rate).
videoBest for audio that originated from video or includes multiple - // speakers. Ideally the audio is recorded at a 16khz or greater - // sampling rate. This is a premium model that costs more than the - // standard rate.
defaultBest for audio that is not one of the specific audio models. - // For example, long-form audio. Ideally the audio is high-fidelity, - // recorded at a 16khz or greater sampling rate.
medical_conversationBest for audio that originated from a conversation between a - // medical provider and patient.
medical_dictationBest for audio that originated from dictation notes by a medical - // provider.
ModelDescription
latest_longBest for long form content like media or conversation.
latest_shortBest for short form content like commands or single shot directed + // speech.
command_and_searchBest for short queries such as voice commands or voice search.
phone_callBest for audio that originated from a phone call (typically + // recorded at an 8khz sampling rate).
videoBest for audio that originated from video or includes multiple + // speakers. Ideally the audio is recorded at a 16khz or greater + // sampling rate. This is a premium model that costs more than the + // standard rate.
defaultBest for audio that is not one of the specific audio models. + // For example, long-form audio. Ideally the audio is high-fidelity, + // recorded at a 16khz or greater sampling rate.
medical_conversationBest for audio that originated from a conversation between a + // medical provider and patient.
medical_dictationBest for audio that originated from dictation notes by a medical + // provider.
Model string `protobuf:"bytes,13,opt,name=model,proto3" json:"model,omitempty"` // Set to true to use an enhanced model for speech recognition. @@ -1623,6 +1627,7 @@ type RecognitionAudio struct { // Storage uri. // // Types that are assignable to AudioSource: + // // *RecognitionAudio_Content // *RecognitionAudio_Uri AudioSource isRecognitionAudio_AudioSource `protobuf_oneof:"audio_source"` diff --git a/speech/apiv2/speechpb/cloud_speech.pb.go b/speech/apiv2/speechpb/cloud_speech.pb.go index 78814ab1eb4..e8ee8d2235d 100755 --- a/speech/apiv2/speechpb/cloud_speech.pb.go +++ b/speech/apiv2/speechpb/cloud_speech.pb.go @@ -545,6 +545,7 @@ type OperationMetadata struct { // The request that spawned the Operation. // // Types that are assignable to Request: + // // *OperationMetadata_BatchRecognizeRequest // *OperationMetadata_CreateRecognizerRequest // *OperationMetadata_UpdateRecognizerRequest @@ -566,6 +567,7 @@ type OperationMetadata struct { // Specific metadata per RPC. // // Types that are assignable to Metadata: + // // *OperationMetadata_BatchRecognizeMetadata Metadata isOperationMetadata_Metadata `protobuf_oneof:"metadata"` } @@ -2032,6 +2034,7 @@ type RecognitionConfig struct { // Decoding parameters for audio being sent for recognition. // // Types that are assignable to DecodingConfig: + // // *RecognitionConfig_AutoDecodingConfig // *RecognitionConfig_ExplicitDecodingConfig DecodingConfig isRecognitionConfig_DecodingConfig `protobuf_oneof:"decoding_config"` @@ -2217,6 +2220,7 @@ type RecognizeRequest struct { // Storage URI. // // Types that are assignable to AudioSource: + // // *RecognizeRequest_Content // *RecognizeRequest_Uri AudioSource isRecognizeRequest_AudioSource `protobuf_oneof:"audio_source"` @@ -2888,6 +2892,7 @@ type StreamingRecognizeRequest struct { // {recognizer} segment may be set to `_` to use an empty implicit Recognizer. Recognizer string `protobuf:"bytes,3,opt,name=recognizer,proto3" json:"recognizer,omitempty"` // Types that are assignable to StreamingRequest: + // // *StreamingRecognizeRequest_StreamingConfig // *StreamingRecognizeRequest_Audio StreamingRequest isStreamingRecognizeRequest_StreamingRequest `protobuf_oneof:"streaming_request"` @@ -3187,6 +3192,7 @@ type RecognitionOutputConfig struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Output: + // // *RecognitionOutputConfig_GcsOutputConfig // *RecognitionOutputConfig_InlineResponseConfig Output isRecognitionOutputConfig_Output `protobuf_oneof:"output"` @@ -3497,6 +3503,7 @@ type BatchRecognizeFileResult struct { Error *status.Status `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` Metadata *RecognitionResponseMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` // Types that are assignable to Result: + // // *BatchRecognizeFileResult_CloudStorageResult // *BatchRecognizeFileResult_InlineResult Result isBatchRecognizeFileResult_Result `protobuf_oneof:"result"` @@ -3745,6 +3752,7 @@ type BatchRecognizeFileMetadata struct { // The audio source, which is a Google Cloud Storage URI. // // Types that are assignable to AudioSource: + // // *BatchRecognizeFileMetadata_Uri AudioSource isBatchRecognizeFileMetadata_AudioSource `protobuf_oneof:"audio_source"` // Features and audio metadata to use for the Automatic Speech Recognition. @@ -5751,6 +5759,7 @@ type SpeechAdaptation_AdaptationPhraseSet struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Value: + // // *SpeechAdaptation_AdaptationPhraseSet_PhraseSet // *SpeechAdaptation_AdaptationPhraseSet_InlinePhraseSet Value isSpeechAdaptation_AdaptationPhraseSet_Value `protobuf_oneof:"value"` diff --git a/storage/internal/apiv2/storagepb/storage.pb.go b/storage/internal/apiv2/storagepb/storage.pb.go index 3486fd1533e..7d203335b45 100755 --- a/storage/internal/apiv2/storagepb/storage.pb.go +++ b/storage/internal/apiv2/storagepb/storage.pb.go @@ -2016,6 +2016,7 @@ type WriteObjectRequest struct { // The first message of each stream should set one of the following. // // Types that are assignable to FirstMessage: + // // *WriteObjectRequest_UploadId // *WriteObjectRequest_WriteObjectSpec FirstMessage isWriteObjectRequest_FirstMessage `protobuf_oneof:"first_message"` @@ -2036,6 +2037,7 @@ type WriteObjectRequest struct { // A portion of the data for the object. // // Types that are assignable to Data: + // // *WriteObjectRequest_ChecksummedData Data isWriteObjectRequest_Data `protobuf_oneof:"data"` // Checksums for the complete object. If the checksums computed by the service @@ -2190,6 +2192,7 @@ type WriteObjectResponse struct { // The response will set one of the following. // // Types that are assignable to WriteStatus: + // // *WriteObjectResponse_PersistedSize // *WriteObjectResponse_Resource WriteStatus isWriteObjectResponse_WriteStatus `protobuf_oneof:"write_status"` @@ -2277,6 +2280,7 @@ type BidiWriteObjectRequest struct { // The first message of each stream should set one of the following. // // Types that are assignable to FirstMessage: + // // *BidiWriteObjectRequest_UploadId // *BidiWriteObjectRequest_WriteObjectSpec FirstMessage isBidiWriteObjectRequest_FirstMessage `protobuf_oneof:"first_message"` @@ -2297,6 +2301,7 @@ type BidiWriteObjectRequest struct { // A portion of the data for the object. // // Types that are assignable to Data: + // // *BidiWriteObjectRequest_ChecksummedData Data isBidiWriteObjectRequest_Data `protobuf_oneof:"data"` // Checksums for the complete object. If the checksums computed by the service @@ -2478,6 +2483,7 @@ type BidiWriteObjectResponse struct { // The response will set one of the following. // // Types that are assignable to WriteStatus: + // // *BidiWriteObjectResponse_PersistedSize // *BidiWriteObjectResponse_Resource WriteStatus isBidiWriteObjectResponse_WriteStatus `protobuf_oneof:"write_status"` @@ -2799,6 +2805,7 @@ type QueryWriteStatusResponse struct { // The response will set one of the following. // // Types that are assignable to WriteStatus: + // // *QueryWriteStatusResponse_PersistedSize // *QueryWriteStatusResponse_Resource WriteStatus isQueryWriteStatusResponse_WriteStatus `protobuf_oneof:"write_status"` diff --git a/storageinsights/apiv1/storageinsightspb/storageinsights.pb.go b/storageinsights/apiv1/storageinsightspb/storageinsights.pb.go index 26428807e35..69ee9d88276 100755 --- a/storageinsights/apiv1/storageinsightspb/storageinsights.pb.go +++ b/storageinsights/apiv1/storageinsightspb/storageinsights.pb.go @@ -1273,11 +1273,13 @@ type ObjectMetadataReportOptions struct { // Filter options for storage systems. // // Types that are assignable to Filter: + // // *ObjectMetadataReportOptions_StorageFilters Filter isObjectMetadataReportOptions_Filter `protobuf_oneof:"filter"` // Options on destination for storage systems. // // Types that are assignable to DestinationOptions: + // // *ObjectMetadataReportOptions_StorageDestinationOptions DestinationOptions isObjectMetadataReportOptions_DestinationOptions `protobuf_oneof:"destination_options"` } @@ -1395,12 +1397,14 @@ type ReportConfig struct { // Format in which report will be published. // // Types that are assignable to ReportFormat: + // // *ReportConfig_CsvOptions // *ReportConfig_ParquetOptions ReportFormat isReportConfig_ReportFormat `protobuf_oneof:"report_format"` // Configuration options for report contents. // // Types that are assignable to ReportKind: + // // *ReportConfig_ObjectMetadataReportOptions ReportKind isReportConfig_ReportKind `protobuf_oneof:"report_kind"` // Labels as key value pairs diff --git a/storagetransfer/apiv1/storagetransferpb/transfer.pb.go b/storagetransfer/apiv1/storagetransferpb/transfer.pb.go index 0a02eae8d74..6ee24bb3690 100755 --- a/storagetransfer/apiv1/storagetransferpb/transfer.pb.go +++ b/storagetransfer/apiv1/storagetransferpb/transfer.pb.go @@ -367,8 +367,9 @@ type ListTransferJobsRequest struct { // Required. A list of query parameters specified as JSON text in the form of: // `{"projectId":"my_project_id", - // "jobNames":["jobid1","jobid2",...], - // "jobStatuses":["status1","status2",...]}` + // + // "jobNames":["jobid1","jobid2",...], + // "jobStatuses":["status1","status2",...]}` // // Since `jobNames` and `jobStatuses` support multiple values, their values // must be specified with array notation. `projectId` is required. @@ -670,9 +671,9 @@ type CreateAgentPoolRequest struct { // * Length of 128 characters or less. // * Not start with the string `goog`. // * Start with a lowercase ASCII character, followed by: - // * Zero or more: lowercase Latin alphabet characters, numerals, - // hyphens (`-`), periods (`.`), underscores (`_`), or tildes (`~`). - // * One or more numerals or lowercase ASCII characters. + // - Zero or more: lowercase Latin alphabet characters, numerals, + // hyphens (`-`), periods (`.`), underscores (`_`), or tildes (`~`). + // - One or more numerals or lowercase ASCII characters. // // As expressed by the regular expression: // `^(?!goog)[a-z]([a-z0-9-._~]*[a-z0-9])?$`. diff --git a/storagetransfer/apiv1/storagetransferpb/transfer_types.pb.go b/storagetransfer/apiv1/storagetransferpb/transfer_types.pb.go index ca1096f9c44..7859482e9a1 100755 --- a/storagetransfer/apiv1/storagetransferpb/transfer_types.pb.go +++ b/storagetransfer/apiv1/storagetransferpb/transfer_types.pb.go @@ -1460,7 +1460,9 @@ type ObjectConditions struct { // elapsed time between the // [start_time][google.storagetransfer.v1.TransferOperation.start_time] of the // `TransferOperation`and the "last modification time" of the object - // is less than the value of max_time_elapsed_since_last_modification`. + // + // is less than the value of max_time_elapsed_since_last_modification`. + // // Objects that do not have a "last modification time" are also transferred. MaxTimeElapsedSinceLastModification *durationpb.Duration `protobuf:"bytes,2,opt,name=max_time_elapsed_since_last_modification,json=maxTimeElapsedSinceLastModification,proto3" json:"max_time_elapsed_since_last_modification,omitempty"` // If you specify `include_prefixes`, Storage Transfer Service uses the items @@ -1473,18 +1475,18 @@ type ObjectConditions struct { // // The following are requirements of `include_prefixes`: // - // * Each include-prefix can contain any sequence of Unicode characters, to + // - Each include-prefix can contain any sequence of Unicode characters, to // a max length of 1024 bytes when UTF8-encoded, and must not contain // Carriage Return or Line Feed characters. Wildcard matching and regular // expression matching are not supported. // - // * Each include-prefix must omit the leading slash. For example, to + // - Each include-prefix must omit the leading slash. For example, to // include the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, // specify the include-prefix as `logs/y=2015/requests.gz`. // - // * None of the include-prefix values can be empty, if specified. + // - None of the include-prefix values can be empty, if specified. // - // * Each include-prefix must include a distinct portion of the object + // - Each include-prefix must include a distinct portion of the object // namespace. No include-prefix may be a prefix of another // include-prefix. // @@ -1500,25 +1502,25 @@ type ObjectConditions struct { // // The following are requirements of `exclude_prefixes`: // - // * Each exclude-prefix can contain any sequence of Unicode characters, to + // - Each exclude-prefix can contain any sequence of Unicode characters, to // a max length of 1024 bytes when UTF8-encoded, and must not contain // Carriage Return or Line Feed characters. Wildcard matching and regular // expression matching are not supported. // - // * Each exclude-prefix must omit the leading slash. For example, to + // - Each exclude-prefix must omit the leading slash. For example, to // exclude the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, // specify the exclude-prefix as `logs/y=2015/requests.gz`. // - // * None of the exclude-prefix values can be empty, if specified. + // - None of the exclude-prefix values can be empty, if specified. // - // * Each exclude-prefix must exclude a distinct portion of the object + // - Each exclude-prefix must exclude a distinct portion of the object // namespace. No exclude-prefix may be a prefix of another // exclude-prefix. // - // * If - // [include_prefixes][google.storagetransfer.v1.ObjectConditions.include_prefixes] - // is specified, then each exclude-prefix must start with the value of a - // path explicitly included by `include_prefixes`. + // - If + // [include_prefixes][google.storagetransfer.v1.ObjectConditions.include_prefixes] + // is specified, then each exclude-prefix must start with the value of a + // path explicitly included by `include_prefixes`. // // The max size of `exclude_prefixes` is 1000. // @@ -1725,9 +1727,11 @@ type AwsS3Data struct { // Optional. The Resource name of a secret in Secret Manager. // // The Azure SAS token must be stored in Secret Manager in JSON format: - //

{
-	//  "sas_token" : "SAS_TOKEN"
-	// }
+ // + //
{
+	//	 "sas_token" : "SAS_TOKEN"
+	//	}
+ // // [GoogleServiceAccount][google.storagetransfer.v1.GoogleServiceAccount] must // be granted `roles/secretmanager.secretAccessor` for the resource. // @@ -1842,9 +1846,11 @@ type AzureBlobStorageData struct { // Optional. The Resource name of a secret in Secret Manager. // // The Azure SAS token must be stored in Secret Manager in JSON format: - //
{
-	//  "sas_token" : "SAS_TOKEN"
-	// }
+ // + //
{
+	//	 "sas_token" : "SAS_TOKEN"
+	//	}
+ // // [GoogleServiceAccount][google.storagetransfer.v1.GoogleServiceAccount] must // be granted `roles/secretmanager.secretAccessor` for the resource. // @@ -2092,6 +2098,7 @@ type AwsS3CompatibleData struct { // providers. When not specified, S3CompatibleMetadata is used by default. // // Types that are assignable to DataProvider: + // // *AwsS3CompatibleData_S3Metadata DataProvider isAwsS3CompatibleData_DataProvider `protobuf_oneof:"data_provider"` } @@ -2451,12 +2458,14 @@ type TransferSpec struct { // The write sink for the data. // // Types that are assignable to DataSink: + // // *TransferSpec_GcsDataSink // *TransferSpec_PosixDataSink DataSink isTransferSpec_DataSink `protobuf_oneof:"data_sink"` // The read source of the data. // // Types that are assignable to DataSource: + // // *TransferSpec_GcsDataSource // *TransferSpec_AwsS3DataSource // *TransferSpec_HttpDataSource @@ -2465,6 +2474,7 @@ type TransferSpec struct { // *TransferSpec_AwsS3CompatibleDataSource DataSource isTransferSpec_DataSource `protobuf_oneof:"data_source"` // Types that are assignable to IntermediateDataLocation: + // // *TransferSpec_GcsIntermediateDataLocation IntermediateDataLocation isTransferSpec_IntermediateDataLocation `protobuf_oneof:"intermediate_data_location"` // Only objects that satisfy these object conditions are included in the set @@ -2941,8 +2951,9 @@ type Schedule struct { // * If `schedule_end_date` and // [schedule_start_date][google.storagetransfer.v1.Schedule.schedule_start_date] // are the same and in - // the future relative to UTC, the transfer is executed only one time. - // * If `schedule_end_date` is later than `schedule_start_date` and + // + // the future relative to UTC, the transfer is executed only one time. + // - If `schedule_end_date` is later than `schedule_start_date` and // `schedule_end_date` is in the future relative to UTC, the job runs each // day at // [start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day] @@ -2953,15 +2964,15 @@ type Schedule struct { // // If `start_time_of_day` is not specified: // - // * One-time transfers run immediately. - // * Recurring transfers run immediately, and each day at midnight UTC, + // - One-time transfers run immediately. + // - Recurring transfers run immediately, and each day at midnight UTC, // through // [schedule_end_date][google.storagetransfer.v1.Schedule.schedule_end_date]. // // If `start_time_of_day` is specified: // - // * One-time transfers run at the specified time. - // * Recurring transfers run at the specified time each day, through + // - One-time transfers run at the specified time. + // - Recurring transfers run at the specified time each day, through // `schedule_end_date`. StartTimeOfDay *timeofday.TimeOfDay `protobuf:"bytes,3,opt,name=start_time_of_day,json=startTimeOfDay,proto3" json:"start_time_of_day,omitempty"` // The time in UTC that no further transfer operations are scheduled. Combined @@ -2975,10 +2986,10 @@ type Schedule struct { // [start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day], // and is subject to the following: // - // * If `end_time_of_day` is not set and `schedule_end_date` is set, then + // - If `end_time_of_day` is not set and `schedule_end_date` is set, then // a default value of `23:59:59` is used for `end_time_of_day`. // - // * If `end_time_of_day` is set and `schedule_end_date` is not set, then + // - If `end_time_of_day` is set and `schedule_end_date` is not set, then // [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] is returned. EndTimeOfDay *timeofday.TimeOfDay `protobuf:"bytes,4,opt,name=end_time_of_day,json=endTimeOfDay,proto3" json:"end_time_of_day,omitempty"` // Interval between the start of each scheduled TransferOperation. If diff --git a/talent/apiv4/talentpb/common.pb.go b/talent/apiv4/talentpb/common.pb.go index f25a5811219..3c56d451f74 100755 --- a/talent/apiv4/talentpb/common.pb.go +++ b/talent/apiv4/talentpb/common.pb.go @@ -2136,6 +2136,7 @@ type CompensationInfo_CompensationEntry struct { // Compensation amount. It could be a fixed amount or a floating range. // // Types that are assignable to CompensationAmount: + // // *CompensationInfo_CompensationEntry_Amount // *CompensationInfo_CompensationEntry_Range CompensationAmount isCompensationInfo_CompensationEntry_CompensationAmount `protobuf_oneof:"compensation_amount"` diff --git a/talent/apiv4/talentpb/event.pb.go b/talent/apiv4/talentpb/event.pb.go index 8252c407fd5..86297054a1e 100755 --- a/talent/apiv4/talentpb/event.pb.go +++ b/talent/apiv4/talentpb/event.pb.go @@ -214,6 +214,7 @@ type ClientEvent struct { // The detail information of a specific event type. // // Types that are assignable to Event: + // // *ClientEvent_JobEvent Event isClientEvent_Event `protobuf_oneof:"event"` // Notes about the event provided by recruiters or other users, for example, diff --git a/talent/apiv4/talentpb/filters.pb.go b/talent/apiv4/talentpb/filters.pb.go index 5711f4f6efb..fdbf3e72442 100755 --- a/talent/apiv4/talentpb/filters.pb.go +++ b/talent/apiv4/talentpb/filters.pb.go @@ -297,14 +297,15 @@ type JobQuery struct { // categories are searched against. JobCategories []JobCategory `protobuf:"varint,4,rep,packed,name=job_categories,json=jobCategories,proto3,enum=google.cloud.talent.v4.JobCategory" json:"job_categories,omitempty"` // Allows filtering jobs by commute time with different travel methods (for - // example, driving or public transit). + // + // example, driving or public transit). // // Note: This only works when you specify a // [CommuteMethod][google.cloud.talent.v4.CommuteMethod]. In this case, // [location_filters][google.cloud.talent.v4.JobQuery.location_filters] is // ignored. // - // Currently we don't support sorting by commute time. + // Currently we don't support sorting by commute time. CommuteFilter *CommuteFilter `protobuf:"bytes,5,opt,name=commute_filter,json=commuteFilter,proto3" json:"commute_filter,omitempty"` // This filter specifies the company // [Company.display_name][google.cloud.talent.v4.Company.display_name] of the @@ -385,7 +386,6 @@ type JobQuery struct { // If a value isn't specified, the search results can contain jobs in any // locale. // - // // Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn". // For more information, see // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). @@ -758,6 +758,7 @@ type CommuteFilter struct { // Traffic factor to take into account while searching by commute. // // Types that are assignable to TrafficOption: + // // *CommuteFilter_RoadTraffic_ // *CommuteFilter_DepartureTime TrafficOption isCommuteFilter_TrafficOption `protobuf_oneof:"traffic_option"` diff --git a/talent/apiv4/talentpb/histogram.pb.go b/talent/apiv4/talentpb/histogram.pb.go index f5ac1941244..b5a50b0c9b4 100755 --- a/talent/apiv4/talentpb/histogram.pb.go +++ b/talent/apiv4/talentpb/histogram.pb.go @@ -104,11 +104,11 @@ type HistogramQueryResult struct { // // The key format is: // - // * (for string histogram) string values stored in the field. - // * (for named numeric bucket) name specified in `bucket()` function, like - // for `bucket(0, MAX, "non-negative")`, the key will be `non-negative`. - // * (for anonymous numeric bucket) range formatted as `-`, for - // example, `0-1000`, `MIN-0`, and `0-MAX`. + // - (for string histogram) string values stored in the field. + // - (for named numeric bucket) name specified in `bucket()` function, like + // for `bucket(0, MAX, "non-negative")`, the key will be `non-negative`. + // - (for anonymous numeric bucket) range formatted as `-`, for + // example, `0-1000`, `MIN-0`, and `0-MAX`. Histogram map[string]int64 `protobuf:"bytes,2,rep,name=histogram,proto3" json:"histogram,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } diff --git a/talent/apiv4/talentpb/job_service.pb.go b/talent/apiv4/talentpb/job_service.pb.go index e22175e0240..2e95a019871 100755 --- a/talent/apiv4/talentpb/job_service.pb.go +++ b/talent/apiv4/talentpb/job_service.pb.go @@ -934,78 +934,99 @@ type SearchJobsRequest struct { // * employment_type: histogram by // [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for // example, - // "FULL_TIME", "PART_TIME". + // + // "FULL_TIME", "PART_TIME". + // // * company_size (DEPRECATED): histogram by // [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL", // "MEDIUM", "BIG". // * publish_time_in_day: histogram by the // [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time] - // in days. - // Must specify list of numeric buckets in spec. + // + // in days. + // Must specify list of numeric buckets in spec. + // // * publish_time_in_month: histogram by the // [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time] - // in months. - // Must specify list of numeric buckets in spec. + // + // in months. + // Must specify list of numeric buckets in spec. + // // * publish_time_in_year: histogram by the // [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time] - // in years. - // Must specify list of numeric buckets in spec. + // + // in years. + // Must specify list of numeric buckets in spec. + // // * degree_types: histogram by the // [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example, - // "Bachelors", "Masters". + // + // "Bachelors", "Masters". + // // * job_level: histogram by the // [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry - // Level". - // * country: histogram by the country code of jobs, for example, "US", "FR". - // * admin1: histogram by the admin1 code of jobs, which is a global - // placeholder referring to the state, province, or the particular term a - // country uses to define the geographic structure below the country level, - // for example, "CA", "IL". - // * city: histogram by a combination of the "city name, admin1 code". For - // example, "Mountain View, CA", "New York, NY". - // * admin1_country: histogram by a combination of the "admin1 code, country", - // for example, "CA, US", "IL, US". - // * city_coordinate: histogram by the city center's GPS coordinates (latitude - // and longitude), for example, 37.4038522,-122.0987765. Since the - // coordinates of a city center can change, customers may need to refresh - // them periodically. - // * locale: histogram by the + // + // Level". + // - country: histogram by the country code of jobs, for example, "US", "FR". + // - admin1: histogram by the admin1 code of jobs, which is a global + // placeholder referring to the state, province, or the particular term a + // country uses to define the geographic structure below the country level, + // for example, "CA", "IL". + // - city: histogram by a combination of the "city name, admin1 code". For + // example, "Mountain View, CA", "New York, NY". + // - admin1_country: histogram by a combination of the "admin1 code, country", + // for example, "CA, US", "IL, US". + // - city_coordinate: histogram by the city center's GPS coordinates (latitude + // and longitude), for example, 37.4038522,-122.0987765. Since the + // coordinates of a city center can change, customers may need to refresh + // them periodically. + // - locale: histogram by the + // // [Job.language_code][google.cloud.talent.v4.Job.language_code], for example, // "en-US", - // "fr-FR". + // + // "fr-FR". + // // * language: histogram by the language subtag of the // [Job.language_code][google.cloud.talent.v4.Job.language_code], - // for example, "en", "fr". + // + // for example, "en", "fr". + // // * category: histogram by the // [JobCategory][google.cloud.talent.v4.JobCategory], for example, - // "COMPUTER_AND_IT", "HEALTHCARE". - // * base_compensation_unit: histogram by the - // [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit] - // of base salary, for example, "WEEKLY", "MONTHLY". - // * base_compensation: histogram by the base salary. Must specify list of - // numeric buckets to group results by. - // * annualized_base_compensation: histogram by the base annualized salary. - // Must specify list of numeric buckets to group results by. - // * annualized_total_compensation: histogram by the total annualized salary. - // Must specify list of numeric buckets to group results by. - // * string_custom_attribute: histogram by string + // + // "COMPUTER_AND_IT", "HEALTHCARE". + // - base_compensation_unit: histogram by the + // [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit] + // of base salary, for example, "WEEKLY", "MONTHLY". + // - base_compensation: histogram by the base salary. Must specify list of + // numeric buckets to group results by. + // - annualized_base_compensation: histogram by the base annualized salary. + // Must specify list of numeric buckets to group results by. + // - annualized_total_compensation: histogram by the total annualized salary. + // Must specify list of numeric buckets to group results by. + // - string_custom_attribute: histogram by string + // // [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes]. - // Values can be accessed via square bracket notations like - // string_custom_attribute["key1"]. + // + // Values can be accessed via square bracket notations like + // string_custom_attribute["key1"]. + // // * numeric_custom_attribute: histogram by numeric // [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes]. - // Values can be accessed via square bracket notations like - // numeric_custom_attribute["key1"]. Must specify list of numeric buckets to - // group results by. + // + // Values can be accessed via square bracket notations like + // numeric_custom_attribute["key1"]. Must specify list of numeric buckets to + // group results by. // // Example expressions: // // * `count(admin1)` // * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000), // bucket(100000, MAX)])` - // * `count(string_custom_attribute["some-string-custom-attribute"])` - // * `count(numeric_custom_attribute["some-numeric-custom-attribute"], - // [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])` + // - `count(string_custom_attribute["some-string-custom-attribute"])` + // - `count(numeric_custom_attribute["some-numeric-custom-attribute"], + // [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])` HistogramQueries []*HistogramQuery `protobuf:"bytes,7,rep,name=histogram_queries,json=histogramQueries,proto3" json:"histogram_queries,omitempty"` // The desired job attributes returned for jobs in the search response. // Defaults to @@ -1038,54 +1059,59 @@ type SearchJobsRequest struct { // // Supported options are: // - // * `"relevance desc"`: By relevance descending, as determined by the API - // algorithms. Relevance thresholding of query results is only available - // with this ordering. - // * `"posting_publish_time desc"`: By + // - `"relevance desc"`: By relevance descending, as determined by the API + // algorithms. Relevance thresholding of query results is only available + // with this ordering. + // - `"posting_publish_time desc"`: By + // // [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time] - // descending. + // + // descending. + // // * `"posting_update_time desc"`: By // [Job.posting_update_time][google.cloud.talent.v4.Job.posting_update_time] - // descending. + // + // descending. + // // * `"title"`: By [Job.title][google.cloud.talent.v4.Job.title] ascending. // * `"title desc"`: By [Job.title][google.cloud.talent.v4.Job.title] // descending. - // * `"annualized_base_compensation"`: By job's - // [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range] - // ascending. Jobs whose annualized base compensation is unspecified are put - // at the end of search results. - // * `"annualized_base_compensation desc"`: By job's - // [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range] - // descending. Jobs whose annualized base compensation is unspecified are - // put at the end of search results. - // * `"annualized_total_compensation"`: By job's - // [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range] - // ascending. Jobs whose annualized base compensation is unspecified are put - // at the end of search results. - // * `"annualized_total_compensation desc"`: By job's - // [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range] - // descending. Jobs whose annualized base compensation is unspecified are - // put at the end of search results. - // * `"custom_ranking desc"`: By the relevance score adjusted to the - // [SearchJobsRequest.CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression] - // with weight factor assigned by - // [SearchJobsRequest.CustomRankingInfo.importance_level][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.importance_level] - // in descending order. - // * Location sorting: Use the special syntax to order jobs by distance:
- // `"distance_from('Hawaii')"`: Order by distance from Hawaii.
- // `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.
- // `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by - // multiple locations. See details below.
- // `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by - // multiple locations. See details below.
- // The string can have a maximum of 256 characters. When multiple distance - // centers are provided, a job that is close to any of the distance centers - // would have a high rank. When a job has multiple locations, the job - // location closest to one of the distance centers will be used. Jobs that - // don't have locations will be ranked at the bottom. Distance is calculated - // with a precision of 11.3 meters (37.4 feet). Diversification strategy is - // still applied unless explicitly disabled in - // [diversification_level][google.cloud.talent.v4.SearchJobsRequest.diversification_level]. + // - `"annualized_base_compensation"`: By job's + // [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range] + // ascending. Jobs whose annualized base compensation is unspecified are put + // at the end of search results. + // - `"annualized_base_compensation desc"`: By job's + // [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range] + // descending. Jobs whose annualized base compensation is unspecified are + // put at the end of search results. + // - `"annualized_total_compensation"`: By job's + // [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range] + // ascending. Jobs whose annualized base compensation is unspecified are put + // at the end of search results. + // - `"annualized_total_compensation desc"`: By job's + // [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range] + // descending. Jobs whose annualized base compensation is unspecified are + // put at the end of search results. + // - `"custom_ranking desc"`: By the relevance score adjusted to the + // [SearchJobsRequest.CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression] + // with weight factor assigned by + // [SearchJobsRequest.CustomRankingInfo.importance_level][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.importance_level] + // in descending order. + // - Location sorting: Use the special syntax to order jobs by distance:
+ // `"distance_from('Hawaii')"`: Order by distance from Hawaii.
+ // `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.
+ // `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by + // multiple locations. See details below.
+ // `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by + // multiple locations. See details below.
+ // The string can have a maximum of 256 characters. When multiple distance + // centers are provided, a job that is close to any of the distance centers + // would have a high rank. When a job has multiple locations, the job + // location closest to one of the distance centers will be used. Jobs that + // don't have locations will be ranked at the bottom. Distance is calculated + // with a precision of 11.3 meters (37.4 feet). Diversification strategy is + // still applied unless explicitly disabled in + // [diversification_level][google.cloud.talent.v4.SearchJobsRequest.diversification_level]. OrderBy string `protobuf:"bytes,12,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` // Controls whether highly similar jobs are returned next to each other in // the search results. Jobs are identified as highly similar based on @@ -1966,7 +1992,8 @@ type SearchJobsResponse_MatchingJob struct { // field, and matching query keywords are enclosed in HTML bold tags. SearchTextSnippet string `protobuf:"bytes,4,opt,name=search_text_snippet,json=searchTextSnippet,proto3" json:"search_text_snippet,omitempty"` // Commute information which is generated based on specified - // [CommuteFilter][google.cloud.talent.v4.CommuteFilter]. + // + // [CommuteFilter][google.cloud.talent.v4.CommuteFilter]. CommuteInfo *SearchJobsResponse_CommuteInfo `protobuf:"bytes,5,opt,name=commute_info,json=commuteInfo,proto3" json:"commute_info,omitempty"` } diff --git a/talent/apiv4beta1/talentpb/common.pb.go b/talent/apiv4beta1/talentpb/common.pb.go index 1f2b5677248..8aa1ada481d 100755 --- a/talent/apiv4beta1/talentpb/common.pb.go +++ b/talent/apiv4beta1/talentpb/common.pb.go @@ -2131,6 +2131,7 @@ type CompensationInfo_CompensationEntry struct { // Compensation amount. It could be a fixed amount or a floating range. // // Types that are assignable to CompensationAmount: + // // *CompensationInfo_CompensationEntry_Amount // *CompensationInfo_CompensationEntry_Range CompensationAmount isCompensationInfo_CompensationEntry_CompensationAmount `protobuf_oneof:"compensation_amount"` diff --git a/talent/apiv4beta1/talentpb/event.pb.go b/talent/apiv4beta1/talentpb/event.pb.go index 105276656c0..a5605e3daf9 100755 --- a/talent/apiv4beta1/talentpb/event.pb.go +++ b/talent/apiv4beta1/talentpb/event.pb.go @@ -215,6 +215,7 @@ type ClientEvent struct { // The detail information of a specific event type. // // Types that are assignable to Event: + // // *ClientEvent_JobEvent Event isClientEvent_Event `protobuf_oneof:"event"` // Notes about the event provided by recruiters or other users, for example, diff --git a/talent/apiv4beta1/talentpb/filters.pb.go b/talent/apiv4beta1/talentpb/filters.pb.go index 697e11d6391..779f8db064e 100755 --- a/talent/apiv4beta1/talentpb/filters.pb.go +++ b/talent/apiv4beta1/talentpb/filters.pb.go @@ -304,14 +304,15 @@ type JobQuery struct { // categories are searched against. JobCategories []JobCategory `protobuf:"varint,4,rep,packed,name=job_categories,json=jobCategories,proto3,enum=google.cloud.talent.v4beta1.JobCategory" json:"job_categories,omitempty"` // Allows filtering jobs by commute time with different travel methods (for - // example, driving or public transit). + // + // example, driving or public transit). // // Note: This only works when you specify a // [CommuteMethod][google.cloud.talent.v4beta1.CommuteMethod]. In this case, // [location_filters][google.cloud.talent.v4beta1.JobQuery.location_filters] // is ignored. // - // Currently we don't support sorting by commute time. + // Currently we don't support sorting by commute time. CommuteFilter *CommuteFilter `protobuf:"bytes,5,opt,name=commute_filter,json=commuteFilter,proto3" json:"commute_filter,omitempty"` // This filter specifies the company // [Company.display_name][google.cloud.talent.v4beta1.Company.display_name] of @@ -392,7 +393,6 @@ type JobQuery struct { // If a value isn't specified, the search results can contain jobs in any // locale. // - // // Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn". // For more information, see // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). @@ -777,6 +777,7 @@ type CommuteFilter struct { // Traffic factor to take into account while searching by commute. // // Types that are assignable to TrafficOption: + // // *CommuteFilter_RoadTraffic_ // *CommuteFilter_DepartureTime TrafficOption isCommuteFilter_TrafficOption `protobuf_oneof:"traffic_option"` diff --git a/talent/apiv4beta1/talentpb/histogram.pb.go b/talent/apiv4beta1/talentpb/histogram.pb.go index 62969be662d..8e714e6e94a 100755 --- a/talent/apiv4beta1/talentpb/histogram.pb.go +++ b/talent/apiv4beta1/talentpb/histogram.pb.go @@ -106,11 +106,11 @@ type HistogramQueryResult struct { // // The key format is: // - // * (for string histogram) string values stored in the field. - // * (for named numeric bucket) name specified in `bucket()` function, like - // for `bucket(0, MAX, "non-negative")`, the key will be `non-negative`. - // * (for anonymous numeric bucket) range formatted as `-`, for - // example, `0-1000`, `MIN-0`, and `0-MAX`. + // - (for string histogram) string values stored in the field. + // - (for named numeric bucket) name specified in `bucket()` function, like + // for `bucket(0, MAX, "non-negative")`, the key will be `non-negative`. + // - (for anonymous numeric bucket) range formatted as `-`, for + // example, `0-1000`, `MIN-0`, and `0-MAX`. Histogram map[string]int64 `protobuf:"bytes,2,rep,name=histogram,proto3" json:"histogram,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } diff --git a/talent/apiv4beta1/talentpb/job_service.pb.go b/talent/apiv4beta1/talentpb/job_service.pb.go index 7d96d7d72ad..2caf43e19e6 100755 --- a/talent/apiv4beta1/talentpb/job_service.pb.go +++ b/talent/apiv4beta1/talentpb/job_service.pb.go @@ -994,80 +994,101 @@ type SearchJobsRequest struct { // * employment_type: histogram by // [Job.employment_types][google.cloud.talent.v4beta1.Job.employment_types], // for example, - // "FULL_TIME", "PART_TIME". + // + // "FULL_TIME", "PART_TIME". + // // * company_size (DEPRECATED): histogram by // [CompanySize][google.cloud.talent.v4beta1.CompanySize], for example, // "SMALL", "MEDIUM", "BIG". // * publish_time_in_day: histogram by the // [Job.posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time] - // in days. - // Must specify list of numeric buckets in spec. + // + // in days. + // Must specify list of numeric buckets in spec. + // // * publish_time_in_month: histogram by the // [Job.posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time] - // in months. - // Must specify list of numeric buckets in spec. + // + // in months. + // Must specify list of numeric buckets in spec. + // // * publish_time_in_year: histogram by the // [Job.posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time] - // in years. - // Must specify list of numeric buckets in spec. + // + // in years. + // Must specify list of numeric buckets in spec. + // // * degree_types: histogram by the // [Job.degree_types][google.cloud.talent.v4beta1.Job.degree_types], for // example, - // "Bachelors", "Masters". + // + // "Bachelors", "Masters". + // // * job_level: histogram by the // [Job.job_level][google.cloud.talent.v4beta1.Job.job_level], for example, // "Entry - // Level". - // * country: histogram by the country code of jobs, for example, "US", "FR". - // * admin1: histogram by the admin1 code of jobs, which is a global - // placeholder referring to the state, province, or the particular term a - // country uses to define the geographic structure below the country level, - // for example, "CA", "IL". - // * city: histogram by a combination of the "city name, admin1 code". For - // example, "Mountain View, CA", "New York, NY". - // * admin1_country: histogram by a combination of the "admin1 code, country", - // for example, "CA, US", "IL, US". - // * city_coordinate: histogram by the city center's GPS coordinates (latitude - // and longitude), for example, 37.4038522,-122.0987765. Since the - // coordinates of a city center can change, customers may need to refresh - // them periodically. - // * locale: histogram by the + // + // Level". + // - country: histogram by the country code of jobs, for example, "US", "FR". + // - admin1: histogram by the admin1 code of jobs, which is a global + // placeholder referring to the state, province, or the particular term a + // country uses to define the geographic structure below the country level, + // for example, "CA", "IL". + // - city: histogram by a combination of the "city name, admin1 code". For + // example, "Mountain View, CA", "New York, NY". + // - admin1_country: histogram by a combination of the "admin1 code, country", + // for example, "CA, US", "IL, US". + // - city_coordinate: histogram by the city center's GPS coordinates (latitude + // and longitude), for example, 37.4038522,-122.0987765. Since the + // coordinates of a city center can change, customers may need to refresh + // them periodically. + // - locale: histogram by the + // // [Job.language_code][google.cloud.talent.v4beta1.Job.language_code], for // example, "en-US", - // "fr-FR". + // + // "fr-FR". + // // * language: histogram by the language subtag of the // [Job.language_code][google.cloud.talent.v4beta1.Job.language_code], - // for example, "en", "fr". + // + // for example, "en", "fr". + // // * category: histogram by the // [JobCategory][google.cloud.talent.v4beta1.JobCategory], for example, - // "COMPUTER_AND_IT", "HEALTHCARE". - // * base_compensation_unit: histogram by the - // [CompensationInfo.CompensationUnit][google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit] - // of base salary, for example, "WEEKLY", "MONTHLY". - // * base_compensation: histogram by the base salary. Must specify list of - // numeric buckets to group results by. - // * annualized_base_compensation: histogram by the base annualized salary. - // Must specify list of numeric buckets to group results by. - // * annualized_total_compensation: histogram by the total annualized salary. - // Must specify list of numeric buckets to group results by. - // * string_custom_attribute: histogram by string + // + // "COMPUTER_AND_IT", "HEALTHCARE". + // - base_compensation_unit: histogram by the + // [CompensationInfo.CompensationUnit][google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit] + // of base salary, for example, "WEEKLY", "MONTHLY". + // - base_compensation: histogram by the base salary. Must specify list of + // numeric buckets to group results by. + // - annualized_base_compensation: histogram by the base annualized salary. + // Must specify list of numeric buckets to group results by. + // - annualized_total_compensation: histogram by the total annualized salary. + // Must specify list of numeric buckets to group results by. + // - string_custom_attribute: histogram by string + // // [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes]. - // Values can be accessed via square bracket notations like - // string_custom_attribute["key1"]. + // + // Values can be accessed via square bracket notations like + // string_custom_attribute["key1"]. + // // * numeric_custom_attribute: histogram by numeric // [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes]. - // Values can be accessed via square bracket notations like - // numeric_custom_attribute["key1"]. Must specify list of numeric buckets to - // group results by. + // + // Values can be accessed via square bracket notations like + // numeric_custom_attribute["key1"]. Must specify list of numeric buckets to + // group results by. // // Example expressions: // // * `count(admin1)` // * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000), // bucket(100000, MAX)])` - // * `count(string_custom_attribute["some-string-custom-attribute"])` - // * `count(numeric_custom_attribute["some-numeric-custom-attribute"], - // [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])` + // - `count(string_custom_attribute["some-string-custom-attribute"])` + // - `count(numeric_custom_attribute["some-numeric-custom-attribute"], + // [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])` HistogramQueries []*HistogramQuery `protobuf:"bytes,7,rep,name=histogram_queries,json=histogramQueries,proto3" json:"histogram_queries,omitempty"` // The desired job attributes returned for jobs in the search response. // Defaults to @@ -1101,55 +1122,60 @@ type SearchJobsRequest struct { // // Supported options are: // - // * `"relevance desc"`: By relevance descending, as determined by the API - // algorithms. Relevance thresholding of query results is only available - // with this ordering. - // * `"posting_publish_time desc"`: By + // - `"relevance desc"`: By relevance descending, as determined by the API + // algorithms. Relevance thresholding of query results is only available + // with this ordering. + // - `"posting_publish_time desc"`: By + // // [Job.posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time] - // descending. + // + // descending. + // // * `"posting_update_time desc"`: By // [Job.posting_update_time][google.cloud.talent.v4beta1.Job.posting_update_time] - // descending. + // + // descending. + // // * `"title"`: By [Job.title][google.cloud.talent.v4beta1.Job.title] // ascending. // * `"title desc"`: By [Job.title][google.cloud.talent.v4beta1.Job.title] // descending. - // * `"annualized_base_compensation"`: By job's - // [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range] - // ascending. Jobs whose annualized base compensation is unspecified are put - // at the end of search results. - // * `"annualized_base_compensation desc"`: By job's - // [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range] - // descending. Jobs whose annualized base compensation is unspecified are - // put at the end of search results. - // * `"annualized_total_compensation"`: By job's - // [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range] - // ascending. Jobs whose annualized base compensation is unspecified are put - // at the end of search results. - // * `"annualized_total_compensation desc"`: By job's - // [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range] - // descending. Jobs whose annualized base compensation is unspecified are - // put at the end of search results. - // * `"custom_ranking desc"`: By the relevance score adjusted to the - // [SearchJobsRequest.CustomRankingInfo.ranking_expression][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ranking_expression] - // with weight factor assigned by - // [SearchJobsRequest.CustomRankingInfo.importance_level][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.importance_level] - // in descending order. - // * Location sorting: Use the special syntax to order jobs by distance:
- // `"distance_from('Hawaii')"`: Order by distance from Hawaii.
- // `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.
- // `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by - // multiple locations. See details below.
- // `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by - // multiple locations. See details below.
- // The string can have a maximum of 256 characters. When multiple distance - // centers are provided, a job that is close to any of the distance centers - // would have a high rank. When a job has multiple locations, the job - // location closest to one of the distance centers will be used. Jobs that - // don't have locations will be ranked at the bottom. Distance is calculated - // with a precision of 11.3 meters (37.4 feet). Diversification strategy is - // still applied unless explicitly disabled in - // [diversification_level][google.cloud.talent.v4beta1.SearchJobsRequest.diversification_level]. + // - `"annualized_base_compensation"`: By job's + // [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range] + // ascending. Jobs whose annualized base compensation is unspecified are put + // at the end of search results. + // - `"annualized_base_compensation desc"`: By job's + // [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range] + // descending. Jobs whose annualized base compensation is unspecified are + // put at the end of search results. + // - `"annualized_total_compensation"`: By job's + // [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range] + // ascending. Jobs whose annualized base compensation is unspecified are put + // at the end of search results. + // - `"annualized_total_compensation desc"`: By job's + // [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range] + // descending. Jobs whose annualized base compensation is unspecified are + // put at the end of search results. + // - `"custom_ranking desc"`: By the relevance score adjusted to the + // [SearchJobsRequest.CustomRankingInfo.ranking_expression][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ranking_expression] + // with weight factor assigned by + // [SearchJobsRequest.CustomRankingInfo.importance_level][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.importance_level] + // in descending order. + // - Location sorting: Use the special syntax to order jobs by distance:
+ // `"distance_from('Hawaii')"`: Order by distance from Hawaii.
+ // `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.
+ // `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by + // multiple locations. See details below.
+ // `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by + // multiple locations. See details below.
+ // The string can have a maximum of 256 characters. When multiple distance + // centers are provided, a job that is close to any of the distance centers + // would have a high rank. When a job has multiple locations, the job + // location closest to one of the distance centers will be used. Jobs that + // don't have locations will be ranked at the bottom. Distance is calculated + // with a precision of 11.3 meters (37.4 feet). Diversification strategy is + // still applied unless explicitly disabled in + // [diversification_level][google.cloud.talent.v4beta1.SearchJobsRequest.diversification_level]. OrderBy string `protobuf:"bytes,12,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` // Controls whether highly similar jobs are returned next to each other in // the search results. Jobs are identified as highly similar based on @@ -1812,7 +1838,8 @@ type SearchJobsResponse_MatchingJob struct { // bold tags. SearchTextSnippet string `protobuf:"bytes,4,opt,name=search_text_snippet,json=searchTextSnippet,proto3" json:"search_text_snippet,omitempty"` // Commute information which is generated based on specified - // [CommuteFilter][google.cloud.talent.v4beta1.CommuteFilter]. + // + // [CommuteFilter][google.cloud.talent.v4beta1.CommuteFilter]. CommuteInfo *SearchJobsResponse_CommuteInfo `protobuf:"bytes,5,opt,name=commute_info,json=commuteInfo,proto3" json:"commute_info,omitempty"` } diff --git a/telcoautomation/apiv1/telcoautomationpb/telcoautomation.pb.go b/telcoautomation/apiv1/telcoautomationpb/telcoautomation.pb.go index 2408d532564..2b36becff28 100755 --- a/telcoautomation/apiv1/telcoautomationpb/telcoautomation.pb.go +++ b/telcoautomation/apiv1/telcoautomationpb/telcoautomation.pb.go @@ -4641,6 +4641,7 @@ type ManagementConfig struct { // and FullManagementConfig // // Types that are assignable to OneofConfig: + // // *ManagementConfig_StandardManagementConfig // *ManagementConfig_FullManagementConfig OneofConfig isManagementConfig_OneofConfig `protobuf_oneof:"oneof_config"` diff --git a/texttospeech/apiv1/texttospeechpb/cloud_tts.pb.go b/texttospeech/apiv1/texttospeechpb/cloud_tts.pb.go index 3744d887907..b54fcb503b2 100755 --- a/texttospeech/apiv1/texttospeechpb/cloud_tts.pb.go +++ b/texttospeech/apiv1/texttospeechpb/cloud_tts.pb.go @@ -494,6 +494,7 @@ type SynthesisInput struct { // The input source, which is either plain text or SSML. // // Types that are assignable to InputSource: + // // *SynthesisInput_Text // *SynthesisInput_Ssml InputSource isSynthesisInput_InputSource `protobuf_oneof:"input_source"` diff --git a/trace/apiv1/tracepb/trace.pb.go b/trace/apiv1/tracepb/trace.pb.go index 0a2b86c3623..316417cf577 100755 --- a/trace/apiv1/tracepb/trace.pb.go +++ b/trace/apiv1/tracepb/trace.pb.go @@ -317,10 +317,10 @@ type TraceSpan struct { // Some predefined label keys exist, or you may create your own. When creating // your own, we recommend the following formats: // - // * `/category/product/key` for agents of well-known products (e.g. - // `/db/mongodb/read_size`). - // * `short_host/path/key` for domain-specific keys (e.g. - // `foo.com/myproduct/bar`) + // - `/category/product/key` for agents of well-known products (e.g. + // `/db/mongodb/read_size`). + // - `short_host/path/key` for domain-specific keys (e.g. + // `foo.com/myproduct/bar`) // // Predefined labels include: // @@ -460,39 +460,39 @@ type ListTracesRequest struct { // a plus symbol (`+`) to the search term. // Multiple terms are ANDed. Syntax: // - // * `root:NAME_PREFIX` or `NAME_PREFIX`: Return traces where any root + // - `root:NAME_PREFIX` or `NAME_PREFIX`: Return traces where any root // span starts with `NAME_PREFIX`. - // * `+root:NAME` or `+NAME`: Return traces where any root span's name is + // - `+root:NAME` or `+NAME`: Return traces where any root span's name is // exactly `NAME`. - // * `span:NAME_PREFIX`: Return traces where any span starts with + // - `span:NAME_PREFIX`: Return traces where any span starts with // `NAME_PREFIX`. - // * `+span:NAME`: Return traces where any span's name is exactly + // - `+span:NAME`: Return traces where any span's name is exactly // `NAME`. - // * `latency:DURATION`: Return traces whose overall latency is + // - `latency:DURATION`: Return traces whose overall latency is // greater or equal to than `DURATION`. Accepted units are nanoseconds // (`ns`), milliseconds (`ms`), and seconds (`s`). Default is `ms`. For // example, `latency:24ms` returns traces whose overall latency // is greater than or equal to 24 milliseconds. - // * `label:LABEL_KEY`: Return all traces containing the specified + // - `label:LABEL_KEY`: Return all traces containing the specified // label key (exact match, case-sensitive) regardless of the key:value // pair's value (including empty values). - // * `LABEL_KEY:VALUE_PREFIX`: Return all traces containing the specified + // - `LABEL_KEY:VALUE_PREFIX`: Return all traces containing the specified // label key (exact match, case-sensitive) whose value starts with // `VALUE_PREFIX`. Both a key and a value must be specified. - // * `+LABEL_KEY:VALUE`: Return all traces containing a key:value pair + // - `+LABEL_KEY:VALUE`: Return all traces containing a key:value pair // exactly matching the specified text. Both a key and a value must be // specified. - // * `method:VALUE`: Equivalent to `/http/method:VALUE`. - // * `url:VALUE`: Equivalent to `/http/url:VALUE`. + // - `method:VALUE`: Equivalent to `/http/method:VALUE`. + // - `url:VALUE`: Equivalent to `/http/url:VALUE`. Filter string `protobuf:"bytes,7,opt,name=filter,proto3" json:"filter,omitempty"` // Optional. Field used to sort the returned traces. // Can be one of the following: // - // * `trace_id` - // * `name` (`name` field of root span in the trace) - // * `duration` (difference between `end_time` and `start_time` fields of - // the root span) - // * `start` (`start_time` field of the root span) + // - `trace_id` + // - `name` (`name` field of root span in the trace) + // - `duration` (difference between `end_time` and `start_time` fields of + // the root span) + // - `start` (`start_time` field of the root span) // // Descending order can be specified by appending `desc` to the sort field // (for example, `name desc`). diff --git a/trace/apiv2/tracepb/trace.pb.go b/trace/apiv2/tracepb/trace.pb.go index c72e41ea286..6d65f8da6e9 100755 --- a/trace/apiv2/tracepb/trace.pb.go +++ b/trace/apiv2/tracepb/trace.pb.go @@ -236,7 +236,7 @@ type Span struct { // Required. The resource name of the span in the following format: // - // * `projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/[SPAN_ID]` + // - `projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/[SPAN_ID]` // // `[TRACE_ID]` is a unique identifier for a trace within a project; // it is a 32-character hexadecimal encoding of a 16-byte array. It should @@ -433,6 +433,7 @@ type AttributeValue struct { // The type of the value. // // Types that are assignable to Value: + // // *AttributeValue_StringValue // *AttributeValue_IntValue // *AttributeValue_BoolValue @@ -725,9 +726,9 @@ type Span_Attributes struct { // long. The value can be a string up to 256 bytes, a signed 64-bit integer, // or the boolean values `true` or `false`. For example: // - // "/instance_id": { "string_value": { "value": "my-instance" } } - // "/http/request_bytes": { "int_value": 300 } - // "abc.com/myattribute": { "bool_value": false } + // "/instance_id": { "string_value": { "value": "my-instance" } } + // "/http/request_bytes": { "int_value": 300 } + // "abc.com/myattribute": { "bool_value": false } AttributeMap map[string]*AttributeValue `protobuf:"bytes,1,rep,name=attribute_map,json=attributeMap,proto3" json:"attribute_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The number of attributes that were discarded. Attributes can be discarded // because their keys are too long or because there are too many attributes. @@ -793,6 +794,7 @@ type Span_TimeEvent struct { // `MessageEvent` object, but not both. // // Types that are assignable to Value: + // // *Span_TimeEvent_Annotation_ // *Span_TimeEvent_MessageEvent_ Value isSpan_TimeEvent_Value `protobuf_oneof:"value"` diff --git a/translate/apiv3/translatepb/adaptive_mt.pb.go b/translate/apiv3/translatepb/adaptive_mt.pb.go index e4b231b6877..8442c5467db 100755 --- a/translate/apiv3/translatepb/adaptive_mt.pb.go +++ b/translate/apiv3/translatepb/adaptive_mt.pb.go @@ -822,6 +822,7 @@ type ImportAdaptiveMtFileRequest struct { // The source for the document. // // Types that are assignable to Source: + // // *ImportAdaptiveMtFileRequest_FileInputSource // *ImportAdaptiveMtFileRequest_GcsInputSource Source isImportAdaptiveMtFileRequest_Source `protobuf_oneof:"source"` diff --git a/translate/apiv3/translatepb/translation_service.pb.go b/translate/apiv3/translatepb/translation_service.pb.go index 6cc807114a3..16f82a380e9 100755 --- a/translate/apiv3/translatepb/translation_service.pb.go +++ b/translate/apiv3/translatepb/translation_service.pb.go @@ -323,8 +323,8 @@ type TranslateTextGlossaryConfig struct { // // The format depends on the glossary: // - // - User-provided custom glossary: - // `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary-id}` + // - User-provided custom glossary: + // `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary-id}` Glossary string `protobuf:"bytes,1,opt,name=glossary,proto3" json:"glossary,omitempty"` // Optional. Indicates match is case insensitive. The default value is `false` // if missing. @@ -388,7 +388,8 @@ type TranslateTextRequest struct { // length of this field is 1024. Use BatchTranslateText for larger text. Contents []string `protobuf:"bytes,1,rep,name=contents,proto3" json:"contents,omitempty"` // Optional. The format of the source text, for example, "text/html", - // "text/plain". If left blank, the MIME type defaults to "text/html". + // + // "text/plain". If left blank, the MIME type defaults to "text/html". MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` // Optional. The ISO-639 language code of the input text if // known, for example, "en-US" or "sr-Latn". Supported language codes are @@ -418,12 +419,11 @@ type TranslateTextRequest struct { // // The format depends on model type: // - // - AutoML Translation models: - // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` - // - // - General (built-in) models: - // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, + // - AutoML Translation models: + // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` // + // - General (built-in) models: + // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, // // For global (non-regionalized) requests, use `location-id` `global`. // For example, @@ -717,6 +717,7 @@ type DetectLanguageRequest struct { // Required. The source of the document from which to detect the language. // // Types that are assignable to Source: + // // *DetectLanguageRequest_Content Source isDetectLanguageRequest_Source `protobuf_oneof:"source"` // Optional. The format of the source text, for example, "text/html", @@ -956,12 +957,11 @@ type GetSupportedLanguagesRequest struct { // // The format depends on model type: // - // - AutoML Translation models: - // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` - // - // - General (built-in) models: - // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, + // - AutoML Translation models: + // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` // + // - General (built-in) models: + // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, // // Returns languages supported by the specified model. // If missing, we get supported languages of Google general NMT model. @@ -1215,6 +1215,7 @@ type InputConfig struct { // Required. Specify the input. // // Types that are assignable to Source: + // // *InputConfig_GcsSource Source isInputConfig_Source `protobuf_oneof:"source"` } @@ -1285,7 +1286,9 @@ type InputConfig_GcsSource struct { // of the text request. If the first column is missing, we use the row // number (0-based) from the input file as the ID in the output file. The // second column is the actual text to be - // translated. We recommend each row be <= 10K Unicode codepoints, + // + // translated. We recommend each row be <= 10K Unicode codepoints, + // // otherwise an error might be returned. // Note that the input tsv must be RFC 4180 compliant. // @@ -1362,6 +1365,7 @@ type OutputConfig struct { // Required. The destination of output. // // Types that are assignable to Destination: + // // *OutputConfig_GcsDestination Destination isOutputConfig_Destination `protobuf_oneof:"destination"` } @@ -1508,6 +1512,7 @@ type DocumentInputConfig struct { // - application/pdf // // Types that are assignable to Source: + // // *DocumentInputConfig_Content // *DocumentInputConfig_GcsSource Source isDocumentInputConfig_Source `protobuf_oneof:"source"` @@ -1617,6 +1622,7 @@ type DocumentOutputConfig struct { // TranslateDocumentResponse.glossary_document_translation. // // Types that are assignable to Destination: + // // *DocumentOutputConfig_GcsDestination Destination isDocumentOutputConfig_Destination `protobuf_oneof:"destination"` // Optional. Specifies the translated document's mime_type. @@ -1702,7 +1708,6 @@ type DocumentOutputConfig_GcsDestination struct { // - [ext] corresponds to the translated file's extension according to its // mime type. // - // // For a DocumentInputConfig.gcs_uri provided document, the output file will // have a name according to its URI. For example: an input file with URI: // `gs://a/b/c.[extension]` stored in a gcs_destination bucket with name @@ -1712,7 +1717,6 @@ type DocumentOutputConfig_GcsDestination struct { // - [ext] corresponds to the translated file's extension according to its // mime type. // - // // If the document was directly provided through the request, then the // output document will have the format: // `gs://my_bucket/translated_document_[trg]_translations.[ext]`, where @@ -1778,12 +1782,11 @@ type TranslateDocumentRequest struct { // // The format depends on model type: // - // - AutoML Translation models: - // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` - // - // - General (built-in) models: - // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, + // - AutoML Translation models: + // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` // + // - General (built-in) models: + // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, // // If not provided, the default Google model (NMT) will be used for // translation. @@ -2120,12 +2123,11 @@ type BatchTranslateTextRequest struct { // // The value format depends on model type: // - // - AutoML Translation models: - // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` - // - // - General (built-in) models: - // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, + // - AutoML Translation models: + // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` // + // - General (built-in) models: + // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, // // If the map is empty or a specific model is // not requested for a language pair, then default google model (nmt) is used. @@ -2429,6 +2431,7 @@ type GlossaryInputConfig struct { // Required. Specify the input. // // Types that are assignable to Source: + // // *GlossaryInputConfig_GcsSource Source isGlossaryInputConfig_Source `protobuf_oneof:"source"` } @@ -2492,19 +2495,19 @@ type GlossaryInputConfig_GcsSource struct { // // For unidirectional glossaries: // - // - TSV/CSV (`.tsv`/`.csv`): Two column file, tab- or comma-separated. - // The first column is source text. The second column is target text. - // No headers in this file. The first row contains data and not column - // names. + // - TSV/CSV (`.tsv`/`.csv`): Two column file, tab- or comma-separated. + // The first column is source text. The second column is target text. + // No headers in this file. The first row contains data and not column + // names. // // - TMX (`.tmx`): TMX file with parallel data defining source/target term // pairs. // // For equivalent term sets glossaries: // - // - CSV (`.csv`): Multi-column CSV file defining equivalent glossary terms - // in multiple languages. See documentation for more information - - // [glossaries](https://cloud.google.com/translate/docs/advanced/glossary). + // - CSV (`.csv`): Multi-column CSV file defining equivalent glossary terms + // in multiple languages. See documentation for more information - + // [glossaries](https://cloud.google.com/translate/docs/advanced/glossary). GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3,oneof"` } @@ -2522,6 +2525,7 @@ type Glossary struct { // Languages supported by the glossary. // // Types that are assignable to Languages: + // // *Glossary_LanguagePair // *Glossary_LanguageCodesSet_ Languages isGlossary_Languages `protobuf_oneof:"languages"` @@ -3209,12 +3213,11 @@ type BatchTranslateDocumentRequest struct { // // The value format depends on model type: // - // - AutoML Translation models: - // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` - // - // - General (built-in) models: - // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, + // - AutoML Translation models: + // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` // + // - General (built-in) models: + // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, // // If the map is empty or a specific model is // not requested for a language pair, then default google model (nmt) is used. @@ -3226,8 +3229,8 @@ type BatchTranslateDocumentRequest struct { // mime_type of translated documents. // // Supported file format conversion includes: - // - `application/pdf` to - // `application/vnd.openxmlformats-officedocument.wordprocessingml.document` + // - `application/pdf` to + // `application/vnd.openxmlformats-officedocument.wordprocessingml.document` // // If nothing specified, output files will be in the same format as the // original file. @@ -3364,6 +3367,7 @@ type BatchDocumentInputConfig struct { // Specify the input. // // Types that are assignable to Source: + // // *BatchDocumentInputConfig_GcsSource Source isBatchDocumentInputConfig_Source `protobuf_oneof:"source"` } @@ -3453,6 +3457,7 @@ type BatchDocumentOutputConfig struct { // and be empty. // // Types that are assignable to Destination: + // // *BatchDocumentOutputConfig_GcsDestination Destination isBatchDocumentOutputConfig_Destination `protobuf_oneof:"destination"` } diff --git a/video/livestream/apiv1/livestreampb/outputs.pb.go b/video/livestream/apiv1/livestreampb/outputs.pb.go index 3d779298b57..4402f08c8eb 100755 --- a/video/livestream/apiv1/livestreampb/outputs.pb.go +++ b/video/livestream/apiv1/livestreampb/outputs.pb.go @@ -157,6 +157,7 @@ type ElementaryStream struct { // Required. Encoding of an audio, video, or text track. // // Types that are assignable to ElementaryStream: + // // *ElementaryStream_VideoStream // *ElementaryStream_AudioStream // *ElementaryStream_TextStream @@ -672,6 +673,7 @@ type VideoStream struct { // Codec settings. // // Types that are assignable to CodecSettings: + // // *VideoStream_H264 CodecSettings isVideoStream_CodecSettings `protobuf_oneof:"codec_settings"` } @@ -980,6 +982,7 @@ type TimecodeConfig struct { // and no date). We assume all inputs are live. // // Types that are assignable to TimeOffset: + // // *TimecodeConfig_UtcOffset // *TimecodeConfig_TimeZone TimeOffset isTimecodeConfig_TimeOffset `protobuf_oneof:"time_offset"` @@ -1307,6 +1310,7 @@ type VideoStream_H264CodecSettings struct { // GOP mode can be either by frame count or duration. // // Types that are assignable to GopMode: + // // *VideoStream_H264CodecSettings_GopFrameCount // *VideoStream_H264CodecSettings_GopDuration GopMode isVideoStream_H264CodecSettings_GopMode `protobuf_oneof:"gop_mode"` diff --git a/video/livestream/apiv1/livestreampb/resources.pb.go b/video/livestream/apiv1/livestreampb/resources.pb.go index 4f5a0702dab..023ed8c6559 100755 --- a/video/livestream/apiv1/livestreampb/resources.pb.go +++ b/video/livestream/apiv1/livestreampb/resources.pb.go @@ -1358,6 +1358,7 @@ type Event struct { // Required. Operation to be executed by this event. // // Types that are assignable to Task: + // // *Event_InputSwitch // *Event_AdBreak // *Event_ReturnToProgram @@ -1588,6 +1589,7 @@ type Asset struct { // The maximum size of the resource is 250 MB. // // Types that are assignable to Resource: + // // *Asset_Video // *Asset_Image Resource isAsset_Resource `protobuf_oneof:"resource"` @@ -1739,6 +1741,7 @@ type Encryption struct { // Defines where content keys are stored. // // Types that are assignable to SecretSource: + // // *Encryption_SecretManagerKeySource SecretSource isEncryption_SecretSource `protobuf_oneof:"secret_source"` // Required. Configuration for DRM systems. @@ -1746,6 +1749,7 @@ type Encryption struct { // Encryption modes for HLS and MPEG-Dash. // // Types that are assignable to EncryptionMode: + // // *Encryption_Aes128 // *Encryption_SampleAes // *Encryption_MpegCenc diff --git a/video/stitcher/apiv1/stitcherpb/cdn_keys.pb.go b/video/stitcher/apiv1/stitcherpb/cdn_keys.pb.go index acdd4998a45..26f8be7369a 100755 --- a/video/stitcher/apiv1/stitcherpb/cdn_keys.pb.go +++ b/video/stitcher/apiv1/stitcherpb/cdn_keys.pb.go @@ -47,6 +47,7 @@ type CdnKey struct { // Configuration associated with the CDN key. // // Types that are assignable to CdnKeyConfig: + // // *CdnKey_GoogleCdnKey // *CdnKey_AkamaiCdnKey // *CdnKey_MediaCdnKey diff --git a/video/stitcher/apiv1/stitcherpb/companions.pb.go b/video/stitcher/apiv1/stitcherpb/companions.pb.go index 1f63a1e5dc8..faddacbb030 100755 --- a/video/stitcher/apiv1/stitcherpb/companions.pb.go +++ b/video/stitcher/apiv1/stitcherpb/companions.pb.go @@ -159,6 +159,7 @@ type Companion struct { // Ad resource associated with the companion ad. // // Types that are assignable to AdResource: + // // *Companion_IframeAdResource // *Companion_StaticAdResource // *Companion_HtmlAdResource diff --git a/video/stitcher/apiv1/stitcherpb/sessions.pb.go b/video/stitcher/apiv1/stitcherpb/sessions.pb.go index 70bee92bd45..3eb8f42e944 100755 --- a/video/stitcher/apiv1/stitcherpb/sessions.pb.go +++ b/video/stitcher/apiv1/stitcherpb/sessions.pb.go @@ -113,12 +113,12 @@ type VodSession struct { // Macros are designated by square brackets. // For example: // - // Ad tag URI: `"https://doubleclick.google.com/ad/1?geo_id=[geoId]"` + // Ad tag URI: `"https://doubleclick.google.com/ad/1?geo_id=[geoId]"` // - // Ad tag macro map: `{"geoId": "123"}` + // Ad tag macro map: `{"geoId": "123"}` // - // Fully qualified ad tag: - // `"`https://doubleclick.google.com/ad/1?geo_id=123"` + // Fully qualified ad tag: + // `"`https://doubleclick.google.com/ad/1?geo_id=123"` AdTagMacroMap map[string]string `protobuf:"bytes,7,rep,name=ad_tag_macro_map,json=adTagMacroMap,proto3" json:"ad_tag_macro_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Additional options that affect the output of the manifest. ManifestOptions *ManifestOptions `protobuf:"bytes,9,opt,name=manifest_options,json=manifestOptions,proto3" json:"manifest_options,omitempty"` @@ -507,12 +507,12 @@ type LiveSession struct { // // For example: // - // Ad tag URI: "https://doubleclick.google.com/ad/1?geo_id=[geoId]" + // Ad tag URI: "https://doubleclick.google.com/ad/1?geo_id=[geoId]" // - // Ad tag macros: `{"geoId": "123"}` + // Ad tag macros: `{"geoId": "123"}` // - // Fully qualified ad tag: - // `"https://doubleclick.google.com/ad/1?geo_id=123"` + // Fully qualified ad tag: + // `"https://doubleclick.google.com/ad/1?geo_id=123"` AdTagMacros map[string]string `protobuf:"bytes,6,rep,name=ad_tag_macros,json=adTagMacros,proto3" json:"ad_tag_macros,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Additional options that affect the output of the manifest. ManifestOptions *ManifestOptions `protobuf:"bytes,10,opt,name=manifest_options,json=manifestOptions,proto3" json:"manifest_options,omitempty"` diff --git a/video/transcoder/apiv1/transcoderpb/resources.pb.go b/video/transcoder/apiv1/transcoderpb/resources.pb.go index 71b23cf390d..0b0aeedb6f9 100755 --- a/video/transcoder/apiv1/transcoderpb/resources.pb.go +++ b/video/transcoder/apiv1/transcoderpb/resources.pb.go @@ -397,6 +397,7 @@ type Job struct { // the `Job.config` is populated by the `JobTemplate.config`.
// // Types that are assignable to JobConfig: + // // *Job_TemplateId // *Job_Config JobConfig isJob_JobConfig `protobuf_oneof:"job_config"` @@ -1079,6 +1080,7 @@ type ElementaryStream struct { // Encoding of an audio, video, or text track. // // Types that are assignable to ElementaryStream: + // // *ElementaryStream_VideoStream // *ElementaryStream_AudioStream // *ElementaryStream_TextStream @@ -1309,6 +1311,7 @@ type Manifest struct { // Specifies the manifest configuration. // // Types that are assignable to ManifestConfig: + // // *Manifest_Dash ManifestConfig isManifest_ManifestConfig `protobuf_oneof:"manifest_config"` } @@ -1501,6 +1504,7 @@ type SpriteSheet struct { // Specify either total number of sprites or interval to create sprites. // // Types that are assignable to ExtractionStrategy: + // // *SpriteSheet_TotalCount // *SpriteSheet_Interval ExtractionStrategy isSpriteSheet_ExtractionStrategy `protobuf_oneof:"extraction_strategy"` @@ -1819,6 +1823,7 @@ type VideoStream struct { // Codec settings can be h264, h265, or vp9. // // Types that are assignable to CodecSettings: + // // *VideoStream_H264 // *VideoStream_H265 // *VideoStream_Vp9 @@ -2207,6 +2212,7 @@ type Encryption struct { // Encryption mode can be either `aes` or `cenc`. // // Types that are assignable to EncryptionMode: + // // *Encryption_Aes_128 // *Encryption_SampleAes // *Encryption_MpegCenc @@ -2214,6 +2220,7 @@ type Encryption struct { // Defines where content keys are stored. // // Types that are assignable to SecretSource: + // // *Encryption_SecretManagerKeySource SecretSource isEncryption_SecretSource `protobuf_oneof:"secret_source"` // Required. DRM system(s) to use; at least one must be specified. If a @@ -2728,6 +2735,7 @@ type Overlay_Animation struct { // Animations can be static or fade, or they can end the previous animation. // // Types that are assignable to AnimationType: + // // *Overlay_Animation_AnimationStatic // *Overlay_Animation_AnimationFade // *Overlay_Animation_AnimationEnd @@ -3031,14 +3039,14 @@ type PreprocessingConfig_Audio struct { // Specify audio loudness normalization in loudness units relative to full // scale (LUFS). Enter a value between -24 and 0 (the default), where: // - // * -24 is the Advanced Television Systems Committee (ATSC A/85) standard - // * -23 is the EU R128 broadcast standard - // * -19 is the prior standard for online mono audio - // * -18 is the ReplayGain standard - // * -16 is the prior standard for stereo audio - // * -14 is the new online audio standard recommended by Spotify, as well + // - -24 is the Advanced Television Systems Committee (ATSC A/85) standard + // - -23 is the EU R128 broadcast standard + // - -19 is the prior standard for online mono audio + // - -18 is the ReplayGain standard + // - -16 is the prior standard for stereo audio + // - -14 is the new online audio standard recommended by Spotify, as well // as Amazon Echo - // * 0 disables normalization + // - 0 disables normalization Lufs float64 `protobuf:"fixed64,1,opt,name=lufs,proto3" json:"lufs,omitempty"` // Enable boosting high frequency components. The default is `false`. // @@ -3266,6 +3274,7 @@ type PreprocessingConfig_Deinterlace struct { // Specify the video deinterlacing filter. The default is `yadif`. // // Types that are assignable to DeinterlacingFilter: + // // *PreprocessingConfig_Deinterlace_Yadif // *PreprocessingConfig_Deinterlace_Bwdif DeinterlacingFilter isPreprocessingConfig_Deinterlace_DeinterlacingFilter `protobuf_oneof:"deinterlacing_filter"` @@ -3577,6 +3586,7 @@ type VideoStream_H264CodecSettings struct { // GOP mode can be either by frame count or duration. // // Types that are assignable to GopMode: + // // *VideoStream_H264CodecSettings_GopFrameCount // *VideoStream_H264CodecSettings_GopDuration GopMode isVideoStream_H264CodecSettings_GopMode `protobuf_oneof:"gop_mode"` @@ -3903,6 +3913,7 @@ type VideoStream_H265CodecSettings struct { // GOP mode can be either by frame count or duration. // // Types that are assignable to GopMode: + // // *VideoStream_H265CodecSettings_GopFrameCount // *VideoStream_H265CodecSettings_GopDuration GopMode isVideoStream_H265CodecSettings_GopMode `protobuf_oneof:"gop_mode"` @@ -3931,23 +3942,25 @@ type VideoStream_H265CodecSettings struct { // supported: // // * 8-bit profiles - // * `main` (default) - // * `main-intra` - // * `mainstillpicture` + // - `main` (default) + // - `main-intra` + // - `mainstillpicture` + // // * 10-bit profiles - // * `main10` (default) - // * `main10-intra` - // * `main422-10` - // * `main422-10-intra` - // * `main444-10` - // * `main444-10-intra` + // - `main10` (default) + // - `main10-intra` + // - `main422-10` + // - `main422-10-intra` + // - `main444-10` + // - `main444-10-intra` + // // * 12-bit profiles - // * `main12` (default) - // * `main12-intra` - // * `main422-12` - // * `main422-12-intra` - // * `main444-12` - // * `main444-12-intra` + // - `main12` (default) + // - `main12-intra` + // - `main422-12` + // - `main422-12-intra` + // - `main444-12` + // - `main444-12-intra` // // The available options are // [FFmpeg-compatible](https://x265.readthedocs.io/). @@ -4228,6 +4241,7 @@ type VideoStream_Vp9CodecSettings struct { // GOP mode can be either by frame count or duration. // // Types that are assignable to GopMode: + // // *VideoStream_Vp9CodecSettings_GopFrameCount // *VideoStream_Vp9CodecSettings_GopDuration GopMode isVideoStream_Vp9CodecSettings_GopMode `protobuf_oneof:"gop_mode"` diff --git a/videointelligence/apiv1/videointelligencepb/video_intelligence.pb.go b/videointelligence/apiv1/videointelligencepb/video_intelligence.pb.go index 4ae7510640f..9d56aa8bd87 100755 --- a/videointelligence/apiv1/videointelligencepb/video_intelligence.pb.go +++ b/videointelligence/apiv1/videointelligencepb/video_intelligence.pb.go @@ -3321,6 +3321,7 @@ type ObjectTrackingAnnotation struct { // and streaming modes. // // Types that are assignable to TrackInfo: + // // *ObjectTrackingAnnotation_Segment // *ObjectTrackingAnnotation_TrackId TrackInfo isObjectTrackingAnnotation_TrackInfo `protobuf_oneof:"track_info"` diff --git a/videointelligence/apiv1p3beta1/videointelligencepb/video_intelligence.pb.go b/videointelligence/apiv1p3beta1/videointelligencepb/video_intelligence.pb.go index 4aef9367e82..e0fa561b03e 100755 --- a/videointelligence/apiv1p3beta1/videointelligencepb/video_intelligence.pb.go +++ b/videointelligence/apiv1p3beta1/videointelligencepb/video_intelligence.pb.go @@ -3349,6 +3349,7 @@ type ObjectTrackingAnnotation struct { // and streaming modes. // // Types that are assignable to TrackInfo: + // // *ObjectTrackingAnnotation_Segment // *ObjectTrackingAnnotation_TrackId TrackInfo isObjectTrackingAnnotation_TrackInfo `protobuf_oneof:"track_info"` @@ -3544,6 +3545,7 @@ type StreamingAnnotateVideoRequest struct { // video content. // // Types that are assignable to StreamingRequest: + // // *StreamingAnnotateVideoRequest_VideoConfig // *StreamingAnnotateVideoRequest_InputContent StreamingRequest isStreamingAnnotateVideoRequest_StreamingRequest `protobuf_oneof:"streaming_request"` @@ -3640,6 +3642,7 @@ type StreamingVideoConfig struct { // Config for requested annotation feature. // // Types that are assignable to StreamingConfig: + // // *StreamingVideoConfig_ShotChangeDetectionConfig // *StreamingVideoConfig_LabelDetectionConfig // *StreamingVideoConfig_ExplicitContentDetectionConfig diff --git a/vision/apiv1/visionpb/image_annotator.pb.go b/vision/apiv1/visionpb/image_annotator.pb.go index 8b52d8ddda3..2d1b3a5ecf8 100755 --- a/vision/apiv1/visionpb/image_annotator.pb.go +++ b/vision/apiv1/visionpb/image_annotator.pb.go @@ -550,18 +550,18 @@ type ImageSource struct { GcsImageUri string `protobuf:"bytes,1,opt,name=gcs_image_uri,json=gcsImageUri,proto3" json:"gcs_image_uri,omitempty"` // The URI of the source image. Can be either: // - // 1. A Google Cloud Storage URI of the form - // `gs://bucket_name/object_name`. Object versioning is not supported. See - // [Google Cloud Storage Request - // URIs](https://cloud.google.com/storage/docs/reference-uris) for more - // info. + // 1. A Google Cloud Storage URI of the form + // `gs://bucket_name/object_name`. Object versioning is not supported. See + // [Google Cloud Storage Request + // URIs](https://cloud.google.com/storage/docs/reference-uris) for more + // info. // - // 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from - // HTTP/HTTPS URLs, Google cannot guarantee that the request will be - // completed. Your request may fail if the specified host denies the - // request (e.g. due to request throttling or DOS prevention), or if Google - // throttles requests to the site for abuse prevention. You should not - // depend on externally-hosted images for production applications. + // 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from + // HTTP/HTTPS URLs, Google cannot guarantee that the request will be + // completed. Your request may fail if the specified host denies the + // request (e.g. due to request throttling or DOS prevention), or if Google + // throttles requests to the site for abuse prevention. You should not + // depend on externally-hosted images for production applications. // // When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes // precedence. @@ -2232,9 +2232,10 @@ type BatchAnnotateImagesRequest struct { // If no parent is specified, a region will be chosen automatically. // // Supported location-ids: - // `us`: USA country only, - // `asia`: East asia areas, like Japan, Taiwan, - // `eu`: The European Union. + // + // `us`: USA country only, + // `asia`: East asia areas, like Japan, Taiwan, + // `eu`: The European Union. // // Example: `projects/project-A/locations/eu`. Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` @@ -2519,9 +2520,10 @@ type BatchAnnotateFilesRequest struct { // If no parent is specified, a region will be chosen automatically. // // Supported location-ids: - // `us`: USA country only, - // `asia`: East asia areas, like Japan, Taiwan, - // `eu`: The European Union. + // + // `us`: USA country only, + // `asia`: East asia areas, like Japan, Taiwan, + // `eu`: The European Union. // // Example: `projects/project-A/locations/eu`. Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"` @@ -2765,9 +2767,10 @@ type AsyncBatchAnnotateImagesRequest struct { // If no parent is specified, a region will be chosen automatically. // // Supported location-ids: - // `us`: USA country only, - // `asia`: East asia areas, like Japan, Taiwan, - // `eu`: The European Union. + // + // `us`: USA country only, + // `asia`: East asia areas, like Japan, Taiwan, + // `eu`: The European Union. // // Example: `projects/project-A/locations/eu`. Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` @@ -2891,9 +2894,10 @@ type AsyncBatchAnnotateFilesRequest struct { // If no parent is specified, a region will be chosen automatically. // // Supported location-ids: - // `us`: USA country only, - // `asia`: East asia areas, like Japan, Taiwan, - // `eu`: The European Union. + // + // `us`: USA country only, + // `asia`: East asia areas, like Japan, Taiwan, + // `eu`: The European Union. // // Example: `projects/project-A/locations/eu`. Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` diff --git a/vision/apiv1/visionpb/product_search_service.pb.go b/vision/apiv1/visionpb/product_search_service.pb.go index 897595326b4..a19fc9547b2 100755 --- a/vision/apiv1/visionpb/product_search_service.pb.go +++ b/vision/apiv1/visionpb/product_search_service.pb.go @@ -1748,7 +1748,7 @@ type ImportProductSetsGcsSource struct { // The `labels` column (optional) is a line containing a list of // comma-separated key-value pairs, in the following format: // - // "key_1=value_1,key_2=value_2,...,key_n=value_n" + // "key_1=value_1,key_2=value_2,...,key_n=value_n" // // The `bounding-poly` column (optional) identifies one region of // interest from the image in the same manner as `CreateReferenceImage`. If @@ -1818,6 +1818,7 @@ type ImportProductSetsInputConfig struct { // The source of the input. // // Types that are assignable to Source: + // // *ImportProductSetsInputConfig_GcsSource Source isImportProductSetsInputConfig_Source `protobuf_oneof:"source"` } @@ -2138,6 +2139,7 @@ type PurgeProductsRequest struct { // The Products to delete. // // Types that are assignable to Target: + // // *PurgeProductsRequest_ProductSetPurgeConfig // *PurgeProductsRequest_DeleteOrphanProducts Target isPurgeProductsRequest_Target `protobuf_oneof:"target"` @@ -3456,15 +3458,15 @@ type ProductSearchClient interface { // // Possible errors: // - // * Returns INVALID_ARGUMENT if display_name is missing, or is longer than - // 4096 characters. + // - Returns INVALID_ARGUMENT if display_name is missing, or is longer than + // 4096 characters. CreateProductSet(ctx context.Context, in *CreateProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error) // Lists ProductSets in an unspecified order. // // Possible errors: // - // * Returns INVALID_ARGUMENT if page_size is greater than 100, or less - // than 1. + // - Returns INVALID_ARGUMENT if page_size is greater than 100, or less + // than 1. ListProductSets(ctx context.Context, in *ListProductSetsRequest, opts ...grpc.CallOption) (*ListProductSetsResponse, error) // Gets information associated with a ProductSet. // @@ -3477,9 +3479,9 @@ type ProductSearchClient interface { // // Possible errors: // - // * Returns NOT_FOUND if the ProductSet does not exist. - // * Returns INVALID_ARGUMENT if display_name is present in update_mask but - // missing from the request or longer than 4096 characters. + // - Returns NOT_FOUND if the ProductSet does not exist. + // - Returns INVALID_ARGUMENT if display_name is present in update_mask but + // missing from the request or longer than 4096 characters. UpdateProductSet(ctx context.Context, in *UpdateProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error) // Permanently deletes a ProductSet. Products and ReferenceImages in the // ProductSet are not deleted. @@ -3490,10 +3492,10 @@ type ProductSearchClient interface { // // Possible errors: // - // * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 - // characters. - // * Returns INVALID_ARGUMENT if description is longer than 4096 characters. - // * Returns INVALID_ARGUMENT if product_category is missing or invalid. + // - Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 + // characters. + // - Returns INVALID_ARGUMENT if description is longer than 4096 characters. + // - Returns INVALID_ARGUMENT if product_category is missing or invalid. CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error) // Lists products in an unspecified order. // @@ -3516,12 +3518,12 @@ type ProductSearchClient interface { // // Possible errors: // - // * Returns NOT_FOUND if the Product does not exist. - // * Returns INVALID_ARGUMENT if display_name is present in update_mask but is - // missing from the request or longer than 4096 characters. - // * Returns INVALID_ARGUMENT if description is present in update_mask but is - // longer than 4096 characters. - // * Returns INVALID_ARGUMENT if product_category is present in update_mask. + // - Returns NOT_FOUND if the Product does not exist. + // - Returns INVALID_ARGUMENT if display_name is present in update_mask but is + // missing from the request or longer than 4096 characters. + // - Returns INVALID_ARGUMENT if description is present in update_mask but is + // longer than 4096 characters. + // - Returns INVALID_ARGUMENT if product_category is present in update_mask. UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error) // Permanently deletes a product and its reference images. // @@ -3542,12 +3544,12 @@ type ProductSearchClient interface { // // Possible errors: // - // * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 - // characters. - // * Returns INVALID_ARGUMENT if the product does not exist. - // * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing - // compatible with the parent product's product_category is detected. - // * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. + // - Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 + // characters. + // - Returns INVALID_ARGUMENT if the product does not exist. + // - Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing + // compatible with the parent product's product_category is detected. + // - Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. CreateReferenceImage(ctx context.Context, in *CreateReferenceImageRequest, opts ...grpc.CallOption) (*ReferenceImage, error) // Permanently deletes a reference image. // @@ -3561,9 +3563,9 @@ type ProductSearchClient interface { // // Possible errors: // - // * Returns NOT_FOUND if the parent product does not exist. - // * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less - // than 1. + // - Returns NOT_FOUND if the parent product does not exist. + // - Returns INVALID_ARGUMENT if the page_size is greater than 100, or less + // than 1. ListReferenceImages(ctx context.Context, in *ListReferenceImagesRequest, opts ...grpc.CallOption) (*ListReferenceImagesResponse, error) // Gets information associated with a ReferenceImage. // @@ -3814,15 +3816,15 @@ type ProductSearchServer interface { // // Possible errors: // - // * Returns INVALID_ARGUMENT if display_name is missing, or is longer than - // 4096 characters. + // - Returns INVALID_ARGUMENT if display_name is missing, or is longer than + // 4096 characters. CreateProductSet(context.Context, *CreateProductSetRequest) (*ProductSet, error) // Lists ProductSets in an unspecified order. // // Possible errors: // - // * Returns INVALID_ARGUMENT if page_size is greater than 100, or less - // than 1. + // - Returns INVALID_ARGUMENT if page_size is greater than 100, or less + // than 1. ListProductSets(context.Context, *ListProductSetsRequest) (*ListProductSetsResponse, error) // Gets information associated with a ProductSet. // @@ -3835,9 +3837,9 @@ type ProductSearchServer interface { // // Possible errors: // - // * Returns NOT_FOUND if the ProductSet does not exist. - // * Returns INVALID_ARGUMENT if display_name is present in update_mask but - // missing from the request or longer than 4096 characters. + // - Returns NOT_FOUND if the ProductSet does not exist. + // - Returns INVALID_ARGUMENT if display_name is present in update_mask but + // missing from the request or longer than 4096 characters. UpdateProductSet(context.Context, *UpdateProductSetRequest) (*ProductSet, error) // Permanently deletes a ProductSet. Products and ReferenceImages in the // ProductSet are not deleted. @@ -3848,10 +3850,10 @@ type ProductSearchServer interface { // // Possible errors: // - // * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 - // characters. - // * Returns INVALID_ARGUMENT if description is longer than 4096 characters. - // * Returns INVALID_ARGUMENT if product_category is missing or invalid. + // - Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 + // characters. + // - Returns INVALID_ARGUMENT if description is longer than 4096 characters. + // - Returns INVALID_ARGUMENT if product_category is missing or invalid. CreateProduct(context.Context, *CreateProductRequest) (*Product, error) // Lists products in an unspecified order. // @@ -3874,12 +3876,12 @@ type ProductSearchServer interface { // // Possible errors: // - // * Returns NOT_FOUND if the Product does not exist. - // * Returns INVALID_ARGUMENT if display_name is present in update_mask but is - // missing from the request or longer than 4096 characters. - // * Returns INVALID_ARGUMENT if description is present in update_mask but is - // longer than 4096 characters. - // * Returns INVALID_ARGUMENT if product_category is present in update_mask. + // - Returns NOT_FOUND if the Product does not exist. + // - Returns INVALID_ARGUMENT if display_name is present in update_mask but is + // missing from the request or longer than 4096 characters. + // - Returns INVALID_ARGUMENT if description is present in update_mask but is + // longer than 4096 characters. + // - Returns INVALID_ARGUMENT if product_category is present in update_mask. UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error) // Permanently deletes a product and its reference images. // @@ -3900,12 +3902,12 @@ type ProductSearchServer interface { // // Possible errors: // - // * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 - // characters. - // * Returns INVALID_ARGUMENT if the product does not exist. - // * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing - // compatible with the parent product's product_category is detected. - // * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. + // - Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 + // characters. + // - Returns INVALID_ARGUMENT if the product does not exist. + // - Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing + // compatible with the parent product's product_category is detected. + // - Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. CreateReferenceImage(context.Context, *CreateReferenceImageRequest) (*ReferenceImage, error) // Permanently deletes a reference image. // @@ -3919,9 +3921,9 @@ type ProductSearchServer interface { // // Possible errors: // - // * Returns NOT_FOUND if the parent product does not exist. - // * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less - // than 1. + // - Returns NOT_FOUND if the parent product does not exist. + // - Returns INVALID_ARGUMENT if the page_size is greater than 100, or less + // than 1. ListReferenceImages(context.Context, *ListReferenceImagesRequest) (*ListReferenceImagesResponse, error) // Gets information associated with a ReferenceImage. // diff --git a/vision/apiv1/visionpb/text_annotation.pb.go b/vision/apiv1/visionpb/text_annotation.pb.go index 7c42a64021f..91e4d92542e 100755 --- a/vision/apiv1/visionpb/text_annotation.pb.go +++ b/vision/apiv1/visionpb/text_annotation.pb.go @@ -336,17 +336,17 @@ type Block struct { // // * when the text is horizontal it might look like: // - // 0----1 - // | | - // 3----2 + // 0----1 + // | | + // 3----2 // // * when it's rotated 180 degrees around the top-left corner it becomes: // - // 2----3 - // | | - // 1----0 + // 2----3 + // | | + // 1----0 // - // and the vertex order will still be (0, 1, 2, 3). + // and the vertex order will still be (0, 1, 2, 3). BoundingBox *BoundingPoly `protobuf:"bytes,2,opt,name=bounding_box,json=boundingBox,proto3" json:"bounding_box,omitempty"` // List of paragraphs in this block (if this blocks is of type text). Paragraphs []*Paragraph `protobuf:"bytes,3,rep,name=paragraphs,proto3" json:"paragraphs,omitempty"` @@ -437,15 +437,15 @@ type Paragraph struct { // is represented as around the top-left corner as defined when the text is // read in the 'natural' orientation. // For example: - // * when the text is horizontal it might look like: - // 0----1 - // | | - // 3----2 - // * when it's rotated 180 degrees around the top-left corner it becomes: - // 2----3 - // | | - // 1----0 - // and the vertex order will still be (0, 1, 2, 3). + // - when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // - when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertex order will still be (0, 1, 2, 3). BoundingBox *BoundingPoly `protobuf:"bytes,2,opt,name=bounding_box,json=boundingBox,proto3" json:"bounding_box,omitempty"` // List of all words in this paragraph. Words []*Word `protobuf:"bytes,3,rep,name=words,proto3" json:"words,omitempty"` @@ -527,15 +527,15 @@ type Word struct { // is represented as around the top-left corner as defined when the text is // read in the 'natural' orientation. // For example: - // * when the text is horizontal it might look like: - // 0----1 - // | | - // 3----2 - // * when it's rotated 180 degrees around the top-left corner it becomes: - // 2----3 - // | | - // 1----0 - // and the vertex order will still be (0, 1, 2, 3). + // - when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // - when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertex order will still be (0, 1, 2, 3). BoundingBox *BoundingPoly `protobuf:"bytes,2,opt,name=bounding_box,json=boundingBox,proto3" json:"bounding_box,omitempty"` // List of symbols in the word. // The order of the symbols follows the natural reading order. @@ -618,15 +618,15 @@ type Symbol struct { // is represented as around the top-left corner as defined when the text is // read in the 'natural' orientation. // For example: - // * when the text is horizontal it might look like: - // 0----1 - // | | - // 3----2 - // * when it's rotated 180 degrees around the top-left corner it becomes: - // 2----3 - // | | - // 1----0 - // and the vertex order will still be (0, 1, 2, 3). + // - when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // - when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertex order will still be (0, 1, 2, 3). BoundingBox *BoundingPoly `protobuf:"bytes,2,opt,name=bounding_box,json=boundingBox,proto3" json:"bounding_box,omitempty"` // The actual UTF-8 representation of the symbol. Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"` diff --git a/vision/apiv1p1beta1/visionpb/text_annotation.pb.go b/vision/apiv1p1beta1/visionpb/text_annotation.pb.go index 361157d8582..58c828d8718 100755 --- a/vision/apiv1p1beta1/visionpb/text_annotation.pb.go +++ b/vision/apiv1p1beta1/visionpb/text_annotation.pb.go @@ -332,15 +332,15 @@ type Block struct { // is represented as around the top-left corner as defined when the text is // read in the 'natural' orientation. // For example: - // * when the text is horizontal it might look like: - // 0----1 - // | | - // 3----2 - // * when it's rotated 180 degrees around the top-left corner it becomes: - // 2----3 - // | | - // 1----0 - // and the vertice order will still be (0, 1, 2, 3). + // - when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // - when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). BoundingBox *BoundingPoly `protobuf:"bytes,2,opt,name=bounding_box,json=boundingBox,proto3" json:"bounding_box,omitempty"` // List of paragraphs in this block (if this blocks is of type text). Paragraphs []*Paragraph `protobuf:"bytes,3,rep,name=paragraphs,proto3" json:"paragraphs,omitempty"` @@ -431,15 +431,15 @@ type Paragraph struct { // is represented as around the top-left corner as defined when the text is // read in the 'natural' orientation. // For example: - // * when the text is horizontal it might look like: - // 0----1 - // | | - // 3----2 - // * when it's rotated 180 degrees around the top-left corner it becomes: - // 2----3 - // | | - // 1----0 - // and the vertice order will still be (0, 1, 2, 3). + // - when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // - when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). BoundingBox *BoundingPoly `protobuf:"bytes,2,opt,name=bounding_box,json=boundingBox,proto3" json:"bounding_box,omitempty"` // List of words in this paragraph. Words []*Word `protobuf:"bytes,3,rep,name=words,proto3" json:"words,omitempty"` @@ -521,15 +521,15 @@ type Word struct { // is represented as around the top-left corner as defined when the text is // read in the 'natural' orientation. // For example: - // * when the text is horizontal it might look like: - // 0----1 - // | | - // 3----2 - // * when it's rotated 180 degrees around the top-left corner it becomes: - // 2----3 - // | | - // 1----0 - // and the vertice order will still be (0, 1, 2, 3). + // - when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // - when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). BoundingBox *BoundingPoly `protobuf:"bytes,2,opt,name=bounding_box,json=boundingBox,proto3" json:"bounding_box,omitempty"` // List of symbols in the word. // The order of the symbols follows the natural reading order. @@ -612,15 +612,15 @@ type Symbol struct { // is represented as around the top-left corner as defined when the text is // read in the 'natural' orientation. // For example: - // * when the text is horizontal it might look like: - // 0----1 - // | | - // 3----2 - // * when it's rotated 180 degrees around the top-left corner it becomes: - // 2----3 - // | | - // 1----0 - // and the vertice order will still be (0, 1, 2, 3). + // - when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // - when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). BoundingBox *BoundingPoly `protobuf:"bytes,2,opt,name=bounding_box,json=boundingBox,proto3" json:"bounding_box,omitempty"` // The actual UTF-8 representation of the symbol. Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"` diff --git a/vmmigration/apiv1/vmmigrationpb/vmmigration.pb.go b/vmmigration/apiv1/vmmigrationpb/vmmigration.pb.go index a949cb2181b..e6cf9a16d81 100755 --- a/vmmigration/apiv1/vmmigrationpb/vmmigration.pb.go +++ b/vmmigration/apiv1/vmmigrationpb/vmmigration.pb.go @@ -1749,6 +1749,7 @@ type CycleStep struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Step: + // // *CycleStep_InitializingReplication // *CycleStep_Replicating // *CycleStep_PostProcessing @@ -2075,11 +2076,13 @@ type MigratingVm struct { // Cloud as a result of the migration. // // Types that are assignable to TargetVmDefaults: + // // *MigratingVm_ComputeEngineTargetDefaults TargetVmDefaults isMigratingVm_TargetVmDefaults `protobuf_oneof:"target_vm_defaults"` // Details about the source VM. // // Types that are assignable to SourceVmDetails: + // // *MigratingVm_AwsSourceVmDetails SourceVmDetails isMigratingVm_SourceVmDetails `protobuf_oneof:"source_vm_details"` // Output only. The identifier of the MigratingVm. @@ -2344,6 +2347,7 @@ type CloneJob struct { // Details of the VM to create as the target of this clone job. // // Types that are assignable to TargetVmDetails: + // // *CloneJob_ComputeEngineTargetDetails TargetVmDetails isCloneJob_TargetVmDetails `protobuf_oneof:"target_vm_details"` // Output only. The time the clone job was created (as an API call, not when @@ -2477,6 +2481,7 @@ type CloneStep struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Step: + // // *CloneStep_AdaptingOs // *CloneStep_PreparingVmDisks // *CloneStep_InstantiatingMigratedVm @@ -2714,6 +2719,7 @@ type CutoverJob struct { // Details of the VM to create as the target of this cutover job. // // Types that are assignable to TargetVmDetails: + // // *CutoverJob_ComputeEngineTargetDetails TargetVmDetails isCutoverJob_TargetVmDetails `protobuf_oneof:"target_vm_details"` // Output only. The time the cutover job was created (as an API call, not when @@ -2866,6 +2872,7 @@ type CutoverStep struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Step: + // // *CutoverStep_PreviousReplicationCycle // *CutoverStep_ShuttingDownSourceVm // *CutoverStep_FinalSync @@ -3437,6 +3444,7 @@ type Source struct { unknownFields protoimpl.UnknownFields // Types that are assignable to SourceDetails: + // // *Source_Vmware // *Source_Aws SourceDetails isSource_SourceDetails `protobuf_oneof:"source_details"` @@ -3644,6 +3652,7 @@ type AwsSourceDetails struct { unknownFields protoimpl.UnknownFields // Types that are assignable to CredentialsType: + // // *AwsSourceDetails_AccessKeyCreds CredentialsType isAwsSourceDetails_CredentialsType `protobuf_oneof:"credentials_type"` // Immutable. The AWS region that the source VMs will be migrated from. @@ -5205,6 +5214,7 @@ type FetchInventoryResponse struct { unknownFields protoimpl.UnknownFields // Types that are assignable to SourceVms: + // // *FetchInventoryResponse_VmwareVms // *FetchInventoryResponse_AwsVms SourceVms isFetchInventoryResponse_SourceVms `protobuf_oneof:"SourceVms"` @@ -5437,6 +5447,7 @@ type VmUtilizationInfo struct { unknownFields protoimpl.UnknownFields // Types that are assignable to VmDetails: + // // *VmUtilizationInfo_VmwareVmDetails VmDetails isVmUtilizationInfo_VmDetails `protobuf_oneof:"VmDetails"` // The VM's ID in the source. diff --git a/vmwareengine/apiv1/vmwareenginepb/vmwareengine.pb.go b/vmwareengine/apiv1/vmwareenginepb/vmwareengine.pb.go index 6a7dcae7756..90a659ae949 100755 --- a/vmwareengine/apiv1/vmwareenginepb/vmwareengine.pb.go +++ b/vmwareengine/apiv1/vmwareenginepb/vmwareengine.pb.go @@ -650,7 +650,6 @@ type ListClustersRequest struct { // When paginating, all other parameters provided to `ListClusters` // must match the call that provided the page token. PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` - // // To filter on multiple expressions, provide each separate expression within // parentheses. For example: // ``` @@ -5362,7 +5361,8 @@ type CreateNetworkPolicyRequest struct { // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: - // `projects/my-project/locations/us-central1` + // + // `projects/my-project/locations/us-central1` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The user-provided identifier of the network policy to be created. // This identifier must be unique within parent diff --git a/vmwareengine/apiv1/vmwareenginepb/vmwareengine_resources.pb.go b/vmwareengine/apiv1/vmwareenginepb/vmwareengine_resources.pb.go index 4d1cb11211f..1d99d9a124a 100755 --- a/vmwareengine/apiv1/vmwareenginepb/vmwareengine_resources.pb.go +++ b/vmwareengine/apiv1/vmwareenginepb/vmwareengine_resources.pb.go @@ -4071,6 +4071,7 @@ type ManagementDnsZoneBinding struct { // VMware engine network. // // Types that are assignable to BindNetwork: + // // *ManagementDnsZoneBinding_VpcNetwork // *ManagementDnsZoneBinding_VmwareEngineNetwork BindNetwork isManagementDnsZoneBinding_BindNetwork `protobuf_oneof:"bind_network"` @@ -4642,6 +4643,7 @@ type Principal struct { // consumer project. // // Types that are assignable to Principal: + // // *Principal_User // *Principal_ServiceAccount Principal isPrincipal_Principal `protobuf_oneof:"principal"` @@ -4802,6 +4804,7 @@ type ExternalAccessRule_IpRange struct { unknownFields protoimpl.UnknownFields // Types that are assignable to IpRange: + // // *ExternalAccessRule_IpRange_IpAddress // *ExternalAccessRule_IpRange_IpAddressRange // *ExternalAccessRule_IpRange_ExternalAddress diff --git a/webrisk/apiv1/webriskpb/webrisk.pb.go b/webrisk/apiv1/webriskpb/webrisk.pb.go index 6e876e6fa02..c877eeda541 100755 --- a/webrisk/apiv1/webriskpb/webrisk.pb.go +++ b/webrisk/apiv1/webriskpb/webrisk.pb.go @@ -1887,6 +1887,7 @@ type ThreatInfo_Confidence struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Value: + // // *ThreatInfo_Confidence_Score // *ThreatInfo_Confidence_Level Value isThreatInfo_Confidence_Value `protobuf_oneof:"value"` diff --git a/websecurityscanner/apiv1/websecurityscannerpb/scan_config.pb.go b/websecurityscanner/apiv1/websecurityscannerpb/scan_config.pb.go index 961d6a9af65..a5fee7a66f0 100755 --- a/websecurityscanner/apiv1/websecurityscannerpb/scan_config.pb.go +++ b/websecurityscanner/apiv1/websecurityscannerpb/scan_config.pb.go @@ -380,6 +380,7 @@ type ScanConfig_Authentication struct { // Authentication configuration // // Types that are assignable to Authentication: + // // *ScanConfig_Authentication_GoogleAccount_ // *ScanConfig_Authentication_CustomAccount_ // *ScanConfig_Authentication_IapCredential_ @@ -673,6 +674,7 @@ type ScanConfig_Authentication_IapCredential struct { // Identity-Aware-Proxy (IAP) Authentication Configuration // // Types that are assignable to IapCredentials: + // // *ScanConfig_Authentication_IapCredential_IapTestServiceAccountInfo_ IapCredentials isScanConfig_Authentication_IapCredential_IapCredentials `protobuf_oneof:"iap_credentials"` } diff --git a/workflows/apiv1/workflowspb/workflows.pb.go b/workflows/apiv1/workflowspb/workflows.pb.go index 2841cbb9e21..ec795ef9640 100755 --- a/workflows/apiv1/workflowspb/workflows.pb.go +++ b/workflows/apiv1/workflowspb/workflows.pb.go @@ -262,6 +262,7 @@ type Workflow struct { // revision. // // Types that are assignable to SourceCode: + // // *Workflow_SourceContents SourceCode isWorkflow_SourceCode `protobuf_oneof:"source_code"` // Optional. The resource name of a KMS crypto key used to encrypt or decrypt diff --git a/workflows/apiv1beta/workflowspb/workflows.pb.go b/workflows/apiv1beta/workflowspb/workflows.pb.go index 92857741776..32ee0acdde2 100755 --- a/workflows/apiv1beta/workflowspb/workflows.pb.go +++ b/workflows/apiv1beta/workflowspb/workflows.pb.go @@ -147,6 +147,7 @@ type Workflow struct { // revision. // // Types that are assignable to SourceCode: + // // *Workflow_SourceContents SourceCode isWorkflow_SourceCode `protobuf_oneof:"source_code"` } diff --git a/workstations/apiv1/workstationspb/workstations.pb.go b/workstations/apiv1/workstationspb/workstations.pb.go index 9005c4c974a..99fb48480fa 100755 --- a/workstations/apiv1/workstationspb/workstations.pb.go +++ b/workstations/apiv1/workstationspb/workstations.pb.go @@ -2503,6 +2503,7 @@ type GenerateAccessTokenRequest struct { // Desired expiration or lifetime of the access token. // // Types that are assignable to Expiration: + // // *GenerateAccessTokenRequest_ExpireTime // *GenerateAccessTokenRequest_Ttl Expiration isGenerateAccessTokenRequest_Expiration `protobuf_oneof:"expiration"` @@ -2854,6 +2855,7 @@ type WorkstationConfig_Host struct { // Type of host that will be used for the workstation's runtime. // // Types that are assignable to Config: + // // *WorkstationConfig_Host_GceInstance_ Config isWorkstationConfig_Host_Config `protobuf_oneof:"config"` } @@ -2924,6 +2926,7 @@ type WorkstationConfig_PersistentDirectory struct { // How a persistent directory should be implemented. // // Types that are assignable to DirectoryType: + // // *WorkstationConfig_PersistentDirectory_GcePd DirectoryType isWorkstationConfig_PersistentDirectory_DirectoryType `protobuf_oneof:"directory_type"` // Optional. Location of this directory in the running workstation. diff --git a/workstations/apiv1beta/workstationspb/workstations.pb.go b/workstations/apiv1beta/workstationspb/workstations.pb.go index 104add6ee8b..fc15035f085 100755 --- a/workstations/apiv1beta/workstationspb/workstations.pb.go +++ b/workstations/apiv1beta/workstationspb/workstations.pb.go @@ -2536,6 +2536,7 @@ type GenerateAccessTokenRequest struct { // Desired expiration or lifetime of the access token. // // Types that are assignable to Expiration: + // // *GenerateAccessTokenRequest_ExpireTime // *GenerateAccessTokenRequest_Ttl Expiration isGenerateAccessTokenRequest_Expiration `protobuf_oneof:"expiration"` @@ -2887,6 +2888,7 @@ type WorkstationConfig_Host struct { // Type of host that will be used for the workstation's runtime. // // Types that are assignable to Config: + // // *WorkstationConfig_Host_GceInstance_ Config isWorkstationConfig_Host_Config `protobuf_oneof:"config"` } @@ -2957,6 +2959,7 @@ type WorkstationConfig_PersistentDirectory struct { // How a persistent directory should be implemented. // // Types that are assignable to DirectoryType: + // // *WorkstationConfig_PersistentDirectory_GcePd DirectoryType isWorkstationConfig_PersistentDirectory_DirectoryType `protobuf_oneof:"directory_type"` // Optional. Location of this directory in the running workstation. @@ -3038,6 +3041,7 @@ type WorkstationConfig_EphemeralDirectory struct { // How an ephemeral directory should be implemented. // // Types that are assignable to DirectoryType: + // // *WorkstationConfig_EphemeralDirectory_GcePd DirectoryType isWorkstationConfig_EphemeralDirectory_DirectoryType `protobuf_oneof:"directory_type"` // Required. Location of this directory in the running workstation.