+
    8i                    L   R t ^ RIHt ^ RIHtHt . ROt^t Rt Rt	 Rt
 Rt Rt ^ RIHt ^ RIHtHtHt ^ R	IHt ^ R
IHtHt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( ^ RI)H*t* ^ RIH+t+ ^ RIH,t, ^ RIH-t- ^ RIH.t. ^ RIH/t/ ^ RIH0t0 ]t1 R R lt2R# )zPython driver for MongoDB.)annotations)ContextManagerOptional2d2dspherehashedtext)_csot)__version__get_version_stringversion_tuple)AsyncMongoClient)MAX_SUPPORTED_WIRE_VERSIONMIN_SUPPORTED_WIRE_VERSIONhas_c)
CursorType)
DeleteMany	DeleteOne
IndexModel	InsertOne
ReplaceOne
UpdateMany	UpdateOne)ReadPreference)ReturnDocument)MongoClient)WriteConcern)
uri_parser)change_stream)client_session)
collection)command_cursor)databasec                    V ^8  d   QhRRRR/# )   secondszOptional[float]returnzContextManager[None] )formats   "N/var/www/html/photoedit/myenv/lib/python3.14/site-packages/pymongo/__init__.py__annotate__r*   z   s     8* 8*_ 8*)= 8*    c                    \        V \        \        \        R4      34      '       g   \	        R\        V 4       24      hV '       d   V ^ 8  d   \        R4      hV e   \        V 4      p \        P                  ! V 4      # )ap  **(Provisional)** Apply the given timeout for a block of operations.

.. note:: :func:`~pymongo.timeout` is currently provisional. Backwards
   incompatible changes may occur before becoming officially supported.

Use :func:`~pymongo.timeout` in a with-statement::

  with pymongo.timeout(5):
      client.db.coll.insert_one({})
      client.db.coll2.insert_one({})

When the with-statement is entered, a deadline is set for the entire
block. When that deadline is exceeded, any blocking pymongo operation
will raise a timeout exception. For example::

  try:
      with pymongo.timeout(5):
          client.db.coll.insert_one({})
          time.sleep(5)
          # The deadline has now expired, the next operation will raise
          # a timeout exception.
          client.db.coll2.insert_one({})
  except PyMongoError as exc:
      if exc.timeout:
          print(f"block timed out: {exc!r}")
      else:
          print(f"failed with non-timeout error: {exc!r}")

When nesting :func:`~pymongo.timeout`, the nested deadline is capped by
the outer deadline. The deadline can only be shortened, not extended.
When exiting the block, the previous deadline is restored::

  with pymongo.timeout(5):
      coll.find_one()  # Uses the 5 second deadline.
      with pymongo.timeout(3):
          coll.find_one() # Uses the 3 second deadline.
      coll.find_one()  # Uses the original 5 second deadline.
      with pymongo.timeout(10):
          coll.find_one()  # Still uses the original 5 second deadline.
      coll.find_one()  # Uses the original 5 second deadline.

:param seconds: A non-negative floating point number expressing seconds, or None.

:raises: :py:class:`ValueError`: When `seconds` is negative.

See `Limit Server Execution Time <https://www.mongodb.com/docs/languages/python/pymongo-driver/current/connect/connection-options/csot/#overview>`_ for more examples.

.. versionadded:: 4.2
Nz.timeout must be None, an int, or a float, not ztimeout cannot be negative)
isinstanceintfloattype	TypeError
ValueErrorr	   _TimeoutContext)r%   s   &r)   timeoutr4   z   si    d gUDJ788HgXYY7Q;566.  ))r+   N)	ASCENDING
DESCENDINGGEO2D	GEOSPHEREHASHEDTEXTr   r   r
   versionr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r4   )3__doc__
__future__r   typingr   r   __all__r5   r6   r7   r8   r9   r:   pymongor	   pymongo._versionr
   r   r   !pymongo.asynchronous.mongo_clientr   pymongo.commonr   r   r   pymongo.cursorr   pymongo.operationsr   r   r   r   r   r   r   pymongo.read_preferencesr   pymongo.synchronous.collectionr    pymongo.synchronous.mongo_clientr   pymongo.write_concernr   r   r   r   r    r!   r"   r;   r4   r'   r+   r)   <module>rK      s    ! " +< 	 
 
 	 
 	  K K > X X %   4 9 8 .  ! "  "   !8*r+   