
    }gec                     :   d Z ddlZddlZ eedej                  Z eedej                  Z eedej                  Z eedej                  Z	 eedej
                  Zi ded	ed
ed ej        eej                  d ej        eej                  d ej        eej                  deded ej        ee          d ej        eej                  ded ej        eej                  d ej        ee          deded ej        eej                  d ej        eej                  i d ej        eej                  d ej        ee          d ej        ee	          ded ej        eej                  d ej        eej                  d ej        eej                  d  ej        eej                  d! ej        eej                  d" ej        eej                  d# ej        eej                  d$ed% ej        eej                  d& ej        eej                  d'ed( ej        eej                  d) ej        eej                  i d* ej        eej                  d+ed, ej        eej                  d- ej        eej                  d. ej        eej                  d/ ej        eej                  d0 ej        eej                  d1 ej        ee          d2 ej        eej                  d3 ej        eej                  d4 ej        eej                  d5 ej        ee          d6 ej        ee          d7 ej        ee          d8 ej        eej                  d9 ej        eej                  d: ej        eej                  i d; ej        eej                  d< ej        eej                  d= ej        eej                  d> ej        eej                  d?ed@edAedBedCedDedE ej        eej                  dFedG ej        eej                  dH ej        ee          dI ej        eej                  dJ ej        ee          dK ej        eej                  i dL ej        eej                  dMedNedO ej        eej                  dPedQ ej        eej                  dR ej        eej                  dS ej        ee          dT ej        eej                  dU ej        eej                  dV ej        eej                  dW ej        eej                  dX ej        eej                  dY ej        ee          dZ ej        ee          d[ ej        eej                  d\ee ej        eej                   ej        eej                   ej        eej                   ej        eej                   ej        ee	           ej        eej                   ej        eej                  d]Zd`d_ZdS )azS3 error codes adapted into more natural Python ones.

Adapted from: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
    NENAMETOOLONG	ENOTEMPTYEMSGSIZE	EREMOTEIOEREMCHGAccessDeniedAccountProblemAllAccessDisabledAmbiguousGrantByEmailAddressAuthorizationHeaderMalformed	BadDigestBucketAlreadyExistsBucketAlreadyOwnedByYouBucketNotEmptyCredentialsNotSupportedCrossLocationLoggingProhibitedEntityTooSmallEntityTooLargeExpiredToken"IllegalLocationConstraintException'IllegalVersioningConfigurationExceptionIncompleteBody#IncorrectNumberOfFilesInPostRequestInlineDataTooLargeInternalErrorInvalidAccessKeyIdInvalidAddressingHeaderInvalidArgumentInvalidBucketNameInvalidBucketStateInvalidDigestInvalidEncryptionAlgorithmErrorInvalidLocationConstraintInvalidObjectStateInvalidPartInvalidPartOrderInvalidPayerInvalidPolicyDocumentInvalidRangeInvalidRequestInvalidSecurityInvalidSOAPRequestInvalidStorageClassInvalidTargetBucketForLoggingInvalidToken
InvalidURIKeyTooLongErrorMalformedACLErrorMalformedPOSTRequestMalformedXMLMaxMessageLengthExceeded!MaxPostPreDataLengthExceededErrorMetadataTooLargeMethodNotAllowedMissingAttachmentMissingContentLengthMissingRequestBodyErrorMissingSecurityElementMissingSecurityHeaderNoLoggingStatusForKeyNoSuchBucketNoSuchBucketPolicy	NoSuchKeyNoSuchLifecycleConfigurationNoSuchUploadNoSuchVersionNotImplementedNotSignedUpOperationAbortedPermanentRedirectPreconditionFailedRedirectRestoreAlreadyInProgressRequestIsNotMultiPartContentRequestTimeoutRequestTimeTooSkewedRequestTorrentOfBucketErrorSignatureDoesNotMatchServiceUnavailableSlowDownTemporaryRedirectTokenRefreshRequiredTooManyBucketsUnexpectedContentUnresolvableGrantByEmailAddressUserKeyMustBeSpecified301307400403)404405409412416500501503Tc                 n   t          | dd          }|| S |d                             d          }t                              |          }|r8|s)|d                             dt          |                     } ||g|R i |}n't	          t
          j        |pt          |           g|R  }|r| |_        |S )a7  Convert a ClientError exception into a Python one.

    Parameters
    ----------

    error : botocore.exceptions.ClientError
        The exception returned by the boto API.
    message : str
        An error message to use for the returned exception. If not given, the
        error message returned by the server is used instead.
    set_cause : bool
        Whether to set the __cause__ attribute to the previous exception if the
        exception is translated.
    *args, **kwargs :
        Additional arguments to pass to the exception constructor, after the
        error message. Useful for passing the filename arguments to ``IOError``.

    Returns
    -------

    An instantiated exception ready to be thrown. If the error code isn't
    recognized, an IOError with the original error message is returned.
    responseNErrorCodeMessage)getattrgetERROR_CODE_TO_EXCEPTIONstrIOErrorerrnoEIO	__cause__)	errormessage	set_causeargskwargserror_responsecodeconstructor
custom_excs	            +lib/python3.11/site-packages/s3fs/errors.pytranslate_boto_errorr|   s   s    0 UJ55N'"&&v..D)--d33K F 	I$W-11)SZZHHG [:4:::6::

 UY(=3u::EEEE
 %$
    )NT)__doc__ro   	functoolsrj   EINVALr   r   r   rp   r   ENOENTr   PermissionErrorpartialrn   FileExistsErrorEPERMFileNotFoundErrorENOSYSEBUSYTimeoutErrorrl   r|    r}   r{   <module>r      s
   
      wunel;;GE;55	75*el33GE;	22	
'%EL
1
1^O^o^ ^ #$5I$5gu|$L$L	^
 #$5I$5gu|$L$L^ ""7EL99^ ?^ ^ 'i';;^ 0y0%,GG^ %o^ 'i'>>^ 'i'::^ O^ )/^  ./@y/@%,/W/W!^" 'i'>>#^ ^$ *+<9+<Wel+S+S%^& +)+GX>>'^( &Y&w	::)^* /+^, 0y0%,GG-^. (y(%,??/^0 **7ELAA1^2 +)+GU[AA3^4 &Y&w==5^6 &'8y'8%,'O'O7^8  !2!27EL!I!I9^: /;^< $9$Wel;;=^> )	)'5<@@?^@ OA^B .Y.wEEC^D %I%gu|<<E^ ^ ^F 'i'>>G^H I^J +)+GU\BBK^L ,9,WelCCM^N $%6Y%6w%M%MO^P %I%gu|<<Q^R #)#GU\::S^T (y(,??U^V **7ELAAW^X -I-gu|DDY^Z %I%gu|<<[^\  1	 1'8 D D]^^ ():):7H)M)M_^` )	)'8<<a^b )	)'5;??c^d **7ELAAe^f -I-gu|DDg^ ^ ^h 0y0%,GGi^j /i/FFk^l .Y.wEEm^n .Y.wEEo^p %q^r +s^t "u^v #$5w^x %y^z &{^| 'i'>>}^~ ?^@ )	)'5;??A^B **7G<<C^D +)+GU\BBE^F !	!'733G^H  1	 1'5; G GI^ ^ ^J #$5I$5gu|$L$LK^L lM^N OO^P "#49#4Wek#J#JQ^R _S^T +)+GU[AAU^V !	!'5;77W^X **7G<<Y^Z -I-gu|DD[^\ 'i'>>]^^ **7ELAA_^` &'8y'8%,'O'Oa^b /i/FFc^d 
9Wg..e^f 
9Wg..g^h 
9Wel33i^j 
?k^ ^l 9Wek229Wek229Wel339Wel339Wi009Wel339Wek22{^ ^ ^ B( ( ( ( ( (r}   