Memory leaks on VS2008/C++

117 views
Skip to first unread message

Oleg Smolsky

unread,
Mar 27, 2009, 3:20:13 PM3/27/09
to Protocol Buffers
Hi Kenton, I was debugging a unit test that pushes protobuf messages
over a TCP connection and noticed that VS2008 reports a large amount of
leaks.

So, I've merged/fixed the patch proposed in
http://code.google.com/p/protobuf/issues/detail?id=54 (attached) and
made sure that the compilation unit's static destructor runs. My current
(minimal) test case does not even instantiate any messages or make any
connections - only protobuf's static constructors and destructors run.
The output from VS debugger is attached.

It appears that a lot more stuff is allocated elsewhere. Could you point
me to the right direction please?

Cheers,
Oleg.

static_cleanup1.patch
leaks.txt

Kenton Varda

unread,
Mar 27, 2009, 4:12:33 PM3/27/09
to Oleg Smolsky, Protocol Buffers
These aren't really "leaks".  See this thread:

Index: compiler/cpp/cpp_file.cc
===================================================================
--- compiler/cpp/cpp_file.cc    (revision 198)
+++ compiler/cpp/cpp_file.cc    (working copy)
@@ -386,13 +386,33 @@

  printer->Outdent();

+  // DestroyDescriptors() takes care of deleting the reflection objects that
+  // get allocated during BuildDescriptors(). This will be run at exit, and
+  // keeps memory-leak debugging tools from complaining about leaked memory.
  printer->Print(
+  "}\n"
+  "\n"
+  "void protobuf_BuildDesc_$filename$_TearDown() {\n",
+  "filename", FilenameIdentifier(file_->name()));
+  printer->Indent();
+
+  // delete all dynamically allocated objects.
+  for (int i = 0; i < file_->message_type_count(); i++) {
+     message_generators_[i]->GenerateTearDown(printer);
+  }
+
+  printer->Outdent();
+
+  printer->Print(
    "}\n"
    "\n"
    "// Force BuildDescriptors() to be called at static initialization time.\n"
    "struct StaticDescriptorInitializer_$filename$ {\n"
    "  StaticDescriptorInitializer_$filename$() {\n"
    "    $builddescriptorsname$();\n"
+    " }\n"
+    " ~StaticDescriptorInitializer_$filename$() {\n"
+    " protobuf_BuildDesc_$filename$_TearDown();\n"
    "  }\n"
    "} static_descriptor_initializer_$filename$_;\n"
    "\n",
Index: compiler/cpp/cpp_message.cc
===================================================================
--- compiler/cpp/cpp_message.cc (revision 198)
+++ compiler/cpp/cpp_message.cc (working copy)
@@ -505,7 +505,8 @@
  // Generate offsets and _has_bits_ boilerplate.
  printer->Print(vars,
    "friend void $builddescriptorsname$_AssignGlobalDescriptors(\n"
-    "    const ::google::protobuf::FileDescriptor* file);\n");
+    "    const ::google::protobuf::FileDescriptor* file);\n"
+    "friend void $builddescriptorsname$_TearDown();\n");

  if (descriptor_->field_count() > 0) {
    printer->Print(vars,
@@ -648,7 +649,24 @@
  }
 }

+
+
 void MessageGenerator::
+GenerateTearDown(io::Printer* printer) {
+    map<string, string> vars;
+    vars["classname"] = classname_;
+
+    for (int i = 0; i < descriptor_->nested_type_count(); i++) {
+               nested_generators_[i]->GenerateTearDown(printer);
+    }
+
+    // delete the reflection and default instance objects.
+    printer->Print(vars,
+    "delete $classname$_reflection_;\n"
+    "delete $classname$::default_instance_;\n");
+}
+
+void MessageGenerator::
 GenerateClassMethods(io::Printer* printer) {
  for (int i = 0; i < descriptor_->enum_type_count(); i++) {
    enum_generators_[i]->GenerateMethods(printer);
Index: compiler/cpp/cpp_message.h
===================================================================
--- compiler/cpp/cpp_message.h  (revision 198)
+++ compiler/cpp/cpp_message.h  (working copy)
@@ -89,6 +89,10 @@
  // Generates code that initializes the message's default instance.
  void GenerateDefaultInstanceInitializer(io::Printer* printer);

+  // Generate code that destructs the global variable storing the message's
+  // descriptor.
+  void GenerateTearDown(io::Printer* printer);
+
  // Generate all non-inline methods for this class.
  void GenerateClassMethods(io::Printer* printer);

Index: descriptor.pb.cc
===================================================================
--- descriptor.pb.cc    (revision 198)
+++ descriptor.pb.cc    (working copy)
@@ -447,6 +447,45 @@
  UninterpretedOption_NamePart::default_instance_->InitAsDefaultInstance();
 }

+void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown() {
+    delete FileDescriptorSet_reflection_;
+    delete FileDescriptorSet::default_instance_;
+    delete FileDescriptorProto_reflection_;
+    delete FileDescriptorProto::default_instance_;
+    delete DescriptorProto_ExtensionRange_reflection_;
+    delete DescriptorProto_ExtensionRange::default_instance_;
+    delete DescriptorProto_reflection_;
+    delete DescriptorProto::default_instance_;
+    delete FieldDescriptorProto_reflection_;
+    delete FieldDescriptorProto::default_instance_;
+    delete EnumDescriptorProto_reflection_;
+    delete EnumDescriptorProto::default_instance_;
+    delete EnumValueDescriptorProto_reflection_;
+    delete EnumValueDescriptorProto::default_instance_;
+    delete ServiceDescriptorProto_reflection_;
+    delete ServiceDescriptorProto::default_instance_;
+    delete MethodDescriptorProto_reflection_;
+    delete MethodDescriptorProto::default_instance_;
+    delete FileOptions_reflection_;
+    delete FileOptions::default_instance_;
+    delete MessageOptions_reflection_;
+    delete MessageOptions::default_instance_;
+    delete FieldOptions_reflection_;
+    delete FieldOptions::default_instance_;
+    delete EnumOptions_reflection_;
+    delete EnumOptions::default_instance_;
+    delete EnumValueOptions_reflection_;
+    delete EnumValueOptions::default_instance_;
+    delete ServiceOptions_reflection_;
+    delete ServiceOptions::default_instance_;
+    delete MethodOptions_reflection_;
+    delete MethodOptions::default_instance_;
+    delete UninterpretedOption_NamePart_reflection_;
+    delete UninterpretedOption_NamePart::default_instance_;
+    delete UninterpretedOption_reflection_;
+    delete UninterpretedOption::default_instance_;
+}
+
 void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto() {
  static bool already_here = false;
  if (already_here) return;
@@ -551,6 +590,9 @@
  StaticDescriptorInitializer_google_2fprotobuf_2fdescriptor_2eproto() {
    protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto();
  }
+  ~StaticDescriptorInitializer_google_2fprotobuf_2fdescriptor_2eproto() {
+    protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
+  }
 } static_descriptor_initializer_google_2fprotobuf_2fdescriptor_2eproto_;


Index: descriptor.pb.h
===================================================================
--- descriptor.pb.h     (revision 198)
+++ descriptor.pb.h     (working copy)
@@ -171,6 +171,7 @@
  ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto > file_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -327,6 +328,7 @@
  ::google::protobuf::FileOptions* options_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(8 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -416,6 +418,7 @@
  ::google::protobuf::int32 end_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -560,6 +563,7 @@
  ::google::protobuf::MessageOptions* options_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(7 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -750,6 +754,7 @@
  ::google::protobuf::FieldOptions* options_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(8 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -852,6 +857,7 @@
  ::google::protobuf::EnumOptions* options_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -951,6 +957,7 @@
  ::google::protobuf::EnumValueOptions* options_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -1053,6 +1060,7 @@
  ::google::protobuf::ServiceOptions* options_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -1165,6 +1173,7 @@
  ::google::protobuf::MethodOptions* options_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -1381,6 +1390,7 @@
  ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(5 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -1555,6 +1565,7 @@
  ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -1754,6 +1765,7 @@
  ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -1921,6 +1933,7 @@
  ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -2088,6 +2101,7 @@
  ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -2255,6 +2269,7 @@
  ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -2422,6 +2437,7 @@
  ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -2514,6 +2530,7 @@
  bool is_extension_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
@@ -2643,6 +2660,7 @@
  static const ::std::string _default_string_value_;
  friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(
      const ::google::protobuf::FileDescriptor* file);
+  friend void protobuf_DestroyDesc_google_2fprotobuf_2fdescriptor_2eproto_TearDown();
  ::google::protobuf::uint32 _has_bits_[(6 + 31) / 32];

  // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?

'fs_test.exe': Loaded 'C:\private\core-trunk\_debug\fs_test.exe', Symbols loaded.
'fs_test.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', Symbols loaded (source information stripped).
'fs_test.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', Symbols loaded (source information stripped).
'fs_test.exe': Loaded 'C:\private\core-trunk\_debug\base.dll', Symbols loaded.
'fs_test.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_f863c71f\msvcp90d.dll', Symbols loaded (source information stripped).
'fs_test.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_f863c71f\msvcr90d.dll', Symbols loaded (source information stripped).
'fs_test.exe': Loaded 'C:\WINDOWS\system32\psapi.dll', Symbols loaded (source information stripped).
'fs_test.exe': Loaded 'C:\WINDOWS\system32\ws2_32.dll', Symbols loaded (source information stripped).
'fs_test.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', Symbols loaded (source information stripped).
'fs_test.exe': Loaded 'C:\WINDOWS\system32\ws2help.dll', Symbols loaded (source information stripped).
'fs_test.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', Symbols loaded (source information stripped).
'fs_test.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', Symbols loaded (source information stripped).
'fs_test.exe': Loaded 'C:\WINDOWS\system32\secur32.dll', Symbols loaded (source information stripped).
'fs_test.exe': Loaded 'C:\WINDOWS\system32\shlwapi.dll', Symbols loaded (source information stripped).
'fs_test.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', Symbols loaded (source information stripped).
'fs_test.exe': Loaded 'C:\WINDOWS\system32\user32.dll', Symbols loaded (source information stripped).
'fs_test.exe': Loaded 'C:\private\core-trunk\_debug\sqlite.dll', Symbols loaded.
'fs_test.exe': Loaded 'C:\WINDOWS\system32\shimeng.dll'
'fs_test.exe': Loaded 'C:\WINDOWS\system32\HookDll.dll', Binary was not built with debug information.
'fs_test.exe': Unloaded 'C:\WINDOWS\system32\shimeng.dll'
The thread 'Win32 Thread' (0x530) has exited with code 0 (0x0).
Dumping objects ->
{1784} normal block at 0x00038B68, 28 bytes long.
 Data: < R              > D0 52 16 00 FF FF FF FF 00 00 00 00 00 00 00 00
{1777} normal block at 0x00BB7390, 20 bytes long.
 Data: <`E  Ps          > 60 45 BB 00 50 73 BB 00 AC 8C 03 00 04 00 00 00
{1775} normal block at 0x00BB7350, 20 bytes long.
 Data: < s   s          > 90 73 BB 00 10 73 BB 00 AC 8C 03 00 03 00 00 00
{1774} normal block at 0x00BB7310, 20 bytes long.
 Data: <Ps   r          > 50 73 BB 00 D0 72 BB 00 AC 8C 03 00 02 00 00 00
{1773} normal block at 0x00BB72D0, 20 bytes long.
 Data: < s   q          > 10 73 BB 00 90 71 BB 00 AC 8C 03 00 01 00 00 00
{1771} normal block at 0x00BB7290, 20 bytes long.
 Data: < E  Pr  x       > 20 45 BB 00 50 72 BB 00 78 C1 03 00 04 00 00 00
{1770} normal block at 0x00BB7250, 20 bytes long.
 Data: < r   j  x       > 90 72 BB 00 A8 6A BB 00 78 C1 03 00 03 00 00 00
{1769} normal block at 0x00BB7210, 20 bytes long.
 Data: < j   E  x       > A8 6A BB 00 E0 45 BB 00 78 C1 03 00 02 00 00 00
{1768} normal block at 0x00BB71D0, 20 bytes long.
 Data: < j  @\  x       > E8 6A BB 00 40 5C BA 00 78 C1 03 00 01 00 00 00
{1767} normal block at 0x00BB7190, 20 bytes long.
 Data: < r  Pq  p       > D0 72 BB 00 50 71 BB 00 70 8C 03 00 04 00 00 00
{1765} normal block at 0x00BB7150, 20 bytes long.
 Data: < q   q  p       > 90 71 BB 00 10 71 BB 00 70 8C 03 00 03 00 00 00
{1763} normal block at 0x00BB7110, 20 bytes long.
 Data: <Pq  pe  p       > 50 71 BB 00 70 65 BB 00 70 8C 03 00 02 00 00 00
{1762} normal block at 0x00BB70D0, 20 bytes long.
 Data: <pe   E  p       > 70 65 BB 00 20 45 BB 00 70 8C 03 00 01 00 00 00
{1760} normal block at 0x00BB7090, 20 bytes long.
 Data: < [  Po          > 90 5B BB 00 50 6F BB 00 20 9E 03 00 01 00 00 00
{1759} normal block at 0x00BB7050, 20 bytes long.
 Data: < n   E          > D0 6E BB 00 A0 45 BB 00 E4 9D 03 00 01 00 00 00
{1758} normal block at 0x00BB45E0, 20 bytes long.
 Data: < r  0e      2   > 10 72 BB 00 30 65 BB 00 A8 9D 03 00 32 00 00 00
{1757} normal block at 0x00BB45A0, 20 bytes long.
 Data: <Pp  `E          > 50 70 BB 00 60 45 BB 00 A8 9D 03 00 02 00 00 00
{1756} normal block at 0x00BB4560, 20 bytes long.
 Data: < E   s          > A0 45 BB 00 90 73 BB 00 A8 9D 03 00 01 00 00 00
{1755} normal block at 0x00BB4520, 20 bytes long.
 Data: < p   r  4       > D0 70 BB 00 90 72 BB 00 34 8C 03 00 01 00 00 00
{1754} normal block at 0x00BA5C40, 20 bytes long.
 Data: < q  hj          > D0 71 BB 00 68 6A BB 00 F8 8B 03 00 01 00 00 00
{1750} normal block at 0x00BB7010, 20 bytes long.
 Data: < [   o  $`      > D0 5B BB 00 D0 6F BB 00 24 60 BA 00 07 00 00 00
{1749} normal block at 0x00BB6FD0, 20 bytes long.
 Data: < p   o  $`      > 10 70 BB 00 90 6F BB 00 24 60 BA 00 06 00 00 00
{1748} normal block at 0x00BB6F90, 20 bytes long.
 Data: < o   [  $`      > D0 6F BB 00 90 5B BB 00 24 60 BA 00 05 00 00 00
{1747} normal block at 0x00BB6F50, 20 bytes long.
 Data: < p   o  $`      > 90 70 BB 00 10 6F BB 00 24 60 BA 00 04 00 00 00
{1746} normal block at 0x00BB6F10, 20 bytes long.
 Data: <Po   n  $`      > 50 6F BB 00 D0 6E BB 00 24 60 BA 00 03 00 00 00
{1745} normal block at 0x00BB6ED0, 20 bytes long.
 Data: < o  Pp  $`      > 10 6F BB 00 50 70 BB 00 24 60 BA 00 02 00 00 00
{1743} normal block at 0x00BB6E90, 20 bytes long.
 Data: < ]   _  X;      > 18 5D BB 00 98 5F BB 00 58 3B BB 00 02 00 00 00
{1742} normal block at 0x00BB6E50, 20 bytes long.
 Data: < ]  X_  X;      > 88 5D BB 00 58 5F BB 00 58 3B BB 00 01 00 00 00
{1741} normal block at 0x00BB6E10, 20 bytes long.
 Data: < f   i   _      > 18 66 03 00 A8 69 BB 00 E8 5F BA 00 E7 03 00 00
{1739} normal block at 0x00BB6DD0, 20 bytes long.
 Data: <(i   f   _      > 28 69 BB 00 98 66 03 00 AC 5F BA 00 E7 03 00 00
{1737} normal block at 0x00BB6D90, 20 bytes long.
 Data: < b  `b  p_      > A0 62 BB 00 60 62 BB 00 70 5F BA 00 E7 03 00 00
{1735} normal block at 0x00BB6D50, 20 bytes long.
 Data: <pc  0d  4_      > 70 63 BB 00 30 64 BB 00 34 5F BA 00 E7 03 00 00
{1733} normal block at 0x00BB65B0, 20 bytes long.
 Data: < `   a   ^      > 18 60 BB 00 A0 61 BB 00 F8 5E BA 00 E7 03 00 00
{1731} normal block at 0x00BB6570, 20 bytes long.
 Data: < q   p   ^      > 10 71 BB 00 D0 70 BB 00 F8 5E BA 00 09 00 00 00
{1730} normal block at 0x00BB6530, 20 bytes long.
 Data: < E   j   ^      > E0 45 BB 00 E8 6A BB 00 F8 5E BA 00 01 00 00 00
{1728} normal block at 0x00BB64F0, 20 bytes long.
 Data: <@^   ^   ^      > 40 5E BB 00 C0 5E BB 00 BC 5E BA 00 E7 03 00 00
{1726} normal block at 0x00BB64B0, 20 bytes long.
 Data: <hj  (j   ^      > 68 6A BB 00 28 6A BB 00 BC 5E BA 00 01 00 00 00
{1725} normal block at 0x00BB6470, 20 bytes long.
 Data: < \   \   ^      > 90 5C BB 00 10 5C BB 00 80 5E BA 00 E7 03 00 00
{1723} normal block at 0x00BB6B28, 504 bytes long.
 Data: <        4       > F8 8B 03 00 01 00 00 00 34 8C 03 00 01 00 00 00
{1722} normal block at 0x00BB6AE8, 20 bytes long.
 Data: <0e   q   ^      > 30 65 BB 00 D0 71 BB 00 80 5E BA 00 09 00 00 00
{1719} normal block at 0x00BB6AA8, 20 bytes long.
 Data: <Pr   r   ^      > 50 72 BB 00 10 72 BB 00 80 5E BA 00 0A 00 00 00
{1718} normal block at 0x00BB6A68, 20 bytes long.
 Data: <@\   d   ^      > 40 5C BA 00 B0 64 BB 00 80 5E BA 00 08 00 00 00
{1717} normal block at 0x00BB6A28, 20 bytes long.
 Data: < d   i   ^      > B0 64 BB 00 E8 69 BB 00 80 5E BA 00 01 00 00 00
{1716} normal block at 0x00BB69E8, 20 bytes long.
 Data: <(j   f  D^      > 28 6A BB 00 18 66 03 00 44 5E BA 00 04 00 00 00
{1714} normal block at 0x00BB69A8, 20 bytes long.
 Data: < n  hi  D^      > 10 6E BB 00 68 69 BB 00 44 5E BA 00 03 00 00 00
{1713} normal block at 0x00BB6968, 20 bytes long.
 Data: < i  (i  D^      > A8 69 BB 00 28 69 BB 00 44 5E BA 00 02 00 00 00
{1712} normal block at 0x00BB6928, 20 bytes long.
 Data: <hi   m  D^      > 68 69 BB 00 D0 6D BB 00 44 5E BA 00 01 00 00 00
{1711} normal block at 0x00036698, 20 bytes long.
 Data: < m  Xf   ^      > D0 6D BB 00 58 66 03 00 08 5E BA 00 03 00 00 00
{1709} normal block at 0x00036658, 20 bytes long.
 Data: < f   b   ^      > 98 66 03 00 A0 62 BB 00 08 5E BA 00 02 00 00 00
{1707} normal block at 0x00BB65F0, 780 bytes long.
 Data: < a       i   a  > 80 61 03 00 00 00 00 00 E8 69 BB 00 80 61 03 00
{1706} normal block at 0x00BB62A0, 20 bytes long.
 Data: <Xf   m   ^      > 58 66 03 00 90 6D BB 00 08 5E BA 00 01 00 00 00
{1705} normal block at 0x00BB6260, 20 bytes long.
 Data: < m   b   ]      > 90 6D BB 00 20 62 BB 00 CC 5D BA 00 03 00 00 00
{1703} normal block at 0x00BB6220, 20 bytes long.
 Data: <`b   a   ]      > 60 62 BB 00 E0 61 BB 00 CC 5D BA 00 02 00 00 00
{1702} normal block at 0x00BB61E0, 20 bytes long.
 Data: < b  pc   ]      > 20 62 BB 00 70 63 BB 00 CC 5D BA 00 01 00 00 00
{1700} normal block at 0x00BB6430, 20 bytes long.
 Data: <Pm  0c   ]      > 50 6D BB 00 30 63 BB 00 90 5D BA 00 03 00 00 00
{1698} normal block at 0x00BB63F0, 20 bytes long.
 Data: < ]   `   ]      > C8 5D BB 00 98 60 BB 00 90 5D BA 00 02 00 00 00
{1696} normal block at 0x00BB63B0, 20 bytes long.
 Data: < ^  X`   ]      > 80 5E BB 00 58 60 BB 00 90 5D BA 00 01 00 00 00
{1695} normal block at 0x00BB6370, 20 bytes long.
 Data: < a  Pm  T]      > E0 61 BB 00 50 6D BB 00 54 5D BA 00 08 00 00 00
{1693} normal block at 0x00BB6330, 20 bytes long.
 Data: <0d   ]  T]      > 30 64 BB 00 C8 5D BB 00 54 5D BA 00 07 00 00 00
{1692} normal block at 0x00BB62F0, 20 bytes long.
 Data: < a   _  T]      > 20 61 BB 00 D8 5F BB 00 54 5D BA 00 02 00 00 00
{1691} normal block at 0x00BB6098, 20 bytes long.
 Data: < c   ^  T]      > F0 63 BB 00 80 5E BB 00 54 5D BA 00 06 00 00 00
{1690} normal block at 0x00BB6058, 20 bytes long.
 Data: < c   `  T]      > B0 63 BB 00 18 60 BB 00 54 5D BA 00 05 00 00 00
{1688} normal block at 0x00BB6018, 20 bytes long.
 Data: <X`   e  T]      > 58 60 BB 00 B0 65 BB 00 54 5D BA 00 04 00 00 00
{1685} normal block at 0x00BB61A0, 20 bytes long.
 Data: < e   a  T]      > B0 65 BB 00 20 61 BB 00 54 5D BA 00 03 00 00 00
{1684} normal block at 0x00BB6160, 20 bytes long.
 Data: < _   `  T]      > D8 5F BB 00 E0 60 BB 00 54 5D BA 00 01 00 00 00
{1683} normal block at 0x00BB6120, 20 bytes long.
 Data: < a   b   ]      > A0 61 BB 00 F0 62 BB 00 18 5D BA 00 07 00 00 00
{1681} normal block at 0x00BB60E0, 20 bytes long.
 Data: <`a   _   ]      > 60 61 BB 00 00 5F BB 00 18 5D BA 00 05 00 00 00
{1679} normal block at 0x00BB5F00, 20 bytes long.
 Data: < `  @^   ]      > E0 60 BB 00 40 5E BB 00 18 5D BA 00 04 00 00 00
{1677} normal block at 0x00BB5EC0, 20 bytes long.
 Data: < d   ]   ]      > F0 64 BB 00 18 5D BB 00 18 5D BA 00 03 00 00 00
{1674} normal block at 0x00BB5FD8, 20 bytes long.
 Data: < b  `a   ]      > F0 62 BB 00 60 61 BB 00 18 5D BA 00 06 00 00 00
{1672} normal block at 0x00BB5F98, 20 bytes long.
 Data: < n   ]   ]      > 90 6E BB 00 88 5D BB 00 18 5D BA 00 02 00 00 00
{1670} normal block at 0x00BB5F58, 20 bytes long.
 Data: <Pn   \   ]      > 50 6E BB 00 D8 5C BB 00 18 5D BA 00 01 00 00 00
{1669} normal block at 0x00BB5DC8, 20 bytes long.
 Data: <0c   c          > 30 63 BB 00 F0 63 BB 00 90 83 BA 00 02 00 00 00
{1667} normal block at 0x00BB5E80, 20 bytes long.
 Data: < `   c          > 98 60 BB 00 B0 63 BB 00 90 83 BA 00 01 00 00 00
{1666} normal block at 0x00BB5E40, 20 bytes long.
 Data: < _   d   \      > 00 5F BB 00 F0 64 BB 00 DC 5C BA 00 08 00 00 00
{1664} normal block at 0x00BB5D18, 20 bytes long.
 Data: < ^   n   \      > C0 5E BB 00 90 6E BB 00 DC 5C BA 00 07 00 00 00
{1661} normal block at 0x00BB5D88, 20 bytes long.
 Data: < _  Pn   \      > 98 5F BB 00 50 6E BB 00 DC 5C BA 00 06 00 00 00
{1659} normal block at 0x00BB5CD8, 20 bytes long.
 Data: <X_   \   \      > 58 5F BB 00 90 5C BB 00 DC 5C BA 00 05 00 00 00
{1656} normal block at 0x00BB5C90, 20 bytes long.
 Data: < \  pd   \      > D8 5C BB 00 70 64 BB 00 DC 5C BA 00 04 00 00 00
{1653} normal block at 0x00BB5C10, 20 bytes long.
 Data: <pd  P\   \      > 70 64 BB 00 50 5C BB 00 DC 5C BA 00 03 00 00 00
{1651} normal block at 0x00BB5C50, 20 bytes long.
 Data: < \   [   \      > 10 5C BB 00 D0 5B BB 00 DC 5C BA 00 02 00 00 00
{1649} normal block at 0x00BB5BD0, 20 bytes long.
 Data: <P\   p   \      > 50 5C BB 00 10 70 BB 00 DC 5C BA 00 01 00 00 00
{1647} normal block at 0x00BB5B90, 20 bytes long.
 Data: < o   p   \      > 90 6F BB 00 90 70 BB 00 A0 5C BA 00 01 00 00 00
{1645} normal block at 0x00BB5B50, 16 bytes long.
 Data: <@    W  $`   Y  > 40 D8 03 00 E0 57 BB 00 24 60 BA 00 A0 59 BB 00
{1644} normal block at 0x00BB5B10, 16 bytes long.
 Data: <     I  X;  xZ  > E8 D9 03 00 E0 49 BB 00 58 3B BB 00 78 5A BB 00
{1643} normal block at 0x00BB5AC0, 36 bytes long.
 Data: <\ a X;  xZ    b > 5C 09 61 00 58 3B BB 00 78 5A BB 00 14 A3 62 00
{1642} normal block at 0x00BB5A78, 24 bytes long.
 Data: <  b         \ g > A4 A8 62 00 00 00 00 00 00 00 00 00 5C 96 67 00
{1641} normal block at 0x00BB5A28, 36 bytes long.
 Data: <\ a $`   Y    b > 5C 09 61 00 24 60 BA 00 A0 59 BB 00 1C A3 62 00
{1640} normal block at 0x00BB59A0, 88 bytes long.
 Data: <  b         D b > E4 A8 62 00 00 00 00 00 00 00 00 00 44 AA 62 00
{1639} normal block at 0x00BB5960, 16 bytes long.
 Data: < I  `V   _   X  > E0 49 BB 00 60 56 BB 00 E8 5F BA 00 20 58 BB 00
{1638} normal block at 0x00BB5910, 36 bytes long.
 Data: <\ a  _   X  4 b > 5C 09 61 00 E8 5F BA 00 20 58 BB 00 34 A3 62 00
{1637} normal block at 0x00BB58B0, 48 bytes long.
 Data: < X   X   X      > B0 58 BB 00 B0 58 BB 00 B0 58 BB 00 CD CD CD CD
{1636} normal block at 0x00BB5820, 96 bytes long.
 Data: <d b             > 64 A8 62 00 00 00 00 00 CD CD CD CD CD CD CD CD
{1635} normal block at 0x00BB57E0, 16 bytes long.
 Data: <P[   T   _   V  > 50 5B BB 00 E0 54 BB 00 AC 5F BA 00 A0 56 BB 00
{1634} normal block at 0x00BB5790, 36 bytes long.
 Data: <\ a  _   V  8 b > 5C 09 61 00 AC 5F BA 00 A0 56 BB 00 38 A3 62 00
{1633} normal block at 0x00BB5730, 48 bytes long.
 Data: <0W  0W  0W      > 30 57 BB 00 30 57 BB 00 30 57 BB 00 CD CD CD CD
{1632} normal block at 0x00BB56A0, 96 bytes long.
 Data: <$ b             > 24 A8 62 00 00 00 00 00 CD CD CD CD CD CD CD CD
{1631} normal block at 0x00BB5660, 16 bytes long.
 Data: <`Y  `S  p_   U  > 60 59 BB 00 60 53 BB 00 70 5F BA 00 20 55 BB 00
{1630} normal block at 0x00BB5610, 36 bytes long.
 Data: <\ a p_   U  < b > 5C 09 61 00 70 5F BA 00 20 55 BB 00 3C A3 62 00
{1629} normal block at 0x00BB55B0, 48 bytes long.
 Data: < U   U   U      > B0 55 BB 00 B0 55 BB 00 B0 55 BB 00 CD CD CD CD
{1628} normal block at 0x00BB5520, 96 bytes long.
 Data: <  b             > E4 A7 62 00 00 00 00 00 CD CD CD CD CD CD CD CD
{1627} normal block at 0x00BB54E0, 16 bytes long.
 Data: < W   Q  4_   S  > E0 57 BB 00 D8 51 BB 00 34 5F BA 00 A0 53 BB 00
{1626} normal block at 0x00BB5490, 36 bytes long.
 Data: <\ a 4_   S  @ b > 5C 09 61 00 34 5F BA 00 A0 53 BB 00 40 A3 62 00
{1625} normal block at 0x00BB5430, 48 bytes long.
 Data: <0T  0T  0T      > 30 54 BB 00 30 54 BB 00 30 54 BB 00 CD CD CD CD
{1624} normal block at 0x00BB53A0, 96 bytes long.
 Data: <  b             > A4 A7 62 00 00 00 00 00 CD CD CD CD CD CD CD CD
{1623} normal block at 0x00BB5360, 16 bytes long.
 Data: <`V  XP   ^   R  > 60 56 BB 00 58 50 BB 00 F8 5E BA 00 18 52 BB 00
{1622} normal block at 0x00BB5310, 36 bytes long.
 Data: <\ a  ^   R  D b > 5C 09 61 00 F8 5E BA 00 18 52 BB 00 44 A3 62 00
{1621} normal block at 0x00BB52B0, 48 bytes long.
 Data: < R   R   R      > B0 52 BB 00 B0 52 BB 00 B0 52 BB 00 CD CD CD CD
{1620} normal block at 0x00BB5218, 104 bytes long.
 Data: <  b             > 1C A7 62 00 00 00 00 00 CD CD CD CD CD CD CD CD
{1619} normal block at 0x00BB51D8, 16 bytes long.
 Data: < T   N   ^   P  > E0 54 BB 00 C8 4E BB 00 BC 5E BA 00 98 50 BB 00
{1618} normal block at 0x00BB5188, 36 bytes long.
 Data: <\ a  ^   P  P b > 5C 09 61 00 BC 5E BA 00 98 50 BB 00 50 A3 62 00
{1617} normal block at 0x00BB5128, 48 bytes long.
 Data: <(Q  (Q  (Q      > 28 51 BB 00 28 51 BB 00 28 51 BB 00 CD CD CD CD
{1616} normal block at 0x00BB5098, 100 bytes long.
 Data: <  b             > DC A6 62 00 00 00 00 00 CD CD CD CD CD CD CD CD
{1615} normal block at 0x00BB5058, 16 bytes long.
 Data: <`S   M   ^   O  > 60 53 BB 00 E8 4D BB 00 80 5E BA 00 08 4F BB 00
{1614} normal block at 0x00BB5008, 36 bytes long.
 Data: <\ a  ^   O  X b > 5C 09 61 00 80 5E BA 00 08 4F BB 00 58 A3 62 00
{1613} normal block at 0x00BB4FA8, 48 bytes long.
 Data: < O   O   O      > A8 4F BB 00 A8 4F BB 00 A8 4F BB 00 CD CD CD CD
{1612} normal block at 0x00BB4F08, 112 bytes long.
 Data: <L b             > 4C A6 62 00 00 00 00 00 CD CD CD CD CD CD CD CD
{1611} normal block at 0x00BB4EC8, 16 bytes long.
 Data: < Q   L  D^  (N  > D8 51 BB 00 E8 4C BB 00 44 5E BA 00 28 4E BB 00
{1610} normal block at 0x00BB4E78, 36 bytes long.
 Data: <\ a D^  (N  l b > 5C 09 61 00 44 5E BA 00 28 4E BB 00 6C A3 62 00
{1609} normal block at 0x00BB4E28, 32 bytes long.
 Data: <  b           g > 0C A6 62 00 00 00 00 00 00 00 00 00 9C 94 67 00
{1608} normal block at 0x00BB4DE8, 16 bytes long.
 Data: <XP   L   ^  (M  > 58 50 BB 00 10 4C BB 00 08 5E BA 00 28 4D BB 00
{1607} normal block at 0x00BB4D98, 36 bytes long.
 Data: <\ a  ^  (M  | b > 5C 09 61 00 08 5E BA 00 28 4D BB 00 7C A3 62 00
{1606} normal block at 0x00BB4D28, 64 bytes long.
 Data: <  b         < g > CC A5 62 00 00 00 00 00 00 00 00 00 3C 96 67 00
{1605} normal block at 0x00BB4CE8, 16 bytes long.
 Data: < N   K   ]  PL  > C8 4E BB 00 10 4B BB 00 CC 5D BA 00 50 4C BB 00
{1604} normal block at 0x00BB4C98, 36 bytes long.
 Data: <\ a  ]  PL    b > 5C 09 61 00 CC 5D BA 00 50 4C BB 00 88 A3 62 00
{1603} normal block at 0x00BB4C50, 28 bytes long.
 Data: <  b           g > 8C A5 62 00 00 00 00 00 00 00 00 00 1C 96 67 00
{1602} normal block at 0x00BB4C10, 16 bytes long.
 Data: < M   J   ]  PK  > E8 4D BB 00 20 4A BB 00 90 5D BA 00 50 4B BB 00
{1601} normal block at 0x00BB4BC0, 36 bytes long.
 Data: <\ a  ]  PK    b > 5C 09 61 00 90 5D BA 00 50 4B BB 00 94 A3 62 00
{1600} normal block at 0x00BB4B50, 64 bytes long.
 Data: <L b         | g > 4C A5 62 00 00 00 00 00 00 00 00 00 7C 96 67 00
{1599} normal block at 0x00BB4B10, 16 bytes long.
 Data: < L   G  T]  `J  > E8 4C BB 00 A8 47 BB 00 54 5D BA 00 60 4A BB 00
{1598} normal block at 0x00BB4AC0, 36 bytes long.
 Data: <\ a T]  `J    b > 5C 09 61 00 54 5D BA 00 60 4A BB 00 A0 A3 62 00
{1597} normal block at 0x00BB4A60, 48 bytes long.
 Data: <  b           g > 0C A5 62 00 00 00 00 00 00 00 00 00 FC 95 67 00
{1596} normal block at 0x00BB4A20, 16 bytes long.
 Data: < L   D   ]   G  > 10 4C BB 00 D8 44 BB 00 18 5D BA 00 E8 47 BB 00
{1595} normal block at 0x00BB49E0, 16 bytes long.
 Data: < [  `Y      HI  > 10 5B BB 00 60 59 BB 00 90 83 BA 00 48 49 BB 00
{1594} normal block at 0x00BB4990, 36 bytes long.
 Data: <\ a     HI    b > 5C 09 61 00 90 83 BA 00 48 49 BB 00 C0 A3 62 00
{1593} normal block at 0x00BB4948, 24 bytes long.
 Data: <  b             > 8C A4 62 00 00 00 00 00 00 00 00 00 00 00 00 00
{1592} normal block at 0x00BB48F8, 36 bytes long.
 Data: <\ a  ]   G    b > 5C 09 61 00 18 5D BA 00 E8 47 BB 00 C8 A3 62 00
{1591} normal block at 0x00BB47E8, 224 bytes long.
 Data: <  b           g > CC A4 62 00 00 00 00 00 00 00 00 00 BC 95 67 00
{1590} normal block at 0x00BB47A8, 16 bytes long.
 Data: < K  0    \  HF  > 10 4B BB 00 30 DC 03 00 DC 5C BA 00 48 46 BB 00
{1589} normal block at 0x00BB4758, 36 bytes long.
 Data: <\ a  \  HF    b > 5C 09 61 00 DC 5C BA 00 48 46 BB 00 E4 A3 62 00
{1588} normal block at 0x00BB4648, 228 bytes long.
 Data: <L b           g > 4C A4 62 00 00 00 00 00 00 00 00 00 9C 95 67 00
{1587} normal block at 0x00BB44D8, 16 bytes long.
 Data: < J       \  pD  > 20 4A BB 00 C0 DE 03 00 A0 5C BA 00 70 44 BB 00
{1586} normal block at 0x00BB4230, 36 bytes long.
 Data: <\ a  \  pD    b > 5C 09 61 00 A0 5C BA 00 70 44 BB 00 04 A4 62 00
{1585} normal block at 0x00BB4470, 56 bytes long.
 Data: <  b         $ b > 0C A4 62 00 00 00 00 00 00 00 00 00 24 A9 62 00
{1579} normal block at 0x00BB4420, 32 bytes long.
 Data: <DescriptorProtos> 44 65 73 63 72 69 70 74 6F 72 50 72 6F 74 6F 73
{1578} normal block at 0x00BB43D0, 32 bytes long.
 Data: <         D      > 00 00 00 00 CD CD CD CD 20 44 BB 00 CD CD CD CD
{1577} normal block at 0x00BB4380, 32 bytes long.
 Data: <com.google.proto> 63 6F 6D 2E 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F
{1576} normal block at 0x00BB41E0, 32 bytes long.
 Data: <         C      > 00 00 00 00 CD CD CD CD 80 43 BB 00 CD CD CD CD
{1575} normal block at 0x0003A888, 4 bytes long.
 Data: < B  > 80 42 BB 00
{1574} normal block at 0x00BB4320, 48 bytes long.
 Data: < C   C   C      > 20 43 BB 00 20 43 BB 00 20 43 BB 00 CD CD CD CD
{1573} normal block at 0x00BB4280, 112 bytes long.
 Data: <L b             > 4C A6 62 00 00 00 00 00 CD CD CD CD CD CD CD CD
{1570} normal block at 0x00BB4198, 24 bytes long.
 Data: < {       Y  p.  > A0 7B BA 00 98 F4 BA 00 C8 59 BA 00 70 2E BB 00
{1569} normal block at 0x00BB4158, 20 bytes long.
 Data: <    @    .      > 90 D5 03 00 40 E1 BA 00 10 2E BB 00 01 00 00 00
{1568} normal block at 0x00BB4110, 24 bytes long.
 Data: <`       $`  x<  > 60 BB BA 00 88 18 BB 00 24 60 BA 00 78 3C BB 00
{1567} normal block at 0x00BB40D0, 20 bytes long.
 Data: <    P    <      > A0 99 03 00 50 C3 BA 00 10 3C BB 00 01 00 00 00
{1566} normal block at 0x00BB4088, 24 bytes long.
 Data: <h       X;  x?  > 68 B8 03 00 88 04 BB 00 58 3B BB 00 78 3F BB 00
{1565} normal block at 0x00BB4048, 20 bytes long.
 Data: < 9   c   ?      > 20 39 BB 00 D8 63 BA 00 D0 3F BB 00 02 00 00 00
{1564} normal block at 0x00BB3F70, 32 bytes long.
 Data: <        is_exten> 00 00 00 00 CD CD CD CD 69 73 5F 65 78 74 65 6E
{1563} normal block at 0x00BB3FD0, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1561} normal block at 0x00BB3F20, 32 bytes long.
 Data: <         ?      > 00 00 00 00 CD CD CD CD D0 3F BB 00 CD CD CD CD
{1560} normal block at 0x00BB3ED8, 24 bytes long.
 Data: <    @q  X;   =  > D8 94 03 00 40 71 BA 00 58 3B BB 00 C8 3D BB 00
{1559} normal block at 0x00BB3E98, 20 bytes long.
 Data: <p        >      > 70 D7 BA 00 10 E7 BA 00 20 3E BB 00 02 00 00 00
{1558} normal block at 0x00BB3DC0, 32 bytes long.
 Data: <        name_par> 00 00 00 00 CD CD CD CD 6E 61 6D 65 5F 70 61 72
{1557} normal block at 0x00BB3E20, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1555} normal block at 0x00BB3D70, 32 bytes long.
 Data: <         >      > 00 00 00 00 CD CD CD CD 20 3E BB 00 CD CD CD CD
{1554} normal block at 0x00BB3CC0, 128 bytes long.
 Data: < =  p=   Y      > C0 3D BB 00 70 3D BB 00 C8 59 BA 00 01 00 00 00
{1553} normal block at 0x00BB3C70, 32 bytes long.
 Data: <        NamePart> 00 00 00 00 CD CD CD CD 4E 61 6D 65 50 61 72 74
{1552} normal block at 0x00BB3C10, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1551} normal block at 0x00BB3BC0, 32 bytes long.
 Data: <         <      > 00 00 00 00 CD CD CD CD 10 3C BB 00 CD CD CD CD
{1550} normal block at 0x00BB3B58, 60 bytes long.
 Data: <p<   ;   Y  $`  > 70 3C BB 00 C0 3B BB 00 C8 59 BA 00 24 60 BA 00
{1549} normal block at 0x00BB3B10, 24 bytes long.
 Data: <     1  $`   :  > D0 18 BB 00 B0 31 BB 00 24 60 BA 00 00 3A BB 00
{1548} normal block at 0x00BB3AD0, 20 bytes long.
 Data: <    h   X:      > F0 A4 03 00 68 A4 03 00 58 3A BB 00 02 00 00 00
{1547} normal block at 0x00BB39F8, 32 bytes long.
 Data: <        string_v> 00 00 00 00 CD CD CD CD 73 74 72 69 6E 67 5F 76
{1546} normal block at 0x00BB3A58, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1544} normal block at 0x00BB39A8, 32 bytes long.
 Data: <        X:      > 00 00 00 00 CD CD CD CD 58 3A BB 00 CD CD CD CD
{1543} normal block at 0x00BB3960, 24 bytes long.
 Data: <        $`  P8  > 20 B4 BA 00 A0 AC BA 00 24 60 BA 00 50 38 BB 00
{1542} normal block at 0x00BB3920, 20 bytes long.
 Data: <p[  H@   8      > 70 5B BA 00 48 40 BB 00 A8 38 BB 00 02 00 00 00
{1541} normal block at 0x00BB3848, 32 bytes long.
 Data: <        double_v> 00 00 00 00 CD CD CD CD 64 6F 75 62 6C 65 5F 76
{1540} normal block at 0x00BB38A8, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1538} normal block at 0x00BB37F8, 32 bytes long.
 Data: <         8      > 00 00 00 00 CD CD CD CD A8 38 BB 00 CD CD CD CD
{1537} normal block at 0x00BB37B0, 24 bytes long.
 Data: <(       $`   7  > 28 C2 BA 00 00 B4 03 00 24 60 BA 00 20 37 BB 00
{1536} normal block at 0x00BB3770, 20 bytes long.
 Data: <(   X    6      > 28 8F 03 00 58 06 BB 00 A8 36 BB 00 02 00 00 00
{1535} normal block at 0x00BB3720, 32 bytes long.
 Data: <negative_int_val> 6E 65 67 61 74 69 76 65 5F 69 6E 74 5F 76 61 6C
{1534} normal block at 0x00BB3648, 32 bytes long.
 Data: <         7      > 00 00 00 00 CD CD CD CD 20 37 BB 00 CD CD CD CD
{1533} normal block at 0x00BB36A8, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1531} normal block at 0x00BB35F8, 32 bytes long.
 Data: <         6      > 00 00 00 00 CD CD CD CD A8 36 BB 00 CD CD CD CD
{1530} normal block at 0x00BB35B0, 24 bytes long.
 Data: <        $`   5  > A0 AA BA 00 E0 1A BB 00 24 60 BA 00 20 35 BB 00
{1529} normal block at 0x00BB3570, 20 bytes long.
 Data: <    (    4      > 88 D0 03 00 28 90 BA 00 A8 34 BB 00 02 00 00 00
{1528} normal block at 0x00BB3520, 32 bytes long.
 Data: <positive_int_val> 70 6F 73 69 74 69 76 65 5F 69 6E 74 5F 76 61 6C
{1527} normal block at 0x00BB3448, 32 bytes long.
 Data: <         5      > 00 00 00 00 CD CD CD CD 20 35 BB 00 CD CD CD CD
{1526} normal block at 0x00BB34A8, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1524} normal block at 0x00BB33F8, 32 bytes long.
 Data: <         4      > 00 00 00 00 CD CD CD CD A8 34 BB 00 CD CD CD CD
{1523} normal block at 0x00BB33B0, 24 bytes long.
 Data: <@q  H   $`   3  > 40 71 BA 00 48 89 BA 00 24 60 BA 00 20 33 BB 00
{1522} normal block at 0x00BB3370, 20 bytes long.
 Data: <         2      > A0 D6 03 00 A8 9D BA 00 A8 32 BB 00 02 00 00 00
{1521} normal block at 0x00BB3320, 32 bytes long.
 Data: <identifier_value> 69 64 65 6E 74 69 66 69 65 72 5F 76 61 6C 75 65
{1520} normal block at 0x00BB3248, 32 bytes long.
 Data: <         3      > 00 00 00 00 CD CD CD CD 20 33 BB 00 CD CD CD CD
{1519} normal block at 0x00BB32A8, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1517} normal block at 0x00BB31F8, 32 bytes long.
 Data: <         2      > 00 00 00 00 CD CD CD CD A8 32 BB 00 CD CD CD CD
{1516} normal block at 0x00BB31B0, 24 bytes long.
 Data: < ;   (  $`  (1  > 10 3B BB 00 D0 28 BB 00 24 60 BA 00 28 31 BB 00
{1515} normal block at 0x00BB3170, 20 bytes long.
 Data: <    (    0      > A8 9D BA 00 28 D7 03 00 C0 30 BB 00 02 00 00 00
{1514} normal block at 0x00BB3120, 32 bytes long.
 Data: <        name    > 00 00 00 00 CD CD CD CD 6E 61 6D 65 00 CD CD CD
{1513} normal block at 0x00BB30C0, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1512} normal block at 0x00BB3070, 32 bytes long.
 Data: <         0      > 00 00 00 00 CD CD CD CD C0 30 BB 00 CD CD CD CD
{1511} normal block at 0x00BB2EC0, 384 bytes long.
 Data: < 1  p0   Y      > 20 31 BB 00 70 30 BB 00 C8 59 BA 00 02 00 00 00
{1510} normal block at 0x00BB2E70, 32 bytes long.
 Data: <UninterpretedOpt> 55 6E 69 6E 74 65 72 70 72 65 74 65 64 4F 70 74
{1509} normal block at 0x00BB2DC0, 32 bytes long.
 Data: <        p.      > 00 00 00 00 CD CD CD CD 70 2E BB 00 CD CD CD CD
{1508} normal block at 0x00BB2E10, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1506} normal block at 0x00BB2D70, 32 bytes long.
 Data: <         .  le.p> 00 00 00 00 CD CD CD CD 10 2E BB 00 6C 65 2E 70
{1505} normal block at 0x00BB2D28, 24 bytes long.
 Data: <    `    Y  H*  > D8 B3 BA 00 60 9D 03 00 C8 59 BA 00 48 2A BB 00
{1504} normal block at 0x00BB2CE8, 20 bytes long.
 Data: <         )      > 18 91 03 00 B8 C5 BA 00 F0 29 BB 00 01 00 00 00
{1503} normal block at 0x00038DA0, 8 bytes long.
 Data: <        > E8 03 00 00 00 00 00 20
{1502} normal block at 0x00BB2CA0, 24 bytes long.
 Data: <         _   ,  > 80 9E BA 00 E8 A2 03 00 E8 5F BA 00 10 2C BB 00
{1501} normal block at 0x00BB2C60, 20 bytes long.
 Data: <    @    +      > 98 E8 BA 00 40 F8 BA 00 A0 2B BB 00 02 00 00 00
{1500} normal block at 0x00BB2C10, 32 bytes long.
 Data: <uninterpreted_op> 75 6E 69 6E 74 65 72 70 72 65 74 65 64 5F 6F 70
{1499} normal block at 0x00BB2B50, 32 bytes long.
 Data: <         ,      > 00 00 00 00 CD CD CD CD 10 2C BB 00 CD CD CD CD
{1498} normal block at 0x00BB2BA0, 64 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1496} normal block at 0x00BB2B00, 32 bytes long.
 Data: <         +      > 00 00 00 00 CD CD CD CD A0 2B BB 00 CD CD CD CD
{1495} normal block at 0x00BB2A90, 64 bytes long.
 Data: <P+   +   Y      > 50 2B BB 00 00 2B BB 00 C8 59 BA 00 E7 03 00 00
{1494} normal block at 0x00BB2A40, 32 bytes long.
 Data: <        MethodOp> 00 00 00 00 CD CD CD CD 4D 65 74 68 6F 64 4F 70
{1493} normal block at 0x00BB29F0, 32 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1492} normal block at 0x00BB29A0, 32 bytes long.
 Data: <         )  le.p> 00 00 00 00 CD CD CD CD F0 29 BB 00 6C 65 2E 70
{1491} normal block at 0x00BB2958, 24 bytes long.
 Data: <     d   Y  x&  > C8 D0 BA 00 10 64 03 00 C8 59 BA 00 78 26 BB 00
{1490} normal block at 0x00BB2918, 20 bytes long.
 Data: <                > 90 B8 BA 00 C8 AD BA 00 A0 E2 BA 00 01 00 00 00
{1489} normal block at 0x00BAE2F0, 8 bytes long.
 Data: <        > E8 03 00 00 00 00 00 20
{1488} normal block at 0x00BB28D0, 24 bytes long.
 Data: < 1       _  @(  > B0 31 BB 00 D0 C6 03 00 AC 5F BA 00 40 28 BB 00
{1487} normal block at 0x00BB2890, 20 bytes long.
 Data: <8   P    '      > 38 CD BA 00 50 11 BB 00 D0 27 BB 00 02 00 00 00
{1486} normal block at 0x00BB2840, 32 bytes long.
 Data: <uninterpreted_op> 75 6E 69 6E 74 65 72 70 72 65 74 65 64 5F 6F 70
{1485} normal block at 0x00BB2780, 32 bytes long.
 Data: <        @(      > 00 00 00 00 CD CD CD CD 40 28 BB 00 CD CD CD CD
{1484} normal block at 0x00BB27D0, 64 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1482} normal block at 0x00BB2730, 32 bytes long.
 Data: <         '      > 00 00 00 00 CD CD CD CD D0 27 BB 00 CD CD CD CD
{1481} normal block at 0x00BB26C0, 64 bytes long.
 Data: < '  0'   Y      > 80 27 BB 00 30 27 BB 00 C8 59 BA 00 E7 03 00 00
{1480} normal block at 0x00BB2670, 32 bytes long.
 Data: <        ServiceO> 00 00 00 00 CD CD CD CD 53 65 72 76 69 63 65 4F
{1479} normal block at 0x00BAE2A0, 32 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1478} normal block at 0x00BAE250, 32 bytes long.
 Data: <            le.p> 00 00 00 00 CD CD CD CD A0 E2 BA 00 6C 65 2E 70
{1477} normal block at 0x00BAE208, 24 bytes long.
 Data: <h        Y   !  > 68 FA BA 00 18 B0 03 00 C8 59 BA 00 98 21 BB 00
{1476} normal block at 0x00BAE1C8, 20 bytes long.
 Data: <        8!      > 80 CD 03 00 80 DD BA 00 38 21 BB 00 01 00 00 00
{1475} normal block at 0x00039098, 8 bytes long.
 Data: <        > E8 03 00 00 00 00 00 20
{1474} normal block at 0x00BAE180, 24 bytes long.
 Data: <    h   p_   #  > F0 B8 03 00 68 B6 BA 00 70 5F BA 00 80 23 BB 00
{1473} normal block at 0x00BB2410, 564 bytes long.
 Data: < Z   [   b  0a  > E8 5A BA 00 B8 5B BA 00 A0 62 BA 00 30 61 BA 00
{1472} normal block at 0x00BB23D0, 20 bytes long.
 Data: <     c   #      > B8 E0 BA 00 88 63 03 00 08 23 BB 00 02 00 00 00
{1471} normal block at 0x00BB2380, 32 bytes long.
 Data: <uninterpreted_op> 75 6E 69 6E 74 65 72 70 72 65 74 65 64 5F 6F 70
{1470} normal block at 0x00BB22A8, 32 bytes long.
 Data: <         #      > 00 00 00 00 CD CD CD CD 80 23 BB 00 CD CD CD CD
{1469} normal block at 0x00BB2308, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1467} normal block at 0x00BB2258, 32 bytes long.
 Data: <         #      > 00 00 00 00 CD CD CD CD 08 23 BB 00 CD CD CD CD
{1466} normal block at 0x00BB21E8, 64 bytes long.
 Data: < "  X"   Y      > A8 22 BB 00 58 22 BB 00 C8 59 BA 00 E7 03 00 00
{1465} normal block at 0x00BB2198, 32 bytes long.
 Data: <EnumValueOptions> 45 6E 75 6D 56 61 6C 75 65 4F 70 74 69 6F 6E 73
{1464} normal block at 0x00BB20E8, 32 bytes long.
 Data: <         !      > 00 00 00 00 CD CD CD CD 98 21 BB 00 CD CD CD CD
{1463} normal block at 0x00BB2138, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1461} normal block at 0x00BADCD0, 32 bytes long.
 Data: <        8!  le.p> 00 00 00 00 CD CD CD CD 38 21 BB 00 6C 65 2E 70
{1460} normal block at 0x00BADC88, 24 bytes long.
 Data: <         Y      > E0 C1 BA 00 10 CC BA 00 C8 59 BA 00 20 1D BB 00
{1459} normal block at 0x00BADC48, 20 bytes long.
 Data: <                > E8 0D BB 00 A8 A2 03 00 C8 1C BB 00 01 00 00 00
{1458} normal block at 0x00BB1FC0, 252 bytes long.
 Data: <H       h   H   > 48 89 03 00 F8 8B 03 00 68 8E 03 00 48 92 03 00
{1457} normal block at 0x000398B8, 8 bytes long.
 Data: <        > E8 03 00 00 00 00 00 20
{1456} normal block at 0x00BB1F78, 24 bytes long.
 Data: <    h   4_      > D8 C7 BA 00 68 FA BA 00 34 5F BA 00 E8 1E BB 00
{1455} normal block at 0x00BB1F38, 20 bytes long.
 Data: <P       x       > 50 C3 BA 00 18 C5 03 00 78 1E BB 00 02 00 00 00
{1454} normal block at 0x00BB1EE8, 32 bytes long.
 Data: <uninterpreted_op> 75 6E 69 6E 74 65 72 70 72 65 74 65 64 5F 6F 70
{1453} normal block at 0x00BB1E28, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD E8 1E BB 00 CD CD CD CD
{1452} normal block at 0x00BB1E78, 64 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1450} normal block at 0x00BB1DD8, 32 bytes long.
 Data: <        x       > 00 00 00 00 CD CD CD CD 78 1E BB 00 CD CD CD CD
{1449} normal block at 0x00BB1D68, 64 bytes long.
 Data: <(        Y      > 28 1E BB 00 D8 1D BB 00 C8 59 BA 00 E7 03 00 00
{1448} normal block at 0x00BB1D18, 32 bytes long.
 Data: <        EnumOpti> 00 00 00 00 CD CD CD CD 45 6E 75 6D 4F 70 74 69
{1447} normal block at 0x00BB1CC8, 32 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1446} normal block at 0x00BB1C78, 32 bytes long.
 Data: <            le.p> 00 00 00 00 CD CD CD CD C8 1C BB 00 6C 65 2E 70
{1445} normal block at 0x00BB1C30, 24 bytes long.
 Data: <(        Y      > 28 0E BB 00 18 B9 BA 00 C8 59 BA 00 18 0F BB 00
{1444} normal block at 0x00BB1BF0, 20 bytes long.
 Data: < m              > F0 6D BA 00 D0 86 BA 00 C0 0E BB 00 01 00 00 00
{1443} normal block at 0x0003A668, 8 bytes long.
 Data: <        > E8 03 00 00 00 00 00 20
{1442} normal block at 0x00BB1BA8, 24 bytes long.
 Data: <    8    ^  H   > 90 11 BB 00 38 98 BA 00 F8 5E BA 00 48 16 BB 00
{1441} normal block at 0x00BB1B68, 20 bytes long.
 Data: <@l              > 40 6C BA 00 F0 CA BA 00 90 16 BB 00 03 00 00 00
{1440} normal block at 0x00BB1B28, 20 bytes long.
 Data: <    (           > D0 B5 03 00 28 07 BB 00 A8 15 BB 00 02 00 00 00
{1439} normal block at 0x00BB1AE0, 24 bytes long.
 Data: < 5  (       `   > B0 35 BB 00 28 C2 BA 00 A8 15 BB 00 60 19 BB 00
{1438} normal block at 0x00BB1A98, 24 bytes long.
 Data: <(        ^  `   > 28 BD BA 00 00 95 BA 00 F8 5E BA 00 60 19 BB 00
{1437} normal block at 0x00BB1A58, 20 bytes long.
 Data: <    x           > 20 01 BB 00 78 98 03 00 F8 19 BB 00 04 00 00 00
{1436} normal block at 0x00BB19F8, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1435} normal block at 0x00BB19A8, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD F8 19 BB 00 CD CD CD CD
{1434} normal block at 0x00BB1958, 32 bytes long.
 Data: <        STRING_P> 00 00 00 00 CD CD CD CD 53 54 52 49 4E 47 5F 50
{1433} normal block at 0x00BB1918, 20 bytes long.
 Data: <@               > 40 A9 03 00 18 05 BB 00 A8 15 BB 00 01 00 00 00
{1432} normal block at 0x00BB18D0, 24 bytes long.
 Data: <     ;      P   > 88 04 BB 00 10 3B BB 00 A8 15 BB 00 50 17 BB 00
{1431} normal block at 0x00BB1888, 24 bytes long.
 Data: < A       ^  P   > 10 41 BB 00 A0 0D BB 00 F8 5E BA 00 50 17 BB 00
{1430} normal block at 0x00BB1848, 20 bytes long.
 Data: <0i              > 30 69 BA 00 00 A8 03 00 E8 17 BB 00 04 00 00 00
{1429} normal block at 0x00BB17E8, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1428} normal block at 0x00BB1798, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD E8 17 BB 00 CD CD CD CD
{1427} normal block at 0x00BB1748, 32 bytes long.
 Data: <        CORD    > 00 00 00 00 CD CD CD CD 43 4F 52 44 00 CD CD CD
{1426} normal block at 0x00BB16F0, 40 bytes long.
 Data: <H               > 48 17 BB 00 98 17 BB 00 01 00 00 00 A8 15 BB 00
{1425} normal block at 0x00BB1640, 32 bytes long.
 Data: <        CType   > 00 00 00 00 CD CD CD CD 43 54 79 70 65 00 CD CD
{1424} normal block at 0x00BB1690, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1422} normal block at 0x00BB15F0, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 90 16 BB 00 CD CD CD CD
{1421} normal block at 0x00BB15A8, 28 bytes long.
 Data: <@        Y      > 40 16 BB 00 F0 15 BB 00 C8 59 BA 00 02 00 00 00
{1420} normal block at 0x00BB1560, 24 bytes long.
 Data: <X        ^      > 58 A0 BA 00 10 F4 BA 00 F8 5E BA 00 D0 14 BB 00
{1419} normal block at 0x00BB1520, 20 bytes long.
 Data: <X   8   `       > 58 06 BB 00 38 93 BA 00 60 14 BB 00 02 00 00 00
{1418} normal block at 0x00BB14D0, 32 bytes long.
 Data: <uninterpreted_op> 75 6E 69 6E 74 65 72 70 72 65 74 65 64 5F 6F 70
{1417} normal block at 0x00BB1410, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD D0 14 BB 00 CD CD CD CD
{1416} normal block at 0x00BB1460, 64 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1414} normal block at 0x00BB13C0, 32 bytes long.
 Data: <        `       > 00 00 00 00 CD CD CD CD 60 14 BB 00 CD CD CD CD
{1413} normal block at 0x00BB1378, 24 bytes long.
 Data: <    X    ^      > 08 A2 BA 00 58 A0 BA 00 F8 5E BA 00 E8 12 BB 00
{1412} normal block at 0x00BB1338, 20 bytes long.
 Data: < q      x       > 00 71 BA 00 80 99 BA 00 78 12 BB 00 02 00 00 00
{1411} normal block at 0x00BB12E8, 32 bytes long.
 Data: <experimental_map> 65 78 70 65 72 69 6D 65 6E 74 61 6C 5F 6D 61 70
{1410} normal block at 0x00BB1228, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD E8 12 BB 00 CD CD CD CD
{1409} normal block at 0x00BB1278, 64 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1407} normal block at 0x00BB11D8, 32 bytes long.
 Data: <        x       > 00 00 00 00 CD CD CD CD 78 12 BB 00 CD CD CD CD
{1406} normal block at 0x00BB1190, 24 bytes long.
 Data: <         ^      > 10 BF BA 00 A8 1B BB 00 F8 5E BA 00 A8 10 BB 00
{1405} normal block at 0x00BB1150, 20 bytes long.
 Data: < (              > 90 28 BB 00 20 C0 03 00 F0 10 BB 00 02 00 00 00
{1404} normal block at 0x00BB10A0, 32 bytes long.
 Data: <        ctype   > 00 00 00 00 CD CD CD CD 63 74 79 70 65 00 CD CD
{1403} normal block at 0x00BB10F0, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1401} normal block at 0x00BB1050, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD F0 10 BB 00 CD CD CD CD
{1400} normal block at 0x00BB0F60, 192 bytes long.
 Data: <    P    Y      > A0 10 BB 00 50 10 BB 00 C8 59 BA 00 01 00 00 00
{1399} normal block at 0x00BB0F10, 32 bytes long.
 Data: <        FieldOpt> 00 00 00 00 CD CD CD CD 46 69 65 6C 64 4F 70 74
{1398} normal block at 0x00BB0EC0, 32 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1397} normal block at 0x00BB0E70, 32 bytes long.
 Data: <            le.p> 00 00 00 00 CD CD CD CD C0 0E BB 00 6C 65 2E 70
{1396} normal block at 0x00BB0E28, 24 bytes long.
 Data: < d  0    Y      > 10 64 03 00 30 1C BB 00 C8 59 BA 00 20 09 BB 00
{1395} normal block at 0x00BB0DE8, 20 bytes long.
 Data: <    H           > 18 A0 BA 00 48 DC BA 00 C8 08 BB 00 01 00 00 00
{1394} normal block at 0x0003FFF0, 8 bytes long.
 Data: <        > E8 03 00 00 00 00 00 20
{1393} normal block at 0x00BB0DA0, 24 bytes long.
 Data: <         ^      > 88 18 BB 00 F8 C5 BA 00 BC 5E BA 00 10 0D BB 00
{1392} normal block at 0x00BB0D60, 20 bytes long.
 Data: < \  (           > 00 5C BA 00 28 FA BA 00 A0 0C BB 00 02 00 00 00
{1391} normal block at 0x00BB0D10, 32 bytes long.
 Data: <uninterpreted_op> 75 6E 69 6E 74 65 72 70 72 65 74 65 64 5F 6F 70
{1390} normal block at 0x00BB0C50, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 10 0D BB 00 CD CD CD CD
{1389} normal block at 0x00BB0CA0, 64 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1387} normal block at 0x00BB0C00, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD A0 0C BB 00 CD CD CD CD
{1386} normal block at 0x00BB0BB8, 24 bytes long.
 Data: <    (    ^  (   > 18 D6 03 00 28 C4 BA 00 BC 5E BA 00 28 0B BB 00
{1385} normal block at 0x00BB0B78, 20 bytes long.
 Data: <                > 10 E7 BA 00 90 D5 03 00 B8 0A BB 00 02 00 00 00
{1384} normal block at 0x00BB0B28, 32 bytes long.
 Data: <message_set_wire> 6D 65 73 73 61 67 65 5F 73 65 74 5F 77 69 72 65
{1383} normal block at 0x00BB0A68, 32 bytes long.
 Data: <        (       > 00 00 00 00 CD CD CD CD 28 0B BB 00 CD CD CD CD
{1382} normal block at 0x00BB0AB8, 64 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1380} normal block at 0x00BB0A18, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD B8 0A BB 00 CD CD CD CD
{1379} normal block at 0x00BB0968, 128 bytes long.
 Data: <h        Y      > 68 0A BB 00 18 0A BB 00 C8 59 BA 00 01 00 00 00
{1378} normal block at 0x00BB0918, 32 bytes long.
 Data: <        MessageO> 00 00 00 00 CD CD CD CD 4D 65 73 73 61 67 65 4F
{1377} normal block at 0x00BB08C8, 32 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1376} normal block at 0x00BB0878, 32 bytes long.
 Data: <            le.p> 00 00 00 00 CD CD CD CD C8 08 BB 00 6C 65 2E 70
{1375} normal block at 0x00BB0830, 24 bytes long.
 Data: <         Y      > 98 F4 BA 00 08 AC 03 00 C8 59 BA 00 88 F5 BA 00
{1374} normal block at 0x00BB07F0, 20 bytes long.
 Data: <p~      0       > 70 7E BA 00 90 AF 03 00 30 F5 BA 00 01 00 00 00
{1373} normal block at 0x00BAC7A0, 8 bytes long.
 Data: <        > E8 03 00 00 00 00 00 20
{1372} normal block at 0x00BB07A8, 24 bytes long.
 Data: <         ^  H   > D0 B1 03 00 18 BB BA 00 80 5E BA 00 48 02 BB 00
{1371} normal block at 0x00BB0768, 20 bytes long.
 Data: <                > C0 B3 03 00 90 B8 BA 00 90 02 BB 00 03 00 00 00
{1370} normal block at 0x00BB0728, 20 bytes long.
 Data: <(               > 28 1B BB 00 20 C8 BA 00 A8 01 BB 00 02 00 00 00
{1369} normal block at 0x00BB06E0, 24 bytes long.
 Data: <    `       `   > D0 AF 03 00 60 D2 BA 00 A8 01 BB 00 60 05 BB 00
{1368} normal block at 0x00BB0698, 24 bytes long.
 Data: <@        ^  `   > 40 A8 03 00 B0 D7 BA 00 80 5E BA 00 60 05 BB 00
{1367} normal block at 0x00BB0658, 20 bytes long.
 Data: <p7              > 70 37 BB 00 20 15 BB 00 F8 05 BB 00 04 00 00 00
{1366} normal block at 0x00BB05F8, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1365} normal block at 0x00BB05A8, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD F8 05 BB 00 CD CD CD CD
{1364} normal block at 0x00BB0558, 32 bytes long.
 Data: <        CODE_SIZ> 00 00 00 00 CD CD CD CD 43 4F 44 45 5F 53 49 5A
{1363} normal block at 0x00BB0518, 20 bytes long.
 Data: <                > 18 19 BB 00 E8 AC BA 00 A8 01 BB 00 01 00 00 00
{1362} normal block at 0x00BB04D0, 24 bytes long.
 Data: <            P   > D0 B8 BA 00 98 C8 03 00 A8 01 BB 00 50 03 BB 00
{1361} normal block at 0x00BB0488, 24 bytes long.
 Data: < @       ^  P   > 88 40 BB 00 D0 18 BB 00 80 5E BA 00 50 03 BB 00
{1360} normal block at 0x00BB0448, 20 bytes long.
 Data: <    `           > A8 91 03 00 60 C8 BA 00 E8 03 BB 00 04 00 00 00
{1359} normal block at 0x00BB03E8, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1358} normal block at 0x00BB0398, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD E8 03 BB 00 CD CD CD CD
{1357} normal block at 0x00BB0348, 32 bytes long.
 Data: <        SPEED   > 00 00 00 00 CD CD CD CD 53 50 45 45 44 00 CD CD
{1356} normal block at 0x00BB02F0, 40 bytes long.
 Data: <H               > 48 03 BB 00 98 03 BB 00 01 00 00 00 A8 01 BB 00
{1355} normal block at 0x00BB0240, 32 bytes long.
 Data: <        Optimize> 00 00 00 00 CD CD CD CD 4F 70 74 69 6D 69 7A 65
{1354} normal block at 0x00BB0290, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1352} normal block at 0x00BB01F0, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 90 02 BB 00 CD CD CD CD
{1351} normal block at 0x00BB01A8, 28 bytes long.
 Data: <@        Y      > 40 02 BB 00 F0 01 BB 00 C8 59 BA 00 02 00 00 00
{1350} normal block at 0x00BB0160, 24 bytes long.
 Data: <p        ^  P   > 70 C4 BA 00 F8 E0 BA 00 80 5E BA 00 50 C7 BA 00
{1349} normal block at 0x00BB0120, 20 bytes long.
 Data: <(   X           > 28 ED BA 00 58 1A BB 00 E0 C6 BA 00 02 00 00 00
{1348} normal block at 0x00BAC750, 32 bytes long.
 Data: <uninterpreted_op> 75 6E 69 6E 74 65 72 70 72 65 74 65 64 5F 6F 70
{1347} normal block at 0x00BAC690, 32 bytes long.
 Data: <        P       > 00 00 00 00 CD CD CD CD 50 C7 BA 00 CD CD CD CD
{1346} normal block at 0x00BAC6E0, 64 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1344} normal block at 0x00BAC640, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD E0 C6 BA 00 CD CD CD CD
{1343} normal block at 0x00BAC5F8, 24 bytes long.
 Data: <    @    ^      > A0 0D BB 00 40 FC BA 00 80 5E BA 00 10 C5 BA 00
{1342} normal block at 0x00BAC5B8, 20 bytes long.
 Data: < ,      X       > E8 2C BB 00 98 8E BA 00 58 C5 BA 00 02 00 00 00
{1341} normal block at 0x00BAC508, 32 bytes long.
 Data: <        optimize> 00 00 00 00 CD CD CD CD 6F 70 74 69 6D 69 7A 65
{1340} normal block at 0x00BAC558, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1338} normal block at 0x00BAC4B8, 32 bytes long.
 Data: <        X       > 00 00 00 00 CD CD CD CD 58 C5 BA 00 CD CD CD CD
{1337} normal block at 0x00BAFC88, 1128 bytes long.
 Data: < \   c   Y   a  > A0 5C BA 00 08 63 BA 00 C8 59 BA 00 90 61 BA 00
{1336} normal block at 0x00BAFC40, 24 bytes long.
 Data: <         ^      > F8 C5 BA 00 D8 E8 BA 00 80 5E BA 00 B0 FB BA 00
{1335} normal block at 0x00BAFC00, 20 bytes long.
 Data: <P       P       > 50 B7 BA 00 F0 C0 03 00 50 FB BA 00 02 00 00 00
{1334} normal block at 0x00BAFBB0, 32 bytes long.
 Data: <java_multiple_fi> 6A 61 76 61 5F 6D 75 6C 74 69 70 6C 65 5F 66 69
{1333} normal block at 0x00BAFB00, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD B0 FB BA 00 CD CD CD CD
{1332} normal block at 0x00BAFB50, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1330} normal block at 0x00BAFAB0, 32 bytes long.
 Data: <        P       > 00 00 00 00 CD CD CD CD 50 FB BA 00 CD CD CD CD
{1329} normal block at 0x00BAFA68, 24 bytes long.
 Data: <x        ^      > 78 1F BB 00 08 E2 BA 00 80 5E BA 00 D8 F9 BA 00
{1328} normal block at 0x00BAFA28, 20 bytes long.
 Data: <`       h       > 60 0D BB 00 80 88 BA 00 68 F9 BA 00 02 00 00 00
{1327} normal block at 0x00BAF9D8, 32 bytes long.
 Data: <java_outer_class> 6A 61 76 61 5F 6F 75 74 65 72 5F 63 6C 61 73 73
{1326} normal block at 0x00BAF918, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD D8 F9 BA 00 CD CD CD CD
{1325} normal block at 0x00BAF968, 64 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1323} normal block at 0x00BAF8C8, 32 bytes long.
 Data: <        h       > 00 00 00 00 CD CD CD CD 68 F9 BA 00 CD CD CD CD
{1322} normal block at 0x00BAF880, 24 bytes long.
 Data: <    `    ^      > C8 B1 BA 00 60 E9 BA 00 80 5E BA 00 98 F7 BA 00
{1321} normal block at 0x00BAF840, 20 bytes long.
 Data: <`,  x           > 60 2C BB 00 78 A3 BA 00 E0 F7 BA 00 02 00 00 00
{1320} normal block at 0x00BAF790, 32 bytes long.
 Data: <        java_pac> 00 00 00 00 CD CD CD CD 6A 61 76 61 5F 70 61 63
{1319} normal block at 0x00BAF7E0, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1317} normal block at 0x00BAF740, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD E0 F7 BA 00 CD CD CD CD
{1316} normal block at 0x00BAF5D0, 320 bytes long.
 Data: <    @    Y      > 90 F7 BA 00 40 F7 BA 00 C8 59 BA 00 01 00 00 00
{1315} normal block at 0x00BAF580, 32 bytes long.
 Data: <        FileOpti> 00 00 00 00 CD CD CD CD 46 69 6C 65 4F 70 74 69
{1314} normal block at 0x00BAF530, 32 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1313} normal block at 0x00BAF4E0, 32 bytes long.
 Data: <        0   le.p> 00 00 00 00 CD CD CD CD 30 F5 BA 00 6C 65 2E 70
{1312} normal block at 0x00BAF498, 24 bytes long.
 Data: < A  0    Y      > 98 41 BB 00 30 08 BB 00 C8 59 BA 00 A8 EA BA 00
{1311} normal block at 0x00BAF458, 20 bytes long.
 Data: <    (   H       > 80 D9 BA 00 28 A5 BA 00 48 EA BA 00 01 00 00 00
{1310} normal block at 0x00BAF410, 24 bytes long.
 Data: <`       D^      > 60 15 BB 00 88 96 BA 00 44 5E BA 00 88 F3 BA 00
{1309} normal block at 0x00BAF3D0, 20 bytes long.
 Data: <h               > 68 A4 03 00 20 D2 BA 00 A0 A2 BA 00 02 00 00 00
{1308} normal block at 0x00BAF380, 32 bytes long.
 Data: <        options > 00 00 00 00 CD CD CD CD 6F 70 74 69 6F 6E 73 00
{1307} normal block at 0x00BAA2A0, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1306} normal block at 0x00BAA250, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD A0 A2 BA 00 CD CD CD CD
{1305} normal block at 0x00BAA208, 24 bytes long.
 Data: <    x   D^      > 10 B2 BA 00 78 13 BB 00 44 5E BA 00 F8 A0 BA 00
{1304} normal block at 0x00BAA1C8, 20 bytes long.
 Data: <    X   P       > 20 C0 03 00 58 C8 03 00 50 A1 BA 00 02 00 00 00
{1303} normal block at 0x00BAA0F0, 32 bytes long.
 Data: <        output_t> 00 00 00 00 CD CD CD CD 6F 75 74 70 75 74 5F 74
{1302} normal block at 0x00BAA150, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1300} normal block at 0x00BAA0A0, 32 bytes long.
 Data: <        P       > 00 00 00 00 CD CD CD CD 50 A1 BA 00 CD CD CD CD
{1299} normal block at 0x00BAA058, 24 bytes long.
 Data: <x   `   D^      > 78 13 BB 00 60 15 BB 00 44 5E BA 00 08 EE BA 00
{1298} normal block at 0x00BAA018, 20 bytes long.
 Data: <P               > 50 AC 03 00 E8 0D BB 00 A0 9F BA 00 02 00 00 00
{1297} normal block at 0x00BAEE00, 32 bytes long.
 Data: <        input_ty> 00 00 00 00 CD CD CD CD 69 6E 70 75 74 5F 74 79
{1296} normal block at 0x00BA9FA0, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1295} normal block at 0x00BAEE60, 1264 bytes long.
 Data: <    `   P       > E0 89 03 00 60 8A 03 00 50 8D 03 00 D8 8D 03 00
{1293} normal block at 0x00BAEDB0, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD A0 9F BA 00 CD CD CD CD
{1292} normal block at 0x00BAED68, 24 bytes long.
 Data: <(       D^      > 28 C4 BA 00 A0 C8 BA 00 44 5E BA 00 E0 EC BA 00
{1291} normal block at 0x00BAED28, 20 bytes long.
 Data: < y      x       > D8 79 BA 00 20 01 BB 00 78 EC BA 00 02 00 00 00
{1290} normal block at 0x00BAECD8, 32 bytes long.
 Data: <        name    > 00 00 00 00 CD CD CD CD 6E 61 6D 65 00 CD CD CD
{1289} normal block at 0x00BAEC78, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1288} normal block at 0x00BAEC28, 32 bytes long.
 Data: <        x       > 00 00 00 00 CD CD CD CD 78 EC BA 00 CD CD CD CD
{1287} normal block at 0x00BAEAF8, 256 bytes long.
 Data: <    (    Y      > D8 EC BA 00 28 EC BA 00 C8 59 BA 00 01 00 00 00
{1286} normal block at 0x00BAEAA8, 32 bytes long.
 Data: <MethodDescriptor> 4D 65 74 68 6F 64 44 65 73 63 72 69 70 74 6F 72
{1285} normal block at 0x00BAE9F8, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD A8 EA BA 00 CD CD CD CD
{1284} normal block at 0x00BAEA48, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1282} normal block at 0x00BAE9A8, 32 bytes long.
 Data: <        H   le.p> 00 00 00 00 CD CD CD CD 48 EA BA 00 6C 65 2E 70
{1281} normal block at 0x00BAE960, 24 bytes long.
 Data: <    H    Y      > 80 F8 BA 00 48 94 03 00 C8 59 BA 00 88 E3 BA 00
{1280} normal block at 0x00BAE920, 20 bytes long.
 Data: <     \  (       > F0 C0 03 00 00 5C BA 00 28 E3 BA 00 01 00 00 00
{1279} normal block at 0x00BAE8D8, 24 bytes long.
 Data: <@        ^  P   > 40 FC BA 00 20 95 03 00 08 5E BA 00 50 E8 BA 00
{1278} normal block at 0x00BAE898, 20 bytes long.
 Data: <X   `,          > 58 90 03 00 60 2C BB 00 E8 E7 BA 00 02 00 00 00
{1277} normal block at 0x00BAE848, 32 bytes long.
 Data: <        options > 00 00 00 00 CD CD CD CD 6F 70 74 69 6F 6E 73 00
{1276} normal block at 0x00BAE7E8, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1275} normal block at 0x00BAE798, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD E8 E7 BA 00 CD CD CD CD
{1274} normal block at 0x00BAE750, 24 bytes long.
 Data: <    X    ^      > A8 C0 03 00 58 AA BA 00 08 5E BA 00 C8 E6 BA 00
{1273} normal block at 0x00BAE710, 20 bytes long.
 Data: < >  x   `       > 98 3E BB 00 78 0B BB 00 60 E6 BA 00 02 00 00 00
{1272} normal block at 0x00BAE6C0, 32 bytes long.
 Data: <        method  > 00 00 00 00 CD CD CD CD 6D 65 74 68 6F 64 00 CD
{1271} normal block at 0x00BAE660, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1270} normal block at 0x00BAE610, 32 bytes long.
 Data: <        `       > 00 00 00 00 CD CD CD CD 60 E6 BA 00 CD CD CD CD
{1269} normal block at 0x00BAE5C8, 24 bytes long.
 Data: <(}       ^      > 28 7D BA 00 10 A8 BA 00 08 5E BA 00 80 E5 BA 00
{1268} normal block at 0x00BAB750, 20 bytes long.
 Data: <                > 20 9B 03 00 00 FC BA 00 18 E5 BA 00 02 00 00 00
{1267} normal block at 0x00BAE578, 32 bytes long.
 Data: <        name    > 00 00 00 00 CD CD CD CD 6E 61 6D 65 00 CD CD CD
{1266} normal block at 0x00BAE518, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1265} normal block at 0x00BAE4C8, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 18 E5 BA 00 CD CD CD CD
{1264} normal block at 0x00BAE3D8, 192 bytes long.
 Data: <x        Y      > 78 E5 BA 00 C8 E4 BA 00 C8 59 BA 00 01 00 00 00
{1263} normal block at 0x00BAE388, 32 bytes long.
 Data: <ServiceDescripto> 53 65 72 76 69 63 65 44 65 73 63 72 69 70 74 6F
{1262} normal block at 0x00BAB700, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 88 E3 BA 00 CD CD CD CD
{1261} normal block at 0x00BAE328, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1259} normal block at 0x00BAB6B0, 32 bytes long.
 Data: <        (   le.p> 00 00 00 00 CD CD CD CD 28 E3 BA 00 6C 65 2E 70
{1258} normal block at 0x00BAB668, 24 bytes long.
 Data: <         Y      > 80 E1 BA 00 E8 B4 03 00 C8 59 BA 00 08 DB BA 00
{1256} normal block at 0x00BAE140, 20 bytes long.
 Data: <XA              > 58 41 BB 00 C0 A9 03 00 A8 DA BA 00 01 00 00 00
{1255} normal block at 0x00BAE0F8, 24 bytes long.
 Data: <`   H    ]      > 60 01 BB 00 48 DF BA 00 CC 5D BA 00 E8 DF BA 00
{1254} normal block at 0x00BAE0B8, 20 bytes long.
 Data: <X    #  @       > 58 C8 03 00 D0 23 BB 00 40 E0 BA 00 02 00 00 00
{1253} normal block at 0x00BADFE0, 32 bytes long.
 Data: <        options > 00 00 00 00 CD CD CD CD 6F 70 74 69 6F 6E 73 00
{1252} normal block at 0x00BAE040, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1250} normal block at 0x00BADF90, 32 bytes long.
 Data: <        @       > 00 00 00 00 CD CD CD CD 40 E0 BA 00 CD CD CD CD
{1249} normal block at 0x00BADF48, 24 bytes long.
 Data: <         ]      > F8 E0 BA 00 A0 AE BA 00 CC 5D BA 00 C0 DE BA 00
{1248} normal block at 0x00BADF08, 20 bytes long.
 Data: <        X       > F0 CA BA 00 E8 D5 BA 00 58 DE BA 00 02 00 00 00
{1247} normal block at 0x00BADEB8, 32 bytes long.
 Data: <        number  > 00 00 00 00 CD CD CD CD 6E 75 6D 62 65 72 00 CD
{1246} normal block at 0x00BADE58, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1245} normal block at 0x00BADE08, 32 bytes long.
 Data: <        X       > 00 00 00 00 CD CD CD CD 58 DE BA 00 CD CD CD CD
{1244} normal block at 0x00BADDC0, 24 bytes long.
 Data: <H        ]  8h  > 48 A6 BA 00 B8 A3 BA 00 CC 5D BA 00 38 68 BA 00
{1243} normal block at 0x00BADD80, 20 bytes long.
 Data: <                > C8 E1 BA 00 A0 99 03 00 20 DD BA 00 02 00 00 00
{1242} normal block at 0x00BA6830, 32 bytes long.
 Data: <        name    > 00 00 00 00 CD CD CD CD 6E 61 6D 65 00 CD CD CD
{1241} normal block at 0x00BADD20, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1240} normal block at 0x00BA67E0, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 20 DD BA 00 CD CD CD CD
{1238} normal block at 0x00BADB58, 192 bytes long.
 Data: <0h   g   Y      > 30 68 BA 00 E0 67 BA 00 C8 59 BA 00 01 00 00 00
{1237} normal block at 0x00BADB08, 32 bytes long.
 Data: <EnumValueDescrip> 45 6E 75 6D 56 61 6C 75 65 44 65 73 63 72 69 70
{1236} normal block at 0x00BADA58, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 08 DB BA 00 CD CD CD CD
{1235} normal block at 0x00BADAA8, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1233} normal block at 0x00BADA08, 32 bytes long.
 Data: <            le.p> 00 00 00 00 CD CD CD CD A8 DA BA 00 6C 65 2E 70
{1232} normal block at 0x00BAD9C0, 24 bytes long.
 Data: <    0n   Y      > B0 BD 03 00 30 6E BA 00 C8 59 BA 00 A8 D3 BA 00
{1231} normal block at 0x00BAD980, 20 bytes long.
 Data: <    X   H       > A8 A2 03 00 58 F4 BA 00 48 D3 BA 00 01 00 00 00
{1230} normal block at 0x00BAD938, 24 bytes long.
 Data: <X        ]      > 58 A8 BA 00 C8 D0 BA 00 90 5D BA 00 B0 D8 BA 00
{1229} normal block at 0x00BAD8F8, 20 bytes long.
 Data: <        H       > C8 AD BA 00 18 91 03 00 48 D8 BA 00 02 00 00 00
{1228} normal block at 0x00BAD8A8, 32 bytes long.
 Data: <        options > 00 00 00 00 CD CD CD CD 6F 70 74 69 6F 6E 73 00
{1227} normal block at 0x00BAD848, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1226} normal block at 0x00BAD7F8, 32 bytes long.
 Data: <        H       > 00 00 00 00 CD CD CD CD 48 D8 BA 00 CD CD CD CD
{1225} normal block at 0x00BAD7B0, 24 bytes long.
 Data: <         ]  (   > 98 06 BB 00 80 9E BA 00 90 5D BA 00 28 D7 BA 00
{1224} normal block at 0x00BAD770, 20 bytes long.
 Data: <     >          > F8 BB 03 00 98 3E BB 00 C0 D6 BA 00 02 00 00 00
{1223} normal block at 0x00BAD720, 32 bytes long.
 Data: <        value   > 00 00 00 00 CD CD CD CD 76 61 6C 75 65 00 CD CD
{1222} normal block at 0x00BAD6C0, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1221} normal block at 0x00BAD670, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD C0 D6 BA 00 CD CD CD CD
{1220} normal block at 0x00BAD628, 24 bytes long.
 Data: <8    {   ]      > 38 80 BA 00 A0 7B BA 00 90 5D BA 00 A0 D5 BA 00
{1219} normal block at 0x00BAD5E8, 20 bytes long.
 Data: <        8       > 08 DF BA 00 80 81 BA 00 38 D5 BA 00 02 00 00 00
{1218} normal block at 0x00BAD598, 32 bytes long.
 Data: <        name    > 00 00 00 00 CD CD CD CD 6E 61 6D 65 00 CD CD CD
{1217} normal block at 0x00BAD538, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1216} normal block at 0x00BAD4E8, 32 bytes long.
 Data: <        8       > 00 00 00 00 CD CD CD CD 38 D5 BA 00 CD CD CD CD
{1215} normal block at 0x00BAD3F8, 192 bytes long.
 Data: <         Y      > 98 D5 BA 00 E8 D4 BA 00 C8 59 BA 00 01 00 00 00
{1214} normal block at 0x00BAD3A8, 32 bytes long.
 Data: <EnumDescriptorPr> 45 6E 75 6D 44 65 73 63 72 69 70 74 6F 72 50 72
{1213} normal block at 0x00BAD2F8, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD A8 D3 BA 00 CD CD CD CD
{1212} normal block at 0x00BAD348, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1210} normal block at 0x00BAD2A8, 32 bytes long.
 Data: <        H   le.p> 00 00 00 00 CD CD CD CD 48 D3 BA 00 6C 65 2E 70
{1209} normal block at 0x00BAD260, 24 bytes long.
 Data: <    (}   Y      > E0 06 BB 00 28 7D BA 00 C8 59 BA 00 18 8B BA 00
{1208} normal block at 0x00BAD220, 20 bytes long.
 Data: <    (           > D0 F3 BA 00 28 8B 03 00 B8 8A BA 00 01 00 00 00
{1207} normal block at 0x00BAD1D8, 24 bytes long.
 Data: <8       T]      > 38 98 BA 00 10 CE BA 00 54 5D BA 00 A0 C9 BA 00
{1206} normal block at 0x00BAD198, 20 bytes long.
 Data: <xo      8       > 78 6F BA 00 90 94 03 00 38 C9 BA 00 03 00 00 00
{1205} normal block at 0x00BAD158, 20 bytes long.
 Data: < f  (   $       > F0 66 03 00 28 C0 BA 00 24 9A BA 00 03 00 00 00
{1204} normal block at 0x00BAD110, 24 bytes long.
 Data: <    H   $       > 98 C8 03 00 48 A6 BA 00 24 9A BA 00 00 BE BA 00
{1203} normal block at 0x00BAD0C8, 24 bytes long.
 Data: <8   X)  T]      > 38 D9 BA 00 58 29 BB 00 54 5D BA 00 00 BE BA 00
{1202} normal block at 0x00BACFF0, 20 bytes long.
 Data: <pu      P       > 70 75 BA 00 08 83 BA 00 50 D0 BA 00 04 00 00 00
{1201} normal block at 0x00BAD050, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1199} normal block at 0x00BABE48, 32 bytes long.
 Data: <        P       > 00 00 00 00 CD CD CD CD 50 D0 BA 00 CD CD CD CD
{1198} normal block at 0x00BABDF8, 32 bytes long.
 Data: <        LABEL_RE> 00 00 00 00 CD CD CD CD 4C 41 42 45 4C 5F 52 45
{1197} normal block at 0x00BACEE0, 224 bytes long.
 Data: <                > 08 9A BA 00 01 00 00 00 08 9A BA 00 02 00 00 00
{1196} normal block at 0x00BACEA0, 20 bytes long.
 Data: <X       $       > 58 AF BA 00 B8 BD BA 00 24 9A BA 00 02 00 00 00
{1195} normal block at 0x00BACE58, 24 bytes long.
 Data: <        $       > A8 A4 03 00 D8 C7 BA 00 24 9A BA 00 A0 CC BA 00
{1194} normal block at 0x00BACE10, 24 bytes long.
 Data: <    pi  T]      > D8 D1 BA 00 70 69 BA 00 54 5D BA 00 A0 CC BA 00
{1193} normal block at 0x00BACD38, 20 bytes long.
 Data: <8    (          > 38 93 BA 00 90 28 BB 00 98 CD BA 00 04 00 00 00
{1192} normal block at 0x00BACD98, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1190} normal block at 0x00BACCE8, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 98 CD BA 00 CD CD CD CD
{1189} normal block at 0x00BACC98, 32 bytes long.
 Data: <        LABEL_RE> 00 00 00 00 CD CD CD CD 4C 41 42 45 4C 5F 52 45
{1188} normal block at 0x00BACC58, 20 bytes long.
 Data: <        $       > E8 AA BA 00 A8 BB BA 00 24 9A BA 00 01 00 00 00
{1187} normal block at 0x00BACC10, 24 bytes long.
 Data: <    p   $   X   > 88 DC BA 00 70 C4 BA 00 24 9A BA 00 58 CA BA 00
{1186} normal block at 0x00BACBC8, 24 bytes long.
 Data: <     l  T]  X   > F8 B4 BA 00 80 6C BA 00 54 5D BA 00 58 CA BA 00
{1185} normal block at 0x00BACAF0, 20 bytes long.
 Data: <h       P       > 68 1B BB 00 08 DF BA 00 50 CB BA 00 04 00 00 00
{1184} normal block at 0x00BACB50, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1182} normal block at 0x00BACAA0, 32 bytes long.
 Data: <        P       > 00 00 00 00 CD CD CD CD 50 CB BA 00 CD CD CD CD
{1181} normal block at 0x00BACA50, 32 bytes long.
 Data: <        LABEL_OP> 00 00 00 00 CD CD CD CD 4C 41 42 45 4C 5F 4F 50
{1180} normal block at 0x00BAC9E8, 60 bytes long.
 Data: <P           $   > 50 CA BA 00 A0 CA BA 00 01 00 00 00 24 9A BA 00
{1179} normal block at 0x00BAC998, 32 bytes long.
 Data: <        Label   > 00 00 00 00 CD CD CD CD 4C 61 62 65 6C 00 CD CD
{1178} normal block at 0x00BAC938, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1177} normal block at 0x00BAC8E8, 32 bytes long.
 Data: <        8       > 00 00 00 00 CD CD CD CD 38 C9 BA 00 CD CD CD CD
{1176} normal block at 0x00BAC8A0, 24 bytes long.
 Data: <h   H   T]  (   > 68 ED BA 00 48 83 BA 00 54 5D BA 00 28 9B BA 00
{1175} normal block at 0x00BAC860, 20 bytes long.
 Data: <H               > 48 04 BB 00 D0 A7 BA 00 C0 9A BA 00 03 00 00 00
{1174} normal block at 0x00BAC820, 20 bytes long.
 Data: <(   h           > 28 07 BB 00 68 B4 BA 00 08 9A BA 00 12 00 00 00
{1173} normal block at 0x00BAC7D8, 24 bytes long.
 Data: <X   x       0   > 58 CE BA 00 78 1F BB 00 08 9A BA 00 30 AD BA 00
{1172} normal block at 0x00BAAEA0, 24 bytes long.
 Data: <H       T]  0   > 48 DF BA 00 C0 CD 03 00 54 5D BA 00 30 AD BA 00
{1171} normal block at 0x00BAADC8, 20 bytes long.
 Data: < )      (       > 18 29 BB 00 F8 D8 BA 00 28 AE BA 00 04 00 00 00
{1170} normal block at 0x00BAAE28, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1168} normal block at 0x00BAAD78, 32 bytes long.
 Data: <        (       > 00 00 00 00 CD CD CD CD 28 AE BA 00 CD CD CD CD
{1167} normal block at 0x00BAAD28, 32 bytes long.
 Data: <        TYPE_SIN> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 53 49 4E
{1166} normal block at 0x00BAACE8, 20 bytes long.
 Data: <    X           > 18 05 BB 00 58 B2 BA 00 08 9A BA 00 11 00 00 00
{1164} normal block at 0x00BAC470, 24 bytes long.
 Data: <    `           > 10 CC BA 00 60 01 BB 00 08 9A BA 00 B8 C2 BA 00
{1163} normal block at 0x00BAC428, 24 bytes long.
 Data: <    h   T]      > B8 0B BB 00 68 ED BA 00 54 5D BA 00 B8 C2 BA 00
{1162} normal block at 0x00BAC350, 20 bytes long.
 Data: < @  8           > D0 40 BB 00 38 1F BB 00 B0 C3 BA 00 04 00 00 00
{1161} normal block at 0x00BAC3B0, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1159} normal block at 0x00BAC300, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD B0 C3 BA 00 CD CD CD CD
{1158} normal block at 0x00BAC2B0, 32 bytes long.
 Data: <        TYPE_SIN> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 53 49 4E
{1157} normal block at 0x00BAC270, 20 bytes long.
 Data: <`               > 60 B0 03 00 10 B0 BA 00 08 9A BA 00 10 00 00 00
{1156} normal block at 0x00BAC228, 24 bytes long.
 Data: <     7      p   > E0 1A BB 00 B0 37 BB 00 08 9A BA 00 70 C0 BA 00
{1155} normal block at 0x00BAC1E0, 24 bytes long.
 Data: <X       T]  p   > 58 AA BA 00 88 DC BA 00 54 5D BA 00 70 C0 BA 00
{1154} normal block at 0x00BAC108, 20 bytes long.
 Data: < c   |  h       > D8 63 BA 00 E8 7C BA 00 68 C1 BA 00 04 00 00 00
{1153} normal block at 0x00BAC168, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1151} normal block at 0x00BAC0B8, 32 bytes long.
 Data: <        h       > 00 00 00 00 CD CD CD CD 68 C1 BA 00 CD CD CD CD
{1150} normal block at 0x00BAC068, 32 bytes long.
 Data: <        TYPE_SFI> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 53 46 49
{1149} normal block at 0x00BAC028, 20 bytes long.
 Data: <X   X           > 58 D1 BA 00 58 AF BA 00 08 9A BA 00 0F 00 00 00
{1148} normal block at 0x00BABF10, 24 bytes long.
 Data: < c              > 90 63 BA 00 90 11 BB 00 08 9A BA 00 B0 B4 BA 00
{1147} normal block at 0x00BAB4F8, 24 bytes long.
 Data: <        T]      > D0 D5 03 00 C8 CB BA 00 54 5D BA 00 B0 B4 BA 00
{1146} normal block at 0x00BABFE8, 20 bytes long.
 Data: <        p       > F0 B0 BA 00 88 D0 03 00 70 BF BA 00 04 00 00 00
{1145} normal block at 0x00BABF70, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1143} normal block at 0x00BABEC0, 32 bytes long.
 Data: <        p       > 00 00 00 00 CD CD CD CD 70 BF BA 00 CD CD CD CD
{1142} normal block at 0x00BAB4A8, 32 bytes long.
 Data: <        TYPE_SFI> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 53 46 49
{1140} normal block at 0x00BABDB8, 20 bytes long.
 Data: <                > A0 CE BA 00 E8 AA BA 00 08 9A BA 00 0E 00 00 00
{1139} normal block at 0x00BABD70, 24 bytes long.
 Data: <     u          > 18 B0 03 00 B0 75 BA 00 08 9A BA 00 F0 BB BA 00
{1138} normal block at 0x00BABD28, 24 bytes long.
 Data: <        T]      > C0 CD 03 00 98 1A BB 00 54 5D BA 00 F0 BB BA 00
{1137} normal block at 0x00BABCE8, 20 bytes long.
 Data: <(               > 28 D7 03 00 80 CD 03 00 88 BC BA 00 04 00 00 00
{1136} normal block at 0x00BABC88, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1135} normal block at 0x00BABC38, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 88 BC BA 00 CD CD CD CD
{1134} normal block at 0x00BABBE8, 32 bytes long.
 Data: <        TYPE_ENU> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 45 4E 55
{1133} normal block at 0x00BABBA8, 20 bytes long.
 Data: <X               > 58 CC BA 00 A0 A8 BA 00 08 9A BA 00 0D 00 00 00
{1132} normal block at 0x00BABB60, 24 bytes long.
 Data: <H    A          > 48 89 BA 00 10 41 BB 00 08 9A BA 00 A8 B9 BA 00
{1131} normal block at 0x00BABB18, 24 bytes long.
 Data: <        T]      > A8 07 BB 00 10 90 03 00 54 5D BA 00 A8 B9 BA 00
{1130} normal block at 0x00BABA40, 20 bytes long.
 Data: < j              > B8 6A BA 00 90 B5 BA 00 A0 BA BA 00 04 00 00 00
{1129} normal block at 0x00BABAA0, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1127} normal block at 0x00BAB9F0, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD A0 BA BA 00 CD CD CD CD
{1126} normal block at 0x00BAB9A0, 32 bytes long.
 Data: <        TYPE_UIN> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 55 49 4E
{1125} normal block at 0x00BAB960, 20 bytes long.
 Data: <                > A0 A8 BA 00 90 A6 BA 00 08 9A BA 00 0C 00 00 00
{1124} normal block at 0x00BAB918, 24 bytes long.
 Data: <0               > 30 1C BB 00 D0 B1 03 00 08 9A BA 00 98 B7 BA 00
{1123} normal block at 0x00BAB8D0, 24 bytes long.
 Data: <        T]      > 90 AC 03 00 D0 04 BB 00 54 5D BA 00 98 B7 BA 00
{1122} normal block at 0x00BAB890, 20 bytes long.
 Data: <h    )  0       > 68 07 BB 00 18 29 BB 00 30 B8 BA 00 04 00 00 00
{1121} normal block at 0x00BAB830, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1120} normal block at 0x00BAB7E0, 32 bytes long.
 Data: <        0       > 00 00 00 00 CD CD CD CD 30 B8 BA 00 CD CD CD CD
{1119} normal block at 0x00BAB790, 32 bytes long.
 Data: <        TYPE_BYT> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 42 59 54
{1118} normal block at 0x0003C760, 20 bytes long.
 Data: <    H           > D8 B7 03 00 48 A4 BA 00 08 9A BA 00 0B 00 00 00
{1117} normal block at 0x0003C718, 24 bytes long.
 Data: <X    s          > 58 C5 03 00 C0 73 BA 00 08 9A BA 00 A0 AF BA 00
{1116} normal block at 0x0003C6D0, 24 bytes long.
 Data: < (  xs  T]      > D0 28 BB 00 78 73 BA 00 54 5D BA 00 A0 AF BA 00
{1114} normal block at 0x00BAB590, 20 bytes long.
 Data: <@   `{          > 40 BA BA 00 60 7B BA 00 F0 B5 BA 00 04 00 00 00
{1113} normal block at 0x00BAB5F0, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1111} normal block at 0x00BAB540, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD F0 B5 BA 00 CD CD CD CD
{1110} normal block at 0x00BAAF98, 32 bytes long.
 Data: <        TYPE_MES> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 4D 45 53
{1108} normal block at 0x00BAB468, 20 bytes long.
 Data: <     t          > 20 C8 BA 00 08 74 BA 00 08 9A BA 00 0A 00 00 00
{1107} normal block at 0x00BAB420, 24 bytes long.
 Data: <h   `9          > 68 D7 03 00 60 39 BB 00 08 9A BA 00 A0 B2 BA 00
{1106} normal block at 0x00BAB3D8, 24 bytes long.
 Data: <`   (-  T]      > 60 9B 03 00 28 2D BB 00 54 5D BA 00 A0 B2 BA 00
{1105} normal block at 0x00BAB398, 20 bytes long.
 Data: <        8       > 80 99 BA 00 90 89 BA 00 38 B3 BA 00 04 00 00 00
{1104} normal block at 0x00BAB338, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1103} normal block at 0x00BAB2E8, 32 bytes long.
 Data: <        8       > 00 00 00 00 CD CD CD CD 38 B3 BA 00 CD CD CD CD
{1102} normal block at 0x00BAB298, 32 bytes long.
 Data: <        TYPE_GRO> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 47 52 4F
{1101} normal block at 0x00BAB258, 20 bytes long.
 Data: <                > E8 AC BA 00 10 9F BA 00 08 9A BA 00 09 00 00 00
{1100} normal block at 0x00BAB210, 24 bytes long.
 Data: < u          X   > B0 75 BA 00 08 A2 BA 00 08 9A BA 00 58 B0 BA 00
{1099} normal block at 0x00BAB1C8, 24 bytes long.
 Data: <        T]  X   > 00 95 BA 00 80 F8 BA 00 54 5D BA 00 58 B0 BA 00
{1098} normal block at 0x00BAB0F0, 20 bytes long.
 Data: <Pc      P       > 50 63 BA 00 E8 BF BA 00 50 B1 BA 00 04 00 00 00
{1097} normal block at 0x00BAB150, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1095} normal block at 0x00BAB0A0, 32 bytes long.
 Data: <        P       > 00 00 00 00 CD CD CD CD 50 B1 BA 00 CD CD CD CD
{1094} normal block at 0x00BAB050, 32 bytes long.
 Data: <        TYPE_STR> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 53 54 52
{1093} normal block at 0x00BAB010, 20 bytes long.
 Data: <p    f          > 70 C2 BA 00 F0 66 03 00 08 9A BA 00 08 00 00 00
{1092} normal block at 0x0003C0A8, 24 bytes long.
 Data: <    P       H   > 20 95 03 00 50 E7 BA 00 08 9A BA 00 48 D4 03 00
{1091} normal block at 0x0003C060, 24 bytes long.
 Data: <h       T]  H   > 68 90 BA 00 18 D6 03 00 54 5D BA 00 48 D4 03 00
{1090} normal block at 0x0003C020, 20 bytes long.
 Data: <P               > 50 11 BB 00 C8 A1 BA 00 C0 BF 03 00 04 00 00 00
{1089} normal block at 0x0003BFC0, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1088} normal block at 0x0003BF70, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD C0 BF 03 00 CD CD CD CD
{1087} normal block at 0x0003D440, 32 bytes long.
 Data: <        TYPE_BOO> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 42 4F 4F
{1085} normal block at 0x00BAAF58, 20 bytes long.
 Data: <(               > 28 C0 BA 00 A0 CE BA 00 08 9A BA 00 07 00 00 00
{1084} normal block at 0x00BAAF10, 24 bytes long.
 Data: < d          0   > 18 64 BA 00 10 87 BA 00 08 9A BA 00 30 AB BA 00
{1082} normal block at 0x00BAACA0, 24 bytes long.
 Data: <`9  0   T]  0   > 60 39 BB 00 30 A5 03 00 54 5D BA 00 30 AB BA 00
{1081} normal block at 0x00BAABC8, 20 bytes long.
 Data: < t      (       > E8 74 BA 00 E8 BE 03 00 28 AC BA 00 04 00 00 00
{1080} normal block at 0x00BAAC28, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1078} normal block at 0x00BAAB78, 32 bytes long.
 Data: <        (       > 00 00 00 00 CD CD CD CD 28 AC BA 00 CD CD CD CD
{1077} normal block at 0x00BAAB28, 32 bytes long.
 Data: <        TYPE_FIX> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 46 49 58
{1076} normal block at 0x00BAAAE8, 20 bytes long.
 Data: <    X           > B8 BD BA 00 58 CC BA 00 08 9A BA 00 06 00 00 00
{1075} normal block at 0x00BAAAA0, 24 bytes long.
 Data: <     5          > E8 B4 03 00 B0 35 BB 00 08 9A BA 00 E8 A8 BA 00
{1074} normal block at 0x00BAAA58, 24 bytes long.
 Data: <P       T]      > 50 E7 BA 00 E0 C1 BA 00 54 5D BA 00 E8 A8 BA 00
{1073} normal block at 0x00BAA980, 20 bytes long.
 Data: <    (           > E8 BE 03 00 28 8E 03 00 E0 A9 BA 00 04 00 00 00
{1072} normal block at 0x00BAA9E0, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1070} normal block at 0x00BAA930, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD E0 A9 BA 00 CD CD CD CD
{1069} normal block at 0x00BAA8E0, 32 bytes long.
 Data: <        TYPE_FIX> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 46 49 58
{1068} normal block at 0x00BAA8A0, 20 bytes long.
 Data: <    `           > A8 BB BA 00 60 B9 BA 00 08 9A BA 00 05 00 00 00
{1067} normal block at 0x00BAA858, 24 bytes long.
 Data: <H   8           > 48 94 03 00 38 D9 BA 00 08 9A BA 00 D8 A6 BA 00
{1066} normal block at 0x00BAA810, 24 bytes long.
 Data: <    (u  T]      > C8 E5 BA 00 28 75 BA 00 54 5D BA 00 D8 A6 BA 00
{1065} normal block at 0x00BAA7D0, 20 bytes long.
 Data: <`    t  p       > 60 C8 BA 00 E8 74 BA 00 70 A7 BA 00 04 00 00 00
{1064} normal block at 0x00BAA770, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1063} normal block at 0x00BAA720, 32 bytes long.
 Data: <        p       > 00 00 00 00 CD CD CD CD 70 A7 BA 00 CD CD CD CD
{1062} normal block at 0x00BAA6D0, 32 bytes long.
 Data: <        TYPE_INT> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 49 4E 54
{1061} normal block at 0x00BAA690, 20 bytes long.
 Data: <`               > 60 B9 BA 00 D8 B7 03 00 08 9A BA 00 04 00 00 00
{1060} normal block at 0x00BAA648, 24 bytes long.
 Data: <                > 10 D1 BA 00 C0 DD BA 00 08 9A BA 00 90 A4 BA 00
{1059} normal block at 0x00BAA600, 24 bytes long.
 Data: < s   z  T]      > C0 73 BA 00 18 7A BA 00 54 5D BA 00 90 A4 BA 00
{1058} normal block at 0x00BAA528, 20 bytes long.
 Data: <X    d          > 58 F4 BA 00 F8 64 03 00 88 A5 BA 00 04 00 00 00
{1057} normal block at 0x00BAA588, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1055} normal block at 0x00BAA4D8, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 88 A5 BA 00 CD CD CD CD
{1054} normal block at 0x00BAA488, 32 bytes long.
 Data: <        TYPE_UIN> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 55 49 4E
{1053} normal block at 0x00BAA448, 20 bytes long.
 Data: <`               > 60 C7 03 00 D0 B5 03 00 08 9A BA 00 03 00 00 00
{1052} normal block at 0x00BAA400, 24 bytes long.
 Data: <            Pt  > 10 90 03 00 C0 99 BA 00 08 9A BA 00 50 74 BA 00
{1051} normal block at 0x00BAA3B8, 24 bytes long.
 Data: <     d  T]  Pt  > C0 DD BA 00 18 64 BA 00 54 5D BA 00 50 74 BA 00
{1050} normal block at 0x00BAA378, 20 bytes long.
 Data: <@               > 40 F8 BA 00 90 C6 03 00 18 A3 BA 00 04 00 00 00
{1049} normal block at 0x00BAA318, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1048} normal block at 0x00BA7498, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 18 A3 BA 00 CD CD CD CD
{1047} normal block at 0x00BA7448, 32 bytes long.
 Data: <        TYPE_INT> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 49 4E 54
{1046} normal block at 0x00BA7408, 20 bytes long.
 Data: <h   `           > 68 B4 BA 00 60 D6 03 00 08 9A BA 00 02 00 00 00
{1045} normal block at 0x00BA73C0, 24 bytes long.
 Data: <            X   > 18 C7 03 00 00 A6 BA 00 08 9A BA 00 58 9F BA 00
{1044} normal block at 0x00BA7378, 24 bytes long.
 Data: <    (   T]  X   > D0 C6 03 00 28 BF 03 00 54 5D BA 00 58 9F BA 00
{1043} normal block at 0x00BA7338, 20 bytes long.
 Data: <(    y   r      > 28 8E 03 00 D8 79 BA 00 D8 72 BA 00 04 00 00 00
{1042} normal block at 0x00BA72D8, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1041} normal block at 0x00BA7288, 32 bytes long.
 Data: <         r      > 00 00 00 00 CD CD CD CD D8 72 BA 00 CD CD CD CD
{1039} normal block at 0x00BA9F50, 32 bytes long.
 Data: <        TYPE_FLO> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 46 4C 4F
{1038} normal block at 0x00BA9F10, 20 bytes long.
 Data: <X               > 58 B2 BA 00 00 D4 03 00 08 9A BA 00 01 00 00 00
{1037} normal block at 0x00BA9EC8, 24 bytes long.
 Data: < ~              > B0 7E BA 00 F0 91 BA 00 08 9A BA 00 10 9D BA 00
{1036} normal block at 0x00BA9E80, 24 bytes long.
 Data: <     ,  T]      > B0 D7 BA 00 A0 2C BB 00 54 5D BA 00 10 9D BA 00
{1035} normal block at 0x00BA9DA8, 20 bytes long.
 Data: <p3  p1          > 70 33 BB 00 70 31 BB 00 08 9E BA 00 04 00 00 00
{1034} normal block at 0x00BA9E08, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1032} normal block at 0x00BA9D58, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 08 9E BA 00 CD CD CD CD
{1031} normal block at 0x00BA9D08, 32 bytes long.
 Data: <        TYPE_DOU> 00 00 00 00 CD CD CD CD 54 59 50 45 5F 44 4F 55
{1030} normal block at 0x00BA9B70, 360 bytes long.
 Data: <    X           > 08 9D BA 00 58 9D BA 00 01 00 00 00 08 9A BA 00
{1029} normal block at 0x00BA9B20, 32 bytes long.
 Data: <        Type    > 00 00 00 00 CD CD CD CD 54 79 70 65 00 CD CD CD
{1028} normal block at 0x00BA9AC0, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1027} normal block at 0x00BA9A70, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD C0 9A BA 00 CD CD CD CD
{1026} normal block at 0x00BA9A08, 56 bytes long.
 Data: <    p    Y      > 20 9B BA 00 70 9A BA 00 C8 59 BA 00 12 00 00 00
{1025} normal block at 0x00BA99C0, 24 bytes long.
 Data: <    h   T]  8   > 00 A4 BA 00 68 90 BA 00 54 5D BA 00 38 99 BA 00
{1024} normal block at 0x00BA9980, 20 bytes long.
 Data: <8               > 38 13 BB 00 98 B3 BA 00 D0 98 BA 00 02 00 00 00
{1023} normal block at 0x00BA9930, 32 bytes long.
 Data: <        options > 00 00 00 00 CD CD CD CD 6F 70 74 69 6F 6E 73 00
{1022} normal block at 0x00BA98D0, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1021} normal block at 0x00BA9880, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD D0 98 BA 00 CD CD CD CD
{1020} normal block at 0x00BA9838, 24 bytes long.
 Data: <        T]  (   > A8 1B BB 00 D8 D1 BA 00 54 5D BA 00 28 97 BA 00
{1019} normal block at 0x00BA97F8, 20 bytes long.
 Data: <    (           > 18 C5 03 00 28 8F 03 00 80 97 BA 00 02 00 00 00
{1018} normal block at 0x00BA9720, 32 bytes long.
 Data: <        default_> 00 00 00 00 CD CD CD CD 64 65 66 61 75 6C 74 5F
{1017} normal block at 0x00BA9780, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1015} normal block at 0x00BA96D0, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 80 97 BA 00 CD CD CD CD
{1014} normal block at 0x00BA9688, 24 bytes long.
 Data: <    8   T]      > 10 F4 BA 00 38 CD 03 00 54 5D BA 00 00 96 BA 00
{1013} normal block at 0x00BA9648, 20 bytes long.
 Data: <    0i          > B8 A8 03 00 30 69 BA 00 98 95 BA 00 02 00 00 00
{1012} normal block at 0x00BA95F8, 32 bytes long.
 Data: <        extendee> 00 00 00 00 CD CD CD CD 65 78 74 65 6E 64 65 65
{1011} normal block at 0x00BA9598, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1010} normal block at 0x00BA9548, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 98 95 BA 00 CD CD CD CD
{1009} normal block at 0x00BA9500, 24 bytes long.
 Data: <        T]  x   > 98 1A BB 00 C8 B1 BA 00 54 5D BA 00 78 94 BA 00
{1008} normal block at 0x00BA94C0, 20 bytes long.
 Data: <                > 08 89 BA 00 C0 B3 03 00 10 94 BA 00 02 00 00 00
{1007} normal block at 0x00BA9470, 32 bytes long.
 Data: <        type_nam> 00 00 00 00 CD CD CD CD 74 79 70 65 5F 6E 61 6D
{1006} normal block at 0x00BA9410, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1005} normal block at 0x00BA93C0, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 10 94 BA 00 CD CD CD CD
{1004} normal block at 0x00BA9378, 24 bytes long.
 Data: <        T]      > 10 87 BA 00 C0 81 BA 00 54 5D BA 00 F0 92 BA 00
{1003} normal block at 0x00BA9338, 20 bytes long.
 Data: <    8           > 20 15 BB 00 38 CD BA 00 88 92 BA 00 02 00 00 00
{1002} normal block at 0x00BA92E8, 32 bytes long.
 Data: <        type    > 00 00 00 00 CD CD CD CD 74 79 70 65 00 CD CD CD
{1001} normal block at 0x00BA9288, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{1000} normal block at 0x00BA9238, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 88 92 BA 00 CD CD CD CD
{999} normal block at 0x00BA91F0, 24 bytes long.
 Data: <     o  T]  h   > C8 9E BA 00 B8 6F BA 00 54 5D BA 00 68 91 BA 00
{998} normal block at 0x00BA91B0, 20 bytes long.
 Data: <(    q          > 28 8B 03 00 00 71 BA 00 00 91 BA 00 02 00 00 00
{997} normal block at 0x00BA9160, 32 bytes long.
 Data: <        label   > 00 00 00 00 CD CD CD CD 6C 61 62 65 6C 00 CD CD
{996} normal block at 0x00BA9100, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{995} normal block at 0x00BA90B0, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 00 91 BA 00 CD CD CD CD
{994} normal block at 0x00BA9068, 24 bytes long.
 Data: <    `   T]      > C0 99 BA 00 60 C0 03 00 54 5D BA 00 D8 8F BA 00
{993} normal block at 0x00BA9028, 20 bytes long.
 Data: <p5  X   p       > 70 35 BB 00 58 90 03 00 70 8F BA 00 02 00 00 00
{992} normal block at 0x00BA8FD0, 32 bytes long.
 Data: <        number  > 00 00 00 00 CD CD CD CD 6E 75 6D 62 65 72 00 CD
{991} normal block at 0x00BA8F70, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{990} normal block at 0x00BA8F20, 32 bytes long.
 Data: <        p       > 00 00 00 00 CD CD CD CD 70 8F BA 00 CD CD CD CD
{989} normal block at 0x00BA8ED8, 24 bytes long.
 Data: <X       T]  P   > 58 A1 03 00 B0 BD 03 00 54 5D BA 00 50 8E BA 00
{988} normal block at 0x00BA8E98, 20 bytes long.
 Data: <    P           > B8 C5 BA 00 50 AC 03 00 E8 8D BA 00 02 00 00 00
{987} normal block at 0x00BA8E48, 32 bytes long.
 Data: <        name    > 00 00 00 00 CD CD CD CD 6E 61 6D 65 00 CD CD CD
{986} normal block at 0x00BA8DE8, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{985} normal block at 0x00BA8D98, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD E8 8D BA 00 CD CD CD CD
{984} normal block at 0x00BA8B68, 512 bytes long.
 Data: <H        Y      > 48 8E BA 00 98 8D BA 00 C8 59 BA 00 01 00 00 00
{983} normal block at 0x00BA8B18, 32 bytes long.
 Data: <FieldDescriptorP> 46 69 65 6C 64 44 65 73 63 72 69 70 74 6F 72 50
{982} normal block at 0x00BA8A68, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 18 8B BA 00 CD CD CD CD
{981} normal block at 0x00BA8AB8, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{979} normal block at 0x00BA8A18, 32 bytes long.
 Data: <            le.p> 00 00 00 00 CD CD CD CD B8 8A BA 00 6C 65 2E 70
{978} normal block at 0x00BA89D0, 24 bytes long.
 Data: < z       Y   v  > 18 7A BA 00 E0 99 03 00 C8 59 BA 00 A0 76 BA 00
{977} normal block at 0x00BA8990, 20 bytes long.
 Data: <        Hv      > 98 B3 BA 00 B8 A8 03 00 48 76 BA 00 01 00 00 00
{976} normal block at 0x00BA8948, 24 bytes long.
 Data: < 3  `    ]  P   > B0 33 BB 00 60 BB BA 00 18 5D BA 00 50 84 BA 00
{975} normal block at 0x00BA8908, 20 bytes long.
 Data: <                > 80 81 BA 00 C0 94 BA 00 98 84 BA 00 01 00 00 00
{974} normal block at 0x00BA88C0, 24 bytes long.
 Data: <     ~          > 08 AC 03 00 B0 7E BA 00 90 83 BA 00 B0 87 BA 00
{973} normal block at 0x00BA8880, 20 bytes long.
 Data: <(               > 28 FA BA 00 80 A3 03 00 08 88 BA 00 02 00 00 00
{972} normal block at 0x00BA87A8, 32 bytes long.
 Data: <        end     > 00 00 00 00 CD CD CD CD 65 6E 64 00 CD CD CD CD
{971} normal block at 0x00BA8808, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{969} normal block at 0x00BA8758, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 08 88 BA 00 CD CD CD CD
{968} normal block at 0x00BA8710, 24 bytes long.
 Data: <    x           > 10 AF BA 00 78 93 BA 00 90 83 BA 00 00 86 BA 00
{967} normal block at 0x00BA86D0, 20 bytes long.
 Data: <        X       > F0 1B BB 00 A0 D6 03 00 58 86 BA 00 02 00 00 00
{966} normal block at 0x00BA85F8, 32 bytes long.
 Data: <        start   > 00 00 00 00 CD CD CD CD 73 74 61 72 74 00 CD CD
{965} normal block at 0x00BA8658, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{963} normal block at 0x00BA85A8, 32 bytes long.
 Data: <        X       > 00 00 00 00 CD CD CD CD 58 86 BA 00 CD CD CD CD
{962} normal block at 0x00BA84F8, 128 bytes long.
 Data: <         Y      > F8 85 BA 00 A8 85 BA 00 C8 59 BA 00 01 00 00 00
{961} normal block at 0x00BA8448, 32 bytes long.
 Data: <        Extensio> 00 00 00 00 CD CD CD CD 45 78 74 65 6E 73 69 6F
{960} normal block at 0x00BA8498, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{958} normal block at 0x00BA83F8, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 98 84 BA 00 CD CD CD CD
{957} normal block at 0x00BA8390, 60 bytes long.
 Data: <H        Y   ]  > 48 84 BA 00 F8 83 BA 00 C8 59 BA 00 18 5D BA 00
{956} normal block at 0x00BA8348, 24 bytes long.
 Data: <         ]  `   > A0 C8 BA 00 90 B7 03 00 18 5D BA 00 60 82 BA 00
{955} normal block at 0x00BA8308, 20 bytes long.
 Data: <    xo          > F0 CF BA 00 78 6F BA 00 A8 82 BA 00 02 00 00 00
{954} normal block at 0x00BA8258, 32 bytes long.
 Data: <        options > 00 00 00 00 CD CD CD CD 6F 70 74 69 6F 6E 73 00
{953} normal block at 0x00BA82A8, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{951} normal block at 0x00BA8208, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD A8 82 BA 00 CD CD CD CD
{950} normal block at 0x00BA81C0, 24 bytes long.
 Data: <x   `d   ]      > 78 93 BA 00 60 64 03 00 18 5D BA 00 D8 80 BA 00
{949} normal block at 0x00BA8180, 20 bytes long.
 Data: <                > E8 D5 BA 00 08 89 BA 00 20 81 BA 00 02 00 00 00
{948} normal block at 0x00BA80D0, 32 bytes long.
 Data: <        extensio> 00 00 00 00 CD CD CD CD 65 78 74 65 6E 73 69 6F
{947} normal block at 0x00BA8120, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{945} normal block at 0x00BA8080, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 20 81 BA 00 CD CD CD CD
{944} normal block at 0x00BA8038, 24 bytes long.
 Data: <`d  (    ]  P   > 60 64 03 00 28 D6 BA 00 18 5D BA 00 50 7F BA 00
{943} normal block at 0x00BA7FF8, 20 bytes long.
 Data: < |  p           > E8 7C BA 00 70 BD 03 00 98 7F BA 00 02 00 00 00
{942} normal block at 0x00BA7F48, 32 bytes long.
 Data: <        enum_typ> 00 00 00 00 CD CD CD CD 65 6E 75 6D 5F 74 79 70
{941} normal block at 0x00BA7F98, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{939} normal block at 0x00BA7EF8, 32 bytes long.
 Data: <                > 00 00 00 00 CD CD CD CD 98 7F BA 00 CD CD CD CD
{938} normal block at 0x00BA7EB0, 24 bytes long.
 Data: <         ]   }  > C0 88 BA 00 C8 9E BA 00 18 5D BA 00 C8 7D BA 00
{937} normal block at 0x00BA7E70, 20 bytes long.
 Data: < d       ~      > F8 64 03 00 F0 07 BB 00 10 7E BA 00 02 00 00 00
{936} normal block at 0x00BA7DC0, 32 bytes long.
 Data: <        nested_t> 00 00 00 00 CD CD CD CD 6E 65 73 74 65 64 5F 74
{935} normal block at 0x00BA7E10, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{933} normal block at 0x00BA7D70, 32 bytes long.
 Data: <         ~      > 00 00 00 00 CD CD CD CD 10 7E BA 00 CD CD CD CD
{932} normal block at 0x00BA7D28, 24 bytes long.
 Data: <`        ]  @|  > 60 D2 BA 00 C8 E5 BA 00 18 5D BA 00 40 7C BA 00
{931} normal block at 0x00BA7CE8, 20 bytes long.
 Data: <         |      > 08 C1 BA 00 F8 7F BA 00 88 7C BA 00 02 00 00 00
{930} normal block at 0x00BA7C38, 32 bytes long.
 Data: <        extensio> 00 00 00 00 CD CD CD CD 65 78 74 65 6E 73 69 6F
{929} normal block at 0x00BA7C88, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{927} normal block at 0x00BA7BE8, 32 bytes long.
 Data: <         |      > 00 00 00 00 CD CD CD CD 88 7C BA 00 CD CD CD CD
{926} normal block at 0x00BA7BA0, 24 bytes long.
 Data: <(    A   ]   z  > 28 D6 BA 00 98 41 BB 00 18 5D BA 00 B8 7A BA 00
{925} normal block at 0x00BA7B60, 20 bytes long.
 Data: <    @l   {      > 90 B5 BA 00 40 6C BA 00 00 7B BA 00 02 00 00 00
{924} normal block at 0x00BA7AB0, 32 bytes long.
 Data: <        field   > 00 00 00 00 CD CD CD CD 66 69 65 6C 64 00 CD CD
{923} normal block at 0x00BA7B00, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{921} normal block at 0x00BA7A60, 32 bytes long.
 Data: <         {      > 00 00 00 00 CD CD CD CD 00 7B BA 00 CD CD CD CD
{920} normal block at 0x00BA7A18, 24 bytes long.
 Data: <         ]  0y  > 00 A6 BA 00 D0 89 BA 00 18 5D BA 00 30 79 BA 00
{919} normal block at 0x00BA79D8, 20 bytes long.
 Data: <8s  (   xy      > 38 73 BA 00 28 ED BA 00 78 79 BA 00 02 00 00 00
{918} normal block at 0x00BA7928, 32 bytes long.
 Data: <        name    > 00 00 00 00 CD CD CD CD 6E 61 6D 65 00 CD CD CD
{917} normal block at 0x00BA7978, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{915} normal block at 0x00BA78D8, 32 bytes long.
 Data: <        xy      > 00 00 00 00 CD CD CD CD 78 79 BA 00 CD CD CD CD
{914} normal block at 0x00BA76E8, 448 bytes long.
 Data: <(y   x   Y      > 28 79 BA 00 D8 78 BA 00 C8 59 BA 00 01 00 00 00
{913} normal block at 0x00BA7698, 32 bytes long.
 Data: <        Descript> 00 00 00 00 CD CD CD CD 44 65 73 63 72 69 70 74
{912} normal block at 0x00BA7648, 32 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{911} normal block at 0x00BA75F8, 32 bytes long.
 Data: <        Hv  le.p> 00 00 00 00 CD CD CD CD 48 76 BA 00 6C 65 2E 70
{910} normal block at 0x00BA75B0, 24 bytes long.
 Data: <p        Y  `e  > 70 BD BA 00 10 B2 BA 00 C8 59 BA 00 60 65 BA 00
{909} normal block at 0x00BA7570, 20 bytes long.
 Data: <         e      > 00 A8 03 00 F0 CF BA 00 00 65 BA 00 01 00 00 00
{908} normal block at 0x00BA7528, 24 bytes long.
 Data: <         \      > 10 A8 BA 00 90 AC 03 00 DC 5C BA 00 98 C9 03 00
{907} normal block at 0x00BA74E8, 20 bytes long.
 Data: <        0       > D0 A7 BA 00 C8 AB BA 00 30 C9 03 00 02 00 00 00
{906} normal block at 0x0003C990, 32 bytes long.
 Data: <        options > 00 00 00 00 CD CD CD CD 6F 70 74 69 6F 6E 73 00
{905} normal block at 0x0003C930, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{904} normal block at 0x0003C8E0, 32 bytes long.
 Data: <        0       > 00 00 00 00 CD CD CD CD 30 C9 03 00 CD CD CD CD
{903} normal block at 0x0003C898, 24 bytes long.
 Data: <         \  @r  > D0 04 BB 00 10 D1 BA 00 DC 5C BA 00 40 72 BA 00
{902} normal block at 0x0003C858, 20 bytes long.
 Data: <         q      > C8 A1 BA 00 B8 E0 BA 00 D8 71 BA 00 02 00 00 00
{900} normal block at 0x00BA7238, 32 bytes long.
 Data: <        extensio> 00 00 00 00 CD CD CD CD 65 78 74 65 6E 73 69 6F
{899} normal block at 0x00BA71D8, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{898} normal block at 0x00BA7188, 32 bytes long.
 Data: <         q      > 00 00 00 00 CD CD CD CD D8 71 BA 00 CD CD CD CD
{897} normal block at 0x00BA7140, 24 bytes long.
 Data: < >   3   \   p  > D8 3E BB 00 B0 33 BB 00 DC 5C BA 00 B8 70 BA 00
{896} normal block at 0x00BA7100, 20 bytes long.
 Data: <    8   Pp      > B0 91 BA 00 38 13 BB 00 50 70 BA 00 02 00 00 00
{895} normal block at 0x00BA70B0, 32 bytes long.
 Data: <        service > 00 00 00 00 CD CD CD CD 73 65 72 76 69 63 65 00
{894} normal block at 0x00BA7050, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{893} normal block at 0x00BA7000, 32 bytes long.
 Data: <        Pp      > 00 00 00 00 CD CD CD CD 50 70 BA 00 CD CD CD CD
{892} normal block at 0x00BA6FB8, 24 bytes long.
 Data: <    X    \  0o  > F0 91 BA 00 58 A1 03 00 DC 5C BA 00 30 6F BA 00
{891} normal block at 0x00BA6F78, 20 bytes long.
 Data: <         n      > 08 83 BA 00 98 D1 BA 00 C8 6E BA 00 02 00 00 00
{890} normal block at 0x00BA6F28, 32 bytes long.
 Data: <        enum_typ> 00 00 00 00 CD CD CD CD 65 6E 75 6D 5F 74 79 70
{889} normal block at 0x00BA6EC8, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{888} normal block at 0x00BA6E78, 32 bytes long.
 Data: <         n      > 00 00 00 00 CD CD CD CD C8 6E BA 00 CD CD CD CD
{887} normal block at 0x00BA6E30, 24 bytes long.
 Data: <    X    \   m  > C0 D9 BA 00 58 C5 03 00 DC 5C BA 00 20 6D BA 00
{886} normal block at 0x00BA6DF0, 20 bytes long.
 Data: <        xm      > C0 A9 03 00 F0 1B BB 00 78 6D BA 00 02 00 00 00
{885} normal block at 0x00BA6D18, 32 bytes long.
 Data: <        message_> 00 00 00 00 CD CD CD CD 6D 65 73 73 61 67 65 5F
{884} normal block at 0x00BA6D78, 71 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{882} normal block at 0x00BA6CC8, 32 bytes long.
 Data: <        xm      > 00 00 00 00 CD CD CD CD 78 6D BA 00 CD CD CD CD
{881} normal block at 0x00BA6C80, 24 bytes long.
 Data: <         \   k  > C8 CB BA 00 F8 A8 03 00 DC 5C BA 00 F8 6B BA 00
{880} normal block at 0x00BA6C40, 20 bytes long.
 Data: <`{  h    k      > 60 7B BA 00 68 1B BB 00 90 6B BA 00 02 00 00 00
{879} normal block at 0x00BA6BF0, 32 bytes long.
 Data: <        dependen> 00 00 00 00 CD CD CD CD 64 65 70 65 6E 64 65 6E
{878} normal block at 0x00BA6B90, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{877} normal block at 0x00BA6B40, 32 bytes long.
 Data: <         k      > 00 00 00 00 CD CD CD CD 90 6B BA 00 CD CD CD CD
{876} normal block at 0x00BA6AF8, 24 bytes long.
 Data: <`        \  pj  > 60 9D 03 00 18 B2 03 00 DC 5C BA 00 70 6A BA 00
{875} normal block at 0x00BA6AB8, 20 bytes long.
 Data: <    @    j      > 10 B6 03 00 40 BA BA 00 08 6A BA 00 02 00 00 00
{874} normal block at 0x00BA6A68, 32 bytes long.
 Data: <        package > 00 00 00 00 CD CD CD CD 70 61 63 6B 61 67 65 00
{873} normal block at 0x00BA6A08, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{872} normal block at 0x00BA69B8, 32 bytes long.
 Data: <         j      > 00 00 00 00 CD CD CD CD 08 6A BA 00 CD CD CD CD
{871} normal block at 0x00BA6970, 24 bytes long.
 Data: <         \   h  > 10 CE BA 00 E0 D6 03 00 DC 5C BA 00 E8 68 BA 00
{870} normal block at 0x00BA6930, 20 bytes long.
 Data: <H   H    h      > 48 96 BA 00 48 18 BB 00 80 68 BA 00 02 00 00 00
{869} normal block at 0x00BA68E0, 32 bytes long.
 Data: <        name    > 00 00 00 00 CD CD CD CD 6E 61 6D 65 00 CD CD CD
{868} normal block at 0x00BA6880, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{867} normal block at 0x0003C400, 32 bytes long.
 Data: <         h      > 00 00 00 00 CD CD CD CD 80 68 BA 00 CD CD CD CD
{865} normal block at 0x00BA65B0, 512 bytes long.
 Data: < h       Y      > E0 68 BA 00 00 C4 03 00 C8 59 BA 00 01 00 00 00
{864} normal block at 0x00BA6560, 32 bytes long.
 Data: <FileDescriptorPr> 46 69 6C 65 44 65 73 63 72 69 70 74 6F 72 50 72
{863} normal block at 0x00BA64B0, 32 bytes long.
 Data: <        `e      > 00 00 00 00 CD CD CD CD 60 65 BA 00 CD CD CD CD
{862} normal block at 0x00BA6500, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{860} normal block at 0x00BA6460, 32 bytes long.
 Data: <         e  le.p> 00 00 00 00 CD CD CD CD 00 65 BA 00 6C 65 2E 70
{859} normal block at 0x00BA6418, 24 bytes long.
 Data: <         Y   a  > B8 A3 BA 00 10 AF BA 00 C8 59 BA 00 90 61 BA 00
{858} normal block at 0x00BA63D8, 20 bytes long.
 Data: <H@      0a      > 48 40 BB 00 08 C1 BA 00 30 61 BA 00 01 00 00 00
{857} normal block at 0x00BA6390, 24 bytes long.
 Data: <         \   c  > D0 90 03 00 10 BF BA 00 A0 5C BA 00 08 63 BA 00
{856} normal block at 0x00BA6350, 20 bytes long.
 Data: <         b      > 80 A9 03 00 F0 B0 BA 00 A0 62 BA 00 02 00 00 00
{855} normal block at 0x00BA6300, 32 bytes long.
 Data: <        file    > 00 00 00 00 CD CD CD CD 66 69 6C 65 00 CD CD CD
{854} normal block at 0x00BA62A0, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{853} normal block at 0x00BA6250, 32 bytes long.
 Data: <         b      > 00 00 00 00 CD CD CD CD A0 62 BA 00 CD CD CD CD
{852} normal block at 0x00BA61E0, 64 bytes long.
 Data: < c  Pb   Y      > 00 63 BA 00 50 62 BA 00 C8 59 BA 00 01 00 00 00
{851} normal block at 0x00BA6190, 32 bytes long.
 Data: <FileDescriptorSe> 46 69 6C 65 44 65 73 63 72 69 70 74 6F 72 53 65
{850} normal block at 0x00BA60E0, 32 bytes long.
 Data: <         a      > 00 00 00 00 CD CD CD CD 90 61 BA 00 CD CD CD CD
{849} normal block at 0x00BA6130, 48 bytes long.
 Data: <google.protobuf.> 67 6F 6F 67 6C 65 2E 70 72 6F 74 6F 62 75 66 2E
{847} normal block at 0x00BA6090, 32 bytes long.
 Data: <        0a  le.p> 00 00 00 00 CD CD CD CD 30 61 BA 00 6C 65 2E 70
{846} normal block at 0x00BA5CA0, 960 bytes long.
 Data: < `   `   Y      > E0 60 BA 00 90 60 BA 00 C8 59 BA 00 00 00 00 00
{844} normal block at 0x00BA5C00, 20 bytes long.
 Data: <    `    [      > 20 E9 BA 00 60 0D BB 00 B8 5B BA 00 07 00 00 00
{843} normal block at 0x00BA5BB0, 32 bytes long.


Oleg Smolsky

unread,
Mar 27, 2009, 5:21:24 PM3/27/09
to Kenton Varda, Protocol Buffers
I had seen that thread. IMO they are leaks, as the memory is still allocated after main() has returned and the CRT destroyed statically allocated objects. Isn't that the definition of a leak?

According to the thread, there is a body of code at Google that lets the main thread exit without stopping workers. If so, I want to try adding an generation option (or function?) to do this cleanup, as I stop workers in my apps.

My question is - where do you keep all these little buffers? I've tried instrumenting the code with MS debug "new",  but couldn't get it to work with protobuf due to several different ways "new" is invoked.

Thanks,
Oleg.

Kenton Varda

unread,
Mar 27, 2009, 5:34:59 PM3/27/09
to Oleg Smolsky, Protocol Buffers
On Fri, Mar 27, 2009 at 2:21 PM, Oleg Smolsky <ol...@smolsky.net> wrote:
I had seen that thread. IMO they are leaks, as the memory is still allocated after main() has returned and the CRT destroyed statically allocated objects. Isn't that the definition of a leak?

I guess in Google we define a "leak" as memory that is allocated but no longer reachable.  Pointers in static space are always considered reachable.
 
According to the thread, there is a body of code at Google that lets the main thread exit without stopping workers. If so, I want to try adding an generation option (or function?) to do this cleanup, as I stop workers in my apps.

I was thinking that instead of an option, maybe we should just make this a difference between the google-internal code and open source code.  Personally I believe that people should be required to clean up but I've been shouted down by other Google engineers.
 
My question is - where do you keep all these little buffers? I've tried instrumenting the code with MS debug "new",  but couldn't get it to work with protobuf due to several different ways "new" is invoked.

I dunno.  Did you make sure that DescriptorPool::generated_pool() is deleted?

Kenton Varda

unread,
Mar 27, 2009, 5:36:31 PM3/27/09
to Oleg Smolsky, Protocol Buffers
BTW, the only way libprotobuf allocates memory is via operator new, though it sometimes calls it directly like:

  void* buffer = operator new(size);

So overriding operator new to collect stack traces should work.

Oleg Smolsky

unread,
Mar 27, 2009, 6:19:10 PM3/27/09
to Kenton Varda, Protocol Buffers
Hey there,


On 3/27/2009 2:34 PM, Kenton Varda wrote:
My question is - where do you keep all these little buffers? I've tried instrumenting the code with MS debug "new",  but couldn't get it to work with protobuf due to several different ways "new" is invoked.

I dunno.  Did you make sure that DescriptorPool::generated_pool() is deleted?
That one comes down to a static local inside a method and hence should be cleaned up by the CRT.


BTW, the only way libprotobuf allocates memory is via operator new, though it sometimes calls it directly like:

  void* buffer = operator new(size);

So overriding operator new to collect stack traces should work.
Yes, and my macro for replacing "new" breaks those. I've replaced that allocator with malloc()/free() and have information about roughly 1/3rd of allocations.

Weird... DescriptorPool is destroyed, and so it DescriptorPool::Tables which frees its 52 outstanding allocations...

Oleg.
log2.txt

Oleg Smolsky

unread,
Mar 27, 2009, 7:30:22 PM3/27/09
to Protocol Buffers
On 3/27/2009 3:19 PM, Oleg Smolsky wrote:
Weird... DescriptorPool is destroyed, and so it DescriptorPool::Tables which frees its 52 outstanding allocations...
OK, I made a silly mistake - I was dumping allocations before static destructors were executed. Oops.

I've just verified the test and the code - the merged/updated patch that I posted at the beginning of the thread does address all leaks.

So, the next question is - would it ever make its way into your SVN? If so, do you see a need for a switch of some kind?

Kind regards,
Oleg.

Kenton Varda

unread,
Mar 27, 2009, 10:07:13 PM3/27/09
to Oleg Smolsky, Protocol Buffers
On Fri, Mar 27, 2009 at 4:30 PM, Oleg Smolsky <ol...@smolsky.net> wrote:
So, the next question is - would it ever make its way into your SVN? If so, do you see a need for a switch of some kind?

Yeah, reviewing and committing this is on my todo list for the next release.

Kenton Varda

unread,
May 14, 2009, 4:08:25 PM5/14/09
to Oleg Smolsky, Protocol Buffers
FYI:  This is fixed in the 2.1.0 release (you can call google::protobuf::ShutdownProtobufLibrary() to clean up all "leaks").

Oleg Smolsky

unread,
May 14, 2009, 7:05:00 PM5/14/09
to Kenton Varda, Protocol Buffers
Hi Kenton, thank you for letting me know. I've just got and built this version of protoc/libprotobuf and run my unit test - there are still a few leaks according to VS2008. So, there is a difference between v2.1.0 and the destructor-based patch that I had cleaned up for v2.0.3.

The output is below. Do you happen to recognize the 24 byte structure that starts with a pointer and then contains 0xffffffff? :)

Kind regards,
Oleg.

Detected memory leaks!
Dumping objects ->
{1438} normal block at 0x00D72620, 24 bytes long.
 Data: <h (             > 68 A6 28 00 FF FF FF FF 00 00 00 00 00 00 00 00
{1437} normal block at 0x00D725C8, 24 bytes long.
 Data: <0 (             > 30 A6 28 00 FF FF FF FF 00 00 00 00 00 00 00 00
{946} normal block at 0x00246AB0, 24 bytes long.
 Data: <  (             > A0 A1 28 00 FF FF FF FF 00 00 00 00 00 00 00 00
{945} normal block at 0x00249CD0, 24 bytes long.
 Data: <h (             > 68 A1 28 00 FF FF FF FF 00 00 00 00 00 00 00 00
{934} normal block at 0x00249840, 24 bytes long.
 Data: <0 (             > 30 A1 28 00 FF FF FF FF 00 00 00 00 00 00 00 00
{812} normal block at 0x002469B0, 24 bytes long.
 Data: <x (             > 78 9D 28 00 FF FF FF FF 00 00 00 00 00 00 00 00
{685} normal block at 0x00D71FB0, 24 bytes long.
 Data: <  (             > D0 9C 28 00 FF FF FF FF 00 00 00 00 00 00 00 00
{667} normal block at 0x00D71608, 24 bytes long.
 Data: <` (             > 60 9C 28 00 FF FF FF FF 00 00 00 00 00 00 00 00
{666} normal block at 0x00D715B0, 24 bytes long.
 Data: <( (             > 28 9C 28 00 FF FF FF FF 00 00 00 00 00 00 00 00
{663} normal block at 0x00D713D8, 24 bytes long.
 Data: <Pu(             > 50 75 28 00 FF FF FF FF 00 00 00 00 00 00 00 00
{148} normal block at 0x00245820, 24 bytes long.
 Data: <pt(             > 70 74 28 00 FF FF FF FF 00 00 00 00 00 00 00 00
{147} normal block at 0x002457C8, 24 bytes long.
 Data: <8t(             > 38 74 28 00 FF FF FF FF 00 00 00 00 00 00 00 00
{136} normal block at 0x00245290, 24 bytes long.
 Data: < t(             > 00 74 28 00 FF FF FF FF 00 00 00 00 00 00 00 00
{135} normal block at 0x00245238, 24 bytes long.
 Data: < s(             > C8 73 28 00 FF FF FF FF 00 00 00 00 00 00 00 00
Object dump complete.

Kenton Varda

unread,
May 15, 2009, 6:58:10 PM5/15/09
to Oleg Smolsky, Protocol Buffers
Can you get stack traces for these?

I ran the whole protobuf test suite with the google-perftools leak checker and didn't detect any leaks.

Oleg Smolsky

unread,
May 15, 2009, 8:15:05 PM5/15/09
to Kenton Varda, Protocol Buffers
I cannot get stack traces with VS. I can add a macro to every compilation unit that wraps "new" so that __FILE__ and __LINE__ are recorded. It's quite a bit of work to re-arrange your header files, though. Would that suffice? Alternatively, do you happen to have a 3rd party tracker like Bounds Checker?

Oleg.

Oleg Smolsky

unread,
May 15, 2009, 8:28:41 PM5/15/09
to Kenton Varda, Protocol Buffers
Actually, I got lucky - the culprit was not in headers. It's this line
in once.cc:

if (internal_ == NULL) internal_ = new GoogleOnceInternal;

The log is as follows:

Detected memory leaks!
Dumping objects ->

..\src\google\protobuf\stubs\once.cc(65) : {1438} client block at
0x00B92620, subtype 0, 24 bytes long.
Data: <h - > 68 A6 2D 00 FF FF FF FF 00 00 00 00 00 00 00 00
..\src\google\protobuf\stubs\once.cc(65) : {1437} client block at
0x00B925C8, subtype 0, 24 bytes long.
Data: <0 - > 30 A6 2D 00 FF FF FF FF 00 00 00 00 00 00 00 00
..\src\google\protobuf\stubs\once.cc(65) : {946} client block at
0x00246AB0, subtype 0, 24 bytes long.
Data: < - > A0 A1 2D 00 FF FF FF FF 00 00 00 00 00 00 00 00
..\src\google\protobuf\stubs\once.cc(65) : {945} client block at
0x00249CD0, subtype 0, 24 bytes long.
Data: <h - > 68 A1 2D 00 FF FF FF FF 00 00 00 00 00 00 00 00
..\src\google\protobuf\stubs\once.cc(65) : {934} client block at
0x00249840, subtype 0, 24 bytes long.
Data: <0 - > 30 A1 2D 00 FF FF FF FF 00 00 00 00 00 00 00 00
..\src\google\protobuf\stubs\once.cc(65) : {812} client block at
0x002469B0, subtype 0, 24 bytes long.
Data: <x - > 78 9D 2D 00 FF FF FF FF 00 00 00 00 00 00 00 00
..\src\google\protobuf\stubs\once.cc(73) : {685} client block at
0x00B91FB0, subtype 0, 24 bytes long.
Data: < - > D0 9C 2D 00 FF FF FF FF 00 00 00 00 00 00 00 00
..\src\google\protobuf\stubs\once.cc(73) : {667} client block at
0x00B91608, subtype 0, 24 bytes long.
Data: <` - > 60 9C 2D 00 FF FF FF FF 00 00 00 00 00 00 00 00
..\src\google\protobuf\stubs\once.cc(65) : {666} client block at
0x00B915B0, subtype 0, 24 bytes long.
Data: <( - > 28 9C 2D 00 FF FF FF FF 00 00 00 00 00 00 00 00
..\src\google\protobuf\stubs\once.cc(65) : {663} client block at
0x00B913D8, subtype 0, 24 bytes long.
Data: <Pu- > 50 75 2D 00 FF FF FF FF 00 00 00 00 00 00 00 00
..\src\google\protobuf\stubs\once.cc(65) : {148} client block at
0x00245820, subtype 0, 24 bytes long.
Data: <pt- > 70 74 2D 00 FF FF FF FF 00 00 00 00 00 00 00 00
..\src\google\protobuf\stubs\once.cc(65) : {147} client block at
0x002457C8, subtype 0, 24 bytes long.
Data: <8t- > 38 74 2D 00 FF FF FF FF 00 00 00 00 00 00 00 00
..\src\google\protobuf\stubs\once.cc(65) : {136} client block at
0x00245290, subtype 0, 24 bytes long.
Data: < t- > 00 74 2D 00 FF FF FF FF 00 00 00 00 00 00 00 00
..\src\google\protobuf\stubs\once.cc(65) : {135} client block at
0x00245238, subtype 0, 24 bytes long.
Data: < s- > C8 73 2D 00 FF FF FF FF 00 00 00 00 00 00 00 00
Object dump complete.

Oleg Smolsky

unread,
May 15, 2009, 8:41:57 PM5/15/09
to Kenton Varda, Protocol Buffers
...sent the message too quickly.

So, the fix is trivial, yet it comes down to the same very discussion as
the original issue. In this case it's cleaning up after the cleaners :)
It's a global pointer that is initialized when global constructors
(a.k.a. static initializers) run. The pointer to the heap block is never
lost, but it is never deallocated either. The fix is trivial - all that
is needed is the destructor. This, of course, assumes that the main
thread would exit only after all additional workers are dead.

Oleg.

Kenton Varda

unread,
May 15, 2009, 9:56:01 PM5/15/09
to Oleg Smolsky, Protocol Buffers
Ugh, I missed that one because I was doing my testing on Linux and that is in Windows-only code.

Ideally I'd prefer if each GoogleOnce object registered a shutdown function for itself.  But I suppose that could create a deadlock because the shutdown function registry is once-initialized.  So, sure, use destructors.  Do you want to send me a patch since you're set up to test it?

Oleg Smolsky

unread,
May 15, 2009, 10:23:37 PM5/15/09
to Kenton Varda, Protocol Buffers
Here we go.
leak1.patch

Kenton Varda

unread,
May 18, 2009, 2:39:15 PM5/18/09
to Oleg Smolsky, Protocol Buffers
Committed as rev 146.
Reply all
Reply to author
Forward
0 new messages