+
    8i:                        R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHtHtH	t	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHtHt R R	 lt ! R
 R4      t ! R R]],          4      tR# )z2Helpers for the 'hello' and legacy hello commands.)annotationsN)AnyGenericMappingOptional)ObjectId)common)SERVER_TYPE)ClusterTime_DocumentTypec                    V ^8  d   QhRRRR/# )   docMapping[str, Any]returnint )formats   "K/var/www/html/photoedit/myenv/lib/python3.14/site-packages/pymongo/hello.py__annotate__r      s     & &+ & &    c                d   V P                  R4      '       g   \        P                  # V P                  R4      '       d   \        P                  # V P                  R4      '       d   \        P                  # V P                  R4      '       d   V P                  R4      '       d   \        P
                  # V P                  \        P                  4      '       d   \        P                  # V P                  \        P                  4      '       d   \        P                  # V P                  R4      '       d   \        P                  # V P                  R4      '       d   \        P                  # \        P
                  # V P                  R4      R	8X  d   \        P                  # \        P                  # )
z0Determine the server type from a hello response.ok	serviceIdisreplicasetsetNamehidden	secondaryarbiterOnlymsgisdbgrid)getr	   UnknownLoadBalancerRSGhostRSOtherHelloCompatPRIMARY	RSPrimaryLEGACY_PRIMARYRSSecondary	RSArbiterMongos
Standalone)r   s   &r   _get_server_typer.      s'   774=="""
ww{'''		 	 """			778&&&WW[(())(((WW[//00(((WW[!!***WW]##(((&&&	:	%!!!%%%r   c                  *    ] tR t^9tRtRtRtRtRtRt	R# )r&   helloismasterisWritablePrimaryz
not masterr   N)
__name__
__module____qualname____firstlineno__CMD
LEGACY_CMDr'   r)   LEGACY_ERROR__static_attributes__r   r   r   r&   r&   9   s    
CJ!GNLr   r&   c                     ] tR t^AtRtR<tR=R R llt]R R l4       t]R R l4       t	]R R	 l4       t
]R
 R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R  R! l4       t]R" R# l4       t]R$ R% l4       t]R& R' l4       t]R( R) l4       t]R* R+ l4       t]R, R- l4       t]R. R/ l4       t]R0 R1 l4       t]R2 R3 l4       t]R4 R5 l4       t ]R6 R7 l4       t!]R8 R9 l4       t"R:t#R;# )>Helloz@Parse a hello response from the server.

.. versionadded:: 3.12
c               $    V ^8  d   QhRRRRRR/# )r   r   r   	awaitableboolr   Noner   )r   s   "r   r   Hello.__annotate__I   s!     $ $M $d $t $r   c                	J   \        V4      V n        Wn        V P                  \        P                  \        P
                  \        P                  \        P                  39   V n        V P                  \        P                  8H  ;'       g    V P                  V n        W n        R # N)r.   _server_type_docr	   r(   r-   r,   r#   _is_writableserver_typer*   _is_readable
_awaitable)selfr   r>   s   &&&r   __init__Hello.__init__I   s~    ,S1#&	 --!!""$$	2
 
 !,,0G0GG\\4K\K\#r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   rA   W   s     $ $- $r   c                B    \         P                   ! V P                  4      # )zEThe complete hello command response document.

.. versionadded:: 3.4
)copyrE   rJ   s   &r   documentHello.documentV   s     yy##r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   rA   _   s     ! !S !r   c                	    V P                   # rC   )rD   rP   s   &r   rG   Hello.server_type^          r   c                   V ^8  d   QhRR/# )r   r   zset[tuple[str, int]]r   )r   s   "r   r   rA   c   s     
 
/ 
r   c                   \        \        \        P                  \        P
                  ! V P                  P                  R. 4      V P                  P                  R. 4      V P                  P                  R. 4      4      4      4      # )z;List of hosts, passives, and arbiters known to this server.hostspassivesarbiters)setmapr   
clean_node	itertoolschainrE   r!   rP   s   &r   	all_hostsHello.all_hostsb   sd     !!IIMM'2.IIMM*b1IIMM*b1	
 		
r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   rA   q   s     ) )' )r   c                :    V P                   P                  R/ 4      # )z&Replica set member tags or empty dict.tagsrE   r!   rP   s   &r   rf   
Hello.tagsp   s     yy}}VR((r   c                   V ^8  d   QhRR/# r   r   zOptional[tuple[str, int]]r   )r   s   "r   r   rA   v   s      2 r   c                    V P                   P                  R4      '       d(   \        P                  ! V P                   R,          4      # R# )z8This server's opinion about who the primary is, or None.primaryN)rE   r!   r   partition_noderP   s   &r   rl   Hello.primaryu   s4     99==##((9)=>>r   c                   V ^8  d   QhRR/# )r   r   zOptional[str]r   )r   s   "r   r   rA   ~   s     ( (- (r   c                8    V P                   P                  R4      # )zReplica set name or None.r   rg   rP   s   &r   replica_set_nameHello.replica_set_name}   s     yy}}Y''r   c                   V ^8  d   QhRR/# rT   r   )r   s   "r   r   rA      s     H Hs Hr   c                	V    V P                   P                  R \        P                  4      # )maxBsonObjectSize)rE   r!   r   MAX_BSON_SIZErP   s   &r   max_bson_sizeHello.max_bson_size   s    yy}}0&2F2FGGr   c                   V ^8  d   QhRR/# rT   r   )r   s   "r   r   rA      s     M M# Mr   c                	V    V P                   P                  R \        P                  4      # )maxMessageSizeBytes)rE   r!   r   MAX_MESSAGE_SIZErP   s   &r   max_message_sizeHello.max_message_size   s    yy}}2F4K4KLLr   c                   V ^8  d   QhRR/# rT   r   )r   s   "r   r   rA      s     O Oc Or   c                	V    V P                   P                  R \        P                  4      # )maxWriteBatchSize)rE   r!   r   MAX_WRITE_BATCH_SIZErP   s   &r   max_write_batch_sizeHello.max_write_batch_size   s    yy}}0&2M2MNNr   c                   V ^8  d   QhRR/# rT   r   )r   s   "r   r   rA           H H# Hr   c                	V    V P                   P                  R \        P                  4      # )minWireVersion)rE   r!   r   MIN_WIRE_VERSIONrP   s   &r   min_wire_versionHello.min_wire_version       yy}}-v/F/FGGr   c                   V ^8  d   QhRR/# rT   r   )r   s   "r   r   rA      r   r   c                	V    V P                   P                  R \        P                  4      # )maxWireVersion)rE   r!   r   MAX_WIRE_VERSIONrP   s   &r   max_wire_versionHello.max_wire_version   r   r   c                   V ^8  d   QhRR/# r   r   zOptional[int]r   )r   s   "r   r   rA      s     + +] +r   c                	8    V P                   P                  R 4      # )
setVersionrg   rP   s   &r   set_versionHello.set_version       yy}}\**r   c                   V ^8  d   QhRR/# r   r   zOptional[ObjectId]r   )r   s   "r   r   rA      s     + +/ +r   c                	8    V P                   P                  R 4      # )
electionIdrg   rP   s   &r   election_idHello.election_id   r   r   c                   V ^8  d   QhRR/# )r   r   zOptional[ClusterTime]r   )r   s   "r   r   rA      s     - -3 -r   c                	8    V P                   P                  R 4      # )z$clusterTimerg   rP   s   &r   cluster_timeHello.cluster_time       yy}}^,,r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rA      s     = = =r   c                	8    V P                   P                  R 4      # )logicalSessionTimeoutMinutesrg   rP   s   &r   logical_session_timeout_minutes%Hello.logical_session_timeout_minutes   s    yy}};<<r   c                   V ^8  d   QhRR/# r   r   r?   r   )r   s   "r   r   rA           ! !T !r   c                	    V P                   # rC   )rF   rP   s   &r   is_writableHello.is_writable   rW   r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rA      r   r   c                	    V P                   # rC   )rH   rP   s   &r   is_readableHello.is_readable   rW   r   c                   V ^8  d   QhRR/# rj   r   )r   s   "r   r   rA      s      - r   c                	x    V P                   P                  R 4      pV'       d   \        P                  ! V4      # R# )meN)rE   r!   r   r_   )rJ   r   s   & r   r   Hello.me   s+    YY]]4 $$R((r   c                   V ^8  d   QhRR/# )r   r   zOptional[datetime.datetime]r   )r   s   "r   r   rA      s     C C!< Cr   c                	X    V P                   P                  R / 4      P                  R4      # )	lastWritelastWriteDaterg   rP   s   &r   last_write_dateHello.last_write_date   s"    yy}}["-11/BBr   c                   V ^8  d   QhRR/# )r   r   zOptional[list[str]]r   )r   s   "r   r   rA      s     , ,0 ,r   c                	8    V P                   P                  R 4      # )compressionrg   rP   s   &r   compressorsHello.compressors   s    yy}}]++r   c                   V ^8  d   QhRR/# )r   r   z	list[str]r   )r   s   "r   r   rA      s     	7 	7i 	7r   c                :    V P                   P                  R. 4      # )zSupported authentication mechanisms for the current user.

For example::

    >>> hello.sasl_supported_mechs
    ["SCRAM-SHA-1", "SCRAM-SHA-256"]

saslSupportedMechsrg   rP   s   &r   sasl_supported_mechsHello.sasl_supported_mechs   s     yy}}1266r   c                   V ^8  d   QhRR/# r   r   zOptional[Mapping[str, Any]]r   )r   s   "r   r   rA      s     8 8*E 8r   c                8    V P                   P                  R4      # )z"The speculativeAuthenticate field.speculativeAuthenticaterg   rP   s   &r   speculative_authenticateHello.speculative_authenticate   s     yy}}677r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rA      s     0 0"= 0r   c                	8    V P                   P                  R 4      # )topologyVersionrg   rP   s   &r   topology_versionHello.topology_version   s    yy}}.//r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rA      s      4 r   c                	    V P                   # rC   )rI   rP   s   &r   r>   Hello.awaitable   s    r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rA      s     * *. *r   c                	8    V P                   P                  R 4      # )r   rg   rP   s   &r   
service_idHello.service_id   s    yy}}[))r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rA      s     / /$ /r   c                	:    V P                   P                  R R4      # )helloOkFrg   rP   s   &r   hello_okHello.hello_ok   s    yy}}Y..r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rA      s     - -} -r   c                	8    V P                   P                  R 4      # )connectionIdrg   rP   s   &r   connection_idHello.connection_id   r   r   )rI   rE   rH   rF   rD   N)rE   rD   rF   rH   rI   )F)$r3   r4   r5   r6   __doc__	__slots__rK   propertyrQ   rG   rb   rf   rl   rq   rw   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r>   r   r   r   r:   r   r   r   r<   r<   A   s<   
 WI$ $ $ ! ! 
 
 ) )   ( ( H H M M O O H H H H + + + + - - = = ! ! ! !   C C , , 	7 	7 8 8 0 0   * * / / - -r   r<   )r   
__future__r   rO   datetimer`   typingr   r   r   r   bson.objectidr   pymongor   pymongo.server_typer	   pymongo.typingsr
   r   r.   r&   r<   r   r   r   <module>r      sJ    9 "    2 2 "  + 6&8   _-GM" _-r   