
    ri?                         S r SrSSKJr  SSKJr  SSKJr  SSKJr	  SSKJ
r  \R                  " 5       rS rS	 rS
 rS rS rS rg)zBuilds descriptors, message classes and services for generated _pb2.py.

This file is only called in python generated _pb2.py files. It builds
descriptors, message classes and services that users can directly use
in generated code.
zjieluo@google.com (Jie Luo)    )enum_type_wrapper)python_message)message)
reflection)symbol_databasec                     UR                   R                  5        H*  u  p4X#R                  5       -   nX@U'   [        XUS-   5        M,     UR                   H!  nX`X&R
                  R                  5       -   '   M#     g )N_)nested_types_by_nameitemsupper_BuildNestedDescriptors
enum_typesname)modulemsg_desprefixr   
nested_msgmodule_nameenum_dess          f/home/kim/smarthome/piper_models/venv/lib/python3.13/site-packages/google/protobuf/internal/builder.pyr   r      sm    !66<<>d::<'K$;Fc0AB ? $$h-56MM''))* %    c                     U R                   R                  5        H+  u  p#SUR                  5       -   nX1U'   [        XUS-   5        M-     g)zzBuilds message and enum descriptors.

Args:
  file_des: FileDescriptor of the .proto file
  module: Generated _pb2 module
r	   N)message_types_by_namer   r   r   )file_desr   r   r   r   s        r   BuildMessageAndEnumDescriptorsr   #   sG     "77==?ot

$K!;F[3->? @r   c                 H   0 nUR                   R                  5        H"  u  pE[        XX!R                  -   S-   5      X4'   M$     XS'   XS'   X!R                  -   US'   [        R
                  " UR                  [        R                  4U5      n[        R                  U5        U$ )N.
DESCRIPTOR
__module____qualname__)
r
   r   _BuildMessager   _reflectionGeneratedProtocolMessageType_messageMessage_sym_dbRegisterMessage)r   r   r   create_dictr   r   message_classs          r   r!   r!   0   s    +!66<<>d%,,!6!<K ? &l)l & 5+n::llX%%'- 
-(	r   c                 X   U R                   R                  5        H]  u  p4XBSUR                  5       -   '   [        R                  " U5      X#'   UR
                   H  nUR                  X%R                  '   M     M_     U R                  R                  5        H(  u  p6UR                  X#R                  5       S-   '   XbU'   M*     U R                  R                  5        H  u  p7XrSUR                  5       -   '   M     U R                  R                  5        H  u  p8[        XS5      X#'   M     g)zBuilds top level descriptors and message classes.

Args:
  file_des: FileDescriptor of the .proto file
  module_name: str, the name of generated _pb2 module
  module: Generated _pb2 module
r	   _FIELD_NUMBER N)enum_types_by_namer   r   r   EnumTypeWrappervaluesnumberr   extensions_by_nameservices_by_namer   r!   )	r   r   r   r   r   
enum_valueextension_desservicer   s	            r   BuildTopDescriptorsAndMessagesr6   @   s     #55;;=t!)3$44X>FLoo
 * 1 1f__ & >  (::@@Bt-:-A-AF::</)* 4L  C
 "2288:ot!(3 ; "77==?ot r:FL @r   c                     g)zmno-op to keep old generated code work with new runtime.

Args:
  file_des: FileDescriptor of the .proto file
N )r   s    r   AddHelpersToExtensionsr9   ^   s     	r   c           
          SSK Jn  U R                  R                  5        HE  u  pEUR	                  US[        XQS95      X$'   US-   nUR                  XbU   4[        XQS95      X&'   MG     g)zBuilds services classes and services stub class.

Args:
  file_des: FileDescriptor of the .proto file
  module_name: str, the name of generated _pb2 module
  module: Generated _pb2 module
r   )service_reflectionr8   )r   r   _StubN)google.protobufr;   r2   r   GeneratedServiceTypedictGeneratedServiceStubType)r   r   r   r;   r   r5   	stub_names          r   BuildServicesrB   h   sp     1!2288:ot%::b8:FL wI*CC4L?8:F ;r   N)__doc__
__author__google.protobuf.internalr   r   r=   r   r$   r   r"   r   _symbol_databaseDefaultr&   r   r   r!   r6   r9   rB   r8   r   r   <module>rH      sM    +
 6 3 / 5 ?

"
"
$6
@ ;<	:r   