Ë
    Ü_Ëiƒ.  ã                  óØ  — d Z ddlmZ ddlZddlZddlmZmZmZm	Z	m
Z
mZmZmZ ddlmZ ddlmZmZmZ ddlmZ ddlmZmZ dd	lmZmZmZ dd
lmZ ddlm Z  ddl!m"Z"m#Z# erFddlm$Z$ ddl%m&Z& ddl'm(Z( ddl)m*Z* ddlm+Z+m,Z,m-Z- ddlm.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4m5Z5m6Z6m7Z7 ddl8m9Z9 dZ:	 	 	 	 	 	 	 	 	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z;y)z&Internal network layer helper methods.é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚMappingÚMutableMappingÚOptionalÚSequenceÚUnionÚcast)Ú_decode_all_selective)Ú_csotÚhelpers_sharedÚmessage)Ú_NO_COMPRESSION)ÚNotPrimaryErrorÚOperationFailure)Ú_COMMAND_LOGGERÚ_CommandStatusMessageÚ
_debug_log)Ú_OpMsg)Ú_is_speculative_authenticate)Úasync_receive_messageÚasync_sendall)ÚCodecOptions)ÚAsyncClientSession)ÚAsyncMongoClient)ÚAsyncConnection)ÚSnappyContextÚZlibContextÚZstdContext)Ú_EventListeners)ÚReadConcern)Ú_ServerMode)Ú_AddressÚ_CollationInÚ_DocumentOutÚ_DocumentType)ÚWriteConcernFc              ƒ  ób  K  — t        t        |«      «      }|dz   }d}|}|r|s|€J ‚t        j                  ||«      }|r=|r|j                  s/|j
                  r|j                  |d<   |r|j                  || «       |�||d<   |duxr |j                  }t        j                  j                  «       }|rt        ||«      }|r|j                  «       t        v rd}|rI|j                  r=|j                  j                  s'|j                  j!                  |||«      ƒ d{  –—† x}}|r| j#                  ||«       t%        j&                  ||«       |rl|rt(        j*                  nd}||rt(        j,                  ndz  }t        j.                  ||||||¬«      \  }}}} |r?|�=| |kD  r8t        j0                  |||«       n t        j2                  d|dd|d||«      \  }}}|�>||t        j4                  z   kD  r(t        j0                  |||t        j4                  z   «       |�«t7        j8                  t:        j<                  «      rˆt?        t6        t@        jB                  |jD                  jF                  |t        t        |«      «      |||| jH                  | jJ                  | jL                  d   | jL                  d	   | jN                  ¬
«       |r3|€J ‚|
€J ‚|jQ                  ||||
| jJ                  | jN                  ¬«       	 tS        | jT                  jV                  |«      ƒ d{  –—†  |r	|rd}!dd	i}"n¤tY        | |«      ƒ d{  –—† }!|!jZ                  | _-        |!j]                  ||¬«      }#|#d   }"| j^                  s|"ja                  d«      }$|$r|$| _1        |r|je                  |"|«      ƒ d{  –—†  |r#tg        jh                  |"| jj                  |	|¬«       t        j                  j                  «       |z
  }&|�¯t7        j8                  t:        j<                  «      rŒt?        t6        t@        j|                  |jD                  jF                  |&|"t        t        |«      «      |||| jH                  | jJ                  | jL                  d   | jL                  d	   | jN                  d|v ¬«       |r6|€J ‚|
€J ‚|j                  |&|"|||
| jJ                  | jN                  ||¬«	       |rY|j                  rM|!rK|j                  j�                  |!jƒ                  «       «      ƒ d{  –—† }(t…        dt‡        |(||«      d   «      }"|"S 7 �Œ 7 �Œ7 �Œ7 �Œš# tl        $ �rS}%t        j                  j                  «       |z
  }&to        |%tp        tr        f«      r|%jt                  }'nt        jv                  |%«      }'|�»t7        j8                  t:        j<                  «      r˜t?        t6        t@        jx                  |jD                  jF                  |&|'t        t        |«      «      |||| jH                  | jJ                  | jL                  d   | jL                  d	   | jN                  to        |%tr        «      ¬«       |r5|€J ‚|
€J ‚|j{                  |&|'|||
| jJ                  | jN                  |¬«       ‚ d}%~%ww xY w7 �Œ�­w)aä  Execute a command over the socket, or raise socket.error.

    :param conn: a AsyncConnection instance
    :param dbname: name of the database on which to run the command
    :param spec: a command document as an ordered dict type, eg SON.
    :param is_mongos: are we connected to a mongos?
    :param read_preference: a read preference
    :param codec_options: a CodecOptions instance
    :param session: optional AsyncClientSession instance.
    :param client: optional AsyncMongoClient instance for updating $clusterTime.
    :param check: raise OperationFailure if there are errors
    :param allowable_errors: errors to ignore if `check` is True
    :param address: the (host, port) of `conn`
    :param listeners: An instance of :class:`~pymongo.monitoring.EventListeners`
    :param max_bson_size: The maximum encoded bson size for this server
    :param read_concern: The read concern for this command.
    :param parse_write_concern_error: Whether to parse the ``writeConcernError``
        field in the command response.
    :param collation: The collation for this command.
    :param compression_ctx: optional compression Context.
    :param use_op_msg: True if we should use OP_MSG.
    :param unacknowledged: True if this is an unacknowledged command.
    :param user_fields: Response fields that should be decoded
        using the TypeDecoders from codec_options, passed to
        bson._decode_all_selective.
    :param exhaust_allowed: True if we should enable OP_MSG exhaustAllowed.
    z.$cmdFNÚreadConcernÚ	collationr   )Úctxéÿÿÿÿé   )r   ÚclientIdÚcommandÚcommandNameÚdatabaseNameÚ	requestIdÚoperationIdÚdriverConnectionIdÚserverConnectionIdÚ
serverHostÚ
serverPortÚ	serviceId)Ú
service_idÚok)Úcodec_optionsÚuser_fieldsz$clusterTime)Úparse_write_concern_error)r   r/   Ú
durationMSÚfailurer1   r2   r3   r4   r5   r6   r7   r8   r9   ÚisServerSideError)r:   Údatabase_nameÚspeculativeAuthenticate)r   r/   r?   Úreplyr1   r2   r3   r4   r5   r6   r7   r8   r9   Úspeculative_authenticate)r:   Úspeculative_hellorB   r&   )DÚnextÚiterr   Ú_maybe_add_read_preferenceÚin_transactionÚlevelÚdocumentÚ_update_read_concernÚenabled_for_commandsÚdatetimeÚnowr   Úlowerr   Ú
_encrypterÚ_bypass_auto_encryptionÚencryptÚapply_timeoutr   Úapply_write_concernr   ÚMORE_TO_COMEÚEXHAUST_ALLOWEDÚ_op_msgÚ_raise_document_too_largeÚ_queryÚ_COMMAND_OVERHEADr   ÚisEnabledForÚloggingÚDEBUGr   r   ÚSTARTEDÚ_topology_settingsÚ_topology_idÚidÚserver_connection_idÚaddressr:   Úpublish_command_startr   ÚconnÚget_connr   Úmore_to_comeÚunpack_responseÚreadyÚgetÚ_cluster_timeÚ_process_responser   Ú_check_command_responseÚmax_wire_versionÚ	ExceptionÚ
isinstancer   r   ÚdetailsÚ_convert_exceptionÚFAILEDÚpublish_command_failureÚ	SUCCEEDEDÚpublish_command_successÚdecryptÚraw_command_responser   r   ))rg   ÚdbnameÚspecÚ	is_mongosÚread_preferencer<   ÚsessionÚclientÚcheckÚallowable_errorsre   Ú	listenersÚmax_bson_sizeÚread_concernr>   r+   Úcompression_ctxÚ
use_op_msgÚunacknowledgedr=   Úexhaust_allowedÚwrite_concernÚnameÚnsrF   ÚorigÚpublishÚstartÚflagsÚ
request_idÚmsgÚsizeÚmax_doc_sizerD   Úresponse_docÚunpacked_docsÚcluster_timeÚexcÚdurationr@   Ú	decrypteds)                                            ú_/var/www/pod-logistic/pod-api/venv/lib/python3.12/site-packages/pymongo/asynchronous/network.pyr0   r0   =   sc  è ø€ ôf ”�T“
Ó€DØ	�'Ñ	€BØÐð €DÙ™ØÐ*Ð*Ð*Ü×1Ñ1°$¸ÓHˆÙ™W¨×)?Ò)?Ø×ÒØ".×"7Ñ"7ˆD�ÑÙØ×(Ñ(¨¨tÔ4ØÐØ%ˆˆ[Ñà˜tÐ#ÒF¨	×(FÑ(F€GÜ×Ñ×!Ñ!Ó#€EÙÜ8¸¸tÓDÐá˜4Ÿ:™:›<¬?Ñ:Øˆá�&×#Ò#¨F×,=Ñ,=×,UÒ,UØ"×-Ñ-×5Ñ5°f¸dÀMÓR×RÐRˆˆtñ Ø×Ñ˜6 4Ô(Ü	×Ñ˜d MÔ2áÙ'5”×#Ò#¸1ˆØ©?”×'Ò'ÀÑAˆÜ.5¯o©oØ�4˜ °-À_ô/
Ñ+ˆ
�C˜˜|ñ
 ˜mÐ7¸LÈ=Ò<XÜ×-Ñ-¨d°D¸-ÕHä '§¡Øˆr�1�b˜$  m°_ó!
Ñˆ
�C˜ð Ð  T¨M¼G×<UÑ<UÑ,UÒ%UÜ×)Ñ)¨$°°mÄg×F_ÑF_Ñ6_Ô`ØÐÜ×'Ñ'¬¯©Ô6ÜÜÜ-×5Ñ5Ø×2Ñ2×?Ñ?ØÜ ¤ d£Ó,Ø#Ø$Ø&Ø#'§7¡7Ø#'×#<Ñ#<ØŸ<™<¨™?ØŸ<™<¨™?ØŸ/™/õñ ØÐ$Ð$Ð$ØÐ"Ð"Ð"Ø×'Ñ'ØØØØØ×%Ñ%Ø—‘ð 	(ô 	
ðAÜ˜DŸI™I×.Ñ.°Ó4×4Ð4Ù™.àˆEØ*.°¨‰Lä/°°jÓA×AˆEØ %× 2Ñ 2ˆDÔØ!×1Ñ1Ø+¸ð 2ó ˆMð )¨Ñ+ˆLØ—:’:Ø+×/Ñ/°Ó?�ÙØ)5�DÔ&ÙØ×.Ñ.¨|¸WÓE×EÐEÙÜ×6Ñ6Ø Ø×)Ñ)Ø$Ø.Gõ	ôZ × Ñ ×$Ñ$Ó&¨Ñ.€HØÐÜ×'Ñ'¬¯©Ô6ÜÜÜ-×7Ñ7Ø×2Ñ2×?Ñ?Ø#Ø"Ü ¤ d£Ó,Ø#Ø$Ø&Ø#'§7¡7Ø#'×#<Ñ#<ØŸ<™<¨™?ØŸ<™<¨™?ØŸ/™/Ø)BÀdÐ)Jõñ" ØÐ$Ð$Ð$ØÐ"Ð"Ð"Ø×)Ñ)ØØØØØØ×%Ñ%Ø—‘Ø/Ø ð 	*ô 
	
ñ �&×#Ò#©Ø ×+Ñ+×3Ñ3°E×4NÑ4NÓ4PÓQ×Qˆ	ÜØÔ1°)¸]ÈKÓXÐYZÑ[ó
ˆð ÐðA Sùðl 	5ùð Bùð Fúô ó &Ü×$Ñ$×(Ñ(Ó*¨UÑ2ˆÜ�cœOÔ-=Ð>Ô?Ø$'§K¡K‰Gä×0Ñ0°Ó5ˆGØÐÜ×+Ñ+¬G¯M©MÔ:ÜÜ#Ü1×8Ñ8Ø#×6Ñ6×CÑCØ'Ø#Ü $¤T¨$£ZÓ 0Ø!'Ø(Ø *Ø'+§w¡wØ'+×'@Ñ'@Ø#Ÿ|™|¨A™Ø#Ÿ|™|¨A™Ø"Ÿo™oÜ&0°Ô6FÓ&Gõñ" ØÐ(Ð(Ð(ØÐ&Ð&Ð&Ø×-Ñ-ØØØØØØ×)Ñ)ØŸ?™?Ø$ð .ô 	ð 	ûðM&úðV Rûs|   ‚DZ/Ä U Ä!G Z/Ì#U Ì%UÌ&U ÍUÍA*U Î/U	Î0)U ÏEZ/ÔZ,Ô !Z/ÕU ÕU Õ	U Õ
Z)ÕEZ$Ú$Z)Ú)Z/)TNNNNNFNNFFNFN).rg   r   r{   Ústrr|   zMutableMapping[str, Any]r}   Úboolr~   zOptional[_ServerMode]r<   zCodecOptions[_DocumentType]r   zOptional[AsyncClientSession]r€   zOptional[AsyncMongoClient[Any]]r�   r�   r‚   z#Optional[Sequence[Union[str, int]]]re   zOptional[_Address]rƒ   zOptional[_EventListeners]r„   zOptional[int]r…   zOptional[ReadConcern]r>   r�   r+   zOptional[_CollationIn]r†   z4Union[SnappyContext, ZlibContext, ZstdContext, None]r‡   r�   rˆ   r�   r=   zOptional[Mapping[str, Any]]r‰   r�   rŠ   zOptional[WriteConcern]Úreturnr'   )<Ú__doc__Ú
__future__r   rO   r^   Útypingr   r   r   r   r   r	   r
   r   Úbsonr   Úpymongor   r   r   Úpymongo.compression_supportr   Úpymongo.errorsr   r   Úpymongo.loggerr   r   r   Úpymongo.messager   Úpymongo.monitoringr   Úpymongo.network_layerr   r   r   Ú#pymongo.asynchronous.client_sessionr   Ú!pymongo.asynchronous.mongo_clientr   Úpymongo.asynchronous.poolr   r   r   r    r!   Úpymongo.read_concernr"   Úpymongo.read_preferencesr#   Úpymongo.typingsr$   r%   r&   r'   Úpymongo.write_concernr(   Ú_IS_SYNCr0   © ó    r›   ú<module>r´      s£  ðñ -Ý "ã Û ÷	÷ 	ó 	õ 'ß 2Ñ 2Ý 7÷÷ NÑ MÝ "Ý ;÷ñ
 Ý!ÝFÝBÝ9ßSÑSÝ2Ý0Ý4ßSÓSÝ2à€ð Ø<@Ø"&Ø+/Ø#'Ø*.Ø&+Ø(,ØLPØØ Ø/3Ø!Ø,0ð-mØ
ðmàðmð #ðmð ð	mð
 +ðmð /ðmð *ðmð ,ðmð ðmð :ðmð  ðmð )ðmð !ðmð (ðmð  $ðmð  &ð!mð" Jð#mð$ ð%mð& ð'mð( -ð)mð* ð+mð, *ð-mð. ô/mr³   