googleapis-common-protos-types 1.0.4 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/Gemfile +0 -1
- data/googleapis-common-protos-types.gemspec +6 -6
- data/lib/google/api/annotations_pb.rb +2 -0
- data/lib/google/api/auth_pb.rb +39 -29
- data/lib/google/api/backend_pb.rb +24 -20
- data/lib/google/api/billing_pb.rb +10 -9
- data/lib/google/api/client_pb.rb +2 -0
- data/lib/google/api/config_change_pb.rb +20 -18
- data/lib/google/api/consumer_pb.rb +19 -17
- data/lib/google/api/context_pb.rb +13 -11
- data/lib/google/api/control_pb.rb +5 -3
- data/lib/google/api/distribution_pb.rb +45 -43
- data/lib/google/api/documentation_pb.rb +21 -19
- data/lib/google/api/endpoint_pb.rb +9 -8
- data/lib/google/api/field_behavior_pb.rb +10 -8
- data/lib/google/api/http_pb.rb +25 -23
- data/lib/google/api/httpbody_pb.rb +7 -5
- data/lib/google/api/label_pb.rb +13 -11
- data/lib/google/api/launch_stage_pb.rb +10 -8
- data/lib/google/api/log_pb.rb +8 -6
- data/lib/google/api/logging_pb.rb +11 -10
- data/lib/google/api/metric_pb.rb +42 -39
- data/lib/google/api/monitored_resource_pb.rb +21 -17
- data/lib/google/api/monitoring_pb.rb +11 -10
- data/lib/google/api/quota_pb.rb +24 -23
- data/lib/google/api/resource_pb.rb +21 -4
- data/lib/google/api/service_pb.rb +30 -30
- data/lib/google/api/source_info_pb.rb +5 -3
- data/lib/google/api/system_parameter_pb.rb +16 -14
- data/lib/google/api/usage_pb.rb +13 -12
- data/lib/google/logging/type/http_request_pb.rb +20 -18
- data/lib/google/logging/type/log_severity_pb.rb +13 -11
- data/lib/google/longrunning/operations_pb.rb +45 -42
- data/lib/google/rpc/code_pb.rb +21 -19
- data/lib/google/rpc/error_details_pb.rb +70 -62
- data/lib/google/rpc/status_pb.rb +7 -5
- data/lib/google/type/calendar_period_pb.rb +12 -10
- data/lib/google/type/color_pb.rb +8 -6
- data/lib/google/type/date_pb.rb +7 -5
- data/lib/google/type/datetime_pb.rb +34 -0
- data/lib/google/type/dayofweek_pb.rb +12 -10
- data/lib/google/type/expr_pb.rb +8 -6
- data/lib/google/type/fraction_pb.rb +6 -4
- data/lib/google/type/latlng_pb.rb +6 -4
- data/lib/google/type/money_pb.rb +7 -5
- data/lib/google/type/month_pb.rb +30 -0
- data/lib/google/type/postal_address_pb.rb +15 -13
- data/lib/google/type/quaternion_pb.rb +8 -6
- data/lib/google/type/timeofday_pb.rb +8 -6
- metadata +14 -13
data/lib/google/rpc/code_pb.rb
CHANGED
@@ -4,29 +4,31 @@
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
6
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
7
|
+
add_file("google/rpc/code.proto", :syntax => :proto3) do
|
8
|
+
add_enum "google.rpc.Code" do
|
9
|
+
value :OK, 0
|
10
|
+
value :CANCELLED, 1
|
11
|
+
value :UNKNOWN, 2
|
12
|
+
value :INVALID_ARGUMENT, 3
|
13
|
+
value :DEADLINE_EXCEEDED, 4
|
14
|
+
value :NOT_FOUND, 5
|
15
|
+
value :ALREADY_EXISTS, 6
|
16
|
+
value :PERMISSION_DENIED, 7
|
17
|
+
value :UNAUTHENTICATED, 16
|
18
|
+
value :RESOURCE_EXHAUSTED, 8
|
19
|
+
value :FAILED_PRECONDITION, 9
|
20
|
+
value :ABORTED, 10
|
21
|
+
value :OUT_OF_RANGE, 11
|
22
|
+
value :UNIMPLEMENTED, 12
|
23
|
+
value :INTERNAL, 13
|
24
|
+
value :UNAVAILABLE, 14
|
25
|
+
value :DATA_LOSS, 15
|
26
|
+
end
|
25
27
|
end
|
26
28
|
end
|
27
29
|
|
28
30
|
module Google
|
29
31
|
module Rpc
|
30
|
-
Code = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.Code").enummodule
|
32
|
+
Code = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.Code").enummodule
|
31
33
|
end
|
32
34
|
end
|
@@ -5,72 +5,80 @@ require 'google/protobuf'
|
|
5
5
|
|
6
6
|
require 'google/protobuf/duration_pb'
|
7
7
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
8
|
+
add_file("google/rpc/error_details.proto", :syntax => :proto3) do
|
9
|
+
add_message "google.rpc.RetryInfo" do
|
10
|
+
optional :retry_delay, :message, 1, "google.protobuf.Duration"
|
11
|
+
end
|
12
|
+
add_message "google.rpc.DebugInfo" do
|
13
|
+
repeated :stack_entries, :string, 1
|
14
|
+
optional :detail, :string, 2
|
15
|
+
end
|
16
|
+
add_message "google.rpc.QuotaFailure" do
|
17
|
+
repeated :violations, :message, 1, "google.rpc.QuotaFailure.Violation"
|
18
|
+
end
|
19
|
+
add_message "google.rpc.QuotaFailure.Violation" do
|
20
|
+
optional :subject, :string, 1
|
21
|
+
optional :description, :string, 2
|
22
|
+
end
|
23
|
+
add_message "google.rpc.ErrorInfo" do
|
24
|
+
optional :reason, :string, 1
|
25
|
+
optional :domain, :string, 2
|
26
|
+
map :metadata, :string, :string, 3
|
27
|
+
end
|
28
|
+
add_message "google.rpc.PreconditionFailure" do
|
29
|
+
repeated :violations, :message, 1, "google.rpc.PreconditionFailure.Violation"
|
30
|
+
end
|
31
|
+
add_message "google.rpc.PreconditionFailure.Violation" do
|
32
|
+
optional :type, :string, 1
|
33
|
+
optional :subject, :string, 2
|
34
|
+
optional :description, :string, 3
|
35
|
+
end
|
36
|
+
add_message "google.rpc.BadRequest" do
|
37
|
+
repeated :field_violations, :message, 1, "google.rpc.BadRequest.FieldViolation"
|
38
|
+
end
|
39
|
+
add_message "google.rpc.BadRequest.FieldViolation" do
|
40
|
+
optional :field, :string, 1
|
41
|
+
optional :description, :string, 2
|
42
|
+
end
|
43
|
+
add_message "google.rpc.RequestInfo" do
|
44
|
+
optional :request_id, :string, 1
|
45
|
+
optional :serving_data, :string, 2
|
46
|
+
end
|
47
|
+
add_message "google.rpc.ResourceInfo" do
|
48
|
+
optional :resource_type, :string, 1
|
49
|
+
optional :resource_name, :string, 2
|
50
|
+
optional :owner, :string, 3
|
51
|
+
optional :description, :string, 4
|
52
|
+
end
|
53
|
+
add_message "google.rpc.Help" do
|
54
|
+
repeated :links, :message, 1, "google.rpc.Help.Link"
|
55
|
+
end
|
56
|
+
add_message "google.rpc.Help.Link" do
|
57
|
+
optional :description, :string, 1
|
58
|
+
optional :url, :string, 2
|
59
|
+
end
|
60
|
+
add_message "google.rpc.LocalizedMessage" do
|
61
|
+
optional :locale, :string, 1
|
62
|
+
optional :message, :string, 2
|
63
|
+
end
|
57
64
|
end
|
58
65
|
end
|
59
66
|
|
60
67
|
module Google
|
61
68
|
module Rpc
|
62
|
-
RetryInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.RetryInfo").msgclass
|
63
|
-
DebugInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.DebugInfo").msgclass
|
64
|
-
QuotaFailure = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.QuotaFailure").msgclass
|
65
|
-
QuotaFailure::Violation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.QuotaFailure.Violation").msgclass
|
66
|
-
|
67
|
-
PreconditionFailure
|
68
|
-
|
69
|
-
BadRequest
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
Help
|
74
|
-
|
69
|
+
RetryInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.RetryInfo").msgclass
|
70
|
+
DebugInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.DebugInfo").msgclass
|
71
|
+
QuotaFailure = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.QuotaFailure").msgclass
|
72
|
+
QuotaFailure::Violation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.QuotaFailure.Violation").msgclass
|
73
|
+
ErrorInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.ErrorInfo").msgclass
|
74
|
+
PreconditionFailure = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.PreconditionFailure").msgclass
|
75
|
+
PreconditionFailure::Violation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.PreconditionFailure.Violation").msgclass
|
76
|
+
BadRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.BadRequest").msgclass
|
77
|
+
BadRequest::FieldViolation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.BadRequest.FieldViolation").msgclass
|
78
|
+
RequestInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.RequestInfo").msgclass
|
79
|
+
ResourceInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.ResourceInfo").msgclass
|
80
|
+
Help = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.Help").msgclass
|
81
|
+
Help::Link = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.Help.Link").msgclass
|
82
|
+
LocalizedMessage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.LocalizedMessage").msgclass
|
75
83
|
end
|
76
84
|
end
|
data/lib/google/rpc/status_pb.rb
CHANGED
@@ -5,15 +5,17 @@ require 'google/protobuf'
|
|
5
5
|
|
6
6
|
require 'google/protobuf/any_pb'
|
7
7
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
add_file("google/rpc/status.proto", :syntax => :proto3) do
|
9
|
+
add_message "google.rpc.Status" do
|
10
|
+
optional :code, :int32, 1
|
11
|
+
optional :message, :string, 2
|
12
|
+
repeated :details, :message, 3, "google.protobuf.Any"
|
13
|
+
end
|
12
14
|
end
|
13
15
|
end
|
14
16
|
|
15
17
|
module Google
|
16
18
|
module Rpc
|
17
|
-
Status = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.Status").msgclass
|
19
|
+
Status = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.rpc.Status").msgclass
|
18
20
|
end
|
19
21
|
end
|
@@ -4,20 +4,22 @@
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
6
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
7
|
+
add_file("google/type/calendar_period.proto", :syntax => :proto3) do
|
8
|
+
add_enum "google.type.CalendarPeriod" do
|
9
|
+
value :CALENDAR_PERIOD_UNSPECIFIED, 0
|
10
|
+
value :DAY, 1
|
11
|
+
value :WEEK, 2
|
12
|
+
value :FORTNIGHT, 3
|
13
|
+
value :MONTH, 4
|
14
|
+
value :QUARTER, 5
|
15
|
+
value :HALF, 6
|
16
|
+
value :YEAR, 7
|
17
|
+
end
|
16
18
|
end
|
17
19
|
end
|
18
20
|
|
19
21
|
module Google
|
20
22
|
module Type
|
21
|
-
CalendarPeriod = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.CalendarPeriod").enummodule
|
23
|
+
CalendarPeriod = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.CalendarPeriod").enummodule
|
22
24
|
end
|
23
25
|
end
|
data/lib/google/type/color_pb.rb
CHANGED
@@ -5,16 +5,18 @@ require 'google/protobuf'
|
|
5
5
|
|
6
6
|
require 'google/protobuf/wrappers_pb'
|
7
7
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
add_file("google/type/color.proto", :syntax => :proto3) do
|
9
|
+
add_message "google.type.Color" do
|
10
|
+
optional :red, :float, 1
|
11
|
+
optional :green, :float, 2
|
12
|
+
optional :blue, :float, 3
|
13
|
+
optional :alpha, :message, 4, "google.protobuf.FloatValue"
|
14
|
+
end
|
13
15
|
end
|
14
16
|
end
|
15
17
|
|
16
18
|
module Google
|
17
19
|
module Type
|
18
|
-
Color = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.Color").msgclass
|
20
|
+
Color = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.Color").msgclass
|
19
21
|
end
|
20
22
|
end
|
data/lib/google/type/date_pb.rb
CHANGED
@@ -4,15 +4,17 @@
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
6
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
add_file("google/type/date.proto", :syntax => :proto3) do
|
8
|
+
add_message "google.type.Date" do
|
9
|
+
optional :year, :int32, 1
|
10
|
+
optional :month, :int32, 2
|
11
|
+
optional :day, :int32, 3
|
12
|
+
end
|
11
13
|
end
|
12
14
|
end
|
13
15
|
|
14
16
|
module Google
|
15
17
|
module Type
|
16
|
-
Date = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.Date").msgclass
|
18
|
+
Date = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.Date").msgclass
|
17
19
|
end
|
18
20
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: google/type/datetime.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'google/protobuf/duration_pb'
|
7
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
8
|
+
add_file("google/type/datetime.proto", :syntax => :proto3) do
|
9
|
+
add_message "google.type.DateTime" do
|
10
|
+
optional :year, :int32, 1
|
11
|
+
optional :month, :int32, 2
|
12
|
+
optional :day, :int32, 3
|
13
|
+
optional :hours, :int32, 4
|
14
|
+
optional :minutes, :int32, 5
|
15
|
+
optional :seconds, :int32, 6
|
16
|
+
optional :nanos, :int32, 7
|
17
|
+
oneof :time_offset do
|
18
|
+
optional :utc_offset, :message, 8, "google.protobuf.Duration"
|
19
|
+
optional :time_zone, :message, 9, "google.type.TimeZone"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
add_message "google.type.TimeZone" do
|
23
|
+
optional :id, :string, 1
|
24
|
+
optional :version, :string, 2
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
module Google
|
30
|
+
module Type
|
31
|
+
DateTime = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.DateTime").msgclass
|
32
|
+
TimeZone = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.TimeZone").msgclass
|
33
|
+
end
|
34
|
+
end
|
@@ -4,20 +4,22 @@
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
6
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
7
|
+
add_file("google/type/dayofweek.proto", :syntax => :proto3) do
|
8
|
+
add_enum "google.type.DayOfWeek" do
|
9
|
+
value :DAY_OF_WEEK_UNSPECIFIED, 0
|
10
|
+
value :MONDAY, 1
|
11
|
+
value :TUESDAY, 2
|
12
|
+
value :WEDNESDAY, 3
|
13
|
+
value :THURSDAY, 4
|
14
|
+
value :FRIDAY, 5
|
15
|
+
value :SATURDAY, 6
|
16
|
+
value :SUNDAY, 7
|
17
|
+
end
|
16
18
|
end
|
17
19
|
end
|
18
20
|
|
19
21
|
module Google
|
20
22
|
module Type
|
21
|
-
DayOfWeek = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.DayOfWeek").enummodule
|
23
|
+
DayOfWeek = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.DayOfWeek").enummodule
|
22
24
|
end
|
23
25
|
end
|
data/lib/google/type/expr_pb.rb
CHANGED
@@ -4,16 +4,18 @@
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
6
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
7
|
+
add_file("google/type/expr.proto", :syntax => :proto3) do
|
8
|
+
add_message "google.type.Expr" do
|
9
|
+
optional :expression, :string, 1
|
10
|
+
optional :title, :string, 2
|
11
|
+
optional :description, :string, 3
|
12
|
+
optional :location, :string, 4
|
13
|
+
end
|
12
14
|
end
|
13
15
|
end
|
14
16
|
|
15
17
|
module Google
|
16
18
|
module Type
|
17
|
-
Expr = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.Expr").msgclass
|
19
|
+
Expr = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.Expr").msgclass
|
18
20
|
end
|
19
21
|
end
|
@@ -4,14 +4,16 @@
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
6
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
add_file("google/type/fraction.proto", :syntax => :proto3) do
|
8
|
+
add_message "google.type.Fraction" do
|
9
|
+
optional :numerator, :int64, 1
|
10
|
+
optional :denominator, :int64, 2
|
11
|
+
end
|
10
12
|
end
|
11
13
|
end
|
12
14
|
|
13
15
|
module Google
|
14
16
|
module Type
|
15
|
-
Fraction = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.Fraction").msgclass
|
17
|
+
Fraction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.Fraction").msgclass
|
16
18
|
end
|
17
19
|
end
|
@@ -4,14 +4,16 @@
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
6
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
add_file("google/type/latlng.proto", :syntax => :proto3) do
|
8
|
+
add_message "google.type.LatLng" do
|
9
|
+
optional :latitude, :double, 1
|
10
|
+
optional :longitude, :double, 2
|
11
|
+
end
|
10
12
|
end
|
11
13
|
end
|
12
14
|
|
13
15
|
module Google
|
14
16
|
module Type
|
15
|
-
LatLng = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.LatLng").msgclass
|
17
|
+
LatLng = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.LatLng").msgclass
|
16
18
|
end
|
17
19
|
end
|
data/lib/google/type/money_pb.rb
CHANGED
@@ -4,15 +4,17 @@
|
|
4
4
|
require 'google/protobuf'
|
5
5
|
|
6
6
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
add_file("google/type/money.proto", :syntax => :proto3) do
|
8
|
+
add_message "google.type.Money" do
|
9
|
+
optional :currency_code, :string, 1
|
10
|
+
optional :units, :int64, 2
|
11
|
+
optional :nanos, :int32, 3
|
12
|
+
end
|
11
13
|
end
|
12
14
|
end
|
13
15
|
|
14
16
|
module Google
|
15
17
|
module Type
|
16
|
-
Money = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.Money").msgclass
|
18
|
+
Money = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.type.Money").msgclass
|
17
19
|
end
|
18
20
|
end
|