+
    4O|jãt  ã                  ó¶  € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
HtHtHtHtHtHtHt ^ RIHt ^ RIHt ^ RIHtHt ^ R	IHtHtHtHtHt ^ R
IH t H!t!H"t" ^ RI#H$t$H%t%H&t&H't' ^ RI(H)t) ^ RI*H+t+H,t,H-t- ^ RI.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6 ^ RI7H8t8 ^ RI9H:t:H;t; ^ RI<H=t= ^ RI>H?t? ]'       d   ^ RI@HAtA ^ RIBHCtC ^ RIDHEtE ^ RIFHGtGHHtHHItI RtJ ! R R4      tKR# )z<The bulk write operations interface.

.. versionadded:: 2.7
)ÚannotationsN)ÚMutableMapping)Úislice)ÚTYPE_CHECKINGÚAnyÚIteratorÚMappingÚOptionalÚTypeÚUnion)ÚObjectId)ÚRawBSONDocument)Ú_csotÚcommon)Ú	_COMMANDSÚ_DELETE_ALLÚ_merge_commandÚ_raise_bulk_write_errorÚ_Run)Úvalidate_is_document_typeÚvalidate_ok_for_replaceÚvalidate_ok_for_update)ÚConfigurationErrorÚInvalidOperationÚNotPrimaryErrorÚOperationFailure)Ú_RETRYABLE_ERROR_CODES)Ú_COMMAND_LOGGERÚ_CommandStatusMessageÚ
_debug_log)Ú_DELETEÚ_INSERTÚ_UPDATEÚ_BulkWriteContextÚ_convert_exceptionÚ_convert_write_resultÚ_EncryptedBulkWriteContextÚ_randint)ÚReadPreference)ÚClientSessionÚ_validate_session_write_concern)Ú_handle_reauth)ÚWriteConcern)Ú
Collection)ÚMongoClient)Ú
Connection)Ú_DocumentOutÚ_DocumentTypeÚ	_PipelineTc                  ó  € ] tR t^StRtR(R R llt]R R l4       tR R ltR)R	 R
 llt	R*R R llt
R(R R lltR R ltR R lt]R R l4       tR R ltR R ltR R ltR+R R lltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR'tR# ),Ú_Bulkz'The private guts of the bulk write API.Nc               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )é   Ú
collectionzCollection[_DocumentType]ÚorderedÚboolÚbypass_document_validationúOptional[bool]ÚcommentzOptional[str]ÚletzOptional[Any]ÚreturnÚNone© )Úformats   "ÚQC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\pymongo/synchronous/bulk.pyÚ__annotate__Ú_Bulk.__annotate__V   sF   € ÷ !"ñ !"à-ð!"ð ð!"ð %3ð	!"ð
 ð!"ð ð!"ð 
ñ!"ó    c                ó¶  € VP                  VP                  P                  R\        R7      R7      V n        WPn        V P
                  e"   \        P                  ! RV P
                  4       W@n        W n	        . V n
        RV n        W0n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        R# )zInitialize a _Bulk instance.Úreplace)Úunicode_decode_error_handlerÚdocument_class)Úcodec_optionsNr=   FT)Úwith_optionsrJ   Ú_replaceÚdictr7   r=   r   r   r<   r8   ÚopsÚexecutedÚbypass_doc_valÚuses_collationÚuses_array_filtersÚuses_hint_updateÚuses_hint_deleteÚ	uses_sortÚis_retryableÚretryingÚstarted_retryable_writeÚcurrent_runÚnext_runÚis_encrypted)Úselfr7   r8   r:   r<   r=   s   &&&&&&rB   Ú__init__Ú_Bulk.__init__V   sÑ   € ð %×1Ñ1Ø$×2Ñ2×;Ñ;Ø-6Ätð <ó ð 2ó 
ˆŒð
 ŒØ�8‰8ÒÜ×,Ò,¨U°D·H±HÔ=Ø&-ŒØŒØ8:ˆŒØˆŒØ8ÔØ#ˆÔØ"'ˆÔØ %ˆÔØ %ˆÔØˆŒØ ˆÔØˆŒØ',ˆÔ$àˆÔØˆŒØ!ˆÖrE   c               ó   € V ^8„  d   QhRR/# )r6   r>   zType[_BulkWriteContext]r@   )rA   s   "rB   rC   rD   z   s   € ÷ %ñ %Ð 7ñ %rE   c                	ó¾   € V P                   P                  P                  P                  pV'       d    VP                  '       g   R V n        \        # RV n        \        # )TF)r7   ÚdatabaseÚclientÚ
_encrypterÚ_bypass_auto_encryptionr[   r&   r#   )r\   Ú	encrypters   & rB   Úbulk_ctx_classÚ_Bulk.bulk_ctx_classy   sG   € à—O‘O×,Ñ,×3Ñ3×>Ñ>ˆ	ß˜Y×>×>Ð>Ø $ˆDÔÜ-Ð-à %ˆDÔÜ$Ð$rE   c               ó    € V ^8„  d   QhRRRR/# )r6   Údocumentr0   r>   r?   r@   )rA   s   "rB   rC   rD   ƒ   s   € ÷ -ñ - <ð -°Dñ -rE   c                ó´   € \        RV4       \        V\        4      '       g   RV9   g   \        4       VR&   V P                  P                  \        V34       R# )z*Add an insert document to the list of ops.ri   Ú_idN)r   Ú
isinstancer   r   rN   Úappendr!   )r\   ri   s   &&rB   Ú
add_insertÚ_Bulk.add_insertƒ   s@   € ä! *¨hÔ7ä˜8¤_×5Ò5¸À(Ô9JÜ&›jˆH�U‰OØ�‰�‰œ (Ð+Ö,rE   c               ó<   € V ^8„  d   QhRRRRRRRRR	R
RRRRRR
RR/	# )r6   ÚselectorúMapping[str, Any]Úupdatez#Union[Mapping[str, Any], _Pipeline]Úmultir9   Úupsertr;   Ú	collationúOptional[Mapping[str, Any]]Úarray_filtersz!Optional[list[Mapping[str, Any]]]Úhintú Union[str, dict[str, Any], None]Úsortr>   r?   r@   )rA   s   "rB   rC   rD   ‹   sd   € ÷ (ñ (à#ð(ð 4ð(ð ð	(ð
 ð(ð /ð(ð 9ð(ð /ð(ð *ð(ð 
ñ(rE   c	                ó  € \        V4       RVRVRV/p	Ve   WIR&   Ve   RV n        WYR&   Ve   RV n        WiR&   Ve   RV n        WyR	&   Ve   RV n        W‰R
&   V'       d   RV n        V P                  P                  \        V	34       R# )z8Create an update document and add it to the list of ops.ÚqÚurt   Nru   Trv   ÚarrayFiltersry   r{   F)	r   rQ   rR   rS   rU   rV   rN   rm   r"   )
r\   rq   rs   rt   ru   rv   rx   ry   r{   Úcmds
   &&&&&&&&& rB   Ú
add_updateÚ_Bulk.add_update‹   sŸ   € ô 	˜vÔ&Ø" H¨c°6¸7ÀEÐJˆØÒØ"�‰MØÒ Ø"&ˆDÔØ(�ÑØÒ$Ø&*ˆDÔ#Ø"/�ÑØÒØ$(ˆDÔ!Ø�‰KØÒØ!ˆDŒNØ�‰Kßà %ˆDÔØ�‰�‰œ #˜Ö'rE   c               ó4   € V ^8„  d   QhRRRRRRRRRR	R
RRR/# )r6   rq   rr   Úreplacementru   r;   rv   rw   ry   rz   r{   r>   r?   r@   )rA   s   "rB   rC   rD   ¬   sP   € ÷ (ñ (à#ð(ð 'ð(ð ð	(ð
 /ð(ð /ð(ð *ð(ð 
ñ(rE   c                óÔ   € \        V4       RVRV/pVe   W7R&   Ve   RV n        WGR&   Ve   RV n        WWR&   Ve   RV n        WgR&   V P                  P                  \        V34       R# )	z8Create a replace document and add it to the list of ops.r}   r~   Nru   Trv   ry   r{   )r   rQ   rS   rU   rN   rm   r"   )r\   rq   r„   ru   rv   ry   r{   r€   s   &&&&&&& rB   Úadd_replaceÚ_Bulk.add_replace¬   sz   € ô 	  Ô,Ø" H¨c°;Ð?ˆØÒØ"�‰MØÒ Ø"&ˆDÔØ(�ÑØÒØ$(ˆDÔ!Ø�‰KØÒØ!ˆDŒNØ�‰KØ�‰�‰œ #˜Ö'rE   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r6   rq   rr   ÚlimitÚintrv   rw   ry   rz   r>   r?   r@   )rA   s   "rB   rC   rD   Å   s<   € ÷ (ñ (à#ð(ð ð(ð /ð	(ð
 /ð(ð 
ñ(rE   c                ó´   € RVRV/pVe   RV n         W5R&   Ve   RV n        WER&   V\        8X  d   RV n        V P                  P                  \        V34       R# )z7Create a delete document and add it to the list of ops.r}   r‰   NTrv   ry   F)rQ   rT   r   rV   rN   rm   r    )r\   rq   r‰   rv   ry   r€   s   &&&&& rB   Ú
add_deleteÚ_Bulk.add_deleteÅ   sa   € ð  # H¨g°uÐ=ˆØÒ Ø"&ˆDÔØ(�ÑØÒØ$(ˆDÔ!Ø�‰KØ”KÔà %ˆDÔØ�‰�‰œ #˜Ö'rE   c               ó   € V ^8„  d   QhRR/# )r6   r>   zIterator[Optional[_Run]]r@   )rA   s   "rB   rC   rD   Ù   s   € ÷ ñ Ð5ñ rE   c              #  óÞ   "  € Rp\        V P                  4       FI  w  pw  r4Vf   \        V4      pM VP                  V8w  d   Vx € \        V4      pVP	                  W$4       KK  	  Vx € R# 5i)zYGenerate batches of operations, batched by type of
operation, in the order **provided**.
N)Ú	enumeraterN   r   Úop_typeÚadd)r\   ÚrunÚidxr‘   Ú	operations   &    rB   Úgen_orderedÚ_Bulk.gen_orderedÙ   sb   é € ð ˆÜ)2°4·8±8Ö)<Ñ%ˆCÑ%�'ØŠ{Ü˜7“m‘Ø—‘ Ô'Ø’	Ü˜7“m�Ø�G‰G�CÖ#ñ *=ð Œ	ùs   ‚A+A-c               ó   € V ^8„  d   QhRR/# )r6   r>   zIterator[_Run]r@   )rA   s   "rB   rC   rD   ç   s   € ÷ 
ñ 
˜~ñ 
rE   c              #  ó  "  € \        \        4      \        \        4      \        \        4      .p\	        V P
                  4       F  w  pw  r4W,          P                  W$4       K!  	  V F  pVP
                  '       g   K  Vx € K  	  R# 5i)zRGenerate batches of operations, batched by type of
operation, in arbitrary order.
N)r   r!   r"   r    r�   rN   r’   )r\   Ú
operationsr”   r‘   r•   r“   s   &     rB   Úgen_unorderedÚ_Bulk.gen_unorderedç   se   é € ô œ7“m¤T¬'£]´D¼³MÐBˆ
Ü)2°4·8±8Ö)<Ñ%ˆCÑ%�'ØÕ×#Ñ# CÖ3ñ *=ó ˆCØ�w�wŠwØ”	ó ùs   ‚A9B
Â 
B
c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r6   Úbwcr#   r€   úMutableMapping[str, Any]Ú
request_idrŠ   ÚmsgÚbytesÚdocsúlist[Mapping[str, Any]]rb   úMongoClient[Any]r>   údict[str, Any]r@   )rA   s   "rB   rC   rD   ô   sY   € ÷ Sñ SàðSð &ðSð ð	Sð
 ðSð &ðSð !ðSð 
ñSrE   c                ó6	  € WRVP                   &   \        P                  ! \        P                  4      '       dÍ   \        \        \        P                  VP                  P                  V\        \        V4      4      VP                  VVVP                  P                  VP                  P                  VP                  P                   ^ ,          VP                  P                   ^,          VP                  P"                  R7       VP$                  '       d   VP'                  W#V4        VP                  P)                  W4VP*                  4      p\,        P,                  P/                  4       VP0                  ,
          p\        P                  ! \        P                  4      '       dÎ   \        \        \        P2                  VP                  P                  VV\        \        V4      4      VP                  VVVP                  P                  VP                  P                  VP                  P                   ^ ,          VP                  P                   ^,          VP                  P"                  R7       VP$                  '       d   VP5                  W7V4       VP7                  WqP8                  4       V#   \:         EdÖ   p	\,        P,                  P/                  4       TP0                  ,
          p\=        T	\>        \@        34      '       d   T	PB                  p
M\E        T	4      p
\        P                  ! \        P                  4      '       dÝ   \        \        \        PF                  TP                  P                  TT
\        \        T4      4      TP                  TTTP                  P                  TP                  P                  TP                  P                   ^ ,          TP                  P                   ^,          TP                  P"                  \=        T	\@        4      R7       TP$                  '       d   TPI                  Y:T4       \=        T	\>        \@        34      '       d'   TP7                  T	PB                  TP8                  4       h Rp	?	ii ; i)zCA proxy for SocketInfo.write_command that handles event publishing.©ÚmessageÚclientIdÚcommandÚcommandNameÚdatabaseNameÚ	requestIdÚoperationIdÚdriverConnectionIdÚserverConnectionIdÚ
serverHostÚ
serverPortÚ	serviceId©r©   rª   Ú
durationMSÚreplyr¬   r­   r®   r¯   r°   r±   r²   r³   r´   ©r©   rª   r¶   Úfailurer¬   r­   r®   r¯   r°   r±   r²   r³   r´   ÚisServerSideErrorN)%Úfieldr   ÚisEnabledForÚloggingÚDEBUGr   r   ÚSTARTEDÚ_topology_settingsÚ_topology_idÚnextÚiterÚdb_nameÚconnÚidÚserver_connection_idÚaddressÚ
service_idÚpublishÚ_startÚwrite_commandÚcodecÚdatetimeÚnowÚ
start_timeÚ	SUCCEEDEDÚ_succeedÚ_process_responseÚsessionÚ	Exceptionrl   r   r   Údetailsr$   ÚFAILEDÚ_fail)r\   rž   r€   r    r¡   r£   rb   r·   ÚdurationÚexcr¹   s   &&&&&&&    rB   rÌ   Ú_Bulk.write_commandó   s  € ð ˆC�I‰I‰Ü×'Ò'¬¯©×6Ò6ÜÜÜ-×5Ñ5Ø×2Ñ2×?Ñ?ØÜ ¤ c£›OØ Ÿ[™[Ø$Ø&Ø#&§8¡8§;¡;Ø#&§8¡8×#@Ñ#@ØŸ8™8×+Ñ+¨AÕ.ØŸ8™8×+Ñ+¨AÕ.ØŸ(™(×-Ñ-õð �;�;ˆ;Ø�J‰J�s¨Ô-ð5	Ø—H‘H×*Ñ*¨:¸C¿I¹IÓFˆEÜ×(Ñ(×,Ñ,Ó.°·±Õ?ˆHÜ×+Ò+¬G¯M©M×:Ò:ÜÜ#Ü1×;Ñ;Ø#×6Ñ6×CÑCØ'ØÜ $¤T¨#£Y£Ø!$§¡Ø(Ø *Ø'*§x¡x§{¡{Ø'*§x¡x×'DÑ'DØ"Ÿx™x×/Ñ/°Õ2Ø"Ÿx™x×/Ñ/°Õ2Ø!Ÿh™h×1Ñ1õð  �{�{ˆ{Ø—‘˜Z°Ô9Ø×$Ñ$ U¯K©KÔ8ð@ ˆøô? õ 	Ü×(Ñ(×,Ñ,Ó.°·±Õ?ˆHÜ˜#¤Ô1AÐB×CÒCØ(+¯©‘ä,¨SÓ1�Ü×+Ò+¬G¯M©M×:Ò:ÜÜ#Ü1×8Ñ8Ø#×6Ñ6×CÑCØ'Ø#Ü $¤T¨#£Y£Ø!$§¡Ø(Ø *Ø'*§x¡x§{¡{Ø'*§x¡x×'DÑ'DØ"Ÿx™x×/Ñ/°Õ2Ø"Ÿx™x×/Ñ/°Õ2Ø!Ÿh™h×1Ñ1Ü&0°Ô6FÓ&Gõð$ �{�{ˆ{Ø—	‘	˜*¨xÔ8ä˜#¤Ô1AÐB×CÒCØ×(Ñ(¨¯©°c·k±kÔBØûð=	ús.   Ä*EJ7 Ê-J7 Ê7RËBRÍC-RÐ>ARÒRc               ó8   € V ^8„  d   QhRRRRRRRRR	RR
RRRRR/# )r6   rž   r#   r€   rŸ   r    rŠ   r¡   r¢   Úmax_doc_sizer£   r¤   rb   r¥   r>   rw   r@   )rA   s   "rB   rC   rD   I  sd   € ÷ Vñ VàðVð &ðVð ð	Vð
 ðVð ðVð &ðVð !ðVð 
%ñVrE   c                ó
	  € \         P                  ! \        P                  4      '       dÍ   \	        \         \
        P                  VP                  P                  V\        \        V4      4      VP                  VVVP                  P                  VP                  P                  VP                  P                  ^ ,          VP                  P                  ^,          VP                  P                   R7       VP"                  '       d   VP%                  W#V4      p VP                  P'                  WE4      p\(        P(                  P+                  4       VP,                  ,
          p	Ve   \/        VP0                  W(4      p
MûR^/p
\         P                  ! \        P                  4      '       dÎ   \	        \         \
        P2                  VP                  P                  V	V
\        \        V4      4      VP                  VVVP                  P                  VP                  P                  VP                  P                  ^ ,          VP                  P                  ^,          VP                  P                   R7       VP"                  '       d   VP5                  W:V	4       V#   \6         EdÕ   p\(        P(                  P+                  4       TP,                  ,
          p	\9        T\:        4      '       d"   \/        TP0                  Y+P<                  4      pM.\9        T\>        4      '       d   TP<                  pM\A        T4      p\         P                  ! \        P                  4      '       dÝ   \	        \         \
        PB                  TP                  P                  T	T\        \        T4      4      TP                  TTTP                  P                  TP                  P                  TP                  P                  ^ ,          TP                  P                  ^,          TP                  P                   \9        T\:        4      R7       TP"                  '       d#   TP,                  f   Q hTPE                  Y<T	4       h Rp?ii ; i)zAA proxy for Connection.unack_write that handles event publishing.r¨   NÚokrµ   r¸   )#r   r¼   r½   r¾   r   r   r¿   rÀ   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   rÉ   rÊ   rË   Úunack_writerÎ   rÏ   rÐ   r%   ÚnamerÑ   rÒ   rÕ   rl   r   rÖ   r   r$   r×   rØ   )r\   rž   r€   r    r¡   rÝ   r£   rb   ÚresultrÙ   r·   rÚ   r¹   s   &&&&&&&&     rB   rà   Ú_Bulk.unack_writeI  s  € ô ×'Ò'¬¯©×6Ò6ÜÜÜ-×5Ñ5Ø×2Ñ2×?Ñ?ØÜ ¤ c£›OØ Ÿ[™[Ø$Ø&Ø#&§8¡8§;¡;Ø#&§8¡8×#@Ñ#@ØŸ8™8×+Ñ+¨AÕ.ØŸ8™8×+Ñ+¨AÕ.ØŸ(™(×-Ñ-õð �;�;ˆ;Ø—*‘*˜S¨dÓ3ˆCð8	Ø—X‘X×)Ñ)¨#Ó<ˆFÜ×(Ñ(×,Ñ,Ó.°·±Õ?ˆHØÒ!Ü-¨c¯h©h¸ÓD‘ð ˜q˜	�Ü"×/Ò/´·±×>Ò>ÜÜ'Ü 5× ?Ñ ?Ø!'×!:Ñ!:×!GÑ!GØ#+Ø#Ü$(¬¨c«£OØ%(§[¡[Ø",Ø$.Ø+.¯8©8¯;©;Ø+.¯8©8×+HÑ+HØ#&§8¡8×#3Ñ#3°AÕ#6Ø#&§8¡8×#3Ñ#3°AÕ#6Ø"%§(¡(×"5Ñ"5õð  �{�{ˆ{Ø—‘˜Z°Ô9ð> ˆøô= õ 	Ü×(Ñ(×,Ñ,Ó.°·±Õ?ˆHÜ˜#Ô/×0Ò0Ü(=¸c¿h¹hÈÏ[É[Ó(Y‘Ü˜C¤×1Ò1ØŸ+™+‘ä,¨SÓ1�Ü×+Ò+¬G¯M©M×:Ò:ÜÜ#Ü1×8Ñ8Ø#×6Ñ6×CÑCØ'Ø#Ü $¤T¨#£Y£Ø!$§¡Ø(Ø *Ø'*§x¡x§{¡{Ø'*§x¡x×'DÑ'DØ"Ÿx™x×/Ñ/°Õ2Ø"Ÿx™x×/Ñ/°Õ2Ø!Ÿh™h×1Ñ1Ü&0°Ô6FÓ&Gõð" �{�{ˆ{Ø—~‘~Ò1Ð1Ð1Ø—	‘	˜*¨xÔ8Øûð;	ús4   ÄBJ" Æ/CJ" ÊJ" Ê"RÊ.B=Q=Í,C-Q=Ñ#Q=Ñ=Rc          
     ó,   € V ^8„  d   QhRRRRRRRRR	R/# )
r6   rž   ú4Union[_BulkWriteContext, _EncryptedBulkWriteContext]r€   r¦   rN   r¤   rb   r¥   r>   r@   )rA   s   "rB   rC   rD   ¡  s<   € ÷ ñ àAðð ðð %ð	ð
 !ðð 
!ñrE   c           	     	ó"  € V P                   '       dU   VP                  W#4      w  rVpVP                  P                  VP                  V\        ^ R7      VP                  VR7       V# VP                  W#4      w  r‰pV P                  WW‰^ Wt4       V# )é    )Úw)Úwrite_concernrÔ   rb   )r[   Úbatch_commandrÅ   r«   rÄ   r,   rÔ   rà   )
r\   rž   r€   rN   rb   Ú_Úbatched_cmdÚto_sendr    r¡   s
   &&&&&     rB   Ú_execute_batch_unackÚ_Bulk._execute_batch_unack¡  s‘   € ð ××ÐØ&)×&7Ñ&7¸Ó&AÑ#ˆA˜GØ�H‰H×ÑØ—‘ØÜ*¨QÔ/ØŸ™Øð ô ð  ˆð (+×'8Ñ'8¸Ó'BÑ$ˆJ˜Wð ×Ñ˜S z¸¸7ÔKàˆrE   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r6   rž   rå   r€   r¦   rN   r¤   rb   r¥   r>   z.tuple[dict[str, Any], list[Mapping[str, Any]]]r@   )rA   s   "rB   rC   rD   ¼  s<   € ÷ ñ àAðð ðð %ð	ð
 !ðð 
8ñrE   c                	ó$  € V P                   '       dV   VP                  W#4      w  rVpVP                  P                  VP                  VVP
                  VP                  VR 7      pW‡3# VP                  W#4      w  ršpV P                  WWšWt4      pW‡3# ))rJ   rÔ   rb   )r[   rê   rÅ   r«   rÄ   rÍ   rÔ   rÌ   )r\   rž   r€   rN   rb   rë   rì   rí   râ   r    r¡   s   &&&&&      rB   Ú_execute_batchÚ_Bulk._execute_batch¼  s–   € ð ××ÐØ&)×&7Ñ&7¸Ó&AÑ#ˆA˜GØ—X‘X×%Ñ%Ø—‘ØØ!Ÿi™iØŸ™Øð &ó ˆFð ˆÐð (+×'8Ñ'8¸Ó'BÑ$ˆJ˜WØ×'Ñ'¨°*À7ÓSˆFàˆÐrE   c               ó<   € V ^8„  d   QhRRRRRRRRR	R
RRRRRRRR/	# )r6   Ú	generatorúIterator[Any]ré   r,   rÔ   úOptional[ClientSession]rÅ   r/   Úop_idrŠ   Ú	retryabler9   Úfull_resultrŸ   Úfinal_write_concernzOptional[WriteConcern]r>   r?   r@   )rA   s   "rB   rC   rD   Ò  so   € ÷ e3ñ e3à ðe3ð $ðe3ð )ð	e3ð
 ðe3ð ðe3ð ðe3ð .ðe3ð 4ðe3ð 
ñe3rE   c	           
     	óL  € V P                   P                  P                  p	V P                   P                  P                  p
V
P                  pV P
                  '       g   \        V4      V n        R V n        V P
                  pVP                  W£4       RpV'       Ed‡   V P                  '       g"   \        VR 4      V n        V P                  f   Rp\        VP                  ,          pV P                  V	VVVVVVP                  V P                   P                  4      pVP                  \        VP                   4      8  Ed©   V'       d8   \        VP                   4      VP                  ,
          ^8X  d   T;'       g    TpWàP                   P                  RV P"                  /pV P$                  '       d   V P$                  VR&   \&        P(                  ! VV4       V P*                  e   V P*                  VR&   V P,                  e+   VP                  \.        \0        39   d   V P,                  VR&   V'       dT   V'       d*   V P2                  '       g   VP5                  4        RV n        VP7                  VV\8        P:                  V4       VP=                  VW:4       VP?                  V4       VPA                  V
V4       \C        VP                   VP                  R 4      pVPD                  '       d¾   V PG                  VVVV
4      w  ppVPI                  R/ 4      pVPI                  R^ 4      \J        9   d:   \L        PN                  ! V4      p\Q        VVVP                  V4       \S        V4       \Q        WÇVP                  V4       RV n	        RV n        V P"                  '       d	   R	V9   d   M:MV PU                  VVVV
4      pV;P                  \        V4      ,          un        EKÍ  V P"                  '       d   VR	,          '       d   R # V P                  ;V n        pEK�  R # )
NFTr8   r<   ÚbypassDocumentValidationr=   ÚwriteConcernErrorÚcodeÚwriteErrors)+r7   ra   rá   rb   Ú_event_listenersrY   rÂ   rZ   Úvalidate_sessionrW   r   r‘   rf   rJ   Ú
idx_offsetÚlenrN   r8   r<   r   Úapply_write_concernrP   r=   r    r"   rX   Ú_start_retryable_writeÚ	_apply_tor(   ÚPRIMARYÚsend_cluster_timeÚadd_server_apiÚapply_timeoutr   Úacknowledgedrò   Úgetr   ÚcopyÚdeepcopyr   r   rî   )r\   rõ   ré   rÔ   rÅ   rø   rù   rú   rû   rÄ   rb   Ú	listenersr“   Úlast_runÚcmd_namerž   r€   rN   râ   rí   ÚwceÚfulls   &&&&&&&&&             rB   Ú_execute_commandÚ_Bulk._execute_commandÒ  s7  € ð —/‘/×*Ñ*×/Ñ/ˆØ—‘×)Ñ)×0Ñ0ˆØ×+Ñ+ˆ	à××ÐÜ# I›ˆDÔØ ˆDŒMØ×Ñˆð 	×Ñ˜fÔ.ØˆçˆcØ—=—=�=Ü $ Y°Ó 5�”Ø—=‘=Ò(Ø#�Hä  §¡Õ-ˆHØ×%Ñ%ØØØØØØØ—‘Ø—‘×-Ñ-ó	ˆCð —.‘.¤3 s§w¡w£<Õ/÷ ¤ S§W¡W£°·±Õ!>À1Ô DØ$7×$HÐ$H¸=�Mà§¡×!5Ñ!5°yÀ$Ç,Á,ÐO�Ø—<—<�<Ø%)§\¡\�C˜	‘NÜ×)Ò)¨#¨}Ô=Ø×&Ñ&Ò2Ø6:×6IÑ6I�CÐ2Ñ3Ø—8‘8Ò'¨C¯K©K¼GÄWÐ;MÔ,MØ!%§¡�C˜‘Jß÷ !¨×)E×)EÐ)EØ×6Ñ6Ô8Ø7;˜Ô4Ø×%Ñ% c¨9´n×6LÑ6LÈdÔSØ×&Ñ& s¨GÔ<Ø×#Ñ# CÔ(à×"Ñ" 6¨3Ô/Ü˜SŸW™W c§n¡n°dÓ;�ð !×-×-Ð-Ø&*×&9Ñ&9¸#¸sÀCÈÓ&P‘O�F˜Gð !Ÿ*™*Ð%8¸"Ó=�CØ—w‘w˜v qÓ)Ô-CÔCô  $Ÿ}š}¨[Ó9˜Ü& s¨D°#·.±.À&ÔIÜ/°Ô5ä" 3°S·^±^ÀVÔLð %*�D”MØ38�DÔ0à—|—|�|¨¸Ô(?Øøà"×7Ñ7¸¸SÀ#ÀvÓN�Gà—’¤# g£,Õ.—�ð �|�|ˆ| ¨M× :Ô :Ùà%)§]¡]Ð2ˆDÔ›sñY rE   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r6   rõ   rö   ré   r,   rÔ   r÷   r•   Ústrr>   r¦   r@   )rA   s   "rB   rC   rD   9  s<   € ÷ .ñ .à ð.ð $ð.ð )ð	.ð
 ð.ð 
ñ.rE   c                ó6  a aaaa	€ R. R. R^ R^ R^ R^ R^ R. /o\        4       o	R	 VVV	V V3R
 llpS P                  P                  P                  pVP	                  S P
                  VVVS S	R7      pSR,          '       g   SR,          '       d   \        S4       S# )zExecute using write commands.r   ÚwriteConcernErrorsÚ	nInsertedÚ	nUpsertedÚnMatchedÚ	nModifiedÚnRemovedÚupsertedc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r6   rÔ   r÷   rÅ   r/   rù   r9   r>   r?   r@   )rA   s   "rB   rC   Ú+_Bulk.execute_command.<locals>.__annotate__N  s,   € ÷ 	ñ 	Ø,ð	Ø4>ð	ØKOð	àñ	rE   c           	     ó6   <€ SP                  SSV VSVS4       R # ©N)r  )rÔ   rÅ   rù   rú   rõ   rø   r\   ré   s   &&&€€€€€rB   Úretryable_bulkÚ-_Bulk.execute_command.<locals>.retryable_bulkN  s(   ø€ ð ×!Ñ!ØØØØØØØörE   )ÚbulkÚoperation_id)r'   r7   ra   rb   Ú_retryable_writerV   r   )
r\   rõ   ré   rÔ   r•   r%  rb   rë   rú   rø   s
   fff&&   @@rB   Úexecute_commandÚ_Bulk.execute_command9  s±   ü€ ð ˜2Ø  "Ø˜Ø˜Ø˜Ø˜Ø˜Ø˜ð	
ˆô “
ˆ÷	ô 	ð —‘×)Ñ)×0Ñ0ˆØ×#Ñ#Ø×ÑØØØØØð $ó 
ˆð �}×%Ô%¨Ð5I×)JÔ)JÜ# KÔ0ØÐrE   c               ó$   € V ^8„  d   QhRRRRRR/# )r6   rÅ   r/   rõ   rö   r>   r?   r@   )rA   s   "rB   rC   rD   i  s"   € ÷ #;ñ #;¨jð #;À]ð #;ÐW[ñ #;rE   c           
     ó8  € V P                   P                  P                  pV P                   P                  P                  pVP                  p\        4       pV P                  '       g   \        V4      V n        V P                  pV'       Ed   \        VP                  ,          pV P                  VVVVVRVP                  V P                   P                  4      p	VP                  \        VP                  4      8  d†   W€P                   P                  RRRR^ //p
VP                  V
4       \!        VP                  VP                  R4      pV P#                  WšW´4      pV;P                  \        V4      ,          un        K©  \        VR4      ;V n        pEK  R# )zCExecute write commands with OP_MSG and w=0 writeConcern, unordered.Nr8   FÚwriteConcernrè   )r7   ra   rá   rb   r  r'   rY   rÂ   r   r‘   rf   rJ   r  r  rN   r
  r   rî   )r\   rÅ   rõ   rÄ   rb   r  rø   r“   r  rž   r€   rN   rí   s   &&&          rB   Úexecute_op_msg_no_resultsÚ_Bulk.execute_op_msg_no_resultsi  sE  € à—/‘/×*Ñ*×/Ñ/ˆØ—‘×)Ñ)×0Ñ0ˆØ×+Ñ+ˆ	Ü“
ˆà××ÐÜ# I›ˆDÔØ×ÑˆçˆcÜ  §¡Õ-ˆHØ×%Ñ%ØØØØØØØ—‘Ø—‘×-Ñ-ó	ˆCð —.‘.¤3 s§w¡w£<Ô/àŸo™o×2Ñ2Ø˜uØ" S¨! Hð�ð
 ×#Ñ# CÔ(Ü˜SŸW™W c§n¡n°dÓ;�à×3Ñ3°C¸cÓJ�Ø—’¤# g£,Õ.—Ü%)¨)°TÓ%:Ð:ˆDÔ›sñ1 rE   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©	r6   rÅ   r/   rõ   rö   ré   r,   r>   r?   r@   )rA   s   "rB   rC   rD   Ž  s2   € ÷ "ñ "àð"ð !ð"ð $ð	"ð
 
ñ"rE   c                ó¨   € R. R. R^ R^ R^ R^ R^ R. /p\        4       p\        4       p V P                  VVR	VVR
VV4       R	#   \         d     R	# i ; i)zAExecute write commands with OP_MSG and w=0 WriteConcern, ordered.r   r  r  r  r  r  r  r   NF)r,   r'   r  r   )r\   rÅ   rõ   ré   rú   Úinitial_write_concernrø   s   &&&&   rB   Úexecute_command_no_resultsÚ _Bulk.execute_command_no_resultsŽ  sƒ   € ð ˜2Ø  "Ø˜Ø˜Ø˜Ø˜Ø˜Ø˜ð	
ˆô !-£ÐÜ“
ˆð	Ø×!Ñ!ØØ%ØØØØØØö	øô  ô 	Úð	ús   ¨A ÁAÁAc               ó(   € V ^8„  d   QhRRRRRRRR/# r2  r@   )rA   s   "rB   rC   rD   ²  s2   € ÷ !?ñ !?àð!?ð !ð!?ð $ð	!?ð
 
ñ!?rE   c                ó”  € V P                   '       d   \        R4      hV P                  '       d   \        R4      hT;'       d    VP                  '       * pV'       d/   V P                  '       d   VP
                  ^	8  d   \        R4      hV'       d/   V P                  '       d   VP
                  ^8  d   \        R4      hV'       d/   V P                  '       d   VP
                  ^8  d   \        R4      hV P                  '       d   \        R4      hV P                  '       d   V P                  WV4      # V P                  W4      # )z3Execute all operations, returning no results (w=0).z3Collation is unsupported for unacknowledged writes.z6arrayFilters is unsupported for unacknowledged writes.zPMust be connected to MongoDB 4.4+ to use hint on unacknowledged delete commands.zPMust be connected to MongoDB 4.2+ to use hint on unacknowledged update commands.zPMust be connected to MongoDB 8.0+ to use sort on unacknowledged update commands.zGCannot set bypass_document_validation with unacknowledged write concern)rQ   r   rR   r  rT   Úmax_wire_versionrS   rU   rP   r   r8   r5  r/  )r\   rÅ   rõ   ré   Úunacks   &&&& rB   Úexecute_no_resultsÚ_Bulk.execute_no_results²  s  € ð ××ÐÜ$Ð%ZÓ[Ð[Ø×"×"Ð"Ü$Ð%]Ó^Ð^à×@Ð@ m×&@Ñ&@Ô"@ˆß�T×*×*Ð*¨t×/DÑ/DÀqÔ/HÜ$Øbóð ÷ �T×*×*Ð*¨t×/DÑ/DÀqÔ/HÜ$Øbóð ÷ �T—^—^�^¨×(=Ñ(=ÀÔ(BÜ$Øbóð ð ××ÐÜ"ØYóð ð �<�<ˆ<Ø×2Ñ2°4ÀMÓRÐRØ×-Ñ-¨dÓ>Ð>rE   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r6   ré   r,   rÔ   r÷   r•   r  r>   r   r@   )rA   s   "rB   rC   rD   Õ  s8   € ÷ Vñ Và#ðVð )ðVð ð	Vð
 
ñVrE   c                ó^  € V P                   '       g   \        R4      hV P                  '       d   \        R4      hRV n        T;'       g    V P                  P                  p\        W!4      pV P                  '       d   V P                  4       pMV P                  4       pV P                  P                  P                  pVP                  '       g8   VP                  W#4      ;_uu_ 4       pV P                  WdV4        RRR4       R# V P                  WAW#4      #   + '       g   i     R# ; i)zExecute operations.zNo operations to executez*Bulk operations can only be executed once.TN)rN   r   rO   r7   ré   r*   r8   r–   r›   ra   rb   r  Ú_conn_for_writesr;  r*  )r\   ré   rÔ   r•   rõ   rb   Ú
connections   &&&&   rB   ÚexecuteÚ_Bulk.executeÕ  së   € ð �x�xˆxÜ"Ð#=Ó>Ð>Ø�=�=ˆ=Ü"Ð#OÓPÐPØˆŒØ%×FÐF¨¯©×)FÑ)FˆÜ1°'ÓIˆà�<�<ˆ<Ø×(Ñ(Ó*‰Ià×*Ñ*Ó,ˆIà—‘×)Ñ)×0Ñ0ˆØ×)×)Ð)Ø×(Ñ(¨×<Ô<À
Ø×'Ñ'¨
¸}ÔMØ÷ =Ñ<ð ×'Ñ'¨	À'ÓUÐU÷	 =×<Ð<ús   Ã+DÄD,	)rP   r7   r<   rY   rO   r[   rV   r=   rZ   rN   r8   rW   rX   rR   rQ   rT   rS   rU   )NN)NNNN)NNNr$  )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r]   Úpropertyrf   rn   r�   r†   rŒ   r–   r›   r+   rÌ   rà   rî   rò   r  r*  r/  r5  r;  rA  Ú__static_attributes__r@   rE   rB   r4   r4   S   s‘   † Ù1÷!"ðF ô%ó ð%õ-÷(÷B(÷2(õ(õ
ð ôSó ðSõjVõpõ6÷,e3õN.õ`#;õJ"õH!?÷FVñ VrE   r4   )LrG  Ú
__future__r   r  rÎ   r½   Úcollections.abcr   Ú	itertoolsr   Útypingr   r   r   r   r	   r
   r   Úbson.objectidr   Úbson.raw_bsonr   Úpymongor   r   Úpymongo.bulk_sharedr   r   r   r   r   Úpymongo.commonr   r   r   Úpymongo.errorsr   r   r   r   Úpymongo.helpers_sharedr   Úpymongo.loggerr   r   r   Úpymongo.messager    r!   r"   r#   r$   r%   r&   r'   Úpymongo.read_preferencesr(   Ú"pymongo.synchronous.client_sessionr)   r*   Úpymongo.synchronous.helpersr+   Úpymongo.write_concernr,   Úpymongo.synchronous.collectionr-   Ú pymongo.synchronous.mongo_clientr.   Úpymongo.synchronous.poolr/   Úpymongo.typingsr0   r1   r2   Ú_IS_SYNCr4   r@   rE   rB   Ú<module>r`     s£   ðñõ #ã Û Û Ý *Ý ÷÷ ñ õ #Ý )ß !÷õ ÷ñ ÷
ó õ :ß MÑ M÷	÷ 	ó 	õ 4ß ]Ý 6Ý .çÝ9Ý<Ý3ßFÑFà€÷\
Vó \
VrE   