google-protobuf 3.20.0 → 4.34.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/ext/google/protobuf_c/Rakefile +3 -0
  3. data/ext/google/protobuf_c/convert.c +60 -86
  4. data/ext/google/protobuf_c/convert.h +3 -28
  5. data/ext/google/protobuf_c/defs.c +961 -157
  6. data/ext/google/protobuf_c/defs.h +3 -28
  7. data/ext/google/protobuf_c/extconf.rb +21 -11
  8. data/ext/google/protobuf_c/glue.c +135 -0
  9. data/ext/google/protobuf_c/map.c +187 -121
  10. data/ext/google/protobuf_c/map.h +12 -30
  11. data/ext/google/protobuf_c/message.c +354 -294
  12. data/ext/google/protobuf_c/message.h +11 -33
  13. data/ext/google/protobuf_c/protobuf.c +65 -188
  14. data/ext/google/protobuf_c/protobuf.h +21 -41
  15. data/ext/google/protobuf_c/repeated_field.c +145 -74
  16. data/ext/google/protobuf_c/repeated_field.h +11 -29
  17. data/ext/google/protobuf_c/ruby-upb.c +15734 -8866
  18. data/ext/google/protobuf_c/ruby-upb.h +16769 -4511
  19. data/ext/google/protobuf_c/shared_convert.c +69 -0
  20. data/ext/google/protobuf_c/shared_convert.h +26 -0
  21. data/ext/google/protobuf_c/shared_message.c +37 -0
  22. data/ext/google/protobuf_c/shared_message.h +21 -0
  23. data/ext/google/protobuf_c/third_party/utf8_range/LICENSE +1 -0
  24. data/ext/google/protobuf_c/third_party/utf8_range/utf8_range.c +207 -0
  25. data/ext/google/protobuf_c/third_party/utf8_range/utf8_range.h +20 -7
  26. data/ext/google/protobuf_c/third_party/utf8_range/utf8_range_neon.inc +117 -0
  27. data/ext/google/protobuf_c/third_party/utf8_range/utf8_range_sse.inc +272 -0
  28. data/lib/google/protobuf/any_pb.rb +6 -8
  29. data/lib/google/protobuf/api_pb.rb +6 -26
  30. data/lib/google/protobuf/descriptor_pb.rb +27 -226
  31. data/lib/google/protobuf/duration_pb.rb +6 -8
  32. data/lib/google/protobuf/empty_pb.rb +6 -6
  33. data/lib/google/protobuf/ffi/descriptor.rb +175 -0
  34. data/lib/google/protobuf/ffi/descriptor_pool.rb +83 -0
  35. data/lib/google/protobuf/ffi/enum_descriptor.rb +183 -0
  36. data/lib/google/protobuf/ffi/ffi.rb +213 -0
  37. data/lib/google/protobuf/ffi/field_descriptor.rb +346 -0
  38. data/lib/google/protobuf/ffi/file_descriptor.rb +85 -0
  39. data/lib/google/protobuf/ffi/internal/arena.rb +60 -0
  40. data/lib/google/protobuf/ffi/internal/convert.rb +292 -0
  41. data/lib/google/protobuf/ffi/internal/pointer_helper.rb +36 -0
  42. data/lib/google/protobuf/ffi/internal/type_safety.rb +25 -0
  43. data/lib/google/protobuf/ffi/map.rb +433 -0
  44. data/lib/google/protobuf/ffi/message.rb +783 -0
  45. data/lib/google/protobuf/ffi/method_descriptor.rb +124 -0
  46. data/lib/google/protobuf/ffi/object_cache.rb +30 -0
  47. data/lib/google/protobuf/ffi/oneof_descriptor.rb +107 -0
  48. data/lib/google/protobuf/ffi/repeated_field.rb +411 -0
  49. data/lib/google/protobuf/ffi/service_descriptor.rb +117 -0
  50. data/lib/google/protobuf/field_mask_pb.rb +6 -7
  51. data/lib/google/protobuf/internal/object_cache.rb +99 -0
  52. data/lib/google/protobuf/message_exts.rb +12 -26
  53. data/lib/google/protobuf/plugin_pb.rb +25 -0
  54. data/lib/google/protobuf/repeated_field.rb +22 -33
  55. data/lib/google/protobuf/source_context_pb.rb +6 -7
  56. data/lib/google/protobuf/struct_pb.rb +6 -23
  57. data/lib/google/protobuf/timestamp_pb.rb +6 -8
  58. data/lib/google/protobuf/type_pb.rb +6 -71
  59. data/lib/google/protobuf/well_known_types.rb +5 -34
  60. data/lib/google/protobuf/wrappers_pb.rb +6 -31
  61. data/lib/google/protobuf.rb +27 -45
  62. data/lib/google/protobuf_ffi.rb +52 -0
  63. data/lib/google/protobuf_native.rb +19 -0
  64. data/lib/google/tasks/ffi.rake +100 -0
  65. metadata +103 -32
  66. data/ext/google/protobuf_c/third_party/utf8_range/naive.c +0 -92
  67. data/ext/google/protobuf_c/third_party/utf8_range/range2-neon.c +0 -157
  68. data/ext/google/protobuf_c/third_party/utf8_range/range2-sse.c +0 -170
  69. data/ext/google/protobuf_c/wrap_memcpy.c +0 -52
  70. data/lib/google/protobuf/descriptor_dsl.rb +0 -465
  71. data/tests/basic.rb +0 -670
  72. data/tests/generated_code_test.rb +0 -23
  73. data/tests/stress.rb +0 -38
@@ -0,0 +1,272 @@
1
+ #include <emmintrin.h>
2
+ #include <smmintrin.h>
3
+ #include <tmmintrin.h>
4
+
5
+ static FORCE_INLINE_ATTR size_t utf8_range_ValidateUTF8Simd(
6
+ const char* data_original, const char* data, const char* end,
7
+ int return_position) {
8
+ /* This code checks that utf-8 ranges are structurally valid 16 bytes at once
9
+ * using superscalar instructions.
10
+ * The mapping between ranges of codepoint and their corresponding utf-8
11
+ * sequences is below.
12
+ */
13
+
14
+ /*
15
+ * U+0000...U+007F 00...7F
16
+ * U+0080...U+07FF C2...DF 80...BF
17
+ * U+0800...U+0FFF E0 A0...BF 80...BF
18
+ * U+1000...U+CFFF E1...EC 80...BF 80...BF
19
+ * U+D000...U+D7FF ED 80...9F 80...BF
20
+ * U+E000...U+FFFF EE...EF 80...BF 80...BF
21
+ * U+10000...U+3FFFF F0 90...BF 80...BF 80...BF
22
+ * U+40000...U+FFFFF F1...F3 80...BF 80...BF 80...BF
23
+ * U+100000...U+10FFFF F4 80...8F 80...BF 80...BF
24
+ */
25
+
26
+ /* First we compute the type for each byte, as given by the table below.
27
+ * This type will be used as an index later on.
28
+ */
29
+
30
+ /*
31
+ * Index Min Max Byte Type
32
+ * 0 00 7F Single byte sequence
33
+ * 1,2,3 80 BF Second, third and fourth byte for many of the sequences.
34
+ * 4 A0 BF Second byte after E0
35
+ * 5 80 9F Second byte after ED
36
+ * 6 90 BF Second byte after F0
37
+ * 7 80 8F Second byte after F4
38
+ * 8 C2 F4 First non ASCII byte
39
+ * 9..15 7F 80 Invalid byte
40
+ */
41
+
42
+ /* After the first step we compute the index for all bytes, then we permute
43
+ the bytes according to their indices to check the ranges from the range
44
+ table.
45
+ * The range for a given type can be found in the range_min_table and
46
+ range_max_table, the range for type/index X is in range_min_table[X] ...
47
+ range_max_table[X].
48
+ */
49
+
50
+ /* Algorithm:
51
+ * Put index zero to all bytes.
52
+ * Find all non ASCII characters, give them index 8.
53
+ * For each tail byte in a codepoint sequence, give it an index corresponding
54
+ to the 1 based index from the end.
55
+ * If the first byte of the codepoint is in the [C0...DF] range, we write
56
+ index 1 in the following byte.
57
+ * If the first byte of the codepoint is in the range [E0...EF], we write
58
+ indices 2 and 1 in the next two bytes.
59
+ * If the first byte of the codepoint is in the range [F0...FF] we write
60
+ indices 3,2,1 into the next three bytes.
61
+ * For finding the number of bytes we need to look at high nibbles (4 bits)
62
+ and do the lookup from the table, it can be done with shift by 4 + shuffle
63
+ instructions. We call it `first_len`.
64
+ * Then we shift first_len by 8 bits to get the indices of the 2nd bytes.
65
+ * Saturating sub 1 and shift by 8 bits to get the indices of the 3rd bytes.
66
+ * Again to get the indices of the 4th bytes.
67
+ * Take OR of all that 4 values and check within range.
68
+ */
69
+ /* For example:
70
+ * input C3 80 68 E2 80 20 A6 F0 A0 80 AC 20 F0 93 80 80
71
+ * first_len 1 0 0 2 0 0 0 3 0 0 0 0 3 0 0 0
72
+ * 1st byte 8 0 0 8 0 0 0 8 0 0 0 0 8 0 0 0
73
+ * 2nd byte 0 1 0 0 2 0 0 0 3 0 0 0 0 3 0 0 // Shift + sub
74
+ * 3rd byte 0 0 0 0 0 1 0 0 0 2 0 0 0 0 2 0 // Shift + sub
75
+ * 4th byte 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 // Shift + sub
76
+ * Index 8 1 0 8 2 1 0 8 3 2 1 0 8 3 2 1 // OR of results
77
+ */
78
+
79
+ /* Checking for errors:
80
+ * Error checking is done by looking up the high nibble (4 bits) of each byte
81
+ against an error checking table.
82
+ * Because the lookup value for the second byte depends of the value of the
83
+ first byte in codepoint, we use saturated operations to adjust the index.
84
+ * Specifically we need to add 2 for E0, 3 for ED, 3 for F0 and 4 for F4 to
85
+ match the correct index.
86
+ * If we subtract from all bytes EF then EO -> 241, ED -> 254, F0 -> 1,
87
+ F4 -> 5
88
+ * Do saturating sub 240, then E0 -> 1, ED -> 14 and we can do lookup to
89
+ match the adjustment
90
+ * Add saturating 112, then F0 -> 113, F4 -> 117, all that were > 16 will
91
+ be more 128 and lookup in ef_fe_table will return 0 but for F0
92
+ and F4 it will be 4 and 5 accordingly
93
+ */
94
+ /*
95
+ * Then just check the appropriate ranges with greater/smaller equal
96
+ instructions. Check tail with a naive algorithm.
97
+ * To save from previous 16 byte checks we just align previous_first_len to
98
+ get correct continuations of the codepoints.
99
+ */
100
+
101
+ /*
102
+ * Map high nibble of "First Byte" to legal character length minus 1
103
+ * 0x00 ~ 0xBF --> 0
104
+ * 0xC0 ~ 0xDF --> 1
105
+ * 0xE0 ~ 0xEF --> 2
106
+ * 0xF0 ~ 0xFF --> 3
107
+ */
108
+ const __m128i first_len_table =
109
+ _mm_setr_epi8(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3);
110
+
111
+ /* Map "First Byte" to 8-th item of range table (0xC2 ~ 0xF4) */
112
+ const __m128i first_range_table =
113
+ _mm_setr_epi8(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8);
114
+
115
+ /*
116
+ * Range table, map range index to min and max values
117
+ */
118
+ const __m128i range_min_table =
119
+ _mm_setr_epi8(0x00, 0x80, 0x80, 0x80, 0xA0, 0x80, 0x90, 0x80, 0xC2, 0x7F,
120
+ 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F);
121
+
122
+ const __m128i range_max_table =
123
+ _mm_setr_epi8(0x7F, 0xBF, 0xBF, 0xBF, 0xBF, 0x9F, 0xBF, 0x8F, 0xF4, 0x80,
124
+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80);
125
+
126
+ /*
127
+ * Tables for fast handling of four special First Bytes(E0,ED,F0,F4), after
128
+ * which the Second Byte are not 80~BF. It contains "range index adjustment".
129
+ * +------------+---------------+------------------+----------------+
130
+ * | First Byte | original range| range adjustment | adjusted range |
131
+ * +------------+---------------+------------------+----------------+
132
+ * | E0 | 2 | 2 | 4 |
133
+ * +------------+---------------+------------------+----------------+
134
+ * | ED | 2 | 3 | 5 |
135
+ * +------------+---------------+------------------+----------------+
136
+ * | F0 | 3 | 3 | 6 |
137
+ * +------------+---------------+------------------+----------------+
138
+ * | F4 | 4 | 4 | 8 |
139
+ * +------------+---------------+------------------+----------------+
140
+ */
141
+
142
+ /* df_ee_table[1] -> E0, df_ee_table[14] -> ED as ED - E0 = 13 */
143
+ // The values represent the adjustment in the Range Index table for a correct
144
+ // index.
145
+ const __m128i df_ee_table =
146
+ _mm_setr_epi8(0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0);
147
+
148
+ /* ef_fe_table[1] -> F0, ef_fe_table[5] -> F4, F4 - F0 = 4 */
149
+ // The values represent the adjustment in the Range Index table for a correct
150
+ // index.
151
+ const __m128i ef_fe_table =
152
+ _mm_setr_epi8(0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
153
+
154
+ __m128i prev_input = _mm_set1_epi8(0);
155
+ __m128i prev_first_len = _mm_set1_epi8(0);
156
+ __m128i error = _mm_set1_epi8(0);
157
+
158
+ while (end - data >= 16) {
159
+ const __m128i input = _mm_loadu_si128((const __m128i*)(data));
160
+
161
+ /* high_nibbles = input >> 4 */
162
+ const __m128i high_nibbles =
163
+ _mm_and_si128(_mm_srli_epi16(input, 4), _mm_set1_epi8(0x0F));
164
+
165
+ /* first_len = legal character length minus 1 */
166
+ /* 0 for 00~7F, 1 for C0~DF, 2 for E0~EF, 3 for F0~FF */
167
+ /* first_len = first_len_table[high_nibbles] */
168
+ __m128i first_len = _mm_shuffle_epi8(first_len_table, high_nibbles);
169
+
170
+ /* First Byte: set range index to 8 for bytes within 0xC0 ~ 0xFF */
171
+ /* range = first_range_table[high_nibbles] */
172
+ __m128i range = _mm_shuffle_epi8(first_range_table, high_nibbles);
173
+
174
+ /* Second Byte: set range index to first_len */
175
+ /* 0 for 00~7F, 1 for C0~DF, 2 for E0~EF, 3 for F0~FF */
176
+ /* range |= (first_len, prev_first_len) << 1 byte */
177
+ range = _mm_or_si128(range, _mm_alignr_epi8(first_len, prev_first_len, 15));
178
+
179
+ /* Third Byte: set range index to saturate_sub(first_len, 1) */
180
+ /* 0 for 00~7F, 0 for C0~DF, 1 for E0~EF, 2 for F0~FF */
181
+ __m128i tmp1;
182
+ __m128i tmp2;
183
+ /* tmp1 = saturate_sub(first_len, 1) */
184
+ tmp1 = _mm_subs_epu8(first_len, _mm_set1_epi8(1));
185
+ /* tmp2 = saturate_sub(prev_first_len, 1) */
186
+ tmp2 = _mm_subs_epu8(prev_first_len, _mm_set1_epi8(1));
187
+ /* range |= (tmp1, tmp2) << 2 bytes */
188
+ range = _mm_or_si128(range, _mm_alignr_epi8(tmp1, tmp2, 14));
189
+
190
+ /* Fourth Byte: set range index to saturate_sub(first_len, 2) */
191
+ /* 0 for 00~7F, 0 for C0~DF, 0 for E0~EF, 1 for F0~FF */
192
+ /* tmp1 = saturate_sub(first_len, 2) */
193
+ tmp1 = _mm_subs_epu8(first_len, _mm_set1_epi8(2));
194
+ /* tmp2 = saturate_sub(prev_first_len, 2) */
195
+ tmp2 = _mm_subs_epu8(prev_first_len, _mm_set1_epi8(2));
196
+ /* range |= (tmp1, tmp2) << 3 bytes */
197
+ range = _mm_or_si128(range, _mm_alignr_epi8(tmp1, tmp2, 13));
198
+
199
+ /*
200
+ * Now we have below range indices calculated
201
+ * Correct cases:
202
+ * - 8 for C0~FF
203
+ * - 3 for 1st byte after F0~FF
204
+ * - 2 for 1st byte after E0~EF or 2nd byte after F0~FF
205
+ * - 1 for 1st byte after C0~DF or 2nd byte after E0~EF or
206
+ * 3rd byte after F0~FF
207
+ * - 0 for others
208
+ * Error cases:
209
+ * >9 for non ascii First Byte overlapping
210
+ * E.g., F1 80 C2 90 --> 8 3 10 2, where 10 indicates error
211
+ */
212
+
213
+ /* Adjust Second Byte range for special First Bytes(E0,ED,F0,F4) */
214
+ /* Overlaps lead to index 9~15, which are illegal in range table */
215
+ __m128i shift1;
216
+ __m128i pos;
217
+ __m128i range2;
218
+ /* shift1 = (input, prev_input) << 1 byte */
219
+ shift1 = _mm_alignr_epi8(input, prev_input, 15);
220
+ pos = _mm_sub_epi8(shift1, _mm_set1_epi8(0xEF));
221
+ /*
222
+ * shift1: | EF F0 ... FE | FF 00 ... ... DE | DF E0 ... EE |
223
+ * pos: | 0 1 15 | 16 17 239| 240 241 255|
224
+ * pos-240: | 0 0 0 | 0 0 0 | 0 1 15 |
225
+ * pos+112: | 112 113 127| >= 128 | >= 128 |
226
+ */
227
+ tmp1 = _mm_subs_epu8(pos, _mm_set1_epi8(-16));
228
+ range2 = _mm_shuffle_epi8(df_ee_table, tmp1);
229
+ tmp2 = _mm_adds_epu8(pos, _mm_set1_epi8(112));
230
+ range2 = _mm_add_epi8(range2, _mm_shuffle_epi8(ef_fe_table, tmp2));
231
+
232
+ range = _mm_add_epi8(range, range2);
233
+
234
+ /* Load min and max values per calculated range index */
235
+ __m128i min_range = _mm_shuffle_epi8(range_min_table, range);
236
+ __m128i max_range = _mm_shuffle_epi8(range_max_table, range);
237
+
238
+ /* Check value range */
239
+ if (return_position) {
240
+ error = _mm_cmplt_epi8(input, min_range);
241
+ error = _mm_or_si128(error, _mm_cmpgt_epi8(input, max_range));
242
+ /* 5% performance drop from this conditional branch */
243
+ if (!_mm_testz_si128(error, error)) {
244
+ break;
245
+ }
246
+ } else {
247
+ error = _mm_or_si128(error, _mm_cmplt_epi8(input, min_range));
248
+ error = _mm_or_si128(error, _mm_cmpgt_epi8(input, max_range));
249
+ }
250
+
251
+ prev_input = input;
252
+ prev_first_len = first_len;
253
+
254
+ data += 16;
255
+ }
256
+ /* If we got to the end, we don't need to skip any bytes backwards */
257
+ if (return_position && data == data_original) {
258
+ return utf8_range_ValidateUTF8Naive(data, end, return_position);
259
+ }
260
+ /* Find previous codepoint (not 80~BF) */
261
+ data -= utf8_range_CodepointSkipBackwards(_mm_extract_epi32(prev_input, 3));
262
+ if (return_position) {
263
+ return (data - data_original) +
264
+ utf8_range_ValidateUTF8Naive(data, end, return_position);
265
+ }
266
+ /* Test if there was any error */
267
+ if (!_mm_testz_si128(error, error)) {
268
+ return 0;
269
+ }
270
+ /* Check the tail */
271
+ return utf8_range_ValidateUTF8Naive(data, end, return_position);
272
+ }
@@ -1,16 +1,14 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: google/protobuf/any.proto
3
4
 
4
5
  require 'google/protobuf'
5
6
 
6
- Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_file("google/protobuf/any.proto", :syntax => :proto3) do
8
- add_message "google.protobuf.Any" do
9
- optional :type_url, :string, 1
10
- optional :value, :bytes, 2
11
- end
12
- end
13
- end
7
+
8
+ descriptor_data = "\n\x19google/protobuf/any.proto\x12\x0fgoogle.protobuf\"&\n\x03\x41ny\x12\x10\n\x08type_url\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\x42v\n\x13\x63om.google.protobufB\x08\x41nyProtoP\x01Z,google.golang.org/protobuf/types/known/anypb\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3"
9
+
10
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
11
+ pool.add_serialized_file(descriptor_data)
14
12
 
15
13
  module Google
16
14
  module Protobuf
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: google/protobuf/api.proto
3
4
 
@@ -6,32 +7,11 @@ require 'google/protobuf'
6
7
  require 'google/protobuf/source_context_pb'
7
8
  require 'google/protobuf/type_pb'
8
9
 
9
- Google::Protobuf::DescriptorPool.generated_pool.build do
10
- add_file("google/protobuf/api.proto", :syntax => :proto3) do
11
- add_message "google.protobuf.Api" do
12
- optional :name, :string, 1
13
- repeated :methods, :message, 2, "google.protobuf.Method"
14
- repeated :options, :message, 3, "google.protobuf.Option"
15
- optional :version, :string, 4
16
- optional :source_context, :message, 5, "google.protobuf.SourceContext"
17
- repeated :mixins, :message, 6, "google.protobuf.Mixin"
18
- optional :syntax, :enum, 7, "google.protobuf.Syntax"
19
- end
20
- add_message "google.protobuf.Method" do
21
- optional :name, :string, 1
22
- optional :request_type_url, :string, 2
23
- optional :request_streaming, :bool, 3
24
- optional :response_type_url, :string, 4
25
- optional :response_streaming, :bool, 5
26
- repeated :options, :message, 6, "google.protobuf.Option"
27
- optional :syntax, :enum, 7, "google.protobuf.Syntax"
28
- end
29
- add_message "google.protobuf.Mixin" do
30
- optional :name, :string, 1
31
- optional :root, :string, 2
32
- end
33
- end
34
- end
10
+
11
+ descriptor_data = "\n\x19google/protobuf/api.proto\x12\x0fgoogle.protobuf\x1a$google/protobuf/source_context.proto\x1a\x1agoogle/protobuf/type.proto\"\x92\x02\n\x03\x41pi\x12\x0c\n\x04name\x18\x01 \x01(\t\x12(\n\x07methods\x18\x02 \x03(\x0b\x32\x17.google.protobuf.Method\x12(\n\x07options\x18\x03 \x03(\x0b\x32\x17.google.protobuf.Option\x12\x0f\n\x07version\x18\x04 \x01(\t\x12\x36\n\x0esource_context\x18\x05 \x01(\x0b\x32\x1e.google.protobuf.SourceContext\x12&\n\x06mixins\x18\x06 \x03(\x0b\x32\x16.google.protobuf.Mixin\x12\'\n\x06syntax\x18\x07 \x01(\x0e\x32\x17.google.protobuf.Syntax\x12\x0f\n\x07\x65\x64ition\x18\x08 \x01(\t\"\xee\x01\n\x06Method\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10request_type_url\x18\x02 \x01(\t\x12\x19\n\x11request_streaming\x18\x03 \x01(\x08\x12\x19\n\x11response_type_url\x18\x04 \x01(\t\x12\x1a\n\x12response_streaming\x18\x05 \x01(\x08\x12(\n\x07options\x18\x06 \x03(\x0b\x32\x17.google.protobuf.Option\x12+\n\x06syntax\x18\x07 \x01(\x0e\x32\x17.google.protobuf.SyntaxB\x02\x18\x01\x12\x13\n\x07\x65\x64ition\x18\x08 \x01(\tB\x02\x18\x01\"#\n\x05Mixin\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04root\x18\x02 \x01(\tBv\n\x13\x63om.google.protobufB\x08\x41piProtoP\x01Z,google.golang.org/protobuf/types/known/apipb\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3"
12
+
13
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
14
+ pool.add_serialized_file(descriptor_data)
35
15
 
36
16
  module Google
37
17
  module Protobuf
@@ -1,10 +1,14 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: google/protobuf/descriptor.proto
3
4
 
4
5
  require 'google/protobuf'
5
6
 
6
- descriptor_data = File.binread(__FILE__).split("\n__END__\n", 2)[1]
7
- Google::Protobuf::DescriptorPool.generated_pool.add_serialized_file(descriptor_data)
7
+
8
+ descriptor_data = "\n google/protobuf/descriptor.proto\x12\x0fgoogle.protobuf\"U\n\x11\x46ileDescriptorSet\x12\x32\n\x04\x66ile\x18\x01 \x03(\x0b\x32$.google.protobuf.FileDescriptorProto*\x0c\x08\x80\xec\xca\xff\x01\x10\x81\xec\xca\xff\x01\"\xa1\x04\n\x13\x46ileDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07package\x18\x02 \x01(\t\x12\x12\n\ndependency\x18\x03 \x03(\t\x12\x19\n\x11public_dependency\x18\n \x03(\x05\x12\x17\n\x0fweak_dependency\x18\x0b \x03(\x05\x12\x19\n\x11option_dependency\x18\x0f \x03(\t\x12\x36\n\x0cmessage_type\x18\x04 \x03(\x0b\x32 .google.protobuf.DescriptorProto\x12\x37\n\tenum_type\x18\x05 \x03(\x0b\x32$.google.protobuf.EnumDescriptorProto\x12\x38\n\x07service\x18\x06 \x03(\x0b\x32\'.google.protobuf.ServiceDescriptorProto\x12\x38\n\textension\x18\x07 \x03(\x0b\x32%.google.protobuf.FieldDescriptorProto\x12-\n\x07options\x18\x08 \x01(\x0b\x32\x1c.google.protobuf.FileOptions\x12\x39\n\x10source_code_info\x18\t \x01(\x0b\x32\x1f.google.protobuf.SourceCodeInfo\x12\x0e\n\x06syntax\x18\x0c \x01(\t\x12)\n\x07\x65\x64ition\x18\x0e \x01(\x0e\x32\x18.google.protobuf.Edition\"\xe0\x05\n\x0f\x44\x65scriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05\x66ield\x18\x02 \x03(\x0b\x32%.google.protobuf.FieldDescriptorProto\x12\x38\n\textension\x18\x06 \x03(\x0b\x32%.google.protobuf.FieldDescriptorProto\x12\x35\n\x0bnested_type\x18\x03 \x03(\x0b\x32 .google.protobuf.DescriptorProto\x12\x37\n\tenum_type\x18\x04 \x03(\x0b\x32$.google.protobuf.EnumDescriptorProto\x12H\n\x0f\x65xtension_range\x18\x05 \x03(\x0b\x32/.google.protobuf.DescriptorProto.ExtensionRange\x12\x39\n\noneof_decl\x18\x08 \x03(\x0b\x32%.google.protobuf.OneofDescriptorProto\x12\x30\n\x07options\x18\x07 \x01(\x0b\x32\x1f.google.protobuf.MessageOptions\x12\x46\n\x0ereserved_range\x18\t \x03(\x0b\x32..google.protobuf.DescriptorProto.ReservedRange\x12\x15\n\rreserved_name\x18\n \x03(\t\x12\x35\n\nvisibility\x18\x0b \x01(\x0e\x32!.google.protobuf.SymbolVisibility\x1a\x65\n\x0e\x45xtensionRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05\x12\x37\n\x07options\x18\x03 \x01(\x0b\x32&.google.protobuf.ExtensionRangeOptions\x1a+\n\rReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05\"\xe5\x03\n\x15\x45xtensionRangeOptions\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption\x12L\n\x0b\x64\x65\x63laration\x18\x02 \x03(\x0b\x32\x32.google.protobuf.ExtensionRangeOptions.DeclarationB\x03\x88\x01\x02\x12-\n\x08\x66\x65\x61tures\x18\x32 \x01(\x0b\x32\x1b.google.protobuf.FeatureSet\x12_\n\x0cverification\x18\x03 \x01(\x0e\x32\x38.google.protobuf.ExtensionRangeOptions.VerificationState:\nUNVERIFIEDB\x03\x88\x01\x02\x1ah\n\x0b\x44\x65\x63laration\x12\x0e\n\x06number\x18\x01 \x01(\x05\x12\x11\n\tfull_name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x10\n\x08reserved\x18\x05 \x01(\x08\x12\x10\n\x08repeated\x18\x06 \x01(\x08J\x04\x08\x04\x10\x05\"4\n\x11VerificationState\x12\x0f\n\x0b\x44\x45\x43LARATION\x10\x00\x12\x0e\n\nUNVERIFIED\x10\x01*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xd5\x05\n\x14\x46ieldDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12:\n\x05label\x18\x04 \x01(\x0e\x32+.google.protobuf.FieldDescriptorProto.Label\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.Type\x12\x11\n\ttype_name\x18\x06 \x01(\t\x12\x10\n\x08\x65xtendee\x18\x02 \x01(\t\x12\x15\n\rdefault_value\x18\x07 \x01(\t\x12\x13\n\x0boneof_index\x18\t \x01(\x05\x12\x11\n\tjson_name\x18\n \x01(\t\x12.\n\x07options\x18\x08 \x01(\x0b\x32\x1d.google.protobuf.FieldOptions\x12\x17\n\x0fproto3_optional\x18\x11 \x01(\x08\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REPEATED\x10\x03\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\"T\n\x14OneofDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x07options\x18\x02 \x01(\x0b\x32\x1d.google.protobuf.OneofOptions\"\xdb\x02\n\x13\x45numDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x03(\x0b\x32).google.protobuf.EnumValueDescriptorProto\x12-\n\x07options\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.EnumOptions\x12N\n\x0ereserved_range\x18\x04 \x03(\x0b\x32\x36.google.protobuf.EnumDescriptorProto.EnumReservedRange\x12\x15\n\rreserved_name\x18\x05 \x03(\t\x12\x35\n\nvisibility\x18\x06 \x01(\x0e\x32!.google.protobuf.SymbolVisibility\x1a/\n\x11\x45numReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05\"l\n\x18\x45numValueDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05\x12\x32\n\x07options\x18\x03 \x01(\x0b\x32!.google.protobuf.EnumValueOptions\"\x9e\x01\n\x16ServiceDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x06method\x18\x02 \x03(\x0b\x32&.google.protobuf.MethodDescriptorProto\x12\x30\n\x07options\x18\x03 \x01(\x0b\x32\x1f.google.protobuf.ServiceOptionsJ\x04\x08\x04\x10\x05R\x06stream\"\xc1\x01\n\x15MethodDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\ninput_type\x18\x02 \x01(\t\x12\x13\n\x0boutput_type\x18\x03 \x01(\t\x12/\n\x07options\x18\x04 \x01(\x0b\x32\x1e.google.protobuf.MethodOptions\x12\x1f\n\x10\x63lient_streaming\x18\x05 \x01(\x08:\x05\x66\x61lse\x12\x1f\n\x10server_streaming\x18\x06 \x01(\x08:\x05\x66\x61lse\"\x90\x08\n\x0b\x46ileOptions\x12\x14\n\x0cjava_package\x18\x01 \x01(\t\x12\x1c\n\x14java_outer_classname\x18\x08 \x01(\t\x12\xe6\x01\n\x13java_multiple_files\x18\n \x01(\x08:\x05\x66\x61lseB\xc1\x01\xb2\x01\xbd\x01\x08\xe6\x07 \xe9\x07*\xb4\x01This behavior is enabled by default in editions 2024 and above. To disable it, you can set `features.(pb.java).nest_in_file_class = YES` on individual messages, enums, or services.\x12)\n\x1djava_generate_equals_and_hash\x18\x14 \x01(\x08\x42\x02\x18\x01\x12%\n\x16java_string_check_utf8\x18\x1b \x01(\x08:\x05\x66\x61lse\x12\x46\n\x0coptimize_for\x18\t \x01(\x0e\x32).google.protobuf.FileOptions.OptimizeMode:\x05SPEED\x12\x12\n\ngo_package\x18\x0b \x01(\t\x12\"\n\x13\x63\x63_generic_services\x18\x10 \x01(\x08:\x05\x66\x61lse\x12$\n\x15java_generic_services\x18\x11 \x01(\x08:\x05\x66\x61lse\x12\"\n\x13py_generic_services\x18\x12 \x01(\x08:\x05\x66\x61lse\x12\x19\n\ndeprecated\x18\x17 \x01(\x08:\x05\x66\x61lse\x12\x1e\n\x10\x63\x63_enable_arenas\x18\x1f \x01(\x08:\x04true\x12\x19\n\x11objc_class_prefix\x18$ \x01(\t\x12\x18\n\x10\x63sharp_namespace\x18% \x01(\t\x12\x14\n\x0cswift_prefix\x18\' \x01(\t\x12\x18\n\x10php_class_prefix\x18( \x01(\t\x12\x15\n\rphp_namespace\x18) \x01(\t\x12\x1e\n\x16php_metadata_namespace\x18, \x01(\t\x12\x14\n\x0cruby_package\x18- \x01(\t\x12-\n\x08\x66\x65\x61tures\x18\x32 \x01(\x0b\x32\x1b.google.protobuf.FeatureSet\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption\":\n\x0cOptimizeMode\x12\t\n\x05SPEED\x10\x01\x12\r\n\tCODE_SIZE\x10\x02\x12\x10\n\x0cLITE_RUNTIME\x10\x03*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08*\x10+J\x04\x08&\x10\'R\x14php_generic_services\"\xe7\x02\n\x0eMessageOptions\x12&\n\x17message_set_wire_format\x18\x01 \x01(\x08:\x05\x66\x61lse\x12.\n\x1fno_standard_descriptor_accessor\x18\x02 \x01(\x08:\x05\x66\x61lse\x12\x19\n\ndeprecated\x18\x03 \x01(\x08:\x05\x66\x61lse\x12\x11\n\tmap_entry\x18\x07 \x01(\x08\x12\x32\n&deprecated_legacy_json_field_conflicts\x18\x0b \x01(\x08\x42\x02\x18\x01\x12-\n\x08\x66\x65\x61tures\x18\x0c \x01(\x0b\x32\x1b.google.protobuf.FeatureSet\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\t\x10\n\"\xbe\x0b\n\x0c\x46ieldOptions\x12:\n\x05\x63type\x18\x01 \x01(\x0e\x32#.google.protobuf.FieldOptions.CType:\x06STRING\x12\x0e\n\x06packed\x18\x02 \x01(\x08\x12?\n\x06jstype\x18\x06 \x01(\x0e\x32$.google.protobuf.FieldOptions.JSType:\tJS_NORMAL\x12\x13\n\x04lazy\x18\x05 \x01(\x08:\x05\x66\x61lse\x12\x1e\n\x0funverified_lazy\x18\x0f \x01(\x08:\x05\x66\x61lse\x12\x19\n\ndeprecated\x18\x03 \x01(\x08:\x05\x66\x61lse\x12\x17\n\x04weak\x18\n \x01(\x08:\x05\x66\x61lseB\x02\x18\x01\x12\x1b\n\x0c\x64\x65\x62ug_redact\x18\x10 \x01(\x08:\x05\x66\x61lse\x12@\n\tretention\x18\x11 \x01(\x0e\x32-.google.protobuf.FieldOptions.OptionRetention\x12?\n\x07targets\x18\x13 \x03(\x0e\x32..google.protobuf.FieldOptions.OptionTargetType\x12\x46\n\x10\x65\x64ition_defaults\x18\x14 \x03(\x0b\x32,.google.protobuf.FieldOptions.EditionDefault\x12-\n\x08\x66\x65\x61tures\x18\x15 \x01(\x0b\x32\x1b.google.protobuf.FeatureSet\x12\x45\n\x0f\x66\x65\x61ture_support\x18\x16 \x01(\x0b\x32,.google.protobuf.FieldOptions.FeatureSupport\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption\x1aJ\n\x0e\x45\x64itionDefault\x12)\n\x07\x65\x64ition\x18\x03 \x01(\x0e\x32\x18.google.protobuf.Edition\x12\r\n\x05value\x18\x02 \x01(\t\x1a\xe3\x01\n\x0e\x46\x65\x61tureSupport\x12\x34\n\x12\x65\x64ition_introduced\x18\x01 \x01(\x0e\x32\x18.google.protobuf.Edition\x12\x34\n\x12\x65\x64ition_deprecated\x18\x02 \x01(\x0e\x32\x18.google.protobuf.Edition\x12\x1b\n\x13\x64\x65precation_warning\x18\x03 \x01(\t\x12\x31\n\x0f\x65\x64ition_removed\x18\x04 \x01(\x0e\x32\x18.google.protobuf.Edition\x12\x15\n\rremoval_error\x18\x05 \x01(\t\"/\n\x05\x43Type\x12\n\n\x06STRING\x10\x00\x12\x08\n\x04\x43ORD\x10\x01\x12\x10\n\x0cSTRING_PIECE\x10\x02\"5\n\x06JSType\x12\r\n\tJS_NORMAL\x10\x00\x12\r\n\tJS_STRING\x10\x01\x12\r\n\tJS_NUMBER\x10\x02\"U\n\x0fOptionRetention\x12\x15\n\x11RETENTION_UNKNOWN\x10\x00\x12\x15\n\x11RETENTION_RUNTIME\x10\x01\x12\x14\n\x10RETENTION_SOURCE\x10\x02\"\x8c\x02\n\x10OptionTargetType\x12\x17\n\x13TARGET_TYPE_UNKNOWN\x10\x00\x12\x14\n\x10TARGET_TYPE_FILE\x10\x01\x12\x1f\n\x1bTARGET_TYPE_EXTENSION_RANGE\x10\x02\x12\x17\n\x13TARGET_TYPE_MESSAGE\x10\x03\x12\x15\n\x11TARGET_TYPE_FIELD\x10\x04\x12\x15\n\x11TARGET_TYPE_ONEOF\x10\x05\x12\x14\n\x10TARGET_TYPE_ENUM\x10\x06\x12\x1a\n\x16TARGET_TYPE_ENUM_ENTRY\x10\x07\x12\x17\n\x13TARGET_TYPE_SERVICE\x10\x08\x12\x16\n\x12TARGET_TYPE_METHOD\x10\t*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x04\x10\x05J\x04\x08\x12\x10\x13\"\x8d\x01\n\x0cOneofOptions\x12-\n\x08\x66\x65\x61tures\x18\x01 \x01(\x0b\x32\x1b.google.protobuf.FeatureSet\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xf6\x01\n\x0b\x45numOptions\x12\x13\n\x0b\x61llow_alias\x18\x02 \x01(\x08\x12\x19\n\ndeprecated\x18\x03 \x01(\x08:\x05\x66\x61lse\x12\x32\n&deprecated_legacy_json_field_conflicts\x18\x06 \x01(\x08\x42\x02\x18\x01\x12-\n\x08\x66\x65\x61tures\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.FeatureSet\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x05\x10\x06\"\x90\x02\n\x10\x45numValueOptions\x12\x19\n\ndeprecated\x18\x01 \x01(\x08:\x05\x66\x61lse\x12-\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.FeatureSet\x12\x1b\n\x0c\x64\x65\x62ug_redact\x18\x03 \x01(\x08:\x05\x66\x61lse\x12\x45\n\x0f\x66\x65\x61ture_support\x18\x04 \x01(\x0b\x32,.google.protobuf.FieldOptions.FeatureSupport\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xaa\x01\n\x0eServiceOptions\x12-\n\x08\x66\x65\x61tures\x18\" \x01(\x0b\x32\x1b.google.protobuf.FeatureSet\x12\x19\n\ndeprecated\x18! \x01(\x08:\x05\x66\x61lse\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xdc\x02\n\rMethodOptions\x12\x19\n\ndeprecated\x18! \x01(\x08:\x05\x66\x61lse\x12_\n\x11idempotency_level\x18\" \x01(\x0e\x32/.google.protobuf.MethodOptions.IdempotencyLevel:\x13IDEMPOTENCY_UNKNOWN\x12-\n\x08\x66\x65\x61tures\x18# \x01(\x0b\x32\x1b.google.protobuf.FeatureSet\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption\"P\n\x10IdempotencyLevel\x12\x17\n\x13IDEMPOTENCY_UNKNOWN\x10\x00\x12\x13\n\x0fNO_SIDE_EFFECTS\x10\x01\x12\x0e\n\nIDEMPOTENT\x10\x02*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\x9e\x02\n\x13UninterpretedOption\x12;\n\x04name\x18\x02 \x03(\x0b\x32-.google.protobuf.UninterpretedOption.NamePart\x12\x18\n\x10identifier_value\x18\x03 \x01(\t\x12\x1a\n\x12positive_int_value\x18\x04 \x01(\x04\x12\x1a\n\x12negative_int_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x14\n\x0cstring_value\x18\x07 \x01(\x0c\x12\x17\n\x0f\x61ggregate_value\x18\x08 \x01(\t\x1a\x33\n\x08NamePart\x12\x11\n\tname_part\x18\x01 \x02(\t\x12\x14\n\x0cis_extension\x18\x02 \x02(\x08\"\x83\x0e\n\nFeatureSet\x12\x82\x01\n\x0e\x66ield_presence\x18\x01 \x01(\x0e\x32).google.protobuf.FeatureSet.FieldPresenceB?\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\r\x12\x08\x45XPLICIT\x18\x84\x07\xa2\x01\r\x12\x08IMPLICIT\x18\xe7\x07\xa2\x01\r\x12\x08\x45XPLICIT\x18\xe8\x07\xb2\x01\x03\x08\xe8\x07\x12\x62\n\tenum_type\x18\x02 \x01(\x0e\x32$.google.protobuf.FeatureSet.EnumTypeB)\x88\x01\x01\x98\x01\x06\x98\x01\x01\xa2\x01\x0b\x12\x06\x43LOSED\x18\x84\x07\xa2\x01\t\x12\x04OPEN\x18\xe7\x07\xb2\x01\x03\x08\xe8\x07\x12\x81\x01\n\x17repeated_field_encoding\x18\x03 \x01(\x0e\x32\x31.google.protobuf.FeatureSet.RepeatedFieldEncodingB-\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\r\x12\x08\x45XPANDED\x18\x84\x07\xa2\x01\x0b\x12\x06PACKED\x18\xe7\x07\xb2\x01\x03\x08\xe8\x07\x12n\n\x0futf8_validation\x18\x04 \x01(\x0e\x32*.google.protobuf.FeatureSet.Utf8ValidationB)\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\t\x12\x04NONE\x18\x84\x07\xa2\x01\x0b\x12\x06VERIFY\x18\xe7\x07\xb2\x01\x03\x08\xe8\x07\x12m\n\x10message_encoding\x18\x05 \x01(\x0e\x32+.google.protobuf.FeatureSet.MessageEncodingB&\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\x14\x12\x0fLENGTH_PREFIXED\x18\x84\x07\xb2\x01\x03\x08\xe8\x07\x12v\n\x0bjson_format\x18\x06 \x01(\x0e\x32&.google.protobuf.FeatureSet.JsonFormatB9\x88\x01\x01\x98\x01\x03\x98\x01\x06\x98\x01\x01\xa2\x01\x17\x12\x12LEGACY_BEST_EFFORT\x18\x84\x07\xa2\x01\n\x12\x05\x41LLOW\x18\xe7\x07\xb2\x01\x03\x08\xe8\x07\x12\x97\x01\n\x14\x65nforce_naming_style\x18\x07 \x01(\x0e\x32..google.protobuf.FeatureSet.EnforceNamingStyleBI\x88\x01\x02\x98\x01\x01\x98\x01\x02\x98\x01\x03\x98\x01\x04\x98\x01\x05\x98\x01\x06\x98\x01\x07\x98\x01\x08\x98\x01\t\xa2\x01\x11\x12\x0cSTYLE_LEGACY\x18\x84\x07\xa2\x01\x0e\x12\tSTYLE2024\x18\xe9\x07\xb2\x01\x03\x08\xe9\x07\x12\xa0\x01\n\x19\x64\x65\x66\x61ult_symbol_visibility\x18\x08 \x01(\x0e\x32\x45.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibilityB6\x88\x01\x02\x98\x01\x01\xa2\x01\x0f\x12\nEXPORT_ALL\x18\x84\x07\xa2\x01\x15\x12\x10\x45XPORT_TOP_LEVEL\x18\xe9\x07\xb2\x01\x03\x08\xe9\x07\x1a\xa1\x01\n\x11VisibilityFeature\"\x81\x01\n\x17\x44\x65\x66\x61ultSymbolVisibility\x12%\n!DEFAULT_SYMBOL_VISIBILITY_UNKNOWN\x10\x00\x12\x0e\n\nEXPORT_ALL\x10\x01\x12\x14\n\x10\x45XPORT_TOP_LEVEL\x10\x02\x12\r\n\tLOCAL_ALL\x10\x03\x12\n\n\x06STRICT\x10\x04J\x08\x08\x01\x10\x80\x80\x80\x80\x02\"\\\n\rFieldPresence\x12\x1a\n\x16\x46IELD_PRESENCE_UNKNOWN\x10\x00\x12\x0c\n\x08\x45XPLICIT\x10\x01\x12\x0c\n\x08IMPLICIT\x10\x02\x12\x13\n\x0fLEGACY_REQUIRED\x10\x03\"7\n\x08\x45numType\x12\x15\n\x11\x45NUM_TYPE_UNKNOWN\x10\x00\x12\x08\n\x04OPEN\x10\x01\x12\n\n\x06\x43LOSED\x10\x02\"V\n\x15RepeatedFieldEncoding\x12#\n\x1fREPEATED_FIELD_ENCODING_UNKNOWN\x10\x00\x12\n\n\x06PACKED\x10\x01\x12\x0c\n\x08\x45XPANDED\x10\x02\"I\n\x0eUtf8Validation\x12\x1b\n\x17UTF8_VALIDATION_UNKNOWN\x10\x00\x12\n\n\x06VERIFY\x10\x02\x12\x08\n\x04NONE\x10\x03\"\x04\x08\x01\x10\x01\"S\n\x0fMessageEncoding\x12\x1c\n\x18MESSAGE_ENCODING_UNKNOWN\x10\x00\x12\x13\n\x0fLENGTH_PREFIXED\x10\x01\x12\r\n\tDELIMITED\x10\x02\"H\n\nJsonFormat\x12\x17\n\x13JSON_FORMAT_UNKNOWN\x10\x00\x12\t\n\x05\x41LLOW\x10\x01\x12\x16\n\x12LEGACY_BEST_EFFORT\x10\x02\"W\n\x12\x45nforceNamingStyle\x12 \n\x1c\x45NFORCE_NAMING_STYLE_UNKNOWN\x10\x00\x12\r\n\tSTYLE2024\x10\x01\x12\x10\n\x0cSTYLE_LEGACY\x10\x02*\x06\x08\xe8\x07\x10\x8bN*\x06\x08\x8bN\x10\x90N*\x06\x08\x90N\x10\x91NJ\x06\x08\xe7\x07\x10\xe8\x07\"\x98\x03\n\x12\x46\x65\x61tureSetDefaults\x12N\n\x08\x64\x65\x66\x61ults\x18\x01 \x03(\x0b\x32<.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault\x12\x31\n\x0fminimum_edition\x18\x04 \x01(\x0e\x32\x18.google.protobuf.Edition\x12\x31\n\x0fmaximum_edition\x18\x05 \x01(\x0e\x32\x18.google.protobuf.Edition\x1a\xcb\x01\n\x18\x46\x65\x61tureSetEditionDefault\x12)\n\x07\x65\x64ition\x18\x03 \x01(\x0e\x32\x18.google.protobuf.Edition\x12\x39\n\x14overridable_features\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.FeatureSet\x12\x33\n\x0e\x66ixed_features\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.FeatureSetJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03R\x08\x66\x65\x61tures\"\xe3\x01\n\x0eSourceCodeInfo\x12:\n\x08location\x18\x01 \x03(\x0b\x32(.google.protobuf.SourceCodeInfo.Location\x1a\x86\x01\n\x08Location\x12\x10\n\x04path\x18\x01 \x03(\x05\x42\x02\x10\x01\x12\x10\n\x04span\x18\x02 \x03(\x05\x42\x02\x10\x01\x12\x18\n\x10leading_comments\x18\x03 \x01(\t\x12\x19\n\x11trailing_comments\x18\x04 \x01(\t\x12!\n\x19leading_detached_comments\x18\x06 \x03(\t*\x0c\x08\x80\xec\xca\xff\x01\x10\x81\xec\xca\xff\x01\"\x9c\x02\n\x11GeneratedCodeInfo\x12\x41\n\nannotation\x18\x01 \x03(\x0b\x32-.google.protobuf.GeneratedCodeInfo.Annotation\x1a\xc3\x01\n\nAnnotation\x12\x10\n\x04path\x18\x01 \x03(\x05\x42\x02\x10\x01\x12\x13\n\x0bsource_file\x18\x02 \x01(\t\x12\r\n\x05\x62\x65gin\x18\x03 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x04 \x01(\x05\x12H\n\x08semantic\x18\x05 \x01(\x0e\x32\x36.google.protobuf.GeneratedCodeInfo.Annotation.Semantic\"(\n\x08Semantic\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03SET\x10\x01\x12\t\n\x05\x41LIAS\x10\x02*\xbe\x02\n\x07\x45\x64ition\x12\x13\n\x0f\x45\x44ITION_UNKNOWN\x10\x00\x12\x13\n\x0e\x45\x44ITION_LEGACY\x10\x84\x07\x12\x13\n\x0e\x45\x44ITION_PROTO2\x10\xe6\x07\x12\x13\n\x0e\x45\x44ITION_PROTO3\x10\xe7\x07\x12\x11\n\x0c\x45\x44ITION_2023\x10\xe8\x07\x12\x11\n\x0c\x45\x44ITION_2024\x10\xe9\x07\x12\x15\n\x10\x45\x44ITION_UNSTABLE\x10\x8fN\x12\x17\n\x13\x45\x44ITION_1_TEST_ONLY\x10\x01\x12\x17\n\x13\x45\x44ITION_2_TEST_ONLY\x10\x02\x12\x1d\n\x17\x45\x44ITION_99997_TEST_ONLY\x10\x9d\x8d\x06\x12\x1d\n\x17\x45\x44ITION_99998_TEST_ONLY\x10\x9e\x8d\x06\x12\x1d\n\x17\x45\x44ITION_99999_TEST_ONLY\x10\x9f\x8d\x06\x12\x13\n\x0b\x45\x44ITION_MAX\x10\xff\xff\xff\xff\x07*U\n\x10SymbolVisibility\x12\x14\n\x10VISIBILITY_UNSET\x10\x00\x12\x14\n\x10VISIBILITY_LOCAL\x10\x01\x12\x15\n\x11VISIBILITY_EXPORT\x10\x02\x42~\n\x13\x63om.google.protobufB\x10\x44\x65scriptorProtosH\x01Z-google.golang.org/protobuf/types/descriptorpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1aGoogle.Protobuf.Reflection"
9
+
10
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
11
+ pool.add_serialized_file(descriptor_data)
8
12
 
9
13
  module Google
10
14
  module Protobuf
@@ -14,6 +18,8 @@ module Google
14
18
  DescriptorProto::ExtensionRange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.DescriptorProto.ExtensionRange").msgclass
15
19
  DescriptorProto::ReservedRange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.DescriptorProto.ReservedRange").msgclass
16
20
  ExtensionRangeOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.ExtensionRangeOptions").msgclass
21
+ ExtensionRangeOptions::Declaration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.ExtensionRangeOptions.Declaration").msgclass
22
+ ExtensionRangeOptions::VerificationState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.ExtensionRangeOptions.VerificationState").enummodule
17
23
  FieldDescriptorProto = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FieldDescriptorProto").msgclass
18
24
  FieldDescriptorProto::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FieldDescriptorProto.Type").enummodule
19
25
  FieldDescriptorProto::Label = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FieldDescriptorProto.Label").enummodule
@@ -27,8 +33,12 @@ module Google
27
33
  FileOptions::OptimizeMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FileOptions.OptimizeMode").enummodule
28
34
  MessageOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.MessageOptions").msgclass
29
35
  FieldOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FieldOptions").msgclass
36
+ FieldOptions::EditionDefault = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FieldOptions.EditionDefault").msgclass
37
+ FieldOptions::FeatureSupport = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FieldOptions.FeatureSupport").msgclass
30
38
  FieldOptions::CType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FieldOptions.CType").enummodule
31
39
  FieldOptions::JSType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FieldOptions.JSType").enummodule
40
+ FieldOptions::OptionRetention = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FieldOptions.OptionRetention").enummodule
41
+ FieldOptions::OptionTargetType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FieldOptions.OptionTargetType").enummodule
32
42
  OneofOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.OneofOptions").msgclass
33
43
  EnumOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.EnumOptions").msgclass
34
44
  EnumValueOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.EnumValueOptions").msgclass
@@ -37,233 +47,24 @@ module Google
37
47
  MethodOptions::IdempotencyLevel = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.MethodOptions.IdempotencyLevel").enummodule
38
48
  UninterpretedOption = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.UninterpretedOption").msgclass
39
49
  UninterpretedOption::NamePart = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.UninterpretedOption.NamePart").msgclass
50
+ FeatureSet = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FeatureSet").msgclass
51
+ FeatureSet::VisibilityFeature = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FeatureSet.VisibilityFeature").msgclass
52
+ FeatureSet::VisibilityFeature::DefaultSymbolVisibility = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility").enummodule
53
+ FeatureSet::FieldPresence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FeatureSet.FieldPresence").enummodule
54
+ FeatureSet::EnumType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FeatureSet.EnumType").enummodule
55
+ FeatureSet::RepeatedFieldEncoding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FeatureSet.RepeatedFieldEncoding").enummodule
56
+ FeatureSet::Utf8Validation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FeatureSet.Utf8Validation").enummodule
57
+ FeatureSet::MessageEncoding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FeatureSet.MessageEncoding").enummodule
58
+ FeatureSet::JsonFormat = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FeatureSet.JsonFormat").enummodule
59
+ FeatureSet::EnforceNamingStyle = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FeatureSet.EnforceNamingStyle").enummodule
60
+ FeatureSetDefaults = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FeatureSetDefaults").msgclass
61
+ FeatureSetDefaults::FeatureSetEditionDefault = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault").msgclass
40
62
  SourceCodeInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.SourceCodeInfo").msgclass
41
63
  SourceCodeInfo::Location = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.SourceCodeInfo.Location").msgclass
42
64
  GeneratedCodeInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.GeneratedCodeInfo").msgclass
43
65
  GeneratedCodeInfo::Annotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.GeneratedCodeInfo.Annotation").msgclass
66
+ GeneratedCodeInfo::Annotation::Semantic = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.GeneratedCodeInfo.Annotation.Semantic").enummodule
67
+ Edition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.Edition").enummodule
68
+ SymbolVisibility = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.SymbolVisibility").enummodule
44
69
  end
45
70
  end
46
-
47
- __END__
48
-
49
- google/protobuf/descriptor.protogoogle.protobuf"G
50
- FileDescriptorSet2
51
- file ( 2$.google.protobuf.FileDescriptorProto"�
52
- FileDescriptorProto
53
- name ( 
54
- package ( 
55
-
56
- dependency ( 
57
- public_dependency
58
- (
59
- weak_dependency (6
60
- message_type ( 2 .google.protobuf.DescriptorProto7
61
- enum_type ( 2$.google.protobuf.EnumDescriptorProto8
62
- service ( 2'.google.protobuf.ServiceDescriptorProto8
63
- extension ( 2%.google.protobuf.FieldDescriptorProto-
64
- options ( 2.google.protobuf.FileOptions9
65
- source_code_info ( 2.google.protobuf.SourceCodeInfo
66
- syntax ( "�
67
- DescriptorProto
68
- name ( 4
69
- field ( 2%.google.protobuf.FieldDescriptorProto8
70
- extension ( 2%.google.protobuf.FieldDescriptorProto5
71
- nested_type ( 2 .google.protobuf.DescriptorProto7
72
- enum_type ( 2$.google.protobuf.EnumDescriptorProtoH
73
- extension_range ( 2/.google.protobuf.DescriptorProto.ExtensionRange9
74
-
75
- oneof_decl ( 2%.google.protobuf.OneofDescriptorProto0
76
- options ( 2.google.protobuf.MessageOptionsF
77
- reserved_range ( 2..google.protobuf.DescriptorProto.ReservedRange
78
-
79
- ( e
80
- ExtensionRange
81
- start (
82
- end (7
83
- options ( 2&.google.protobuf.ExtensionRangeOptions+
84
-
85
- start (
86
- end ("g
87
- ExtensionRangeOptionsC
88
- uninterpreted_option� ( 2$.google.protobuf.UninterpretedOption* �����"�
89
- FieldDescriptorProto
90
- name ( 
91
- number (:
92
- label (2+.google.protobuf.FieldDescriptorProto.Label8
93
- type (2*.google.protobuf.FieldDescriptorProto.Type
94
- type_name ( 
95
- extendee ( 
96
-
97
- oneof_index (
98
- json_name
99
- ( .
100
- options ( 2.google.protobuf.FieldOptions
101
- proto3_optional ("�
102
- Type
103
- TYPE_DOUBLE
104
-
105
- TYPE_FLOAT
106
-
107
- TYPE_INT64
108
- TYPE_UINT64
109
-
110
- TYPE_INT32
111
- TYPE_FIXED64
112
- TYPE_FIXED32
113
- TYPE_BOOL
114
- TYPE_STRING 
115
-
116
- TYPE_GROUP
117
- 
118
- TYPE_MESSAGE 
119
-
120
- TYPE_BYTES 
121
- TYPE_UINT32
122
- TYPE_ENUM
123
-
124
-
125
- TYPE_SINT32
126
- TYPE_SINT64"C
127
- Label
128
- LABEL_OPTIONAL
129
- LABEL_REQUIRED
130
- LABEL_REPEATED"T
131
- OneofDescriptorProto
132
- name ( .
133
- options ( 2.google.protobuf.OneofOptions"�
134
- EnumDescriptorProto
135
- name ( 8
136
- value ( 2).google.protobuf.EnumValueDescriptorProto-
137
- options ( 2.google.protobuf.EnumOptionsN
138
- reserved_range ( 26.google.protobuf.EnumDescriptorProto.EnumReservedRange
139
-
140
- EnumReservedRange
141
- start (
142
- end ("l
143
- EnumValueDescriptorProto
144
- name ( 
145
- number (2
146
- options ( 2!.google.protobuf.EnumValueOptions"�
147
- ServiceDescriptorProto
148
- name ( 6
149
- method ( 2&.google.protobuf.MethodDescriptorProto0
150
- options ( 2.google.protobuf.ServiceOptions"�
151
- MethodDescriptorProto
152
- name ( 
153
-
154
- input_type ( 
155
- output_type ( /
156
- options ( 2.google.protobuf.MethodOptions
157
- client_streaming (:false
158
- server_streaming (:false"�
159
- FileOptions
160
- java_package ( 
161
- java_outer_classname ( "
162
- java_multiple_files
163
- (:false)
164
- java_generate_equals_and_hash (B%
165
- java_string_check_utf8 (:falseF
166
- optimize_for (2).google.protobuf.FileOptions.OptimizeMode:SPEED
167
-
168
- go_package ( "
169
- cc_generic_services (:false$
170
- java_generic_services (:false"
171
- py_generic_services (:false#
172
- php_generic_services* (:false
173
-
174
- deprecated (:false
175
- cc_enable_arenas (:true
176
- objc_class_prefix$ ( 
177
- csharp_namespace% ( 
178
- swift_prefix' ( 
179
- php_class_prefix( ( 
180
-
181
- php_metadata_namespace, ( 
182
- ruby_package- ( C
183
- uninterpreted_option� ( 2$.google.protobuf.UninterpretedOption":
184
- OptimizeMode
185
- SPEED
186
- CODE_SIZE
187
- LITE_RUNTIME* �����J&'"�
188
- MessageOptions&
189
- message_set_wire_format (:false.
190
- no_standard_descriptor_accessor (:false
191
-
192
- deprecated (:false
193
- map_entry (C
194
- uninterpreted_option� ( 2$.google.protobuf.UninterpretedOption* �����JJJJ J 
195
- "�
196
- FieldOptions:
197
- ctype (2#.google.protobuf.FieldOptions.CType:STRING
198
- packed (?
199
- jstype (2$.google.protobuf.FieldOptions.JSType: JS_NORMAL
200
- lazy (:false
201
- unverified_lazy (:false
202
-
203
- deprecated (:false
204
- weak
205
- (:falseC
206
- uninterpreted_option� ( 2$.google.protobuf.UninterpretedOption"/
207
- CType
208
-
209
- STRING
210
- CORD
211
- STRING_PIECE"5
212
- JSType
213
- JS_NORMAL
214
- JS_STRING
215
- JS_NUMBER* �����J"^
216
- OneofOptionsC
217
- uninterpreted_option� ( 2$.google.protobuf.UninterpretedOption* �����"�
218
- EnumOptions
219
- allow_alias (
220
-
221
- deprecated (:falseC
222
- uninterpreted_option� ( 2$.google.protobuf.UninterpretedOption* �����J"}
223
- EnumValueOptions
224
-
225
- deprecated (:falseC
226
- uninterpreted_option� ( 2$.google.protobuf.UninterpretedOption* �����"{
227
- ServiceOptions
228
-
229
- deprecated! (:falseC
230
- uninterpreted_option� ( 2$.google.protobuf.UninterpretedOption* �����"�
231
-
232
-
233
- deprecated! (:false_
234
- idempotency_level" (2/.google.protobuf.MethodOptions.IdempotencyLevel:IDEMPOTENCY_UNKNOWNC
235
- uninterpreted_option� ( 2$.google.protobuf.UninterpretedOption"P
236
- IdempotencyLevel
237
- IDEMPOTENCY_UNKNOWN
238
- NO_SIDE_EFFECTS
239
-
240
- IDEMPOTENT* �����"�
241
- UninterpretedOption;
242
- name ( 2-.google.protobuf.UninterpretedOption.NamePart
243
- identifier_value ( 
244
- positive_int_value (
245
- negative_int_value (
246
- double_value (
247
- string_value ( 
248
- aggregate_value ( 3
249
- NamePart
250
- name_part ( 
251
- is_extension ("�
252
- SourceCodeInfo:
253
- location ( 2(.google.protobuf.SourceCodeInfo.Location�
254
- Location
255
- path (B
256
- span (B
257
- leading_comments ( 
258
- trailing_comments ( !
259
- leading_detached_comments ( "�
260
- GeneratedCodeInfoA
261
-
262
- annotation ( 2-.google.protobuf.GeneratedCodeInfo.AnnotationO
263
-
264
- Annotation
265
- path (B
266
- source_file ( 
267
- begin (
268
- end (B~
269
- com.google.protobufBDescriptorProtosHZ-google.golang.org/protobuf/types/descriptorpb��GPB�Google.Protobuf.Reflection