google-cloud-vision-v1 0.9.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1178 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/vision/v1/product_search_service_pb"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Vision
24
+ module V1
25
+ module ProductSearch
26
+ module Rest
27
+ ##
28
+ # REST service stub for the ProductSearch service.
29
+ # Service stub contains baseline method implementations
30
+ # including transcoding, making the REST call, and deserialing the response.
31
+ #
32
+ class ServiceStub
33
+ def initialize endpoint:, credentials:
34
+ # These require statements are intentionally placed here to initialize
35
+ # the REST modules only when it's required.
36
+ require "gapic/rest"
37
+
38
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials,
39
+ numeric_enums: true,
40
+ raise_faraday_errors: false
41
+ end
42
+
43
+ ##
44
+ # Baseline implementation for the create_product_set REST call
45
+ #
46
+ # @param request_pb [::Google::Cloud::Vision::V1::CreateProductSetRequest]
47
+ # A request object representing the call parameters. Required.
48
+ # @param options [::Gapic::CallOptions]
49
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
50
+ #
51
+ # @yield [result, operation] Access the result along with the TransportOperation object
52
+ # @yieldparam result [::Google::Cloud::Vision::V1::ProductSet]
53
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
54
+ #
55
+ # @return [::Google::Cloud::Vision::V1::ProductSet]
56
+ # A result object deserialized from the server's reply
57
+ def create_product_set request_pb, options = nil
58
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
59
+
60
+ verb, uri, query_string_params, body = ServiceStub.transcode_create_product_set_request request_pb
61
+ query_string_params = if query_string_params.any?
62
+ query_string_params.to_h { |p| p.split("=", 2) }
63
+ else
64
+ {}
65
+ end
66
+
67
+ response = @client_stub.make_http_request(
68
+ verb,
69
+ uri: uri,
70
+ body: body || "",
71
+ params: query_string_params,
72
+ options: options
73
+ )
74
+ operation = ::Gapic::Rest::TransportOperation.new response
75
+ result = ::Google::Cloud::Vision::V1::ProductSet.decode_json response.body, ignore_unknown_fields: true
76
+
77
+ yield result, operation if block_given?
78
+ result
79
+ end
80
+
81
+ ##
82
+ # Baseline implementation for the list_product_sets REST call
83
+ #
84
+ # @param request_pb [::Google::Cloud::Vision::V1::ListProductSetsRequest]
85
+ # A request object representing the call parameters. Required.
86
+ # @param options [::Gapic::CallOptions]
87
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
88
+ #
89
+ # @yield [result, operation] Access the result along with the TransportOperation object
90
+ # @yieldparam result [::Google::Cloud::Vision::V1::ListProductSetsResponse]
91
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
92
+ #
93
+ # @return [::Google::Cloud::Vision::V1::ListProductSetsResponse]
94
+ # A result object deserialized from the server's reply
95
+ def list_product_sets request_pb, options = nil
96
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
97
+
98
+ verb, uri, query_string_params, body = ServiceStub.transcode_list_product_sets_request request_pb
99
+ query_string_params = if query_string_params.any?
100
+ query_string_params.to_h { |p| p.split("=", 2) }
101
+ else
102
+ {}
103
+ end
104
+
105
+ response = @client_stub.make_http_request(
106
+ verb,
107
+ uri: uri,
108
+ body: body || "",
109
+ params: query_string_params,
110
+ options: options
111
+ )
112
+ operation = ::Gapic::Rest::TransportOperation.new response
113
+ result = ::Google::Cloud::Vision::V1::ListProductSetsResponse.decode_json response.body, ignore_unknown_fields: true
114
+
115
+ yield result, operation if block_given?
116
+ result
117
+ end
118
+
119
+ ##
120
+ # Baseline implementation for the get_product_set REST call
121
+ #
122
+ # @param request_pb [::Google::Cloud::Vision::V1::GetProductSetRequest]
123
+ # A request object representing the call parameters. Required.
124
+ # @param options [::Gapic::CallOptions]
125
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
126
+ #
127
+ # @yield [result, operation] Access the result along with the TransportOperation object
128
+ # @yieldparam result [::Google::Cloud::Vision::V1::ProductSet]
129
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
130
+ #
131
+ # @return [::Google::Cloud::Vision::V1::ProductSet]
132
+ # A result object deserialized from the server's reply
133
+ def get_product_set request_pb, options = nil
134
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
135
+
136
+ verb, uri, query_string_params, body = ServiceStub.transcode_get_product_set_request request_pb
137
+ query_string_params = if query_string_params.any?
138
+ query_string_params.to_h { |p| p.split("=", 2) }
139
+ else
140
+ {}
141
+ end
142
+
143
+ response = @client_stub.make_http_request(
144
+ verb,
145
+ uri: uri,
146
+ body: body || "",
147
+ params: query_string_params,
148
+ options: options
149
+ )
150
+ operation = ::Gapic::Rest::TransportOperation.new response
151
+ result = ::Google::Cloud::Vision::V1::ProductSet.decode_json response.body, ignore_unknown_fields: true
152
+
153
+ yield result, operation if block_given?
154
+ result
155
+ end
156
+
157
+ ##
158
+ # Baseline implementation for the update_product_set REST call
159
+ #
160
+ # @param request_pb [::Google::Cloud::Vision::V1::UpdateProductSetRequest]
161
+ # A request object representing the call parameters. Required.
162
+ # @param options [::Gapic::CallOptions]
163
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
164
+ #
165
+ # @yield [result, operation] Access the result along with the TransportOperation object
166
+ # @yieldparam result [::Google::Cloud::Vision::V1::ProductSet]
167
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
168
+ #
169
+ # @return [::Google::Cloud::Vision::V1::ProductSet]
170
+ # A result object deserialized from the server's reply
171
+ def update_product_set request_pb, options = nil
172
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
173
+
174
+ verb, uri, query_string_params, body = ServiceStub.transcode_update_product_set_request request_pb
175
+ query_string_params = if query_string_params.any?
176
+ query_string_params.to_h { |p| p.split("=", 2) }
177
+ else
178
+ {}
179
+ end
180
+
181
+ response = @client_stub.make_http_request(
182
+ verb,
183
+ uri: uri,
184
+ body: body || "",
185
+ params: query_string_params,
186
+ options: options
187
+ )
188
+ operation = ::Gapic::Rest::TransportOperation.new response
189
+ result = ::Google::Cloud::Vision::V1::ProductSet.decode_json response.body, ignore_unknown_fields: true
190
+
191
+ yield result, operation if block_given?
192
+ result
193
+ end
194
+
195
+ ##
196
+ # Baseline implementation for the delete_product_set REST call
197
+ #
198
+ # @param request_pb [::Google::Cloud::Vision::V1::DeleteProductSetRequest]
199
+ # A request object representing the call parameters. Required.
200
+ # @param options [::Gapic::CallOptions]
201
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
202
+ #
203
+ # @yield [result, operation] Access the result along with the TransportOperation object
204
+ # @yieldparam result [::Google::Protobuf::Empty]
205
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
206
+ #
207
+ # @return [::Google::Protobuf::Empty]
208
+ # A result object deserialized from the server's reply
209
+ def delete_product_set request_pb, options = nil
210
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
211
+
212
+ verb, uri, query_string_params, body = ServiceStub.transcode_delete_product_set_request request_pb
213
+ query_string_params = if query_string_params.any?
214
+ query_string_params.to_h { |p| p.split("=", 2) }
215
+ else
216
+ {}
217
+ end
218
+
219
+ response = @client_stub.make_http_request(
220
+ verb,
221
+ uri: uri,
222
+ body: body || "",
223
+ params: query_string_params,
224
+ options: options
225
+ )
226
+ operation = ::Gapic::Rest::TransportOperation.new response
227
+ result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
228
+
229
+ yield result, operation if block_given?
230
+ result
231
+ end
232
+
233
+ ##
234
+ # Baseline implementation for the create_product REST call
235
+ #
236
+ # @param request_pb [::Google::Cloud::Vision::V1::CreateProductRequest]
237
+ # A request object representing the call parameters. Required.
238
+ # @param options [::Gapic::CallOptions]
239
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
240
+ #
241
+ # @yield [result, operation] Access the result along with the TransportOperation object
242
+ # @yieldparam result [::Google::Cloud::Vision::V1::Product]
243
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
244
+ #
245
+ # @return [::Google::Cloud::Vision::V1::Product]
246
+ # A result object deserialized from the server's reply
247
+ def create_product request_pb, options = nil
248
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
249
+
250
+ verb, uri, query_string_params, body = ServiceStub.transcode_create_product_request request_pb
251
+ query_string_params = if query_string_params.any?
252
+ query_string_params.to_h { |p| p.split("=", 2) }
253
+ else
254
+ {}
255
+ end
256
+
257
+ response = @client_stub.make_http_request(
258
+ verb,
259
+ uri: uri,
260
+ body: body || "",
261
+ params: query_string_params,
262
+ options: options
263
+ )
264
+ operation = ::Gapic::Rest::TransportOperation.new response
265
+ result = ::Google::Cloud::Vision::V1::Product.decode_json response.body, ignore_unknown_fields: true
266
+
267
+ yield result, operation if block_given?
268
+ result
269
+ end
270
+
271
+ ##
272
+ # Baseline implementation for the list_products REST call
273
+ #
274
+ # @param request_pb [::Google::Cloud::Vision::V1::ListProductsRequest]
275
+ # A request object representing the call parameters. Required.
276
+ # @param options [::Gapic::CallOptions]
277
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
278
+ #
279
+ # @yield [result, operation] Access the result along with the TransportOperation object
280
+ # @yieldparam result [::Google::Cloud::Vision::V1::ListProductsResponse]
281
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
282
+ #
283
+ # @return [::Google::Cloud::Vision::V1::ListProductsResponse]
284
+ # A result object deserialized from the server's reply
285
+ def list_products request_pb, options = nil
286
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
287
+
288
+ verb, uri, query_string_params, body = ServiceStub.transcode_list_products_request request_pb
289
+ query_string_params = if query_string_params.any?
290
+ query_string_params.to_h { |p| p.split("=", 2) }
291
+ else
292
+ {}
293
+ end
294
+
295
+ response = @client_stub.make_http_request(
296
+ verb,
297
+ uri: uri,
298
+ body: body || "",
299
+ params: query_string_params,
300
+ options: options
301
+ )
302
+ operation = ::Gapic::Rest::TransportOperation.new response
303
+ result = ::Google::Cloud::Vision::V1::ListProductsResponse.decode_json response.body, ignore_unknown_fields: true
304
+
305
+ yield result, operation if block_given?
306
+ result
307
+ end
308
+
309
+ ##
310
+ # Baseline implementation for the get_product REST call
311
+ #
312
+ # @param request_pb [::Google::Cloud::Vision::V1::GetProductRequest]
313
+ # A request object representing the call parameters. Required.
314
+ # @param options [::Gapic::CallOptions]
315
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
316
+ #
317
+ # @yield [result, operation] Access the result along with the TransportOperation object
318
+ # @yieldparam result [::Google::Cloud::Vision::V1::Product]
319
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
320
+ #
321
+ # @return [::Google::Cloud::Vision::V1::Product]
322
+ # A result object deserialized from the server's reply
323
+ def get_product request_pb, options = nil
324
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
325
+
326
+ verb, uri, query_string_params, body = ServiceStub.transcode_get_product_request request_pb
327
+ query_string_params = if query_string_params.any?
328
+ query_string_params.to_h { |p| p.split("=", 2) }
329
+ else
330
+ {}
331
+ end
332
+
333
+ response = @client_stub.make_http_request(
334
+ verb,
335
+ uri: uri,
336
+ body: body || "",
337
+ params: query_string_params,
338
+ options: options
339
+ )
340
+ operation = ::Gapic::Rest::TransportOperation.new response
341
+ result = ::Google::Cloud::Vision::V1::Product.decode_json response.body, ignore_unknown_fields: true
342
+
343
+ yield result, operation if block_given?
344
+ result
345
+ end
346
+
347
+ ##
348
+ # Baseline implementation for the update_product REST call
349
+ #
350
+ # @param request_pb [::Google::Cloud::Vision::V1::UpdateProductRequest]
351
+ # A request object representing the call parameters. Required.
352
+ # @param options [::Gapic::CallOptions]
353
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
354
+ #
355
+ # @yield [result, operation] Access the result along with the TransportOperation object
356
+ # @yieldparam result [::Google::Cloud::Vision::V1::Product]
357
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
358
+ #
359
+ # @return [::Google::Cloud::Vision::V1::Product]
360
+ # A result object deserialized from the server's reply
361
+ def update_product request_pb, options = nil
362
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
363
+
364
+ verb, uri, query_string_params, body = ServiceStub.transcode_update_product_request request_pb
365
+ query_string_params = if query_string_params.any?
366
+ query_string_params.to_h { |p| p.split("=", 2) }
367
+ else
368
+ {}
369
+ end
370
+
371
+ response = @client_stub.make_http_request(
372
+ verb,
373
+ uri: uri,
374
+ body: body || "",
375
+ params: query_string_params,
376
+ options: options
377
+ )
378
+ operation = ::Gapic::Rest::TransportOperation.new response
379
+ result = ::Google::Cloud::Vision::V1::Product.decode_json response.body, ignore_unknown_fields: true
380
+
381
+ yield result, operation if block_given?
382
+ result
383
+ end
384
+
385
+ ##
386
+ # Baseline implementation for the delete_product REST call
387
+ #
388
+ # @param request_pb [::Google::Cloud::Vision::V1::DeleteProductRequest]
389
+ # A request object representing the call parameters. Required.
390
+ # @param options [::Gapic::CallOptions]
391
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
392
+ #
393
+ # @yield [result, operation] Access the result along with the TransportOperation object
394
+ # @yieldparam result [::Google::Protobuf::Empty]
395
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
396
+ #
397
+ # @return [::Google::Protobuf::Empty]
398
+ # A result object deserialized from the server's reply
399
+ def delete_product request_pb, options = nil
400
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
401
+
402
+ verb, uri, query_string_params, body = ServiceStub.transcode_delete_product_request request_pb
403
+ query_string_params = if query_string_params.any?
404
+ query_string_params.to_h { |p| p.split("=", 2) }
405
+ else
406
+ {}
407
+ end
408
+
409
+ response = @client_stub.make_http_request(
410
+ verb,
411
+ uri: uri,
412
+ body: body || "",
413
+ params: query_string_params,
414
+ options: options
415
+ )
416
+ operation = ::Gapic::Rest::TransportOperation.new response
417
+ result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
418
+
419
+ yield result, operation if block_given?
420
+ result
421
+ end
422
+
423
+ ##
424
+ # Baseline implementation for the create_reference_image REST call
425
+ #
426
+ # @param request_pb [::Google::Cloud::Vision::V1::CreateReferenceImageRequest]
427
+ # A request object representing the call parameters. Required.
428
+ # @param options [::Gapic::CallOptions]
429
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
430
+ #
431
+ # @yield [result, operation] Access the result along with the TransportOperation object
432
+ # @yieldparam result [::Google::Cloud::Vision::V1::ReferenceImage]
433
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
434
+ #
435
+ # @return [::Google::Cloud::Vision::V1::ReferenceImage]
436
+ # A result object deserialized from the server's reply
437
+ def create_reference_image request_pb, options = nil
438
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
439
+
440
+ verb, uri, query_string_params, body = ServiceStub.transcode_create_reference_image_request request_pb
441
+ query_string_params = if query_string_params.any?
442
+ query_string_params.to_h { |p| p.split("=", 2) }
443
+ else
444
+ {}
445
+ end
446
+
447
+ response = @client_stub.make_http_request(
448
+ verb,
449
+ uri: uri,
450
+ body: body || "",
451
+ params: query_string_params,
452
+ options: options
453
+ )
454
+ operation = ::Gapic::Rest::TransportOperation.new response
455
+ result = ::Google::Cloud::Vision::V1::ReferenceImage.decode_json response.body, ignore_unknown_fields: true
456
+
457
+ yield result, operation if block_given?
458
+ result
459
+ end
460
+
461
+ ##
462
+ # Baseline implementation for the delete_reference_image REST call
463
+ #
464
+ # @param request_pb [::Google::Cloud::Vision::V1::DeleteReferenceImageRequest]
465
+ # A request object representing the call parameters. Required.
466
+ # @param options [::Gapic::CallOptions]
467
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
468
+ #
469
+ # @yield [result, operation] Access the result along with the TransportOperation object
470
+ # @yieldparam result [::Google::Protobuf::Empty]
471
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
472
+ #
473
+ # @return [::Google::Protobuf::Empty]
474
+ # A result object deserialized from the server's reply
475
+ def delete_reference_image request_pb, options = nil
476
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
477
+
478
+ verb, uri, query_string_params, body = ServiceStub.transcode_delete_reference_image_request request_pb
479
+ query_string_params = if query_string_params.any?
480
+ query_string_params.to_h { |p| p.split("=", 2) }
481
+ else
482
+ {}
483
+ end
484
+
485
+ response = @client_stub.make_http_request(
486
+ verb,
487
+ uri: uri,
488
+ body: body || "",
489
+ params: query_string_params,
490
+ options: options
491
+ )
492
+ operation = ::Gapic::Rest::TransportOperation.new response
493
+ result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
494
+
495
+ yield result, operation if block_given?
496
+ result
497
+ end
498
+
499
+ ##
500
+ # Baseline implementation for the list_reference_images REST call
501
+ #
502
+ # @param request_pb [::Google::Cloud::Vision::V1::ListReferenceImagesRequest]
503
+ # A request object representing the call parameters. Required.
504
+ # @param options [::Gapic::CallOptions]
505
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
506
+ #
507
+ # @yield [result, operation] Access the result along with the TransportOperation object
508
+ # @yieldparam result [::Google::Cloud::Vision::V1::ListReferenceImagesResponse]
509
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
510
+ #
511
+ # @return [::Google::Cloud::Vision::V1::ListReferenceImagesResponse]
512
+ # A result object deserialized from the server's reply
513
+ def list_reference_images request_pb, options = nil
514
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
515
+
516
+ verb, uri, query_string_params, body = ServiceStub.transcode_list_reference_images_request request_pb
517
+ query_string_params = if query_string_params.any?
518
+ query_string_params.to_h { |p| p.split("=", 2) }
519
+ else
520
+ {}
521
+ end
522
+
523
+ response = @client_stub.make_http_request(
524
+ verb,
525
+ uri: uri,
526
+ body: body || "",
527
+ params: query_string_params,
528
+ options: options
529
+ )
530
+ operation = ::Gapic::Rest::TransportOperation.new response
531
+ result = ::Google::Cloud::Vision::V1::ListReferenceImagesResponse.decode_json response.body, ignore_unknown_fields: true
532
+
533
+ yield result, operation if block_given?
534
+ result
535
+ end
536
+
537
+ ##
538
+ # Baseline implementation for the get_reference_image REST call
539
+ #
540
+ # @param request_pb [::Google::Cloud::Vision::V1::GetReferenceImageRequest]
541
+ # A request object representing the call parameters. Required.
542
+ # @param options [::Gapic::CallOptions]
543
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
544
+ #
545
+ # @yield [result, operation] Access the result along with the TransportOperation object
546
+ # @yieldparam result [::Google::Cloud::Vision::V1::ReferenceImage]
547
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
548
+ #
549
+ # @return [::Google::Cloud::Vision::V1::ReferenceImage]
550
+ # A result object deserialized from the server's reply
551
+ def get_reference_image request_pb, options = nil
552
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
553
+
554
+ verb, uri, query_string_params, body = ServiceStub.transcode_get_reference_image_request request_pb
555
+ query_string_params = if query_string_params.any?
556
+ query_string_params.to_h { |p| p.split("=", 2) }
557
+ else
558
+ {}
559
+ end
560
+
561
+ response = @client_stub.make_http_request(
562
+ verb,
563
+ uri: uri,
564
+ body: body || "",
565
+ params: query_string_params,
566
+ options: options
567
+ )
568
+ operation = ::Gapic::Rest::TransportOperation.new response
569
+ result = ::Google::Cloud::Vision::V1::ReferenceImage.decode_json response.body, ignore_unknown_fields: true
570
+
571
+ yield result, operation if block_given?
572
+ result
573
+ end
574
+
575
+ ##
576
+ # Baseline implementation for the add_product_to_product_set REST call
577
+ #
578
+ # @param request_pb [::Google::Cloud::Vision::V1::AddProductToProductSetRequest]
579
+ # A request object representing the call parameters. Required.
580
+ # @param options [::Gapic::CallOptions]
581
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
582
+ #
583
+ # @yield [result, operation] Access the result along with the TransportOperation object
584
+ # @yieldparam result [::Google::Protobuf::Empty]
585
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
586
+ #
587
+ # @return [::Google::Protobuf::Empty]
588
+ # A result object deserialized from the server's reply
589
+ def add_product_to_product_set request_pb, options = nil
590
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
591
+
592
+ verb, uri, query_string_params, body = ServiceStub.transcode_add_product_to_product_set_request request_pb
593
+ query_string_params = if query_string_params.any?
594
+ query_string_params.to_h { |p| p.split("=", 2) }
595
+ else
596
+ {}
597
+ end
598
+
599
+ response = @client_stub.make_http_request(
600
+ verb,
601
+ uri: uri,
602
+ body: body || "",
603
+ params: query_string_params,
604
+ options: options
605
+ )
606
+ operation = ::Gapic::Rest::TransportOperation.new response
607
+ result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
608
+
609
+ yield result, operation if block_given?
610
+ result
611
+ end
612
+
613
+ ##
614
+ # Baseline implementation for the remove_product_from_product_set REST call
615
+ #
616
+ # @param request_pb [::Google::Cloud::Vision::V1::RemoveProductFromProductSetRequest]
617
+ # A request object representing the call parameters. Required.
618
+ # @param options [::Gapic::CallOptions]
619
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
620
+ #
621
+ # @yield [result, operation] Access the result along with the TransportOperation object
622
+ # @yieldparam result [::Google::Protobuf::Empty]
623
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
624
+ #
625
+ # @return [::Google::Protobuf::Empty]
626
+ # A result object deserialized from the server's reply
627
+ def remove_product_from_product_set request_pb, options = nil
628
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
629
+
630
+ verb, uri, query_string_params, body = ServiceStub.transcode_remove_product_from_product_set_request request_pb
631
+ query_string_params = if query_string_params.any?
632
+ query_string_params.to_h { |p| p.split("=", 2) }
633
+ else
634
+ {}
635
+ end
636
+
637
+ response = @client_stub.make_http_request(
638
+ verb,
639
+ uri: uri,
640
+ body: body || "",
641
+ params: query_string_params,
642
+ options: options
643
+ )
644
+ operation = ::Gapic::Rest::TransportOperation.new response
645
+ result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
646
+
647
+ yield result, operation if block_given?
648
+ result
649
+ end
650
+
651
+ ##
652
+ # Baseline implementation for the list_products_in_product_set REST call
653
+ #
654
+ # @param request_pb [::Google::Cloud::Vision::V1::ListProductsInProductSetRequest]
655
+ # A request object representing the call parameters. Required.
656
+ # @param options [::Gapic::CallOptions]
657
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
658
+ #
659
+ # @yield [result, operation] Access the result along with the TransportOperation object
660
+ # @yieldparam result [::Google::Cloud::Vision::V1::ListProductsInProductSetResponse]
661
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
662
+ #
663
+ # @return [::Google::Cloud::Vision::V1::ListProductsInProductSetResponse]
664
+ # A result object deserialized from the server's reply
665
+ def list_products_in_product_set request_pb, options = nil
666
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
667
+
668
+ verb, uri, query_string_params, body = ServiceStub.transcode_list_products_in_product_set_request request_pb
669
+ query_string_params = if query_string_params.any?
670
+ query_string_params.to_h { |p| p.split("=", 2) }
671
+ else
672
+ {}
673
+ end
674
+
675
+ response = @client_stub.make_http_request(
676
+ verb,
677
+ uri: uri,
678
+ body: body || "",
679
+ params: query_string_params,
680
+ options: options
681
+ )
682
+ operation = ::Gapic::Rest::TransportOperation.new response
683
+ result = ::Google::Cloud::Vision::V1::ListProductsInProductSetResponse.decode_json response.body, ignore_unknown_fields: true
684
+
685
+ yield result, operation if block_given?
686
+ result
687
+ end
688
+
689
+ ##
690
+ # Baseline implementation for the import_product_sets REST call
691
+ #
692
+ # @param request_pb [::Google::Cloud::Vision::V1::ImportProductSetsRequest]
693
+ # A request object representing the call parameters. Required.
694
+ # @param options [::Gapic::CallOptions]
695
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
696
+ #
697
+ # @yield [result, operation] Access the result along with the TransportOperation object
698
+ # @yieldparam result [::Google::Longrunning::Operation]
699
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
700
+ #
701
+ # @return [::Google::Longrunning::Operation]
702
+ # A result object deserialized from the server's reply
703
+ def import_product_sets request_pb, options = nil
704
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
705
+
706
+ verb, uri, query_string_params, body = ServiceStub.transcode_import_product_sets_request request_pb
707
+ query_string_params = if query_string_params.any?
708
+ query_string_params.to_h { |p| p.split("=", 2) }
709
+ else
710
+ {}
711
+ end
712
+
713
+ response = @client_stub.make_http_request(
714
+ verb,
715
+ uri: uri,
716
+ body: body || "",
717
+ params: query_string_params,
718
+ options: options
719
+ )
720
+ operation = ::Gapic::Rest::TransportOperation.new response
721
+ result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
722
+
723
+ yield result, operation if block_given?
724
+ result
725
+ end
726
+
727
+ ##
728
+ # Baseline implementation for the purge_products REST call
729
+ #
730
+ # @param request_pb [::Google::Cloud::Vision::V1::PurgeProductsRequest]
731
+ # A request object representing the call parameters. Required.
732
+ # @param options [::Gapic::CallOptions]
733
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
734
+ #
735
+ # @yield [result, operation] Access the result along with the TransportOperation object
736
+ # @yieldparam result [::Google::Longrunning::Operation]
737
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
738
+ #
739
+ # @return [::Google::Longrunning::Operation]
740
+ # A result object deserialized from the server's reply
741
+ def purge_products request_pb, options = nil
742
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
743
+
744
+ verb, uri, query_string_params, body = ServiceStub.transcode_purge_products_request request_pb
745
+ query_string_params = if query_string_params.any?
746
+ query_string_params.to_h { |p| p.split("=", 2) }
747
+ else
748
+ {}
749
+ end
750
+
751
+ response = @client_stub.make_http_request(
752
+ verb,
753
+ uri: uri,
754
+ body: body || "",
755
+ params: query_string_params,
756
+ options: options
757
+ )
758
+ operation = ::Gapic::Rest::TransportOperation.new response
759
+ result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
760
+
761
+ yield result, operation if block_given?
762
+ result
763
+ end
764
+
765
+ ##
766
+ # @private
767
+ #
768
+ # GRPC transcoding helper method for the create_product_set REST call
769
+ #
770
+ # @param request_pb [::Google::Cloud::Vision::V1::CreateProductSetRequest]
771
+ # A request object representing the call parameters. Required.
772
+ # @return [Array(String, [String, nil], Hash{String => String})]
773
+ # Uri, Body, Query string parameters
774
+ def self.transcode_create_product_set_request request_pb
775
+ transcoder = Gapic::Rest::GrpcTranscoder.new
776
+ .with_bindings(
777
+ uri_method: :post,
778
+ uri_template: "/v1/{parent}/productSets",
779
+ body: "product_set",
780
+ matches: [
781
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
782
+ ]
783
+ )
784
+ transcoder.transcode request_pb
785
+ end
786
+
787
+ ##
788
+ # @private
789
+ #
790
+ # GRPC transcoding helper method for the list_product_sets REST call
791
+ #
792
+ # @param request_pb [::Google::Cloud::Vision::V1::ListProductSetsRequest]
793
+ # A request object representing the call parameters. Required.
794
+ # @return [Array(String, [String, nil], Hash{String => String})]
795
+ # Uri, Body, Query string parameters
796
+ def self.transcode_list_product_sets_request request_pb
797
+ transcoder = Gapic::Rest::GrpcTranscoder.new
798
+ .with_bindings(
799
+ uri_method: :get,
800
+ uri_template: "/v1/{parent}/productSets",
801
+ matches: [
802
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
803
+ ]
804
+ )
805
+ transcoder.transcode request_pb
806
+ end
807
+
808
+ ##
809
+ # @private
810
+ #
811
+ # GRPC transcoding helper method for the get_product_set REST call
812
+ #
813
+ # @param request_pb [::Google::Cloud::Vision::V1::GetProductSetRequest]
814
+ # A request object representing the call parameters. Required.
815
+ # @return [Array(String, [String, nil], Hash{String => String})]
816
+ # Uri, Body, Query string parameters
817
+ def self.transcode_get_product_set_request request_pb
818
+ transcoder = Gapic::Rest::GrpcTranscoder.new
819
+ .with_bindings(
820
+ uri_method: :get,
821
+ uri_template: "/v1/{name}",
822
+ matches: [
823
+ ["name", %r{^projects/[^/]+/locations/[^/]+/productSets/[^/]+/?$}, false]
824
+ ]
825
+ )
826
+ transcoder.transcode request_pb
827
+ end
828
+
829
+ ##
830
+ # @private
831
+ #
832
+ # GRPC transcoding helper method for the update_product_set REST call
833
+ #
834
+ # @param request_pb [::Google::Cloud::Vision::V1::UpdateProductSetRequest]
835
+ # A request object representing the call parameters. Required.
836
+ # @return [Array(String, [String, nil], Hash{String => String})]
837
+ # Uri, Body, Query string parameters
838
+ def self.transcode_update_product_set_request request_pb
839
+ transcoder = Gapic::Rest::GrpcTranscoder.new
840
+ .with_bindings(
841
+ uri_method: :patch,
842
+ uri_template: "/v1/{product_set.name}",
843
+ body: "product_set",
844
+ matches: [
845
+ ["product_set.name", %r{^projects/[^/]+/locations/[^/]+/productSets/[^/]+/?$}, false]
846
+ ]
847
+ )
848
+ transcoder.transcode request_pb
849
+ end
850
+
851
+ ##
852
+ # @private
853
+ #
854
+ # GRPC transcoding helper method for the delete_product_set REST call
855
+ #
856
+ # @param request_pb [::Google::Cloud::Vision::V1::DeleteProductSetRequest]
857
+ # A request object representing the call parameters. Required.
858
+ # @return [Array(String, [String, nil], Hash{String => String})]
859
+ # Uri, Body, Query string parameters
860
+ def self.transcode_delete_product_set_request request_pb
861
+ transcoder = Gapic::Rest::GrpcTranscoder.new
862
+ .with_bindings(
863
+ uri_method: :delete,
864
+ uri_template: "/v1/{name}",
865
+ matches: [
866
+ ["name", %r{^projects/[^/]+/locations/[^/]+/productSets/[^/]+/?$}, false]
867
+ ]
868
+ )
869
+ transcoder.transcode request_pb
870
+ end
871
+
872
+ ##
873
+ # @private
874
+ #
875
+ # GRPC transcoding helper method for the create_product REST call
876
+ #
877
+ # @param request_pb [::Google::Cloud::Vision::V1::CreateProductRequest]
878
+ # A request object representing the call parameters. Required.
879
+ # @return [Array(String, [String, nil], Hash{String => String})]
880
+ # Uri, Body, Query string parameters
881
+ def self.transcode_create_product_request request_pb
882
+ transcoder = Gapic::Rest::GrpcTranscoder.new
883
+ .with_bindings(
884
+ uri_method: :post,
885
+ uri_template: "/v1/{parent}/products",
886
+ body: "product",
887
+ matches: [
888
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
889
+ ]
890
+ )
891
+ transcoder.transcode request_pb
892
+ end
893
+
894
+ ##
895
+ # @private
896
+ #
897
+ # GRPC transcoding helper method for the list_products REST call
898
+ #
899
+ # @param request_pb [::Google::Cloud::Vision::V1::ListProductsRequest]
900
+ # A request object representing the call parameters. Required.
901
+ # @return [Array(String, [String, nil], Hash{String => String})]
902
+ # Uri, Body, Query string parameters
903
+ def self.transcode_list_products_request request_pb
904
+ transcoder = Gapic::Rest::GrpcTranscoder.new
905
+ .with_bindings(
906
+ uri_method: :get,
907
+ uri_template: "/v1/{parent}/products",
908
+ matches: [
909
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
910
+ ]
911
+ )
912
+ transcoder.transcode request_pb
913
+ end
914
+
915
+ ##
916
+ # @private
917
+ #
918
+ # GRPC transcoding helper method for the get_product REST call
919
+ #
920
+ # @param request_pb [::Google::Cloud::Vision::V1::GetProductRequest]
921
+ # A request object representing the call parameters. Required.
922
+ # @return [Array(String, [String, nil], Hash{String => String})]
923
+ # Uri, Body, Query string parameters
924
+ def self.transcode_get_product_request request_pb
925
+ transcoder = Gapic::Rest::GrpcTranscoder.new
926
+ .with_bindings(
927
+ uri_method: :get,
928
+ uri_template: "/v1/{name}",
929
+ matches: [
930
+ ["name", %r{^projects/[^/]+/locations/[^/]+/products/[^/]+/?$}, false]
931
+ ]
932
+ )
933
+ transcoder.transcode request_pb
934
+ end
935
+
936
+ ##
937
+ # @private
938
+ #
939
+ # GRPC transcoding helper method for the update_product REST call
940
+ #
941
+ # @param request_pb [::Google::Cloud::Vision::V1::UpdateProductRequest]
942
+ # A request object representing the call parameters. Required.
943
+ # @return [Array(String, [String, nil], Hash{String => String})]
944
+ # Uri, Body, Query string parameters
945
+ def self.transcode_update_product_request request_pb
946
+ transcoder = Gapic::Rest::GrpcTranscoder.new
947
+ .with_bindings(
948
+ uri_method: :patch,
949
+ uri_template: "/v1/{product.name}",
950
+ body: "product",
951
+ matches: [
952
+ ["product.name", %r{^projects/[^/]+/locations/[^/]+/products/[^/]+/?$}, false]
953
+ ]
954
+ )
955
+ transcoder.transcode request_pb
956
+ end
957
+
958
+ ##
959
+ # @private
960
+ #
961
+ # GRPC transcoding helper method for the delete_product REST call
962
+ #
963
+ # @param request_pb [::Google::Cloud::Vision::V1::DeleteProductRequest]
964
+ # A request object representing the call parameters. Required.
965
+ # @return [Array(String, [String, nil], Hash{String => String})]
966
+ # Uri, Body, Query string parameters
967
+ def self.transcode_delete_product_request request_pb
968
+ transcoder = Gapic::Rest::GrpcTranscoder.new
969
+ .with_bindings(
970
+ uri_method: :delete,
971
+ uri_template: "/v1/{name}",
972
+ matches: [
973
+ ["name", %r{^projects/[^/]+/locations/[^/]+/products/[^/]+/?$}, false]
974
+ ]
975
+ )
976
+ transcoder.transcode request_pb
977
+ end
978
+
979
+ ##
980
+ # @private
981
+ #
982
+ # GRPC transcoding helper method for the create_reference_image REST call
983
+ #
984
+ # @param request_pb [::Google::Cloud::Vision::V1::CreateReferenceImageRequest]
985
+ # A request object representing the call parameters. Required.
986
+ # @return [Array(String, [String, nil], Hash{String => String})]
987
+ # Uri, Body, Query string parameters
988
+ def self.transcode_create_reference_image_request request_pb
989
+ transcoder = Gapic::Rest::GrpcTranscoder.new
990
+ .with_bindings(
991
+ uri_method: :post,
992
+ uri_template: "/v1/{parent}/referenceImages",
993
+ body: "reference_image",
994
+ matches: [
995
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/products/[^/]+/?$}, false]
996
+ ]
997
+ )
998
+ transcoder.transcode request_pb
999
+ end
1000
+
1001
+ ##
1002
+ # @private
1003
+ #
1004
+ # GRPC transcoding helper method for the delete_reference_image REST call
1005
+ #
1006
+ # @param request_pb [::Google::Cloud::Vision::V1::DeleteReferenceImageRequest]
1007
+ # A request object representing the call parameters. Required.
1008
+ # @return [Array(String, [String, nil], Hash{String => String})]
1009
+ # Uri, Body, Query string parameters
1010
+ def self.transcode_delete_reference_image_request request_pb
1011
+ transcoder = Gapic::Rest::GrpcTranscoder.new
1012
+ .with_bindings(
1013
+ uri_method: :delete,
1014
+ uri_template: "/v1/{name}",
1015
+ matches: [
1016
+ ["name", %r{^projects/[^/]+/locations/[^/]+/products/[^/]+/referenceImages/[^/]+/?$}, false]
1017
+ ]
1018
+ )
1019
+ transcoder.transcode request_pb
1020
+ end
1021
+
1022
+ ##
1023
+ # @private
1024
+ #
1025
+ # GRPC transcoding helper method for the list_reference_images REST call
1026
+ #
1027
+ # @param request_pb [::Google::Cloud::Vision::V1::ListReferenceImagesRequest]
1028
+ # A request object representing the call parameters. Required.
1029
+ # @return [Array(String, [String, nil], Hash{String => String})]
1030
+ # Uri, Body, Query string parameters
1031
+ def self.transcode_list_reference_images_request request_pb
1032
+ transcoder = Gapic::Rest::GrpcTranscoder.new
1033
+ .with_bindings(
1034
+ uri_method: :get,
1035
+ uri_template: "/v1/{parent}/referenceImages",
1036
+ matches: [
1037
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/products/[^/]+/?$}, false]
1038
+ ]
1039
+ )
1040
+ transcoder.transcode request_pb
1041
+ end
1042
+
1043
+ ##
1044
+ # @private
1045
+ #
1046
+ # GRPC transcoding helper method for the get_reference_image REST call
1047
+ #
1048
+ # @param request_pb [::Google::Cloud::Vision::V1::GetReferenceImageRequest]
1049
+ # A request object representing the call parameters. Required.
1050
+ # @return [Array(String, [String, nil], Hash{String => String})]
1051
+ # Uri, Body, Query string parameters
1052
+ def self.transcode_get_reference_image_request request_pb
1053
+ transcoder = Gapic::Rest::GrpcTranscoder.new
1054
+ .with_bindings(
1055
+ uri_method: :get,
1056
+ uri_template: "/v1/{name}",
1057
+ matches: [
1058
+ ["name", %r{^projects/[^/]+/locations/[^/]+/products/[^/]+/referenceImages/[^/]+/?$}, false]
1059
+ ]
1060
+ )
1061
+ transcoder.transcode request_pb
1062
+ end
1063
+
1064
+ ##
1065
+ # @private
1066
+ #
1067
+ # GRPC transcoding helper method for the add_product_to_product_set REST call
1068
+ #
1069
+ # @param request_pb [::Google::Cloud::Vision::V1::AddProductToProductSetRequest]
1070
+ # A request object representing the call parameters. Required.
1071
+ # @return [Array(String, [String, nil], Hash{String => String})]
1072
+ # Uri, Body, Query string parameters
1073
+ def self.transcode_add_product_to_product_set_request request_pb
1074
+ transcoder = Gapic::Rest::GrpcTranscoder.new
1075
+ .with_bindings(
1076
+ uri_method: :post,
1077
+ uri_template: "/v1/{name}:addProduct",
1078
+ body: "*",
1079
+ matches: [
1080
+ ["name", %r{^projects/[^/]+/locations/[^/]+/productSets/[^/]+/?$}, false]
1081
+ ]
1082
+ )
1083
+ transcoder.transcode request_pb
1084
+ end
1085
+
1086
+ ##
1087
+ # @private
1088
+ #
1089
+ # GRPC transcoding helper method for the remove_product_from_product_set REST call
1090
+ #
1091
+ # @param request_pb [::Google::Cloud::Vision::V1::RemoveProductFromProductSetRequest]
1092
+ # A request object representing the call parameters. Required.
1093
+ # @return [Array(String, [String, nil], Hash{String => String})]
1094
+ # Uri, Body, Query string parameters
1095
+ def self.transcode_remove_product_from_product_set_request request_pb
1096
+ transcoder = Gapic::Rest::GrpcTranscoder.new
1097
+ .with_bindings(
1098
+ uri_method: :post,
1099
+ uri_template: "/v1/{name}:removeProduct",
1100
+ body: "*",
1101
+ matches: [
1102
+ ["name", %r{^projects/[^/]+/locations/[^/]+/productSets/[^/]+/?$}, false]
1103
+ ]
1104
+ )
1105
+ transcoder.transcode request_pb
1106
+ end
1107
+
1108
+ ##
1109
+ # @private
1110
+ #
1111
+ # GRPC transcoding helper method for the list_products_in_product_set REST call
1112
+ #
1113
+ # @param request_pb [::Google::Cloud::Vision::V1::ListProductsInProductSetRequest]
1114
+ # A request object representing the call parameters. Required.
1115
+ # @return [Array(String, [String, nil], Hash{String => String})]
1116
+ # Uri, Body, Query string parameters
1117
+ def self.transcode_list_products_in_product_set_request request_pb
1118
+ transcoder = Gapic::Rest::GrpcTranscoder.new
1119
+ .with_bindings(
1120
+ uri_method: :get,
1121
+ uri_template: "/v1/{name}/products",
1122
+ matches: [
1123
+ ["name", %r{^projects/[^/]+/locations/[^/]+/productSets/[^/]+/?$}, false]
1124
+ ]
1125
+ )
1126
+ transcoder.transcode request_pb
1127
+ end
1128
+
1129
+ ##
1130
+ # @private
1131
+ #
1132
+ # GRPC transcoding helper method for the import_product_sets REST call
1133
+ #
1134
+ # @param request_pb [::Google::Cloud::Vision::V1::ImportProductSetsRequest]
1135
+ # A request object representing the call parameters. Required.
1136
+ # @return [Array(String, [String, nil], Hash{String => String})]
1137
+ # Uri, Body, Query string parameters
1138
+ def self.transcode_import_product_sets_request request_pb
1139
+ transcoder = Gapic::Rest::GrpcTranscoder.new
1140
+ .with_bindings(
1141
+ uri_method: :post,
1142
+ uri_template: "/v1/{parent}/productSets:import",
1143
+ body: "*",
1144
+ matches: [
1145
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
1146
+ ]
1147
+ )
1148
+ transcoder.transcode request_pb
1149
+ end
1150
+
1151
+ ##
1152
+ # @private
1153
+ #
1154
+ # GRPC transcoding helper method for the purge_products REST call
1155
+ #
1156
+ # @param request_pb [::Google::Cloud::Vision::V1::PurgeProductsRequest]
1157
+ # A request object representing the call parameters. Required.
1158
+ # @return [Array(String, [String, nil], Hash{String => String})]
1159
+ # Uri, Body, Query string parameters
1160
+ def self.transcode_purge_products_request request_pb
1161
+ transcoder = Gapic::Rest::GrpcTranscoder.new
1162
+ .with_bindings(
1163
+ uri_method: :post,
1164
+ uri_template: "/v1/{parent}/products:purge",
1165
+ body: "*",
1166
+ matches: [
1167
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
1168
+ ]
1169
+ )
1170
+ transcoder.transcode request_pb
1171
+ end
1172
+ end
1173
+ end
1174
+ end
1175
+ end
1176
+ end
1177
+ end
1178
+ end