§ <ˆj^1ãó—ddlmZddlZddlZddlmZddlmZddlmZm Z m Z ddl m Z m Z ddlmZdd lmZmZmZmZmZmZmZdd lmZe rdd lmZmZGd „d ¦«Ze¦«ZejZejZej Z dS)é)Ú annotationsN)Útimegm)ÚIterable)ÚdatetimeÚ timedeltaÚtimezone)Ú TYPE_CHECKINGÚAnyé)Úapi_jws)Ú DecodeErrorÚExpiredSignatureErrorÚImmatureSignatureErrorÚInvalidAudienceErrorÚInvalidIssuedAtErrorÚInvalidIssuerErrorÚMissingRequiredClaimError)ÚRemovedInPyjwt3Warning)ÚAllowedPrivateKeysÚAllowedPublicKeyscóÒ—eZdZdd„¦«Z d?d@d„Z dAdBd„Z dCdDd,„ZdEd.„Z dCdFd/„Z dGdHd0„Z dId1„Z dJd4„Z dJd5„ZdJd6„Zd7d8œdKd:„ZdLd;„ZdS)MÚPyJWTNÚoptionsúdict[str, Any] | NoneÚreturnÚNonecóH—|€i}i| ¦«¥|¥|_dS©N)Ú_get_default_optionsr)Úselfrs úB/opt/cloudlinux/venv/lib64/python3.11/site-packages/jwt/api_jwt.pyÚ__init__zPyJWT.__init__s-€Ø ˆ?؈GØ'Q¨$×*CÒ*CÑ*EÔ*EÐ'QÈÐ'QˆŒ ˆ ˆ óúdict[str, bool | list[str]]có—ddddddgdœS)NT)Úverify_signatureÚ verify_expÚ verify_nbfÚ verify_iatÚ verify_audÚ verify_issÚrequire©r-r#r!rzPyJWT._get_default_options s(€ð!%ØØØØØØð ð ð r#ÚHS256TÚpayloadúdict[str, Any]Úkeyú AllowedPrivateKeys | str | bytesÚ algorithmú str | NoneÚheadersÚ json_encoderútype[json.JSONEncoder] | NoneÚ sort_headersÚboolÚstrcó„—t|t¦«std¦«‚| ¦«}dD]T}t| |¦«t ¦«r*t || ¦«¦«||<ŒU| |||¬¦«}tj ||||||¬¦«S)NzGExpecting a dict object, as JWT only supports JSON objects as payloads.)ÚexpÚiatÚnbf)r5r6)r8) Ú isinstanceÚdictÚ TypeErrorÚcopyÚgetrrÚ utctimetupleÚ_encode_payloadr Úencode) r r/r1r3r5r6r8Ú time_claimÚ json_payloads r!rFz PyJWT.encode,sà€õ˜'¥4Ñ(Ô(ð Ýð,ñôð ð —,’,‘.”.ˆØ/ð Qð QˆJå˜'Ÿ+š+ jÑ1Ô1µ8Ñ<Ô<ð QÝ&,¨W°ZÔ-@×-MÒ-MÑ-OÔ-OÑ&PÔ&P�˜ Ñ#øà×+Ò+Ø ØØ%ð,ñ ô ˆ õ Œ~Ø Ø Ø Ø Ø Ø%ð  ñ ô ð r#ÚbytescóV—tj|d|¬¦« d¦«S)zÚ Encode a given payload to the bytes to be signed. This method is intended to be overridden by subclasses that need to encode the payload in a different way, e.g. compress the payload. )ú,ú:)Ú separatorsÚclszutf-8)ÚjsonÚdumpsrF)r r/r5r6s r!rEzPyJWT._encode_payloadRs3€õŒzØ Ø!Øð ñ ô ÷ Š&�‰/Œ/ð  r#ÚrÚjwtú str | bytesúAllowedPublicKeys | str | bytesÚ algorithmsúlist[str] | NoneÚverifyú bool | NoneÚdetached_payloadú bytes | NoneÚaudienceústr | Iterable[str] | NoneÚissuerÚleewayúfloat | timedeltaÚkwargsr c  óð—| rå',¨V¯[ª[©]¬]Ñ';Ô';ð>ð>õ'ñ  ô ð õ �w�} "Ñ%Ô%ˆØ×ÒÐ-¨tÑ4Ô4Ð4ð Ð  &¨GÐ4FÔ,GÒ"GÐ"GÝ ŒMðYõ,ð  ñ ô ð ðÐ)Ô*ð 4Ø × Ò ˜|¨UÑ 3Ô 3Ð 3Ø × Ò ˜|¨UÑ 3Ô 3Ð 3Ø × Ò ˜|¨UÑ 3Ô 3Ð 3Ø × Ò ˜|¨UÑ 3Ô 3Ð 3Ø × Ò ˜|¨UÑ 3Ô 3Ð 3à Ð%Ô &ð ¨zð ÝØnñôð õÔ)Ø ØØ!ØØ-ð  ñ ô ˆð×&Ò& wÑ/Ô/ˆà4˜DœLÐ4¨GÐ4ˆØ ×ÒØ �^¨h¸vÈfð ñ ô ð ð%ˆ� ÑØˆr#rlcóΗ tj|d¦«}n$#t$r}td|›�¦«‚d}~wwxYwt |t ¦«std¦«‚|S)a Decode the payload from a JWS dictionary (payload, signature, header). This method is intended to be overridden by subclasses that need to decode the payload in a different way, e.g. decompress compressed payloads. r/zInvalid payload string: Nz-Invalid payload string: must be a json object)rOÚloadsÚ ValueErrorr r?r@)r rlr/Úes r!rjzPyJWT._decode_payload©sz€ð >Ý”j ¨Ô!3Ñ4Ô4ˆGˆGøÝð >ð >ð >ÝÐ<¸Ð<Ð<Ñ=Ô=Ð =øøøøð >øøøå˜'¥4Ñ(Ô(ð OÝÐMÑNÔNÐ N؈s‚� >§9¹>c óÊ—| rå',¨V¯[ª[©]¬]Ñ';Ô';ð>ð>õ'ñ  ô ð ð ×&Ò&Ø Ø Ø Ø ØØ-ØØØð'ñ  ô  ˆð�yÔ!Ð!r#cóº—t|t¦«r| ¦«}|�+t|ttf¦«st d¦«‚| ||¦«tjtj ¬¦«  ¦«}d|vr|dr|  |||¦«d|vr|dr|  |||¦«d|vr|dr| |||¦«|d r| ||¦«|d r.| ||| d d ¦«¬ ¦«dSdS)Nz+audience must be a string, iterable or None)Útzr=r)r>r(r<r'r+r*Ú strict_audF©Ústrict)r?rÚ total_secondsr:rrAÚ_validate_required_claimsrÚnowrÚutcÚ timestampÚ _validate_iatÚ _validate_nbfÚ _validate_expÚ _validate_issÚ _validate_audrC)r r/rr[r]r^r{s r!rkzPyJWT._validate_claimsßs‚€õ �f�iÑ (Ô (ð ,Ø×)Ò)Ñ+Ô+ˆFà Ð ­ °8½cÅ8¸_Ñ(MÔ(MÐ ÝÐIÑJÔJÐ Jà ×&Ò& w°Ñ8Ô8Ð8åŒl�hœlÐ+Ñ+Ô+×5Ò5Ñ7Ô7ˆà �GÐ Ð  ¨ Ô 5Ð Ø × Ò ˜w¨¨VÑ 4Ô 4Ð 4à �GÐ Ð  ¨ Ô 5Ð Ø × Ò ˜w¨¨VÑ 4Ô 4Ð 4à �GÐ Ð  ¨ Ô 5Ð Ø × Ò ˜w¨¨VÑ 4Ô 4Ð 4à �<Ô ð 0Ø × Ò ˜w¨Ñ /Ô /Ð /à �<Ô ð Ø × Ò Ø˜¨'¯+ª+°lÀEÑ*JÔ*Jð ñ ô ð ð ð ð ð r#cód—|dD]&}| |¦«€t|¦«‚Œ'dS)Nr,)rCr)r r/rÚclaims r!rzzPyJWT._validate_required_claimssG€ð ˜YÔ'ð 7ð 7ˆEØ�{Š{˜5Ñ!Ô!Ð)Ý/°Ñ6Ô6Ð6ð*ð 7ð 7r#r{Úfloatcóž— t|d¦«}n#t$rtd¦«‚wxYw|||zkrtd¦«‚dS)Nr=z)Issued At claim (iat) must be an integer.z The token is not yet valid (iat))Úintrprr)r r/r{r^r=s r!r~zPyJWT._validate_iat so€ð  TÝ�g˜e”nÑ%Ô%ˆCˆCøÝð Tð Tð TÝ&Ð'RÑSÔSÐ Sð Tøøøà �#˜‘,Ò Ð Ý(Ð)KÑLÔLÐ Lð Ð ó‚˜2cóž— t|d¦«}n#t$rtd¦«‚wxYw|||zkrtd¦«‚dS)Nr>z*Not Before claim (nbf) must be an integer.z The token is not yet valid (nbf))r‡rpr r)r r/r{r^r>s r!rzPyJWT._validate_nbfsq€ð  LÝ�g˜e”nÑ%Ô%ˆCˆCøÝð Lð Lð LÝÐJÑKÔKÐ Kð Løøøð �#˜‘,Ò Ð Ý(Ð)KÑLÔLÐ Lð Ð rˆcóž— t|d¦«}n#t$rtd¦«‚wxYw|||z krtd¦«‚dS)Nr<z/Expiration Time claim (exp) must be an integer.zSignature has expired)r‡rpr r)r r/r{r^r<s r!r€zPyJWT._validate_exp&sq€ð  TÝ�g˜e”nÑ%Ô%ˆCˆCøÝð Tð Tð TÝÐRÑSÔSÐ Sð Tøøøð �3˜‘<Ò Ð Ý'Ð(?Ñ@Ô@Ð @ð !Ð rˆFrwrxc󚇗|€d|vs|dsdStd¦«‚d|vs|dstd¦«‚|dŠ|r_t|t¦«std¦«‚t‰t¦«std¦«‚|‰krtd¦«‚dSt‰t¦«r‰gŠt‰t¦«std¦«‚t d„‰D¦«¦«rtd¦«‚t|t¦«r|g}t ˆfd„|D¦«¦«rtd ¦«‚dS) NÚaudzInvalid audiencezInvalid audience (strict)z&Invalid claim format in token (strict)zAudience doesn't match (strict)zInvalid claim format in tokenc3óBK—|]}t|t¦« V—ŒdSr)r?r:)Ú.0Úcs r!ú z&PyJWT._validate_aud..]s/èè€Ð?Ð?¨!•:˜a¥Ñ%Ô%Ð%Ð?Ð?Ð?Ð?Ð?Ð?r#c3ó •K—|]}|‰vV—Œ dSrr-)rŽrŒÚaudience_claimss €r!r�z&PyJWT._validate_aud..cs(øèè€Ð>Ð>¨cˆs˜/Ð)Ð>Ð>Ð>Ð>Ð>Ð>r#zAudience doesn't match)rrr?r:ÚlistÚanyÚall)r r/r[rxr’s @r!r‚zPyJWT._validate_aud4s–ø€ð РؘGÐ#Ð#¨7°5¬>Ð#Ø�õ'Ð'9Ñ:Ô:Ð :à ˜Ð Ð  w¨u¤~Ð õ,¨EÑ2Ô2Ð 2à! %œ.ˆð ð å˜h­Ñ,Ô,ð HÝ*Ð+FÑGÔGÐGõ˜o­sÑ3Ô3ð UÝ*Ð+SÑTÔTÐTà˜?Ò*Ð*Ý*Ð+LÑMÔMÐMà ˆFå �o¥sÑ +Ô +ð 0Ø.Ð/ˆOݘ/­4Ñ0Ô0ð HÝ&Ð'FÑGÔGÐ GÝ Ð?Ð?¨Ð?Ñ?Ô?Ñ ?Ô ?ð HÝ&Ð'FÑGÔGÐ Gå �h¥Ñ $Ô $ð "Ø �zˆHå Ð>Ð>Ð>Ð>°XÐ>Ñ>Ô>Ñ >Ô >ð AÝ&Ð'?Ñ@Ô@Ð @ð Að Ar#cój—|€dSd|vrtd¦«‚|d|krtd¦«‚dS)NÚisszInvalid issuer)rr)r r/r]s r!r�zPyJWT._validate_issfsK€Ø ˆ>Ø ˆFà ˜Ð Ð Ý+¨EÑ2Ô2Ð 2à �5Œ>˜VÒ #Ð #Ý$Ð%5Ñ6Ô6Ð 6ð $Ð #r#r)rrrr)rr$)r.NNT)r/r0r1r2r3r4r5rr6r7r8r9rr:)NN)r/r0r5rr6r7rrI)rQNNNNNNr)rRrSr1rTrUrVrrrWrXrYrZr[r\r]r4r^r_r`r rr0)rlr0rr )rRrSr1rTrUrVrrrWrXrYrZr[r\r]r4r^r_r`r rr )NNr)r/r0rr0r^r_rr)r/r0rr0rr)r/r0r{r…r^r…rr)r/r0r[r\rxr9rr)r/r0r]r rr)Ú__name__Ú __module__Ú __qualname__r"Ú staticmethodrrFrErirjrsrkrzr~rr€r‚r�r-r#r!rrs߀€€€€ðRðRðRðRðRð ð  ð  ð  ñ„\ð  ð!(Ø)-Ø6:Ø!ð$ ð$ ð$ ð$ ð$ ðR*.Ø6:ð ððððð*02Ø'+Ø)-à"à)-ð04Ø!Ø$%ðCðCðCðCðCðJðððð&02Ø'+Ø)-à"à)-ð04Ø!Ø$%ð$"ð$"ð$"ð$"ð$"ðTØØ$%ð !ð!ð!ð!ð!ðF7ð7ð7ð7ð Mð Mð Mð Mð Mð Mð Mð Mð Að Að Að Að&ð 0Að0Að0Að0Að0Að0Aðd7ð7ð7ð7ð7ð7r#r)!Ú __future__rrOrcÚcalendarrÚcollections.abcrrrrÚtypingr r rQr Ú exceptionsr rrrrrrrrUrrrÚ_jwt_global_objrFrirsr-r#r!úr¢s~ðØ"Ð"Ð"Ð"Ð"Ð"à € € € Ø€€€ØÐÐÐÐÐØ$Ð$Ð$Ð$Ð$Ð$Ø2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ø%Ð%Ð%Ð%Ð%Ð%Ð%Ð%àÐÐÐÐÐððððððððððððððððððð-Ð,Ð,Ð,Ð,Ð,àðBØAÐAÐAÐAÐAÐAÐAÐAðT7ðT7ðT7ðT7ðT7ñT7ôT7ðT7ðn �%‘'”'€Ø Ô €Ø!Ô1€Ø Ô €€€r#