Files
boc/aamos-ledger-rust/target/debug/deps/libjsonwebtoken-132fd54934e1e02b.rmeta
T

1931 lines
465 KiB
Plaintext
Raw Normal View History

rust
HA#rustc 1.96.0 (ac68faa20 2026-05-25)ÁÀ뉊]!ÜÛê(¹Þ—šên-5be7b69c3ff7b5b8ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁ¤²XctÔ'ÐÓ©z¨ɽÓ-a4945860e1c53b00Á¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁòÖÀH•‘PIÓHã#£-055f30b747f859b6Árustc_std_workspace_coreÁ­Cçß^ò½èÝ$­Çÿ+Cé-c4878ee60b2242c9ÁŸÃï+Ñ]ŠqB<ÏïW#-8dd1dd90e70d0b6aÁ miniz_oxideÁ€š»J(P>àö÷g\K-1eb618da2918ab7fÁadler2ÁÆ;+Þ®5¥Ìýݰ¦ÛLˆ-f7919172d268e069Á hashbrownÁPäV9ÒÆèÜ"ÊÖVŽ\-0fc2184a5da6723aÁrustc_std_workspace_allocÁs&ØòØy¯s•bæ!‰ýŠ-97e4bf30be240674Á
std_detectÁhŠBîÙºÌI®ËÅš-9dbbf8346ba7ac8bÁrustc_demangleÁûë9´Ç×@Œ’ùXFº-f33013f239bf9f14Ácfg_ifÁÜLhž§Œaã¯>­-0a71c8f33a838301Á addr2lineÁ׎Þ!]8V$É@@-e618e6be60e87ba2ÁgimliÁ¸
°µ~Î1‹Ñt ðÁ€w-1f7768a68858f670ÁobjectÁ
áPÃ?­À¶¼QHJ¥-914cd6a4dbe590d1ÁmemchrÁ›º«8Ór­2Ù $¨ûib-cf21ca6f2bb15dcdÁë
‹ás«LÖ€îâƒ×ɯŒ-ee6f3747e38367f0ÁserdeÁFVæ¸Û•IÄÀzÍ-9c8ce3cf08540cc3Á serde_deriveÁ,w|êñ]ù¿¥­C£ð-975c43f96d83014eÁ
serde_coreÁ²€Ãb˜cÐòžÇÇ
-7a42419d8e43b208ÁringÁÁóâøµ–¤ü F]ˆ-8bf0a65a1b42544eÁ®f©¾/ô)c§{õa“â‘-a3906971a93fd1b8Áæ\‹±ÔcdùÀTƒ-f86f80b348d33b13Á untrustedÁI /ý+OÆ]‡ôd‰ð.-d6cd86ad6d3ca912Á getrandomÁ³žKYÆB |R¬*9"ÌÝ-50ddae19eb09a1dfÁbase64Á¨NÁP5̘B¥õˆ¤Œ-c809ae07e9abf466Á simple_asn1Á)(ަ-†ä»Í/y¯¤«-bc11de676529e93cÁ
num_bigintÁƱ‘¡°¹ŽEŸü-%þä-1c9fb314b9c73ca9Á num_integerÁ¢úÍI™Ý@ià‹1Hæ²-7dc02ec4196ef545Á
num_traitsÁËßM6@eg^…RžºQ®–•-cec9984d90a4582aÁ thiserrorÁ´,-Uô!ÌÓ°™û½©|#§-9a017bdf1f6911cfÁthiserror_implÁ
²,v€ϸ6»˜-248901177889560cÁtimeÁ¬¬7Í #æUÝTÐhx-9db93fe7b180f52dÁ time_coreÁuqb•KäÖèŽíµ¸-15efa507e9592178ÁderangedÁy3Rø5"ì§„ƒ}¤æ-01d9b2f185808877Ánum_convÁ ¿Àñh¢A¶ÙqÒÁ-137791c09537c162ÁpowerfmtÁÕô¹wÄ·$„¥ƒ„‚„¯-dabe7b344a1502fbÁ time_macrosÁ¢ÒÝÊmÁ 6o·§ýAÙ-567fe938724ff7ebÁ
serde_jsonÁ½vD~ü'ÇÄtÛ?-6e8a40e7f3a7e75cÁzmijÁ[‰Œ×ªo–ÛX—x iHÞh-d3bb8ac9b6edd7e7ÁitoaÁrLpèòÐ
ݽ‚AéGT'-7ba5a7b63f68a66bÁì­†°<šÒ"®9eæ·3š¶Ø-809318e8f6183885ÁpemÁè©M/Î6?ċ̉%¨ƒª-ca3dbaecee9d285bÁtestsÁ,þ¬,«0$ 0À¬,Ön$ËnŸget_current_timestampÁ¬»7ì×´Ö6Ÿ¬,‡i$ühÀ
algorithmsÁ  þfamilyÁcryptoÁ 
  ecdsaÁalg_to_ec_verificationÁalg_to_ec_signingÁsignÁeddsaÁ)))))ô)©rsaÁ0000000000 0alg_to_rsa_parametersÁ0alg_to_rsa_signingÁ0©= = 0verify_from_componentsÁ sign_hmacÁ© verify_ringÁverifyÁdecodingÁEEEEEEEEEE E
E E E
EEEEEEEE[¥[ƒE
expect_twoÁE_ from_secretÁ_from_base64_secretÁ_ from_rsa_pemÁ_from_rsa_componentsÁ_from_rsa_raw_componentsÁ_ from_ec_pemÁ_from_ec_componentsÁ_ from_ed_pemÁ_ from_rsa_derÁ_ from_ec_derÁ_ from_ed_derÁ_from_ed_componentsÁ_from_jwkÁ_as_bytesÁEverify_signatureÁn'aÁEdecodeÁp¥E
decode_headerÁencodingÁssssssssss s
s s s±ÃܧÒä÷innerÁsencodeÁ¥errorsÁ new_errorÁÍ¥ into_kindÁ˜Üš×œŸ÷¡÷£÷¥÷ §÷
©÷headerÁ«««««««««« «
«·æ · from_encodedÁ¹¥·x5c_derÁ» ¼ «¾>jwkÁÀÀÀÀÀÀÀÀÀÀ À
À À À
ÀÀÐ serializeÁѤÀÓ'deÁÓ deserializeÁÕÕPublicKeyUseVisitorÁ×
ÕÙ¨ÙValueÁÙ expectingÁÙ visit_strÁÝÀߊà¤Àâ¨â³ääKeyOperationsVisitorÁæ
äè¨èûèˆ èìÀîîþÀñ×Àó to_algorithmÁÀõ is_supportedÁÀ÷findÁø ÿúdecoderÁûûûûÿæ ÿas_ec_private_keyÁÿas_ec_public_keyÁÿas_ed_private_keyÁÿas_ed_public_keyÁÿ
as_rsa_keyÁûextract_first_bitstringÁû classify_pemÁ
serializationÁˆˆˆˆˆˆˆˆ
b64_encodeÁ¥ˆ
b64_decodeÁ¥ ˆb64_encode_partÁ¥ˆDecodedJwtPartClaimsÁ b64_decodedÁˆfrom_jwt_part_claimsÁšimpl AsRef<[u8]>Á³œéœ¥
validationÁŸŸŸŸŸŸŸŸŸŸ Ÿ
Ÿ Ÿ Ÿ
ŸŸ¯æ ¯ set_audienceÁ±¥± ¯
set_issuerÁ´¥´ ¯set_required_spec_claimsÁ·¥· ¯%insecure_disable_signature_validationÁŸ»>ŸíŸ¾¨¾¥¾³ÁŸÃ¥Ã>ŸÆborrowÁŸ is_subsetÁÈ È ŸvalidateÁŸ numeric_typeĄ́ÌÌ NumericTypeÁÏ
ψÌÒ¨ÒûÒˆ Ò visit_f64ÁÖÒ visit_u64ÁØ 
  
AlgorithmFamilyÁçHmacÁè
çRsaÁê
çEcÁì
çEdÁî
ð×òÖõùƒû_serdeÁûýŠþúï+¨³__DÁ__FieldÁ__field0Á
__field1Á
__field2Á
__field3Á
__FieldVisitorÁ
¨ûˆ ‹*__EÁã- visit_bytesÁã-¨³µ, __VisitorÁŸ¨ŸÚŸ£¨£û£ˆ £
visit_enumÁ§__AÁVARIANTSÁ AlgorithmÁªHS384Á«
ªHS512Á­
ªES256Á¯
ªES384Á±
ªRS256Á³
ªRS384Áµ
ªRS512Á·
ªPS256Á¹
ªPS384Á»
ªPS512Á½
ªEdDSAÁ¿
 Á×
Ã>  Æ
ÈÖʧËùσÑï+ÑÓŠÔúÖï+ÖØ¨Ø³Úµ,ÚÀ,ÜÏ,Ý
Üä,ß
Üù,á
ÜŽ-ã
Ü__field4Áå
Ü__field5Áç
Ü__field6Áé
Ü__field7Áë
Ü__field8Áí
Ü__field9Áï
Ü __field10Áñ
Ü __field11Áó
Ú£-õ
Ú÷¨÷û÷ˆ ÷‹*ûã-÷ýã-÷þ-ÿã-Ú¨³ƒµ,Ú¶.¨ÚÚ¨ûˆ ü.Ž/Ú™/ªHS256Á
E TokenDataÁ¥claimsÁE¥×EDecodingKeyKindÁ SecretOrDerÁš
šˆRsaModulusExponentÁ¹°E ƒE DecodingKeyÁ¢¢E¥ƒs EncodingKeyÁ§§contentÁsªƒErrorÁ¬
¬ˆ ¯ƒ ±×
³Ö ErrorKindÁ¸ InvalidTokenÁ¹
¸InvalidSignatureÁ»
¸InvalidEcdsaKeyÁ½
¸
InvalidRsaKeyÁ¿
¿ˆ¸RsaFailedSigningÁÂ
¸InvalidAlgorithmNameÁÄ
¸InvalidKeyFormatÁÆ
¸MissingRequiredClaimÁÈ
Ȉ¸ExpiredSignatureÁË
¸
InvalidIssuerÁÍ
¸InvalidAudienceÁÏ
¸InvalidSubjectÁÑ
¸ImmatureSignatureÁÓ
¸InvalidAlgorithmÁÕ
¸MissingAlgorithmÁ×
¸Base64ÁÙ
Ùˆ¸JsonÁÜ
܈¸Utf8Áß
߈¸CryptoÁâ
âˆåƒç׫HeaderÁéalgÁ«ë׫탫«ð«òÖ«ôï+ôöŠ÷ú«ùï+ùû¨û³ýµ,ýÀ,ÿÏ,
ÿä,
ÿù,
ÿŽ-
ÿä2ˆ
ÿù2Š
ÿŽ3Œ
ÿ£3Ž
ÿ¸3
ÿÍ3
ÿ__ignoreÁ
ý£-
ý˜¨˜û˜ˆ ˜‹*œã-˜žã-˜þ- ã-ý¢¨¢³¤µ,ý¶.¦¨¦Ú¦ýª¨ªûªˆ ª visit_seqÁ®Ž/ª visit_mapÁ°Ž/ýFIELDSÁ«³§´ùétypÁéctyÁéjkuÁé¯ékidÁéx5uÁéx5cÁéx5tÁéx5t_s256ÁÀ PublicKeyUseÁ¿ SignatureÁÀ
¿
EncryptionÁÂ
¿¯Ä
ĈÀ ǃÀ
É×À ËÖÀ À
ÎÀЧÑùÀ
KeyOperationsÁÓSignÁÔ
ÓVerifyÁÖ
ÓEncryptÁØ
ÓDecryptÁÚ
ÓWrapKeyÁÜ
Ó UnwrapKeyÁÞ
Ó DeriveKeyÁà
Ó
DeriveBitsÁâ
Ó¯ä
äˆÀçƒÀé×ÀëÖÀÀîÀð§ñùÀ KeyAlgorithmÁóÚ5ô
ó¹/ö
óË/ø
óÝ/ú
óï/ü
ó0þ
ó“0
ó¥0
ó·0
óÉ0
óÛ0ˆ
óí0Š
óRSA1_5ÁŒ
ÀŽ×ÀÀÀÖÀ§ùÀÀÀšƒÀœï+œžŠŸúÀ¡ï+¡£¨£³¥µ,¥À,§Ï,¨
§ä,ª
§ù,¬
§Ž-®
§ä2°
§ù2²
§Ž3´
§£3
§¸3¸
§Í3º
§â3¼
§ø3¾
§ __field12ÁÀ
§ __field13ÁÂ
§ __field14ÁÄ
¥£-Æ
¥È¨ÈûȈ È‹*Ìã-ÈÎã-Èþ-Ðã-¥Ò¨Ò³Ôµ,¥¶.Ö¨ÖÚÖ¥Ú¨ÚûÚˆ Úü.ÞŽ/¥™/óRSA_OAEPÁá
ó RSA_OAEP_256Áã
ÀCommonParametersÁÀæ×ÀèƒÀêÖÀ À!íÀïï+ïñŠòúÀôï+ôö¨ö³øµ,øÀ,úÏ,û
úä,ý
úù,ÿ
úŽ-
úä2ƒ
úù2
úŽ3
ú£3
úÍ?
ø£-
ø¨ûˆ ‹*ã-ã-þ-ã-ø¨³µ,ø¶.¨Úø¡¨¡û¡ˆ ¡–A¥Ž/¡¯A§Ž/øÈAÀ"ª>À#¬§­ùåpublic_key_useÁåkey_operationsÁå
key_algorithmÁåkey_idÁåx509_urlÁå
x509_chainÁåx509_sha1_fingerprintÁåx509_sha256_fingerprintÁÀEllipticCurveKeyTypeÁÀ$À%¹ƒÀ&À'¼×À(¾>À)ÀÖÀ*À+ÃÀÅï+ÅÇŠÈúÀÊï+Ę̳̂ε,ÎÀ,ÐÏ,Ñ
Σ-Ó
ÎÕ¨ÕûÕˆ Õ‹*Ùã-ÕÛã-Õþ-Ýã-Îߨ߳áµ,ζ.ã¨ãÚãÎç¨çûçˆ çü.ëŽ/Ι/À,î§ïù·ECÁñ
À
EllipticCurveÁÀ-ôƒÀ.ö×À/ø>À0úÖÀ1À2ýÀÿï+ÿŠúÀï+¨³ˆµ,ˆÀ,ŠÏ,
Šä,
Šù,
ŠŽ-
ˆ£-
ˆ¨ûˆ ‹*ã-ã-þ-ã-ˆŸ¨Ÿ³¡µ,ˆ¶.£¨£Ú£ˆ§¨§û§ˆ §ü.«Ž/ˆ™/À3®§¯ùóP256Á±
óP384Á³
óP521Áµ
óEd25519Á·
ÀEllipticCurveKeyParametersÁ¹Ã¹ÄÀ4¼ƒÀ5¾×À6ÀÖÀ7À8ÃÀÅï+ÅÇŠÈúÀ Êï+Ę̳̂ε,ÎÀ,ÐÏ,Ñ
Ðä,Ó
Ðù,Õ
ÐŽ-×
ÐÍ?Ù
Σ-Û
ÎݨÝû݈ Ý‹*áã-Ýãã-Ýþ-åã-Îç¨ç³éµ,ζ.ë¨ëÚëÎï¨ïûïˆ ï–AóŽ/ï¯AõŽ/ÎÈAÀ9ø>À:ú§ûù¹key_typeÁ¹curveÁÀ
RSAKeyTypeÁÀ;À< ƒÀ=À>×À?>À@ˆ ÖÀAÀBÀ
 ï+  Š úÀ ï+¨³µ,À,˜ Ï,
 £-
 ¨ û ˆ  *¡ ã- £ ã- þ-¥ ã-§ ¨§ ³© µ,¶.« ¨« Ú« ¯ ¨¯ û¯ ˆ ¯ ü.³ Ž/™/ÀC§· ùÿRSAÁ¹
ÀRSAKeyParametersÁ» ¹» °ÀD¾ ƒÀEÀ ×ÀF ÖÀGÀHÅ À Ç ï+Ç É ŠÊ úÀ
Ì ï+Ì Î ¨Î ³Ð µ,Ð À,Ò Ï,Ó
Ò ä,Õ
Ò ù,×
Ò Í?Ù
Ð £-Û
Ð Ý ¨Ý ûÝ ˆ Ý ‹*á ã-Ý ã ã-Ý þ-å ã-Ð ç ¨ç ³é µ,Ð ¶.ë ¨ë Úë Ð ï ¨ï ûï ˆ ï –Aó Ž/ï ¯Aõ Ž/Ð ÈAÀIø >ÀJú §û ù» ñ]À OctetKeyTypeÁÀKÀL
ƒÀMÀNƒ
×ÀO
>ÀP
ÖÀQÀRŠ
ÀŒ
ï+Œ
Ž
Š
úÀ
ï+

¨
³
µ,
À,
Ï,˜

£-š

œ
¨œ
ûœ
ˆ œ
* 
ã-œ
¢
ã-œ
þ-¤
ã-
¦
¨¦
³¨
µ,
¶.ª
¨ª
Úª

®
¨®
û®
ˆ ®
ü.²
Ž/
™/ÀSµ
§
ùþ OctetÁ¸
ÀOctetKeyParametersÁÀT»
ƒÀU½
×ÀV¿
ÖÀWÀXÂ
ÀÄ
ï+Ä
Æ
ŠÇ
úÀÉ
ï+É
Ë
¨Ë
³Í
µ,Í
À,Ï
Ï,Ð
Ï
ä,Ò
Ï
Í?Ô
Í
£-Ö
Í
Ø
¨Ø
ûØ
ˆ Ø
*Ü
ã-Ø
Þ
ã-Ø
þ-à
ã-Í
â
¨â
³ä
µ,Í
¶.æ
¨æ
Úæ
Í
ê
¨ê
ûê
ˆ ê
Aî
Ž/ê
¯Að
Ž/Í
ÈAÀYó
>ÀZõ
§ö
ùº
ñ]º
»ÀOctetKeyPairTypeÁÀ[À\ü
ƒÀ]À^ÿ
×À_ >À`ƒ ÖÀaÀb Àˆ ï+ˆ Š Š úÀ ï+  ¨ ³ µ, À, Ï,
 £-
 ˜ ¨˜ û˜ ˆ ˜ ‹*œ ã-˜ ž ã-˜ þ-  ã- ¢ ¨¢ ³¤ µ, ¶.¦ ¨¦ Ú¦  ª ¨ª ûª ˆ ª ü.® Ž/ ™/Àc± §² ùú
 OctetKeyPairÁ´
ÀOctetKeyPairParametersÁ ÃÀd¸ ƒÀeº ×Àf¼ ÖÀgÀh¿ ÀÁ ï+Á à ŠÄ úÀÆ ï+Æ È ¨È ³Ê µ,Ê À,Ì Ï,Í
Ì ä,Ï
Ì ù,Ñ
Ì Í?Ó
Ê £-Õ
Ê × ¨× û× ˆ × ‹*Û ã-× Ý ã-× þ-ß ã-Ê á ¨á ³ã µ,Ê ¶.å ¨å Úå Ê é ¨é ûé ˆ é –Aí Ž/é ¯Aï Ž/Ê ÈAÀiò >Àjô §õ ù ñ] ^Àkù ƒÀlû ×Àmý ÖÀnÀo À ï+  Š úÀ ï+  ¨ ³ µ,Àp §Ž ùÀAlgorithmParametersÁ âU
 ˆ µa
 ˆ OctetKeyÁ
 ˆ þoš
š ˆÀJwkÁÀqž ƒÀr  ×Às¢ ÖÀtÀu¥ À§ ï+§ © Šª úÀ¬ ï+¬ ® ¨® ³° µ,° À,² ¨² __otherÁ´
´ ˆ° £-·
° ¹ ¨¹ û¹ ˆ ¹ 
visit_boolÁ½ ã-¹ visit_i8Á¿ ã-¹  visit_i16ÁÁ ã-¹  visit_i32Áà ã-¹  visit_i64ÁÅ ã-¹ visit_u8ÁÇ ã-¹  visit_u16ÁÉ ã-¹  visit_u32ÁË ã-¹ *Í ã-¹  visit_f32ÁÏ ã-¹ ò)Ñ ã-¹ 
visit_charÁÓ ã-¹ 
visit_unitÁÕ ã-¹ × ã-¹ þ-Ù ã-¹ visit_borrowed_strÁÛ ã-¹ visit_borrowed_bytesÁÝ ã-° ß ¨ß ³á µ,° ¶.ã ¨ã Úã ° ç ¨ç ûç ˆ ç ¯Aë Ž/Àví §î ù ž  algorithmÁÀJwkSetÁò keysÁÀwô ×Àxö ƒÀyÀzù À{û ÖÀý ï+ý ÿ Š
úÀ
ï+

¨
³
µ,
À,ˆ
Ï,
ˆ
Í?

£-


¨
û
ˆ 
*
ã-

ã-
þ-
ã-

¨
³
µ,
¶.
¨
Ú

¡
¨¡
û¡
ˆ ¡
A¥
Ž/¡
¯A§
Ž/
ÈAûPemTypeÁª
EcPublicÁ«
ª
 EcPrivateÁ­
ª
 RsaPublicÁ¯
ª

RsaPrivateÁ±
ª
EdPublicÁ³
ª
 EdPrivateÁµ
û·
×ûûº
ûStandardÁ¼
Pkcs1Á½
¼
Pkcs8Á¿
ûÁ
×ûûÄ
ûClassificationÁÆ
+Ç
Æ
ž+É
Æ
ÿ*Ë
ûÍ
×ûû Ð
û
PemEncodedKeyÁÒ
â7Ò
asn1ÁÒ
pem_typeÁÒ
standardÁû
×
ן
ValidationÁÙ
required_spec_claimsÁÙ
leewayÁÙ
#reject_tokens_expiring_in_less_thanÁÙ
 validate_expÁÙ
 validate_nbfÁÙ
 validate_audÁÙ
audÁÙ
issÁÙ
ÚÙ
¼Ù
validate_signatureÁŸå
ןç
ƒŸŸê
Ÿ ì
ÖŸClaimsForValidationÁî
éŸð
ï+ð
ò
¨ò
éò
³õ
µ,õ
À,÷
Ï,ø
÷
ä,ú
÷
ù,ü
÷
Ž-þ
÷
ä2
÷
Í?
õ
£-
õ
¨ûˆ ‹*Šã-Œã-þ-Žã-õ
¨³µ,õ
¶.¨éÚõ
¨éûˆ –AžŽ/ž__DeserializeWithÁ ¨ é » phantomÁ ž¦¨¦é¦³©µ,ž ž´ˆ¬¨¬é¬»¬åˆ¬ž²¨²é²³µµ,ž ¯A¸Ž/¸´ˆº¨ºéº»ºåˆº¸À¨ÀéÀ³Ãµ,¸´ˆÅ¨ÅéÅ»ÅåˆÅ¸Ë¨Ëé˳ε,õ
ÈAî
expÁî
nbfÁî
Úî
Å„î
º„ŸTryParseÁÖ¥ÖParsedÁØ
؈Ö
FailedToParseÁÛ
Ö
NotPresentÁÝ
Ÿ
ߥßןâï+âä¨äéä³çµ,ŸAudienceÁéééSingleÁë
éMultipleÁí
ëˆíˆŸñï+ñó¨óéó³öµ,ŸIssuerÁøéø½ú
øÐü
úˆüˆŸBorrowedCowIfPossibleÁ
韃ï+ƒ¨é³ˆµ,ˆ¶.ЍŠéŠÚŠˆ¨éûˆ visit_newtype_structÁã-–AŽ/´ˆ˜¨˜é˜»˜åˆ˜ž¨žéž³¡µ, Ÿ ¤éŸ ¦é¦Ÿ
©é©ÖŸ¬é¬§®ùˆ
(
(
/
/
=
=
@
@
@
@
A
A
B
B
C
C
C
D
D
D
]
`
a
b
c
c
d
d
e
f
f
g
h
i
j
k
l
m
n
n
p
p
p
r

ƒ




ˆ

Š










»
Ñ
Ü
Ü
Ü
Ý
à
ë
ë
ë
ì
ð
ò
ò
ò
ö
ø
ø



ƒ





±
±
´
´
·
·
º
Æ
Ç
È
È
È
Ë
Ë
Õ
Õ
Õ
ñ
ñ
ñ
ó
ö
ö
ú
þ





¦
¦
¦
Â
Â
Â
Ç
Ç
É
Ë
Ë
Ð
Ô
ú
ú
ú
ý
ÿ
Œ
Œ
Œ
˜
˜
˜
¡
¦
«
°
²
²
²
´
·
·
æ
è
è
è
ì
ì
ì
î
ñ
ñ
ó
÷



ž
 
­
­
­
´
´
È
Ê
Ê
Ê
Ì
Ï
Ï
Ñ
Ñ
è
ê
ê
ê
ì
ï
ï
ñ
ñ









Ÿ
Ë
Ë
Ë
Î
Ð
Ý
Ý
Ý
ç
ç
ç
é
ë
î
î
ò





¤
¤
¤
­
­
º
½
½
½
Á
Ä
Ä
È
Ø
Ø
Ø
Û
Ý
ê
ê
ê
ï
ï
õ
÷
÷
÷
û
þ
þ

˜
˜
˜


ª
ª
ª
¯
¯
½
¿
¿
¿
Á
Ä
Ä
È
à
à
à
ã
å
ò
ò
ò
û
û





Œ
Œ

 
 
 
£
¥
²
²
²
·
·
¿
Á
Á
Á
Ã
Æ
Æ
Ê
à
à
à
ã
å
ò
ò
ò
û
û




ˆ



Ÿ
Ÿ
Ÿ
¢
¤
±
±
±


¼
¾
¾
¾
À
Ã
Ã
Ç
Û
Û
Û
Þ
à
í
í
í
ö
ö
ý










ž
 
­
­
­
²
²
¹
»
»
»
½
À
À
Ä
Ú
Ú
Ú
Ý
ß
ì
ì
ì
õ
õ
ú
ü
ü
ü
þ



Ž
Ž
Ÿ
¡
¡
¡
£
¦
¦
ª
¼
¼
¼
×
Ù
ê
ê
ê
î
î
õ
õ
õ
÷
ú
ú
ü






¤
¤
¤
¸
¸
¸
»
»
Â
Â
Â
Å
Å
Î
Î
Î
Ñ
Ñ
Ø
Ø
Ø
æ
æ
æ
è
ë
ë
í



Œ
Ž



á
á
á



¨
¨
«
®
®
¿cçèéî*êëÿ*ìí+îïž+€¼R­xÑÀÒº¥Ð캥µßº¥º¥Š º¥Ûº¥Øº¥ÙAº¥û;º¥¨Ì<£- Ǥá"ÿ¼¨û;ˆÏ,Šä,Œù,ŽŽ-çÖvÏ6Äa¼¨Ì<ŸŸ¶.¡Ú¢('1ŠëÀj¨¨¿cª Ú5«¬¹/­®Ë/¯°Ý/±²ï/³´0µ“0·¸¥0¹º·0»¼É0 ½¾Û0
¿Àí0 \¶©ëhQ«³ܨÐìܨµßܨܨܨšeܨŠ ܨÛܨØܨÙAܨû;ܨ¨Ì<õõö£- %üûp^—¨û;Ü ÝÞÏ,ßàä,áâù,ãäŽ-åæä2çèù2éêŽ3ëì£3íî¸3ïðÍ3 ñòâ3
óôø3 šqxl沤¨Ì<¶.Úˆ`Ǫ¨¶5ܨ¨ïyܨ¿cë5Œ6…äø½’ßϥ؟®ØšÄ6œˆä6ž¹Ÿ°H°26>
Ø¢¢™7£¤Ïýtêè-ëØ§§Ç7¨©â7sm«=–§hج¬­ý7®ˆ XWŽ…iÓÙ¿cððÐìðµßððØ¸¹ºá8»¼ú8½¾—9¿À³9ÁˆÂÃÕ9ÄÅò9ÆÇ“:Èɰ:ʈËÌÙ:ÍÎö: ÏÐ;
ÑÒ¬; ÓÔÇ; ÕÖå;
ר‚<ÙÚŸ<ÛˆÜݺ<ÞˆßàÓ<áˆâãì<äˆ(øl@µM¿c®±¾ðÄcðµß®±®±®±éð¾¿À InvalidByteÁÁˆÂÃÄ
InvalidLengthÁňÆÇInvalidLastSymbolÁȈÉÊËInvalidPaddingÁ•ãÄßua…³éðý7errÁšdå§ôYàïéð‡I‡I
FromUtf8ErrorÁˆIbytesÁ4‰IerrorÁ‘4fŠÀ¿Óíéðç%ç%è% UnspecifiedÁ åáÍ^àåNéðÞ%Þ%ß% KeyRejectedÁà%ˆ¤ Šá0Ì‹Žüqé𮱿céé¡=
ëAê¯=·öA¸B¹¯º”B»ŸB¼ªB½µB¾ÀB>RcØݸÐìݸµßݸݸݸÙAݸû;ݸ¨Ì<£- é}Ù¿»K¨û;ÿ Ï,ƒä,ù,Ž-ˆä2Šù2ŒŽ3Ž£3¸3Í3 Í?
Ƽ‡«ªVv¨Ì<¦¦¶.¨Ú«©«¿ÂmÊ;фšeݸ³ݸØ¿ÀÁäBÂÃúBÄůƈZ`ÎǦñ¨¿c—½—½Ðì—½µß—½—½še—½ÙA—½û;—½¨Ì<××ØÎ –Ôwò÷7“¨ØÓ ÔÕ‰DÖךDØÙ­DÚÛÁDÜÝÕDÞßéDàáÿDâã•Eä坿ˆLÞÎmŽ¿cù¾ù¾Ðìù¾µßù¾ù¾šeù¾ÙAù¾û;ù¾¨Ì<ææçä  fè¥i)»´_¨¿cóôõÚ5ö÷¹/øùË/úûÝ/üýï/þÿ0“0ƒ¥0·0É0 ˆÛ0
Ší0 Œ¿G áâ¬L
ãäÁLjò¬E>xÐóÐì»Áµß»Á»Á»Áše»ÁŠ »ÁÛ»ÁØ»ÁÙA»Áû;»Á¨Ì<ÆÆÇ£- ª9¯»„9(¨û;§¨©Ï,ª«ä,¬­ù,®¯Ž-°±ä2²³ù2´µŽ3·£3¸¹¸3º»Í3 ¼½â3
¾¿ø3 ÀÁžJ ÂôJ
ÄÅÊJ¢,p¨Ì<ÖÖ¶.ØÚÀÙÀë<4]Hÿ?D¨¨ïy»ÁÄc»Á¿cååÚL¯õP°‹Q±¡Q²¶Q³ÄQ´ÔQµæQƒRËE¬›ÚÝg¶ØàÇàÇÐìàǵßàÇàÇÙAàÇû;àǨÌ<Ž£- zxAÂïIƒ‡¨û;ú ûüÏ,ýþä,ÿù,Ž-ƒä2ù2ˆŽ3Š£3ŒÍ?ÇÞ
›þ™Üc¨Ì<¶.ŸÚÀ ÀÇtr†‘y¨¨³àÇšeàÇÛ·ñòÓUȺˆv]ê¢ØèËŠ èË¿cè˳èËèËÐìè˵ßèËèËÙAèËû;è˨Ì<ÓÓÔ£- T8ìJ%yÔ¨û;ÐÑÒÏ,U–¦Þ|“Û¨Ì<ãã¶.åÚÀæÀBtS˜¶}›¨¨šeèËØó±²©Y³´ºYµËY·¸ÜYh‹Ð%Kj¿cÂγÂÎÂÎÐìÂεßÂÎÂÎÙAÂÎû;ÂΨÌ<£- “Š«½Àpœ£¨û;ŠŒÏ,Žä,ù,Ž-Ô`²eÎx+º¨Ì<££¶.¥ÚÀ¦ÀæiÊjލ¨šeÂÎØ¹¹ðYýñ]þ^ºÃ»Äâ2³ÞgcQ¿cæÑæÑÐìæÑµßæÑæÑÙAæÑû;æÑ¨Ì<ÛÛÜ£- ç-\žÔ%SD¨û;ÐÑÒÏ,ÓÔä,ÕÖù,רŽ-ÙÚÍ?”ó2l°“¨Ì<ëë¶.íÚÀîÀÉ3ÀÝ€î!¨¨³æÑšeæÑÛÿ¹ º µaËåép;sۃ؊Պ ŠÕ¿cŠÕ³ŠÕŠÕÐìŠÕµßŠÕŠÕÙAŠÕû;ŠÕ¨Ì<  œ £- gÇjcMì5¨û;˜ š Ï,§[
¨Ì<« « ¶.­ ÚÀ® Àlu$|%Õc£¨¨šeŠÕØ» » Åaý ñ]¼ ¹½ °R~, 4
–_¿cä×ä×Ðìä×µßä×ä×ÙAä×û;äרÌ<Û Û Ü £- l]>ÙR¹â¨û;Ò Ó Ô Ï,Õ Ö ä,× Ø ù,Ù Ú Í?÷Òc§™O¨Ì<ë ë ¶.í ÚÀî ÀeLõÂrl쨨³äךeä×Ûþ ¸
¹
àhx\€ì¬£¸–ØïÚŠ ïÚ¿cïÚ³ïÚïÚÐìïÚµßïÚïÚÙAïÚû;ïÚ¨Ì<š
š

£- .½Õ•q\¨û;
˜

Ï,r§§` ŨÌ<ª
ª
¶.¬
ÚÀ­
ÀN5N.xe´¨¨šeïÚØº
º
òhø
ñ]ù
»u>9í[•v¿cÉÝÉÝÐìÉݵßÉÝÉÝÙAÉÝû;ÉݨÌ<Ö
Ö
×
£- ¯ò‘,¨û;Ï
Ð
Ñ
Ï,Ò
Ó
ä,Ô
Õ
Í?ZH!‰HR¨Ì<æ
æ
¶.è
ÚÀé
ÀNS
ê ¨¨³ÉÝšeÉÝÛú
´ µ þo°¸=ýdÕ_Ø»àŠ »à¿c»à³»à»àÐì»àµß»à»àÙA»àû;»à¨Ì<   £- ÙφÈĨû;   Ï,ÝëênOŸ¨Ì<¦ ¦ ¶.¨ ÚÀ© ÀZ£¿.€ˆ¨¨še»àØ  —p÷ ñ]ø ^· Ã߃„þùñ¿c•ã•ãÐì•ãµß•ã•ãÙA•ãû;•ã¨Ì<Õ Õ Ö £- ¢ãª„„ô:w¨û;Ì Í Î Ï,Ï Ð ä,Ñ Ò ù,Ó Ô Í?,È"VÅpÖ¡¨Ì<å å ¶.ç ÚÀè Àð‡eÊ%h¨¨³•ãše•ãØ   âU ˆ  µa ˆ ˜ òu ˆš  þoœ ˆ¤. ¡
å9¶¿c æ æÐì æµß æ æÙA æû; æ¨še æØ  ¤vð žñ ¯|à9{’]Bc¿cúçúçÐìúçµßúçúçÙAúçû;úç¨Ì<· · ¸ £- ?ÓC"‰H¨û;² ´ µ Èw ˆÀ#K„†¢¨¨Ì<ã ã ¶.å ÚÀæ ÀZók*xÅ ¨¨šeúç¿cò ò À|ó Î|²:ƶC£.ØÓêÐìÓêµßÓêÓêÓêÙAÓêû;Óê¨Ì<

Ž
£-
•†ù¬5`¨û;ˆ

Š
Ï,
Œ
Í??+½ÜÍ*1¨Ì<

¶.Ÿ
ÚÀ 
ÀK$×¥m¸°¨¨¿cª
«
¬
ð­
®
…€¯
°
›€±
²
±€³
´
È€µ

Ý€Iá7 b 5Ðì–íµß–í–í¿c¼
½
¾
¢¿
À
´>f\}xÍÈÐì´îµß´î´î¿cÆ
Ç
È
+É
Ê
ž+Ë
Ì
ÿ*
rðΙÞÐìïµßïï¿cÒ
Ò
Á‚Ó
â7ûÔ
Þ‚ûÕ
ê‚ûÖ
ú‚û±÷ò¨2¿cÙ
Ù
—ƒ Ú
©ƒÛ
ŃÜ
ÓƒÝ
þƒÞ
’„ß
¦„à
º„á
Å„â
Úã
¼ä
à„f¨ü4ÖðHØÕðÐìÕðµßÕðÕðÕð³Õðû;î
î
³…ÑÈ‹ŸÒÓ‹ŸÓÚŸÔÅ„ŸÕº„ŸE:º¾¾té¨Ì<£- ªqQâH,[̨û;÷
ø
ù
Ï,ú
û
ä,ü
ý
ù,þ
ÿ
Ž-ä2ƒÍ?¿é›]Ó½G\¨Ì<¶.ÚŸ˜Ÿo#_“‡}R¨é¨û;  ´ˆ£»Ÿ¤åˆŸ¥Ÿ˜µKbKø{t¨é¨û;¬¬´ˆ¯»Ÿ°åˆŸ±ŸWãÇıþ;¨é¨û;ºº´ˆ½»Ÿ¾åˆŸ¿ŸT’ÔÌGÞû¨é¨û;ÅÅ´ˆÈ»ŸÉ刟ʟ¡òš,+·¨é¨¿cÖØÙŒÚˆŸÛÜ«ŒÝÞÅŒ7׸B쮇Ó®û;ÖØÙŒÚˆŸÛÜ«ŒÝÞÅŒ7׸B쮇¥¨³­øû;éëì½ïˆŸíîÐðˆŸ
1B÷Dé¨û;øúû½þˆŸüýÐÿˆŸ%½A“r¶ª¢é¨û;뎰ˆŸ ÆpínÊàé¨Ì<ŠŠ¶.ÚŸŽŸdˆÐåÂâf¨é¨û;˜˜´ˆ»ŸœåˆŸŸ<`f¸ù>ø‡¨é¨Ðì뎰ˆŸ ÆpínÊàéµßÁýÁýÁýšeÁý ëްˆŸ ÆpínÊà8Ì<ÏÏе)шŸ Œn÷¼Ý+˨ðçÁª±¬ç¸ëéÉ¿éÓŽóæå¼·öó¾¹ÿÀ » ƒ
þ ½
º
ÿ
ú
º  û     ô ò ·
ª
Á
¼
Í
Æ
×
Ò
å
Ù
ßÖòçȪ³¬ž¸òéË¿ëÓóêåÀ·úóÀ¹ˆ ÿ » ‡
þ ¿
º
ƒ ú
¼  ý  ¢  û ò ì
Ù
©ôçŪµ¬ïéÍ¿íÓóìå·üóÂ¹Š ÿÄ » ‰
þ Á
º
ú
¾  ÿ  ¤  ø ò ¹
ª
Ã
¼
Ï
Æ
é
Ù
¤õçÆª¬œ¸ðéοîÓóíå÷ýóùÿÅ » Š
þ Â
º
ú
¿   ¥  ù ò º
ª
Ä
¼
Ð
Æ
ê
Ù
¦÷çͪ˜ó»·ƒ ÿ
þ þ
ú
øçΪó¸·ÿÿ þ û
ú
ùçϪ[ ¥¢ª§¯¬å¸íéÇ¿çÓšóèå¹·ôó¼¹ ÿ¾ » €
þ »
º
ü
ú
¸  ù  ž  ö ò ç
Ù
ýçÓªöéпßÓžóñåÇ·óǹ ÿÉ » Ž
þ Æ
º
Š ú
à   ©  ÿ ò çØªÜûé¢ÿÓ¿âÓ£óÒ§öåúÌ·ßÐóŸŠÌ¹çÐÿ§ ˜ Î » ç Ò “
þ ¦

Ë
º
â
Ï
ú
¢  È  á Ì  ®  ß ²
ò
ˆ
ò
î
÷
¦ ²¬ÀºËžÖäéóøž˜£Ÿ÷õ˜ª¦Ù×èæÈÆÚÖ¡ÕÓçã§£ÝÛïë › ¯ « Ý Û ï ë œ
š
®
ª
Ø
Ö
ê
æ
˜  ª ¦ × Õ é å ¹ · ç ã

¡

ŠÒÏê¾éªå¾·øóø¹ÿø » …
þ ó
º
ú
ò  »Ù
ÃÖʪ³éпðÓó¬åî·®óú¹ÿú » µ
þ õ
º
± ú
ô   í  ¬ ªî󘬚¬ñ󟬡¬£¬¥¬§¬©¬Æ¿cåÄÐì¡µß¯Š Û1Ø1ÙAµû;.…Ì<&Â³Ššebïy~¾
Äcé *X£ ©  7DQ 
¡­ w©Ûžž¡ ©ž±¸Ì ¡¡á¡ê¡ò¡
©,ž9 BJX!  ¡ 6CPÛ rÛŒ‰“‰“œ‹“¤‰“¬³Ç ¡ ¡,”¡¡¡,‰¡ ¡
¡ ¡ ¡
¡¡¡p‰“œ‹“¥­Xy ² ¡
6CPÛ r²ÛŒ×–×–œÙ–¤×–¬³Ç ¡
¡ª¡è¡¯ ¡ö
¡´ ¡ø
¡û¡Ü¡¡Ve²u×–Ù–X”ë%
à ¡7DQÛõ%
tàÛŽŒšŒšžŽš¦Œš®µÉ ¡,°&¡,Ö&¡,ü&¡,¤'¡,Ë'¡,ÿ' ¡,²(
¡,å( ¡,) ¡,¾)
¡,ê)¡,°*¡4Õ*¡T’+¡tæ+ ¡¨à¸ŒšÅŽšÎÖX Ÿ6
© ¡7DQÛ ©6
t©ÛŽƒžƒžž…ž¦ƒž®µÉ ¡,ž8¡L¥<¡,ç=¡,’?¡,€A¡,éB¡,ØD¡TÔF¡>M©]ƒžj…žs{…I
í ¡7DQÛ®I
tíÛŽŸ¡Ÿ¡ž¡¡¦Ÿ¡®µÉ ¡þI¡ãñퟡ
¡¡ÆK
­ž&3@ÛºÐK
c­qÛ}žž ž¤¸ ¡<œL ¡<èL!¡<¿M"¡LþM#¡ù­ž$ -5ôN
÷ž&3@ÛÅþN
c÷qÛ}žž ž¤¸ ¡,€P$¡,§Q%¡ ¾R&¡ ºS'¡ù÷ž$ -5„U
µ Ÿ¡&3@ÛÓŽU
cµ qÛ}Ÿ¡Ÿ¡¡¡Ÿ¡¤¸ ¡èU(¡Òൠû¡¡ ¾V
÷  ¡7DQÛÞÈV
t÷ ÛŽ¶«¶«ž¸«¦¶«®µÉ ¡,³W$¡ ÁX)¡ ¶Y*¡ý ÷ ¶«(¸«19Œ[
´
Ÿ¡&3@Ûì–[
c´
qÛ}Ÿ¡Ÿ¡¡¡Ÿ¡¤¸ ¡,€\+¡Òà´
û¡¡ ö\
ò
 ¡7DQÛ÷€]
tò
ÛŽ¼°¼°ž¾°¦¼°®µÉ ¡,ð]$¡É^,¡ðþò

¼°¾°#+X…¬`
° Ÿ¡&3@Û¶`
c° qÛ}Ÿ¡Ÿ¡¡¡Ÿ¡¤¸ ¡,Ÿa-¡Òఠû¡¡ X¡b
ñ ¶«&3@Û«b
cñ qÛ}¶«¶«¸«¶«¤¸ ¡,¤c$¡,Çd%¡ ¶e&¡ìúñ  ¶«¸«'ík
©
Ÿ¡&3@Û²÷k
c©
qÛ}Ÿ¡Ÿ¡¡¡Ÿ¡¤¸ ¡$—l.¡Òà©
û¡¡ 8
Ð ¡7DQÛÈ¥8
tÐÛŽƺƺžÈº¦ƺ®µÉ ¡’9/¡ã90¡:1¡Æ:2¡ú:3¡&Ð6ƺCȺLT %ë®1ªBªBö­BbufÁ÷<®B÷<9)
-ÜnLçEçEèEGlobalÁ ¿±‡§í#¡¨„£ ¬­%ð1žBoxÁ¡ˆˆ¢ˆl }.xÏ®±˜¾~ ¸À%®±1úHúHßûHÁ‘4Ý­f‰úM÷cj¤á  ¸É%®±1¡À9@ ¸Ú%®±1ñ´9@ ¸Ý%®±1†J†JK‰Jµ 7ŠJåˆ7‹J¤7·0ØQdè¶¶˜¾ƒŠ ¸à%®±1ò¶9@ ¸ã%®±1η9@ ¿Å%—½1¡À9@ Óå%ù¾1¡À9@láf   % æ1æÑ9@g   % æ1ä×9@D«g  ˜ % æ1ÉÝ9@dÍg   % æ1•ã9@§h ² µ )² ´ µ Èw ˆÀ#K„†¢e§©ªX«ˆ¬­U8Á®ˆ¯°U16Á±ˆ²³U32Á´ˆµU64Á·ˆ¸¹I8Áºˆ»¼I16Á½ˆ¾¿I32ÁÀˆÁÂI64ÁÈÄÅF32Á ƈÇÈF64Á
ɈÊËb ̈ÍÎß ÏˆÐÑÞ
ÒˆÓÔByteBufÁÕˆÖ×BytesÁ؈ÙÚ©ÛÜÛ݈ÞßUnitÁàáNewtypeÁâˆãäSeqÁåˆæçMapÁèˆõ[l÷Ë>TÌÔ4Á; ÖÓ®Ù)­ø5Ó®=D4¯@ éì'éëì½ïˆŸíîÐðˆŸ
1B÷D»¾¿BorrowedÁÀˆÁÂOwnedÁÈ¢ÓÛ?'°UFÞåDÚ@ éî'ìÎ3¡
¡
¥
baseÁŒ
šI¼²'‡Õï뎰ˆŸ ÆpínÊàÖJÖJ RandomStateÁ×Jk0ÁˆØJk1Áˆ‰ÌkqÇËŸ˜¾ëò4ÜA øû'øúû½þˆŸüýÐÿˆŸ%½A“r¶ª¢ÂÏD‡B øý'ßÒ3çÐ;BüÏD  (™Ñ4ÂÏ<C”Ï` ÏÐ%èþ1 PhantomDataÁFu\»ŸÖØÙŒÚˆŸÛÜ«ŒÝÞÅŒ7׸B쮇ÄËEs«ÀúˆŸÀ¨/LÕªÚò pÜ rÝ™7\Š¢Þë5L—ß® áÇ7\¾§â¡=4Üéãí¬ù ½å—ƒTÙ
æüœü+( Create and parses JWT (JSON Web Tokens)Á,úü0;8 Documentation: [stable](https://docs.rs/jsonwebtoken/)ÁEs«ÀúˆŸÀ^¨/_ªÚò^ pÜ] rÝ™7\¢Þë5[ß®Z áÇ7Y§â¡=XéãíW ½å—ƒVÙ
æt„ªçûÑÖý7,¬Ð8L¸Í4& DeserializeÁ\;û; ÆÚ¥  SerializeÁLHÙA
öÚ¤ 
FromStrÁ<bïy l­¯Ÿ¡“,3{}QSŒX,Ôøܨ
ðyñyD™ž  ðü¯$± ±Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ܨð  ¾
¾ »
ܨüê
-
ܨº¥
$ÿ
ü”FC Lower level functions, if you want to do something other than JWTsÁ)0ABCDverify_slices_are_equalÁ¼ hmacÁ$=Ü signatureÁLC¨/Lgª™7\ˆ¢­6|•Ç7\¼§ÍÅ$Tÿ «$T‹ ü,È$6·¹ ¢äT•|vˆŠy{ä«n¬Ía¤èTVEG¤™&'(randÁ$ £!­ßL"¨/L5ª#Í4S$«$Tu %$[]LNä"A¬D4ü_ (üôm´‚ܨ °°EcdsaVerificationAlgorithmÁ±­
¡²
digest_algÁ¡³split_rsÁ¡µidÁ¡ùuÎKU¿Ó
&¯=žü·\ŒÅܨ ææEcdsaSigningAlgorithmÁç^Ôèprivate_scalar_opsÁÔéprivate_key_opsÁÔêëâÔëpkcs8_templateÁÔì format_rsÁÔí•ãÔìÙäÚg„¦
'¯=×üÚx²³ìä ²
 ³ÿæÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¡Àð ¤ 
(¯=ëkeyÁŸ ú¤¯./­ßL
)*¨/L- ª)+Í4K ),«$Tm )-|  ;¬< .üW "üï[ ´ý ܨ úúûEdDSAParametersÁ ó(3_’í\
.¯= ü«9 $² ´µ ´ÿæ µÿæç ¼
/‚ç· ú ”ÅÔ;<=@”á$
£02­ßL
03¨/L5
ª04Ð8LT
¸06Í4_
07Å$Tƒ
09«$T
0:$
ƒrtä"
glD
Z\LN¤l
AC24üûX
¬‰
ܨ µ'µ'
RsaParametersÁ¶' padding_algÁÉ·'min_bitsÁÉžJölQ;
;¯=Ÿ
ü´W
”Â
ܨ ¡
<¯=Õ
üê y
·Ëí ÿæ ·ÿæç µ
=¯=
‚ç°
ú
¯
=<closure_kind>Á><closure_signature>Á><upvars>Á>>=>Џ®±ˆ
=î?™î?¶î??=?η®±üœ¬
´ª
¸¹º»µì ¸ ¹ÿæ ºÿæ »ÿæÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ð ý
@¯=Æ
­ß
ú<‡

componentsÁT
üÀS¼½£&£&¤&¨/¥&ˆÜ –ã­ã ¼ÿæ ½ÿæ¡À ó
A¯=Ø‚çîúü¬VüñKH Take the payload of a JWT, sign it using the algorithm given and returnÁü½.+ the base64 url safe encoded of the result.Áìúüð;8 If you just want to encode a JWT, use `encode` instead.Á$³¾¿ ¾ÿæ ¿„°ܨç Á
Bú‚çȯ|LÛüû  ÀÁÂ Ç À Áÿæ Âÿæ¶ñ Ò

C¯=
­ß
ú
‚çð
ü‘züØ^[ Compares the signature given with a re-computed signature for HMAC or using the public keyÁ for RSA/EC.ÁÇúüË;8 If you just want to decode a JWT, use `decode` instead.Áúü‹JG `signature` is the signature part of a jwt (text after the second '.')ÁÖúüÚ63 `message` is base64(header) + "." + base64(claims)Á4˜ÃÄÅ Ã Äÿæ Åůܨ¶ñ ¯
D­ßú‚çͯ|Länpr¢STANDARDÁD& ÂEGEngineÁ40ËEHDeserializeOwnedÁ„H<EI×*|rçEJš4 DEKå EMÐ8L½¸ENÍEO¡=4äéEP­uœý ER¤v ESÁ‚Ò
ETÅ$T÷ EVƒ%¤ƒEW)D² ËEY—ƒÙ
EZ4ü
!H25Ü=ü_"¬‡øúéëÚܬÕÏTðÂijµü¸"¨¤àŒŽŒžƒqsü§2¥\\ÍìÓ® ¬ØÓ®Ÿ®]Ù]!#¼àÆ ÆŸ®Ÿ®[ é[
]Ó®¼¤ ¼ ´   Í, Ã8ù& È8*Ï Ò ±  Ó ° 
8Ý8á8´ å ç, é8ù% î8 þ 8´ ÿ 8ó $  $ 8´  Š8ó $‹  $ 8´  8ó $•  š  ª 
 « Ë8Û ° 8firstÁ$ ·8Û ½ Ä8secondÁ$ Å8©*Í Ð Þ8Ò‚$ Ö8ƒ$ ß8 í*ï88ù ü Ÿ 8å  ž 8Ð8L‡ ' 8á8d $   % ² „Ü ů`abcdefghijklmü›
)üó # If you're using HMAC, use this.Á\¢
Ç Çÿæů_
_
`secretÁ4®
ü£7üÞ@= If you're using HMAC with a base64 encoded secret, use this.Á”ªÈ ÈÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ůð_ Å_
aø…ü—/ü÷B? If you are loading a public RSA key in a PEM format, use this.Áü¾41 Only exists if the feature `use_pem` is enabled.Á»use_pemÁœýÜ÷É Éÿæý‡_ °_
b‚ç«üŒIüÁFC If you have (n, e) RSA public key components as strings, use this.Áœ“ÊË Ê Ëý‡_ °_
cmodulusÁ<§exponentÁD¶üŽGü¾KH If you have (n, e) RSA public key components already decoded, use this.Á¼•ÌÍ Ìÿæ Íÿæů_ _
d•‹¤‹ü«.ü’;8 If you have a ECDSA public key in PEM format, use this.ÁüÒ4Έ»Љœ‘܋ΠÎÿæý‡_ Ã_
e‚ç¾üˆ;üÙ*' If you have (x,y) ECDSA key componentsÁ”ÏÐ Ï Ðý‡_ ¥_
fà ¢Ä «ü€#.üç!;8 If you have a EdDSA public key in PEM format, use this.Áü§"4Έ»Љœæ"Üà"\‡#Ñ Ñÿæý‡_ ˜#_
g‚ç“#ü…&'ü®%RO If you know what you're doing and have a RSA DER encoded public key, use this.ÁdŒ&Ò Òÿæů_ ž&_
hderÁ™&ü˜(&üÂ'QN If you know what you're doing and have a RSA EC encoded public key, use this.Á\Ÿ(Ó Óÿæů_ °(_
i²’«(ü©*&üÓ)QN If you know what you're doing and have a Ed DER encoded public key, use this.Á\°*Ô Ôÿæů_ Á*_
j²’¼*ü,2üä+41 From x part (base64 encoded) of the JWK encodingÁ”¤,Õ Õý‡_ º,_
kà ·,üµ.*ü.# If you have a key in Jwk formatÁD¼.Ö Öúçý‡_ Ê._
l¯Å.ü±4&D¿4× ×ů ×ÿæ_ È4_
m$É4ü—7„š7EoØÙ o Øů ÙÕðÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ݸ³™ð«7
ntokenÁ,´7‚çÈ7&Tß7(*ü‡Dìœ? Decode and validate a JWTÁº?úü¾?da If the token or its signature is invalid or the claims fail validation, it will return an error.Á£@ú\§@ ```rustÁü³@(% use serde::{Deserialize, Serialize};ÁüÜ@C@ use jsonwebtoken::{decode, DecodingKey, Validation, Algorithm};Á Aúü¤A,) #[derive(Debug, Serialize, Deserialize)]ÁœÑA struct Claims {ÁœåA sub: String,Á´ùA company: StringÁ,BBúüšB*' let token = "a.jwt.token".to_string();ÁüÅB52 // Claims is a struct that implements DeserializeÁüûBƒ let token_message = decode::<Claims>(&token, &DecodingKey::from_secret("secret".as_ref()), &Validation::new(Algorithm::HS256));Á<ÿC ```Á4ŽDÚÛÜ Ú Ûů ÜÕðÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Ÿ®ð¥qq ¶DÅÿ •D<Ó®„˜D
pӮƙ,¯D‚çÀD&T×D68üôJ3üŽHli Decode a JWT without any signatu
úü
u r According to the [ring doc](https://docs.rs/ring/latest/ring/signature/struct.RsaKeyPair.html#method.from_pkcs8),Áü‰ ) & the key should be at least 2047 bits.Á· ú»ЉœÅ Ü¿ à àÿæû« ø 
‚çó ü». üÍ
3 0 If you are loading a ECDSA key from a .pem fileÁü…8 5 This errors if the key is not a valid private EC keyÁüÂ4 Έû ú ”­ úüš% " The key should be in PKCS#8 form.ÁÄ úüÌ. + You can generate a key with the following:Áÿ úL‡  ```shÁü•5 2 openssl ecparam -genkey -noout -name prime256v1 \ÁüÏ; 8 | openssl pkcs8 -topk8 -nocrypt -out ec-private.pemÁ< ꟻЉœ¡ Ü›  á áÿæû« Ó 
‚çÎ üü. ü®3 0 If you are loading a EdDSA key from a .pem fileÁüæ8 5 This errors if the key is not a valid private Ed keyÁü£4 Έ»Љœâ ÜÜ  â âÿæû«  
‚ç üÀ' üïL I If you know what you're doing and have the DER-encoded key, for RSA onlyÁdÇ ã ãÿæ„° Ù 
²’Ô ü& üÁI F If you know what you're doing and have the DER-encoded key, for ECDSAÁ\ ä äÿæ„° § 
ˆ²’¢ üÜ& üŽI F If you know what you're doing and have the DER-encoded key, for EdDSAÁ\ã å åÿæ„° ô 
²’ï üÛ#  æ æ„° æÿæ ï 
Š ü£"] ü l i Encode the header and claims given and sign the payload using the algorithm from the header and the key.ÁüO L If the algorithm given is RSA or EC, the key needs to be in the PEM format.ÁÝ ú ¢›üí( ·›ü–? < use jsonwebtoken::{encode, Algorithm, Header, EncodingKey};ÁÖ úüÚ, œœ‡ ÷œœ› ´¯ ¯ ÎÌ úäÐ  let my_claims = Claims {Áüí"  sub: "b@b.com".to_owned(),Áü "  company: "ACME".to_owned()Á  };Áº úü¾ 6 3 // my_claims is a struct that implements SerializeÁüõ 6 3 // This will create a JWT using HS256 as algorithmÁü¬!n k let token = encode(&Header::default(), &my_claims, &EncodingKey::from_secret("secret".as_ref())).unwrap();Á<" êŸ4ª" çèé çݸ èÓ® 鄰祌Œ Ç" Åÿ ±" ÙAÓ®L´"
Ó®4¿" Œ64Ð" ‚çÜ" 68ü‡GD All the errors that can be encountered while encoding/decoding JWTsÁ4׬­¸StdErrorÁD¾Ž×,¤, 4:¾[KQ†JŒOD'@\51tF#ü„1L®±ð
””üÕ>; A type alias for `Result<T, jsonwebtoken::errors::Error>`.Á4¥Åÿ ¤Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Ó®ðY[ðü‡ ü×+( Return the specific type of this error.Á$Žê êð ê®± 
$”üù#üÅ/, Unwrap this error into its underlying type.ÁL€ð®±
¼ÿðÂü(ë ëðÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ë¾ë˜ ¦˜
ÜðÅcü¿4Âìíî ìð í c cˆ¢cµ
 `£cë¼ `àB¤GS
îÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŸÈŸÈ Èý7 éBLš Æš
± Íä­'®±·ßüÐ'"Ó'ïð ï®± 𮱜 Ö'œ
$×'¹
,Ý'¬–)®±ü°)(ð ë üß)*$â)ñ´ðŸŸ
 ɵç)ü¿*&ð¢ë¢üì*($ï*¶¶ð¡¡
¢ɵô*üÒ+1ð¤ë¤üŠ,3$,ò¶ð££
¤ɵ’,üñ,/ð¦ë¦ü§-1$ª-ηð¥¥
¦ɵ¯-üŽ./ð¨ë¨üÄ.2$Ç.Џð§§
¨_errÁ$Ì.ô°/ðªëªüÕ/!$Ø/®±ð©©
ª$Ý/éôù 4 ¾[«¬øúD8 «®“û4BË«¯ÆÚ\Wû;«±ÆÚ¥ «±öÚLdÙA«²öÚ¤ «²¨/Lˆª«³Í«´¤v¾ «µÅ$TÝ «\ç4ü!ÛÇÉ,O¹»•äuq¬—b|²SüÇ E\Ôݸ¸¹»üœ(üæ1. Returns a JWT header with the algorithm givenÁ£ܨݸ··
¸¯|L§ü´KÓ®±¦·¥ºº·Åÿ ÏàÓ®ÿæ
¹Ó® encoded_partÁdß57ü¯5üì>; Decodes the X.509 certificate chain into ASN.1 DER format.Á<¶ñ ñݸÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙªBªBö­Bë¼÷<®B÷<9)
-ÜnLؽ˜¾ð· ¾·
»$¿»î¼™î¼¶î¼¼»¼ ªBªBö­Bë¼÷<®B÷<9)
-ÜnL¡À˜¾Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÀÚñ´â»î½™î½¶î½½»½ ¡ÀÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ؽñ´¼Ïݸ¿´¿¤­üí;8 Returns a JWT header using the default Algorithm, HS256Á<°ݸ¾¾
¿ü?< This crate contains types only for working JWK and JWK SetsÁüXMJ This is only meant to be used to deal with public JWK, not generate ones.Áü¦XU Most of the code in this file is taken from https://github.com/lawliet89/biscuit butÁüÿUR tweaked to remove the private bits as it's not the goal for this crate currently.Áó ¿Óóœ¡åïô·ÅÊóÿ¹ÅÊÿ ’ » Ç Ì þ Œ
º
Ä
É
ú
ˆ Á Æ § ¬ ò ý
ÃÀÃý7,ö¬ÀÄÐ8Lý¸ÀŨ/LªÀÆÚdeÁ§iÀÈÆÚû;ÀÉÆÚ¥ ÀÉ DeserializerÁd¸ˆ<ÀÊöÚÙAÀËöÚ¤ ÀË
SerializerÁTÑÜAÀÌ×è¤,ÀΤÛïyÀÏœÚ4&) ÷ùæè´¢¤rtâegdíWüØ—½ÑÚAÑüþaLò ò—½¤Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÿæÝAÿæÞAФÒÒ ŽÐÍìÿæ ÜAÿæ
Ñÿæ$
serializerÁT•68üÔ +¨ÔÔ—½Õý;ÕÙ ü†
d\‰
Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
—½­é¨Š<ÓÖÖÓÍì­é
ˆ<­é¨ŒØ

Õ¨­é deserializerÁd˜
=?Ôù
œ€ Àƾ–Ôwò÷7“Ø/+À××ƾü 2¨ÚÚƾÛÜÝÎ<Ï<ï<ÜÝ¢   ÙÙ—½ü† FL‰ óôõ óƾ ô c cˆ¢cµ
 `£cë¼ `àB¤GS
õÔÌÙ Ù
ܨ$”  formatterÁLš ü˜
hL
öƾ öÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ƾ¨Î<ÙÞÞ ±
ÙÍì™ï ¥
²;™ï

ݨ™ï
Á ®
24üÁ ù¾àÚAàüèa÷ ÷ù¾ÿæ„çߤáá øßŒè õè
àÿæ¾çTÿ%'üð,¨ããù¾äý;äõü£d­éÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ù¾„êâååâµê ²ÆêŒõ
䨭éìé$&Ü–¤ÀˆÁfè¥i)»´_ç/+ÀææˆÁü»3¨ééˆÁêëìÎ<Ï<ï<ìëÀ,‚èèù¾ü¦Føùú øˆÁ ù c cˆ¢cµ
 `£cë¼ `àB¤GS
úÔÌè ³è
ë¨÷ìü¸hûˆÁ ûÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ˆÁ¨Î<™ïèíí ÑèÃï ÅÔïL–
쨙ïÁ Î*,ìŒ,»ÁïððyñyðD°,µ,îîðüÆ,,DÉ,ü üÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
»Áðî Õ,î
ð¾ Ò,ü¾3"»ÁòÅcòüç34ê3ýþÿ ý»Á þ c cˆ¢cµ
 `£cë¼ `àB¤GS
ÿÔÌñ î3ñ
ò$ï3± õ3ŒÇ4»Áôüß42dâ4À»ÁÃÝóó
ô$ï4Dïiúçöü¾j"üþi;8 Find whether the Algorithm is implemented and supportedÁdÅj úçõ Òjõ
ö$Ój\ªlÓêøüƒm-ü¼lB? Find the key in the set that matches the given key id, if any.Á$Šm Óê Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ úç÷ m÷
ø$m”Bm,ëmøîù™îù¶îùùøù  úç ¡<”»ЉœþÜø˜û´ < Ò
ª
¼
Æ
Ð8L
¸ûýÍ4
ûþl
(*”ž
øïƒüã
1
ê
ƒ ƒÿæÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
øïðÿ õ
ÿ
inputÁ,î
üÈ&0
ŒÏ&
 øïÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ÿæðÿ á&
ÿ
$â&
üÕ)/
„Ü)
 øïÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ÿæðÿ í)
ÿ
$î)
üè,0
Ε,
 øïÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ÿæðÿ -
ÿ
ƒ$-
üõ//
„ü/
 øïÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ÿæðÿ 0
ÿ
$Ž0
üŒ3)
T“3
ˆ ˆøïÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ˆÿæðÿ ž3
ÿ
$Ÿ3
ü¿8L
¼Â8
û 
WXYBooleanÁZˆ[\]IntegerÁ^ˆ_`a BitStringÁbˆcdŠef OctetStringÁgˆhijNullÁkˆlmObjectIdentifierÁnˆopq
UTF8StringÁrˆstuPrintableStringÁvˆwxy
TeletexStringÁzˆ{|} IA5StringÁ ~ˆUTCTimeÁ
ˆƒGeneralizedTimeÁ ˆˆUniversalStringÁ ŠˆŒ BMPStringÁ
ŽˆSequenceÁˆSetÁˆ˜ExplicitÁšˆœŠžŸUnknownÁ ˆ¡¢Š£¤ŒØ½†§ª™Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
 ÿæð à8
Þ‚$Ú8
ü†>J
d‰>
ûŠ ŠÕŠÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙï œ>
Þ‚$>
ŒURL_SAFE_NO_PADÁ|& ÅˆŠ“û47ˈÆÚ\Lû;ˆÆÚ¥ ˆöÚLYÙAˆŽöÚ¤ ˆŽÍ4yˆ4ü
(„,DtvNP¬j,ü‚<TÓ®¡À¥Åÿ ÷×
Ó®¦‚ üæEÓ®Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ؽð¥Åÿ ÿ÷×\‚
Ó®¦‚, Øî™î¶îÓ®ñ´ðü¢H Ó®ç¥ ÕÅÿ À›Ã
Ó®¦‚ üó&¤…ƒ%˜Ÿ%ˆr2Ç<r2Ç<˜¤ ˆؽ̹œ™šœüÙV¤àÓ%Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
œ™ðÓ%Í쳚„Žà³šÿæ\“
š³šencoded_jwt_part_claimsÁ¼õ@Bü„A\ 霙ֿٿڿ«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
âùð饞žÍìâù û;âùé
œéâù68½ÈËÌÙ
î
ð
Öâéñøƒo»Ÿ <,¡
Ÿ¡×>¤,Ÿ¢²Ô\TŸ£²ÔŸ£’ã$riŸ¥VisitorÁ<xÌ<Ÿ¦ÆÚû;Ÿ¨ÆÚ¥ Ÿ¨Óãd›ˆ<Ÿ©¨/LªŸªå Ÿ¬Ð8L츟­ÍŸ®+ÌD9ÄGLfÛmÆÈ,†¹»”䯅lÑvxegTV|­"Õð°±´·ºü„#(üÃ"<9 Create a default validation setup allowing the given algÁ#ܨÕð¯¯
°¯=#üÂ(8üº'DA `aud` is a collection of one or more acceptable audience membersÁüƒ(:7 The simple usage is `set_audience(&["some aud name"])`ÁdÉ(Œ ŒÕð 
Ó®¯¥²² ã(¯Åÿ Ö(—6Ó®DÙ(
±Ó®$è(itemsÁ,î(13¦)±î³™î³¶î³³±³Ó® Ó®¡ÀüÔ*6üÏ)C@ `iss` is a collection of one or more acceptable issuers membersÁü—*85 The simple usage is `set_issuer(&["some iss name"])`ÁTÛ*Ž ŽÕ𠚤¯¥µµ ó*¯Åÿ æ*ΤDé*
´Ó®$ø*ï£,þ*%'¶+´î™î¶î´Ó®á¥üÐ.Düß+PM Which claims are required to be present for this JWT to be considered valid.Áü´,RO The only values that will be considered are "exp", "nbf", "aud", "iss", "sub".Áü‹-DA The simple usage is `set_required_spec_claims(&["exp", "nbf"])`.ÁüÔ-_\ If you want to have an empty set, do not use this function - set an empty set on the structÁœ¸. param directly.ÁÄ×. Õ𠚤¯¥¸¸ ý.¯Åÿ ð.ΤDó.
·Ó®$/ï£,ˆ/%'Ì/·î¹™î¹¶î¹¹·¹Ó®á¥üÞ17üõ/85 Whether to validate the JWT cryptographic signature.Áü²0PM Disabling validation is dangerous, only do it if you know what you're doing.Áü‡1RO With validation disabled you should not trust any of the values of the claims.Áüå1% Õ像2¯
º$2ÜÊ2Õð¼´¼¤ì2<ï2Õð»»
¼üÜ4%ü°3>; Gets the current timestamp in the format expected by JWTs.Áì×´ý3ú
emscriptenÁÄ4úwasiÁ”·4üœ4.ü˜43üü3Püø3Uüï3`.\Ð4¬ã4
½üñ;?¨¿¥ÀÀ¿µ û;û;âù¨„þ;ùÁý;Áö;/1ü·<r\º<Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ù´¨Š<¾Â¾Íì´ Æ<ˆ<´¨ÄÉ<
Á¨âù´ìédì<68üŽ?¥ÄÄÅÿ “?­øÅ´Å¤´?<·?­øÃÃ
ÅÓ®üE;8§þÇ¢ÇÄÒE4ÕE §þ Æ ÜEÆ
Ç8$ÝEü†F]L‰FŸ ¡
¡
¥
úÏŒ
šI¼²'‡Õï¡ÀÎј¾ ¡
¡
¥
úÏŒ
šI¼²'‡Õï뎰ˆŸ ÆpínÊàÎј¾ žF
Èï L“FgivenÁ,°FöGÈîÉ™îɶîÉÉÈÉûÝ çжHÈîÊ™îʶîÊÊÈÊ ™Ñ ©¸üÞHWDìH˜î
î
³…ÑÈ‹ŸÒÓ‹ŸÓÚŸÔÅ„ŸÕº„ŸE:º¾¾t˜ ÕðÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ðœýH
ËŒ64õHµ
<IüÐ_xdÓ_Ÿ­éÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ØÕ„ê¨ÍÎÍεê å_ÆêŒ¶`
̨­éìédè_à_*,iu\Ö`ŸèþŒn÷¼Ý+ËÐѤÕèþ¤u9Ÿ¤ÕèþÏÏ
Ðüâ`"ŸÏϤÕüŒa&¨ÓÓèþÔÕÖØÎ<Ï<ê<ã<ÖØÕaT½a,ÂaÒÒØÕüâaBLåašœ šèþ  c cˆ¢cµ
 `£cë¼ `àB¤GS
œÔÌÒ ïaÒ
Õ¨$ða÷ìLöaü•cpL˜cèþÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
èþ¨Î<™ïÒ××ÒÃï ¢cÔïLûc
Ö¨™ï$¥c»,«c*,ü­fpL°fèþ³ÃÒÙÙÒÃï ºfÔïL“g
ب™ï$½f»,Ãf*,¬ÉwDè„w‡wyw|wnwqwbwewD«Zw]wNwQwtÔFwTì;w>w.w1wü±º¥€¼R­xÑÀÒèéêëìíîïéëíïç纥ç纥ç纥ç纥ç纥ç纥ç纥ç纥( uGº¥ñÀcñ!#žŸ º¥ ž c cˆ¢cµ
 `£cë¼ `àB¤GS
ŸÔÌð uð
ñÄ±Ê |Hº¥óó!'<   º¥ò |ò
ó…H
Iº¥Iº¥ö·ßö79¡¢ ¡º¥ ¢º¥õ
õ
ö¹
š Jº¥(
Kº¥04Kº¥úÙúOQ£ £º¥º¥ùù
úœH˜ ,.04Lº¥þÚAþOQ¤ ¤º¥úÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÑÏÝAÑÏÞAýúÿÿ˜ýÍìÑÏÜAÑÏ%
þÑÏ4 __serializerÁGJM}‡}‡}‡}‡}‡}‡}‡M¨ƒƒº¥ý;}‡}‡}‡}‡µ,Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
º¥²Ò¨Š<µ,Íì²Ò}‡ˆ<²Ò¨}‡
¨²Ò__deserializerÁ}‡}‡}‡}‡}‡M}‡®§çÖvÏ6Äa¼ˆŠŒŽˆŠŒŽ}‡M}‡®§}‡}‡®§}‡M}‡®§}‡}‡®§}‡M}‡®§}‡}‡®§}‡M}‡®§}‡}‡®§}‡}‡M}‡û¦Ǥá"ÿ¼}‡}‡û¦}‡}‡M¨û¦Î<Ï<ã<ï<õ<}‡}‡}‡}‡®§}‡}‡¥¦§ ¥û¦ ¦ c cˆ¢cµ
 `£cë¼ `àB¤GS
§ÔÌ£
¨}‡ __formatterÁ}‡}‡}‡û¦Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
û¦¨Î<ã-ã-ÍìÅÛ}‡²;ÅÛ}‡
¨ÅÛ}‡__valueÁ}‡}‡}‡}‡}‡¨û¦ ¨æÚã-˜˜tëÛ}‡ûÛ}‡
¨ÅÛ}‡ Û}‡}‡}‡}‡}‡©û¦ ©ÿææÚã-ššëÛ}‡ûÛ}‡
¨ÅÛ}‡ Û}‡}‡}‡}‡}‡M¨œœ®§ý;}‡}‡}‡}‡²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
®§‰Óµ,žžºÓ}‡ÊÓ}‡
¨²ÒïÒ}‡}‡}‡}‡}‡M}‡¨  ‘¨('1ŠëÀj¡¢}‡}‡}‡}‡ŸŸ²ÔFu\»Ÿº¥}‡}‡ŸŸ²ÔFu\»Ÿ ¨}‡}‡M¨¤¤‘¨¥¦§Î<Ï<‡=¦§}‡}‡}‡}‡££º¥}‡}‡ª«¬ ª‘¨ « c cˆ¢cµ
 `£cë¼ `àB¤GS
¬ÔÌ££
¦¨}‡³Ù}‡}‡}‡‘¨Ž/Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
‘¨¨Î<ô䨧=£Ž/¨¨£Íìôä}‡¥=ôä¨}‡
§¨ôä}‡__dataÁ}‡}‡}‡}‡}‡}‡ 
”«üù74 The algorithms supported for signing/verifying JWTsÁL´ܨ\¶©ëhQ««¬­®¯°±²³´µ·¸¹º»¼½¾¿À¬®°²´¸º  ¼

¾  Àɉ´ù HMAC using SHA-384ÁɉªªܨɉɉªªܨÖ‰´Ÿ HMAC using SHA-512ÁÖ‰ªªܨÖ‰Ö‰ªªܨã‰¼Æ ECDSA using SHA-256Á㉪ªܨã‰ã‰ªªܨð‰¼í ECDSA using SHA-384Áð‰ªªܨð‰ð‰ªªܨý‰ü•# RSASSA-PKCS1-v1_5 using SHA-256Áý‰ªªܨý‰ý‰ªªܨ
ŠüÈ# RSASSA-PKCS1-v1_5 using SHA-384Á
Šªªܨ
Š
ŠªªܨŠüû# RSASSA-PKCS1-v1_5 using SHA-512ÁŠªªܨŠŠªªܨä¯ RSASSA-PSS using SHA-256ÁªªܨªªܨäÛ RSASSA-PSS using SHA-384Áªªܨªªܨä‡ RSASSA-PSS using SHA-512Áªªܨªªܨü´52 Edwards-curve Digital Signature Algorithm (EdDSA)Áªªܨªªܨ(àPܨÂÀcÂ"$­®¯ ­ܨ ® c cˆ¢cµ
 `£cë¼ `àB¤GS
¯ÔÌÁàÁ
ÂÆ±Ì8çQܨÄ´Ä"$ܨÃÃ
ÄHðRܨRܨÇ·ßÇ79°± °ܨ ±ܨÆðÆ
ǹ
šûSܨÉÉ"(=² ²ܨÈûÈ
ÉÿTܨËeË"$³´ ³ܨ ´ùÊùÌÌÿÊÍìÕ÷¢eÕ÷¥
ËÕ÷³º¹»½ Uܨ(
Vܨ04VܨÐÙÐOQµ µܨܨÏÏ
МH ,.04WܨÔÚAÔOQ ܨÑÏÖÏÓúÕÕÓßЫïб
ÔÑÏ¿ŽÐÆÈÊèˆèˆèˆèˆèˆèˆèˆX¨ÙÙܨÚý;Úèˆèˆèˆèˆ²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ܨ‰Óص,ÛÛØºÓèˆÊÓèˆ
Ú¨²ÒïÒèˆèˆèˆèˆèˆXèˆæ«šqxl沤ÝÞßàáâãäåæçèéêëìíîïðñòóôÞàâäæèêìî  ð

ò  ôèˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆXèˆÜÜæ«èˆèˆÜÜæ«èˆèˆX舳«%üûp^—öèˆèˆõõ³«èˆèˆX¨øø³«ùúûýÿÎ<Ï<ã<ï<õ<úÿýûèˆèˆèˆèˆ÷÷æ«èˆèˆ·¸¹ ·³« ¸ c cˆ¢cµ
 `£cë¼ `àB¤GS
¹ÔÌ÷!÷
ú¨èˆ³Ùèˆèˆèˆ³«Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
³«¨Î<ÅÛ÷ã-üü÷ëÛèˆûÛèˆ
û¨ÅÛ舠Ûèˆèˆèˆèˆèˆº³« º݉÷ã-þþQ÷ëÛèˆûÛèˆ
ý¨ÅÛ舠Ûèˆèˆèˆèˆèˆ»³« »ÿæ݉÷ã-ä÷ëÛèˆûÛèˆ
ÿ¨ÅÛ舠ÛèˆèˆèˆèˆèˆX¨æ«ƒý;ƒèˆèˆèˆèˆ²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
櫉ӵ,ºÓèˆÊÓèˆ
ƒ¨²ÒïÒèˆèˆèˆèˆèˆX舨ɭ`Ǫ¨¶5܈èˆèˆèˆèˆ²ÔFu\»ŸܨèˆèˆâèˆèˆX¨ŠŠÉ­ŒÎ<Ï<‡=Œèˆèˆèˆèˆܨèˆèˆ¼½¾ ¼É­ ½ c cˆ¢cµ
 `£cë¼ `àB¤GS
¾ÔÌÌ
Œ¨èˆ³ÙèˆèˆèˆÉ­ôäÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
É­¨Î<ØåŽ/ŽŽ‰æ舙æèˆ
¨ôäèˆÄåèˆèˆèˆèˆèˆèˆˆç¼‰´Ä HMAC using SHA-256ÁY¼‰ªªܨ¼‰¼‰ªªܨ¼¡üÊEB The return type of a successful call to [decode](fn.decode.html).Á
¥Åÿ Ÿ®…äø½’ßÏ "”ÞÔ¿ The decoded JWT headerÁ4âݸl•Ôö The decoded JWT claimsÁ4™Ó®(M™u¥ÅÿÍ¿cÓ®Ÿ®˜Àc˜ïñUW¿ÀÁ ¿Ÿ® À c cˆ¢cµ
 `£cë¼ `àB¤GS
ÁÔÌM™
˜Ó®þ±üÈ  ë®H°26>
šœؽ뮞Ÿ 
ؽë®üšؽ”ˆ
 ë®T

ؽ
 ©
ؽ(NÀ v뮡١"$ Âë®ë®  
¡o´ò üº
>; All the different kind of keys we can use to decode a JWT.Áüù
gd This key can be re-used so make sure you only initialize it once if you can for better performance.Á ůÏýtêè-룤ü " ¢¢º¥ü·  ¢¢ë®(Oê wů¦Ù¦"$à Ãůů¥ ¥
¦o´  üÎX U A key to encode a JWT with. Can be a secret, a PEM-encoded key or a DER-encoded key.Áü§g ìœ „°m«=–§h¨©ü½"  §§º¥„å  s§§ؽ(W˜ y„°«Ù«"$Ä Ä„°„°ª ª
«oÙžüÄ74 An error that can occur when encoding/decoding JWTsÁðXWŽ…iÓÙ­®Ž¿ðÙž7Ž¿ð¬¬
­¬¬Ž¿(X…zð°Ù°"$Å Åðð¯X…¯
°o(YŒ{ð²Àc²"$ÆÇÈ Æð Ç c cˆ¢cµ
 `£cë¼ `àB¤GS
ÈÔ̱±
²Æ±ÌZ“|ð´´"(=É Éð³Z“³
´‡H[—}ð}ð··ß·79ÊË Êð Ëð[—
·¹
š”Óü¸" The specific type of an error.ÁÛúüßC@ This enum may grow additional variants, the `#[non_exhaustive]`Áü£DA attribute makes sure clients don't count on exhaustive matching.Áüè@= (Otherwise, adding a new variant could break existing code.)Á9Œ©®±(øl@µM¹º»¼½¾¿ÀÂÃÄÅÆÇÈÉËÌÍÎÏÐÑÒÓÔÕÖרÙÚÜÝßàâ㺼¾ÀÁ¡À®±ÃÅÇÉÊ¡À®±Ì  Î

Ð  Ò  Ô

ÖØÚÛñ´®±Ý޵®±àáò¶®±ãäη®±üì/, When a token doesn't have a valid JWT shapeÁ?¸¸®±SU¸¸®±„Ûü²$! When the signature doesn't matchÁ4¸¸®±HJ¸¸®±üñ2/ When the secret given is not a valid ECDSA keyÁB¸¸®±VX¸¸®±ü½ 0- When the secret given is not a valid RSA keyÁ¸¸
À¡À®±¸¸Õ±4€
¸¸¡À„º
ü
(% We could not sign with the given keyÁ8¸¸®±LN¸¸®±¤¢ üÐ
MJ When the algorithm from string doesn't match the one passed to `from_str`Á]¸¸®±qs¸¸®±„ò ü¼ 1. When a key is provided with an invalid formatÁA¸¸®±UW¸¸®±äŸü¢ :7 When a claim required by the validation is not presentÁ䟸¸
ÉäŸäŸ¡À®±¸¸’¶ ¸¸¡À„Æ
üƒ
>; When a token’s `exp` claim indicates that it has expiredÁN¸¸®±bd¸¸®±üÜ
C@ When a token’s `iss` claim does not match the expected issuerÁS¸¸®±gi¸¸®±|ü·SP When a token’s `aud` claim does not match one of the expected audience valuesÁc¸¸®±wy¸¸®±ü¤RO When a token’s `sub` claim does not match one of the expected subject valuesÁb¸¸®±vx¸¸®±ŒÔü@= When a token’s `nbf` claim represents a time in the futureÁP¸¸®±df¸¸®±„‡üëjg When the algorithm in the header doesn't match the one passed to `decode` or the encoding/decoding keyÁüÚ(% used doesn't match the alg requestedÁ¬¸¸®±À¸¸®±„æüDA When the Validation struct does not contain at least 1 algorithmÁT¸¸®±hj¸¸®±2 ü•41 An error happened when decoding some base64 textÁ2 ¸¸
Ú2 2 ñ´®±¸¸ÀœÕ¸¸ñ´€ üï:7 An error happened while serializing/deserializing JSONÁ€ ¸¸
Ý€ € µÂ®±¸¸ÍÁ´³¸¸µÂ¡üÐ&# Some of the text was invalid UTF-8Á¡¸¸
à¡¡ò¶®±¸¸éÂ䀸¸ò¶ü£0- Something unspecified went wrong with cryptoÁ¸¸
ãη®±¸¸ÄÔ߸¸η(\Ä~®±æÙæ"$Ì Ì®±®±åå
æo(]Ë®±èÀcè"$ÍÎÏ Í®± Πc cˆ¢cµ
 `£cë¼ `àB¤GS
ÏÔÌçç
èÆ±ÌŒ¯üêJG A basic JWT header, the alg defaults to HS256 and typ is automaticallyÁüµ41 set to `JWT`. All the other fields are optional.Áݸ>Rcê·¸¹º»¼½¾”¦´¬ The algorithm usedÁÇúüÏRO Defined in [RFC7515#4.1.1](https://tools.ietf.org/html/rfc7515#section-4.1.1).Á—‹ééܨ(qóݸìÀcì#%ÐÑÒ Ðݸ Ñ c cˆ¢cµ
 `£cë¼ `àB¤GS
ÒÔÌëë
ìDZÍ(rúŠݸîÙî#%Ó Óݸݸíí
îpHsݸݸñ·ßñ9;ÔÕ Ôݸ Õݸðsð
ñ¹
œŒݸóó#)>Ö Öݸòò
óˆHv «-/15ݸ÷ÚA÷QS× ×ݸÑÏÖÏöúøøvößЭïг
÷ÑÏÁŽÐÈÊÌ¶Š¶Š¶Š«¶Š¶Š¶Š¶ŠŽ¨üüݸýý;ý¶Š¶Š¶Š¶Š²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ݸ‰Óûµ,þþûºÓ¶ŠÊÓ¶Š
ý¨²ÒïÒ¶Š¶Š¶Š¶Š¶ŠŽ¶Š«áºƼ‡«ªVvƒˆŠŒŽƒ  

¶ŠŽ¶Š«ÿÿáº¶Š¶Š«ÿÿáº¶ŠŽ¶Š«ÿÿáº¶Š¶Š«ÿÿáº¶ŠŽ¶Š«ÿÿáº¶Š¶Š«ÿÿáº¶ŠŽ¶Š«ÿÿáº¶Š¶Š«ÿÿáº¶ŠŽ¶Š«ÿÿáº¶Š¶Š«ÿÿáº¶ŠŽ¶Š«ÿÿáº¶Š¶Š«ÿÿáº¶ŠŽ¶Š«ÿÿáº¶Š¶Š«ÿÿáº¶ŠŽ¶Š«ÿÿáº¶Š¶Š«ÿÿáº¶ŠŽ¶Š«ÿÿáº¶Š¶Š«ÿÿáº¶ŠŽ¶Š«ÿÿáº¶Š¶Š«ÿÿáº¶ŠŽ¶Š«ÿÿáº¶Š¶Š«ÿÿáº¶Š¶ŠŽ¶Š«®ºé}Ù¿»K¶Š¶Š«®º¶Š¶ŠŽ¨®ºšœž Î<Ï<ã<ï<õ< žœ¶Š¶Š¶Š¶Š˜˜áº¶Š¶ŠØÙÚ Ø®º Ù c cˆ¢cµ
 `£cë¼ `àB¤GS
ÚÔ̘y›˜
¨¶Š³Ù¶Š¶Š¶Š®ºÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
®º¨Î<ÅÛ˜ã-˜ëÛ¶ŠûÛ¶Š
œ¨ÅÛ¶Š Û¶Š¶Š¶Š¶Š¶ŠÛ®º Û¼Þ˜ã-ŸŸQ˜ëÛ¶ŠûÛ¶Š
ž¨ÅÛ¶Š Û¶Š¶Š¶Š¶Š¶ŠÜ®º Üÿæ¼Þ˜ã-¡¡ä˜ëÛ¶ŠûÛ¶Š
 ¨ÅÛ¶Š Û¶Š¶Š¶Š¶Š¶ŠŽ¨££áº¤ý;¤¶Š¶Š¶Š¶Š²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ẉӢµ,¥¥¢ºÓ¶ŠÊÓ¶Š
¤¨²ÒïÒ¶Š¶Š¶Š¶Š¶ŠŽ¶Š«¨§§´¼¿ÂmÊ;ф¶Š¶Š¶Š¶Š«¦¦²ÔFu\»Ÿݸ¶Š¶Š«¦¦â¶Š¶ŠŽ¨««´¼¬­®°Î<Ï<ƒ=…=°­®¶Š¶Š¶Š¶Šªªݸ¶Š¶ŠÝÞß Ý´¼ Þ c cˆ¢cµ
 `£cë¼ `àB¤GS
ßÔ̪ݪ
­¨¶Š³Ù¶Š¶Š¶Š´¼ôäÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
´¼¨Î<ôä¨=ªŽ/¯¯ª‰æ¶Š‹=ô䨶Š
®¨ôä¶Š__seqÁ¶Š¶Š¶Š¶Š¶Š´¼ôäÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
æèô䨕=ªŽ/±±ª‰æ¶Š“=ô䨶Š
°¨ôä¶Š__mapÁ¶Š¶Š¶Š¶Š¶Š¶Š«ˆçݸ´›e´#%àá àݸ áÕ÷³ùµµ³ƒø’ø
´Õ÷¡º§©«¼üÇ.+ The type of JWS: it can only be "JWT" hereÁúúü‚RO Defined in [RFC7515#4.1.9](https://tools.ietf.org/html/rfc7515#section-4.1.9).ÁŠ‹ééÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¡À¼ä„¾
Content typeÁÓúüÛNK Defined in [RFC7519#5.2](https://tools.ietf.org/html/rfc7519#section-5.2).Á¤‹ééÿ 
JSON Key URLÁúüžRO Defined in [RFC7515#4.1.2](https://tools.ietf.org/html/rfc7515#section-4.1.2).Á±‹ééÿî¤ò
„È 
JSON Web KeyÁÝ úüå RO Defined in [RFC7515#4.1.3](https://tools.ietf.org/html/rfc7515#section-4.1.3).Á¾‹ééÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙúç¼°   Key IDÁ úü£ RO Defined in [RFC7515#4.1.4](https://tools.ietf.org/html/rfc7515#section-4.1.4).ÁË‹ééÿî¼ô
 
X.509 URLÁß úüç RO Defined in [RFC7515#4.1.5](https://tools.ietf.org/html/rfc7515#section-4.1.5).ÁØ‹ééÿîä÷ü‘LI X.509 certificate chain. A Vec of base64 encoded ASN.1 DER certificates.ÁâúüêRO Defined in [RFC7515#4.1.6](https://tools.ietf.org/html/rfc7515#section-4.1.6).Áå‹ééÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zلܼØü™%" X.509 SHA1 certificate thumbprintÁÃúüËRO Defined in [RFC7515#4.1.7](https://tools.ietf.org/html/rfc7515#section-4.1.7).Áò‹ééÿîä³üõ'$ X.509 SHA256 certificate thumbprintÁ¡úü©RO Defined in [RFC7515#4.1.8](https://tools.ietf.org/html/rfc7515#section-4.1.8).ÁúüˆNK This will be serialized/deserialized as "x5t#S256", as defined by the RFC.ÁD·ééÿî¬ýüýRO The intended usage of the public `KeyType`. This enum is serialized `untagged`Ád†—½Z`ÎǦñ¨ÀÁÂÃÄÅÁÃÅÆ¡À—½ü™>; Indicates a public key is meant for signature verificationÁN¿¿—½bd¿¿—½üë2/ Indicates a public key is meant for encryptionÁB¿¿—½VX¿¿—½´¡ Other usageÁ´¡¿¿
Å´¡´¡¡À—½¿¿Ïÿ¿¿¡À(|Ùœ—½ÈÙÈ#%â â—½—½ÇÇ
Èp(}à—½ÊÀcÊ#%ãäå ã—½ ä c cˆ¢cµ
 `£cë¼ `àB¤GS
åÔÌÉÉ
ÊDZ͞—½ÌÌ#)>æ æ—½ËË
̈H럗½Ÿ—½Ï·ßÏ9;çè ç—½ è—½ÎëÎ
Ϲ
œ €ö —½ÑeÑ$&éê é—½ êÕ÷ÐùÒÒöЃø’ø
ÑÕ÷£º©«­´ØüÐZW Operations that the key is intended to be used for. This enum is serialized `untagged`Á!láù¾LÞÎmŽÔÕÖרÙÚÛÜÝÞßàáâãäåÕ×ÙÛÝßáãåæ¡Àù¾üõ%" Computer digital signature or MACÁ!5ÓÓù¾IKÓÓù¾ü©# Verify digital signature or MACÁ!3ÓÓù¾GIÓÓù¾œÝ Encrypt contentÁ!"ÓÓù¾68ÓÓù¾ü‚:7 Decrypt content and validate decryption, if applicableÁ!JÓÓù¾^`ÓÓù¾ Encrypt keyÁ!ÓÓù¾24ÓÓù¾üï63 Decrypt key and validate decryption, if applicableÁ!FÓÓù¾Z\ÓÓù¾ Derive keyÁ!ÓÓù¾13ÓÓù¾T‡üÛ'$ Derive bits not to be used as a keyÁ!7ÓÓù¾KMÓÓù¾¢œ— Other operationÁ!¢ÓÓ
墢¡Àù¾ÓÓîÓÓ¡À´¢ù¾èÙè$&ë ëù¾ù¾çƒ´ç
èr(„»£ù¾êÀcê$&ìíî ìù¾ í c cˆ¢cµ
 `£cë¼ `àB¤GS
îÔÌé»é
êɱϤù¾ìì$*?ï ïù¾ëÂë
ìŠH†Æ¥ù¾¥ù¾ï·ßï:<ðñ ðù¾ ñù¾îÆî

ž ‡Ñ¦ù¾ñeñ$&òó òù¾ óÕ÷ðùòòÑðƒø’ø
ñÕ÷£º©«­¬ù%ôÓ$ The algorithms of the keysÁ#d&»Ájò¬E>xÐóôõö÷øùúûüýþÿƒˆŠŒáâãäõ÷ùûýÿƒ  

    

âä@´•&ž”#@óó»Á@@óó»ÁM´»&“è#Móó»ÁMMóó»ÁZ´á&÷è#Zóó»ÁZZóó»Ág¼ˆ'Ûé#góó»Ággóó»Át¼¯'Àê#tóó»Áttóó»Áü×'#¦ë#óó»Áóó»ÁŽüŠ(#˜ì#Žóó»ÁŽŽóó»Áü½(#Ší#óó»Áóó»Á¨äñ(ûí#¨óó»Á¨¨óó»Áµä)åî#µóó»Áµµóó»ÁÂäÉ)Ïï#Âóó»ÁÂÂóó»ÁÏüö)5ºð#Ïóó»ÁÏÏóó»Áܤ¼* RSAES-PKCS1-V1_5Á#Üóó»ÁÜÜóó»Á·%¨»ÁÀc$&ôõö ô»Á õ c cˆ¢cµ
 `£cë¼ `àB¤GS
öÔÌŽŠ·%Ž
ɱÏH‹¾%©»Á©»Á·ß:<÷ø ÷»Á ø»Á¾%
˜¹
žŒÉ%ª»Á$*?ù ù»ÁŒÉ%
Š Í%«»Áe$&úû ú»Á ûÕ÷ùÍ%ƒø’ø
Õ÷£º©«­ ŽÓ%¬»Á(Ù%­»Á26­»ÁÙRTü ü»Á»ÁšÙ%š
 H‘à%
À.026®»ÁŸÚAŸRTý ý»ÁÑÏÖÏžú  à%žßЯïе
ŸÑÏÃŽÐÊÌÎÀ¯¨¤¤»Á¥ý;¥²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
»Á‰Ó£µ,¦¦£ºÓÊÓ
¥¨²ÒïÒ¯ÀêÄ¢,p¨©ª«¬­®¯°±²³´µ·¸¹º»¼½¾¿ÀÁÂÃÄÅ©«­¯±³µ·¹  »

½  ¿  Á

ÃůÀ§§êÄÀ§§êįÀ§§êÄÀ§§êįÀ§§êÄÀ§§êįÀ§§êÄÀ§§êįÀ§§êÄÀ§§êįÀ§§êÄÀ§§êįÀ§§êÄÀ§§êįÀ§§êÄÀ§§êįÀ§§êÄÀ§§êįÀ§§êÄÀ§§êįÀ§§êÄÀ§§êįÀ§§êÄÀ§§êįÀ§§êÄÀ§§êįÀ§§êÄÀ§§êįÀ§§êÄÀ§§êįÀ·Äª9¯»„9(ÇÀÆÆ·Ä¯¨ÉÉ·ÄÊËÌÎÐÎ<Ï<ã<ï<õ<ÌËÐÎÈÈêÄþÿ þ·Ä ÿ c cˆ¢cµ
 `£cë¼ `àB¤GS
ÔÌÈë%È
˨³Ù·ÄÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
·Ä¨Î<ÅÛÈã-ÍÍÈëÛûÛ
̨ÅÛ Û·Ä µºÈã-ÏÏRÈëÛûÛ
ΨÅÛ Û·Ä ÿ浺Èã-ÑÑåÈëÛûÛ
ШÅÛ Û¯¨ÓÓêÄÔý;Ô²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
êĉÓÒµ,ÕÕÒºÓÊÓ
Ô¨²ÒïÒ¯À¨××ýÆë<4]Hÿ?DØÙÀÖÖ²ÔFu\»Ÿ»ÁÀÖÖ⯨ÛÛýÆÜÝÞÎ<Ï<‡=ÝÞÚÚ»Áƒ ƒýÆ  c cˆ¢cµ
 `£cë¼ `àB¤GS
ÔÌÚÓÚ
ݨ³ÙýÆôäÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ýƨÎ<ØåÚŽ/ßßÚ‰æ™æ
Þ¨ôäÄåÀˆçD£+Ôâ* RSAES-OAEP using SHA-1Á°*óó»Á>@óó»Ádû+ô²+ RSAES-OAEP-256 using SHA-2Á±.óó»ÁBDóó»Áܼ6ÌÔ5 Common JWK parametersÁ%„Ç6àÇËE¬›ÚÝg¶¯°±²³´µ÷5µàÇçÀcç$&ˆ àÇ  c cˆ¢cµ
 `£cë¼ `àB¤GS
ˆÔÌæ˜÷5æ
çɱÏ(™þ5àÇéÙé$& àÇàÇèþ5è
érš…6·àÇëë$*?Š ŠàÇêš…6ê
ëŠH›‰6¸àǸàÇî·ßî:<Œ àÇ ŒàÇí‰6í

žH”6
À.026¹àÇòÚAòRT àÇÑÏÖÏñúóó”6ñßЯïе
òÑÏÃŽÐÊÌÎÀº¨÷÷àÇøý;ø²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
àljÓöµ,ùùöºÓÊÓ
ø¨²ÒïÒºÀÒÉÇÞ
›þ™ÜcûüýþÿƒˆŠŒüþˆŠŒºÀúúÒÉÀúúÒɺÀúúÒÉÀúúÒɺÀúúÒÉÀúúÒɺÀúúÒÉÀúúÒɺÀúúÒÉÀúúÒɺÀúúÒÉÀúúÒɺÀúúÒÉÀúúÒɺÀúúÒÉÀúúÒɺÀúúÒÉÀúúÒɺÀŸÉzxAÂïIƒ‡ŽÀŸÉº¨ŸÉÎ<Ï<ã<ï<õ<ÒÉŽ ŽŸÉ  c cˆ¢cµ
 `£cë¼ `àB¤GS
ÔÌ Ÿ6
¨³ÙŸÉÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŸÉ¨Î<ÅÛã-ëÛûÛ
¨ÅÛ ÛŸÉ ¦Ûã-RëÛûÛ
¨ÅÛ ÛŸÉ ÿæ¦Ûã-˜˜åëÛûÛ
¨ÅÛ Ûº¨ššÒÉý;²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Òɉӵ,œœºÓÊÓ
¨²ÒïÒºÀ¨žž…ËÇtr†‘yŸ À²ÔFu\»ŸàÇÀ⺨¢¢…Ë£¤¥§Î<Ï<ƒ=…=¥¤§¡¡àÇ …Ë  c cˆ¢cµ
 `£cë¼ `àB¤GS
Ô̡ޡ
¤¨³Ù…ËôäÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
…˨Î<÷衎/¦¦¡‰æ¯é
¥¨ôäÚè…ËôäÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Ðåéꡎ/¨¨¡‰æ¡ë
§¨ôäÌêÀˆç¬6»àÇ«´«$&àǪª
« £µ6¼àÇ­e­$& àÇ Õ÷¬ù®®£µ6¬ƒø’ø
­Õ÷£º©«­üÜ8(üÞ6VS The intended use of the public key. Should not be specified with `key_operations`.Áü¹7OL See sections 4.2 and 4.3 of [RFC7517](https://tools.ietf.org/html/rfc7517).Átà8ååÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ—½üç<.ü‹9HE The "key_ops" (key operations) parameter identifies the operation(s)ÁüØ9IF for which the key is intended to be used. The "key_ops" parameter isÁü¦:FC intended for use cases in which public, private, or symmetric keysÁœñ: may be present.Áü‰;2/ Should not be specified with `public_key_use`.ÁüÀ;O¾êtë<ååÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙªBªBö­Bë¼÷<®B÷<9)
-ÜnLù¾˜¾ü¥>'üœ=52 The algorithm keys intended for use with the key.Ál©>ååÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ»ÁÔÐ?üÓ>)& The case sensitive Key ID for the keyÁ4Ô?ååÿîäµAüñ?TQ X.509 Public key certificate URL. This is currently not implemented (correctly).ÁÊ@úÄÒ@ Serialized to `x5u`.ÁD¹AååÿîüžC#üØAVS X.509 public key certificate chain. This is currently not implemented (correctly).Á³BúÄ»B Serialized to `x5c`.ÁT¢CååÕ÷üE)üÈCUR X.509 Certificate SHA1 thumbprint. This is currently not implemented (correctly).Á¢DúĪD Serialized to `x5t`.Á¬‘EååÿîüŽG+ü½EWT X.509 Certificate SHA256 thumbprint. This is currently not implemented (correctly).Á™Fúì¡F Serialized to `x5t#S256`.Á¼’Gååÿîì™Iü¾G-* Key type value for an Elliptic Curve Key.ÁüìGXU This single value enum is a workaround for Rust not supporting associated constants.Á&¤¢IèËȺˆv]ê¢ñòòÎHÇèË26Çè˺ٺRT˜ ˜èËè˹¤ÎH¹
º  ¥ÕHÈèËÛHÉè˽Àc½$&š èË š c cˆ¢cµ
 `£cë¼ `àB¤GS
Ô̼¦ÛH¼
½É±Ï8§âHÊèË¿´¿$&è˾¾
¿¨ëHËèËÁÁ$*?œ œèËÀ¨ëHÀ
ÁŠH©ïHÌèËÌèËÄ·ßÄ:<ž èË žèËéïHÃ
ƹ
žH«úH
À.026ÍèËÈÚAÈRTŸ ŸèËÑÏÖÏÇúÉÉ«úHÇßЯïе
ÈÑÏÃŽÐÊÌÎýýýÀýýýýΨÍÍèËÎý;Îýýýý²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
èˉÓ̵,ÏÏ̺ÓýÊÓý
Ψ²ÒïÒýýýýýÎýÀ·ÍU–¦Þ|“ÛÑÒÒýÎýÀÐзÍýýÀÐзÍýýÎýÀ„ÍT8ìJ%yÔÔýýÀÓÓ„ÍýýΨÖÖ„ÍרÙÛÝÎ<Ï<ã<ï<õ<ØÝÛÙýýýýÕÕ·Íýý ¡¢  „Í ¡ c cˆ¢cµ
 `£cë¼ `àB¤GS
¢ÔÌÕ®…IÕ
بý³Ùýýý„ÍÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
„ͨÎ<ÅÛÕã-ÚÚÕëÛýûÛý
Ù¨ÅÛý Ûýýýýý£„Í £¯ˆÕã-ÜÜRÕëÛýûÛý
Û¨ÅÛý Ûýýýýý¤„Í ¤ÿ毈Õã-ÞÞåÕëÛýûÛý
ݨÅÛý ÛýýýýýΨàà·Íáý;áýýýý²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
·Í‰Óßµ,ââߺÓýÊÓý
ᨲÒïÒýýýýýÎýÀ¨ääêÍBtS˜¶}›åæýýýýÀãã²ÔFu\»ŸèËýýÀããâýýΨèèêÍéêëÎ<Ï<‡=êëýýýýççèËýý¥¦§ ¥êÍ ¦ c cˆ¢cµ
 `£cë¼ `àB¤GS
§ÔÌçÓç
ê¨ý³ÙýýýêÍôäÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
êͨÎ<ØåçŽ/ììç‰æý™æý
ë¨ôäýÄåýýýýýýÀˆç °’IÏèËïeï$&¨© ¨èË ©Õ÷îùðð°’Iîƒø’ø
ïÕ÷£º©«­Óü½I-þöÐÓ··èËÓÓ··èË´ÚKü…JA> Type of cryptographic curve used by a key. This is defined inÁüÇJDA [RFC 7518 #7.6](https://tools.ietf.org/html/rfc7518#section-7.6)Á'lãKÂÎh‹Ð%Kj±²³´µ·¸²´¸•KÓÂÎõÙõ$&ª ªÂÎÂÎô±•Kô
õr(²œKÔÂÎ÷Àc÷$&«¬­ «ÂÎ ¬ c cˆ¢cµ
 `£cë¼ `àB¤GS
­ÔÌö²œKö
÷ɱÏ8³£KÕÂÎù´ù$&ÂÎøø
ù´¬KÖÂÎûû$*?® ®ÂÎú´¬Kú
ûŠHµ°K×ÂÎ×ÂÎþ·ßþ:<¯° ¯ÂÎ °ÂÎýµ°Ký
þ˜¹
žH·»K
À.026ØÂÎÚART± ±ÂÎÑÏÖÏúƒƒ·»KßЯïе
ÑÏÃŽÐÊÌÎ<<<À<<<<Ù¨ÂΈý;ˆ<<<<²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÂΉӵ,ºÓ<ÊÓ<
ˆ¨²ÒïÒ<<<<<Ù<‘À«ÐÔ`²eÎx+ºŒŽŒŽ<Ù<‘ÀŠŠ«Ð<<ÀŠŠ«Ð<‘Ù<‘ÀŠŠ«Ð<<ÀŠŠ«Ð<‘Ù<‘ÀŠŠ«Ð<<ÀŠŠ«Ð<‘Ù<‘ÀŠŠ«Ð<<ÀŠŠ«Ð<<Ù<‘ÀøÏ“Š«½Àpœ£<<ÀøÏ<‘<‘Ù¨øÏ˜Î<Ï<ã<ï<õ<˜<<<<«Ð<<²³´ ²øÏ ³ c cˆ¢cµ
 `£cë¼ `àB¤GS
´Ô̺ÆK
˜¨<³Ù<<<øÏÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
øÏ¨Î<ÅÛã-ššëÛ<ûÛ<
¨ÅÛ< Û<<<<<µøÏ µ•¨ã-œœRëÛ<ûÛ<
¨ÅÛ< Û<<<<<øÏ ÿ敨ã-žžåëÛ<ûÛ<
¨ÅÛ< Û<<<<<Ù¨  «Ð¡ý;¡<<<<²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
«Ð‰ÓŸµ,¢¢ŸºÓ<ÊÓ<
¡¨²ÒïÒ<<<<<Ù<‘À¨¤¤ŽÑæiÊjŽ¥¦<<<<À££²ÔFu\»ŸÂÎ<<‘À££â<‘<‘Ù¨¨¨ŽÑ©ª«Î<Ï<‡=ª«<<<<§§ÂÎ<<·¸¹ ·ŽÑ ¸ c cˆ¢cµ
 `£cë¼ `àB¤GS
¹Ô̧ӧ
ª¨<³Ù<<<ŽÑôäÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŽÑ¨Î<Øå§Ž/¬¬§‰æ<™æ<
«¨ôä<Äå<<<<<<‘Àˆç ¼ÓKÚÂίe¯$&º» ºÂÎ »Õ÷®ù°°¼ÓK®ƒø’ø
¯Õ÷£º©«­$¹L|÷K P-256 curveÁáóóÂÎ35óóÂÎ$öL|ÃL P-384 curveÁÜóóÂÎ35óóÂÎ$ÍMü€M)& P-521 curve -- unsupported by `ring`.ÁÝ:óóÂÎNPóóÂÎ<ŽNŒ×M Ed25519 curveÁÞ!óóÂÎ57óóÂÎü‘O%üšN(% Parameters for an Elliptic Curve KeyÁ(ÔœOæÑâ2³ÞgcQýþº»lºRüÑQFC The "x" (x coordinate) parameter contains the x coordinate for theÁÌœR Elliptic Curve point.Áq“¹¹¡Àl¶SüÍRFC The "y" (y coordinate) parameter contains the y coordinate for theÁ̘Sظ~“¹¹¡ÀÌNâæÑ½Ù½$&¼ ¼æÑæÑ¼½ÌN¼
½r(¾ÓNãæÑ¿Àc¿$&½¾¿ ½æÑ ¾ c cˆ¢cµ
 `£cë¼ `àB¤GS
¿Ô̾¾ÓN¾
¿É±Ï¿ÚNäæÑÁÁ$*?À ÀæÑÀ¿ÚNÀ
ÁŠHÀÞNåæÑåæÑÄ·ßÄ:<Á ÁæÑ ÂæÑÃÀÞNÃ
ƹ
žHÂéN
À.026ææÑÈÚAÈRTÃ ÃæÑÑÏÖÏÇúÉÉÂéNÇßЯïе
ÈÑÏÃŽÐÊÌÎ’’’’’’À’’’’’’’’ç¨ÍÍæÑÎý;Î’’’’’’’’²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
æÑ‰Ó̵,ÏÏ̺Ӓ’ÊÓ’’
Ψ²ÒïÒ’’’’’’’’’’ç’’À´Ó”ó2l°“ÑÒÓÔÕÖרÙÚÒÔÖØÚ’’ç’’ÀÐдӒ’’’ÀÐдӒ’ç’’ÀÐдӒ’’’ÀÐдӒ’ç’’ÀÐдӒ’’’ÀÐдӒ’ç’’ÀÐдӒ’’’ÀÐдӒ’ç’’ÀÐдӒ’’’ÀÐдӒ’’’ç’’ÀÓç-\žÔ%SDÜ’’’’ÀÛÛÓ’’’’ç¨ÞÞÓßàáãåÎ<Ï<ã<ï<õ<àåáã’’’’’’’’ÝÝ´Ó’’’’ÄÅÆ ÄÓ Å c cˆ¢cµ
 `£cë¼ `àB¤GS
ÆÔÌÝÅôNÝ
਒’³Ù’’’’’’ÓÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Ó¨Î<ÅÛÝã-ââÝëÛ’’ûÛ’’
á¨ÅÛ’’ Û’’’’’’’’’’ÇÓ Ç«ËÝã-ääRÝëÛ’’ûÛ’’
ã¨ÅÛ’’ Û’’’’’’’’’’ÈÓ Èÿæ«ËÝã-ææåÝëÛ’’ûÛ’’
å¨ÅÛ’’ Û’’’’’’’’’’ç¨èè´Óéý;é’’’’’’’’²ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
´Ó‰Óçµ,êêçºÓ’’ÊÓ’’
騲ÒïÒ’’’’’’’’’’ç’’À¨ìì§ÔÉ3ÀÝ€î!íî’’’’’’’’Àëë²ÔFu\»ŸæÑ’’’’Àëëâ’’’’ç¨ðð§ÔñòóõÎ<Ï<ƒ=…=òõó’’’’’’’’ïïæÑ’’’’ÉÊË É§Ô Ê c cˆ¢cµ
 `£cë¼ `àB¤GS
ËÔÌïÞï
ò¨’’³Ù’’’’’’§ÔôäÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
§Ô¨Î<÷èïŽ/ôôï‰æ’’¯é’’
ó¨ôä’’Úè’’’’’’’’’’§ÔôäÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÕÕéêïŽ/ööï‰æ’’¡ë’’
õ¨ôä’’Ìê’’’’’’’’’’’’ÀˆçOèæÑù´ù$&æÑøø
ù ÈŠOéæÑûeû$&ÌÍ ÌæÑ ÍÕ÷úùüüÈŠOúƒø’ø
ûÕ÷£º©«­üŒP"ü½O-þöDP¹¹èËijQü´PGD The "crv" (curve) parameter identifies the cryptographic curve usedÁŒ€Q with the key.Á,·Q¹¹ÂΜ˜UüÈS" Key type value for an RSA Key.ÁüëSXµ÷)T¡UŠÕËåép;sÛƒ¹ º º ÍTîŠÕ26îŠÕÙRTÎ ÎŠÕŠÕ ÉÍT
  ÊÔTïŠÕÚTðŠÕÀc$&ÏÐÑ ÏŠÕ Ð c cˆ¢cµ
 `£cë¼ `àB¤GS
ÑÔÌËÚT
ɱÏ8ÌáTñŠÕ´$&ŠÕ
ÍêTòŠÕ$*?Ò ÒŠÕˆ ÍêTˆ
ŠHÎîTóŠÕóŠÕŒ ·ßŒ :<ÓÔ ÓŠÕ ÔŠÕÎîT
Œ ˜¹
žHÐùT
À.026ôŠÕ ÚA RTÕ ÕŠÕÑÏÖÏ úÐùT ßЯïе
ÑÏÃŽÐÊÌÎè“è“è“Àè“è“è“è“õ¨ŠÕý;è“è“è“蓲ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŠÕ‰Óµ,ºÓè“ÊÓè“
¨²ÒïÒè“è“è“è“è“õè“ÀÙÖ§[
™ š š è“õè“À˜ ˜ ÙÖè“è“À˜ ˜ ÙÖè“è“õè“À¦ÖgÇjcMì5œ è“è“À¦Öè“è“õ¨ž ž ¦ÖŸ   ¡ £ ¥ Î<Ï<ã<ï<õ<¡   ¥ £ è“è“è“è“  ÙÖè“è“Öר Ö¦Ö × c cˆ¢cµ
 `£cë¼ `àB¤GS
ØÔÌ Ó„U
  ¨è“³Ùè“è“蓦ÖÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¦Ö¨Î<ÅÛ ã-¢ ¢  ëÛè“ûÛè“
¡ ¨ÅÛè“ Ûè“è“è“è“è“Ù¦Ö Ùâë ã-¤ ¤ R ëÛè“ûÛè“
£ ¨ÅÛè“ Ûè“è“è“è“è“Ú¦Ö Úÿæâë ã-¦ ¦ å ëÛè“ûÛè“
¥ ¨ÅÛè“ Ûè“è“è“è“è“õ¨¨ ¨ ÙÖ© ý;© è“è“è“蓲ÒÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÙÖ‰Ó§ µ,ª ª § ºÓè“ÊÓè“
© ¨²ÒïÒè“è“è“è“è“õè“À¨¬ ¬ Œ×lu$|%Õc£­ ® è“è“è“è“À« « ²ÔFu\»ŸŠÕè“è“À« « âè“è“õ¨° ° Œ×± ² ³ Î<Ï<‡=³ ² è“è“è“蓯 ¯ ŠÕè“è“ÛÜÝ ÛŒ× Ü c cˆ¢cµ
 `£cë¼ `àB¤GS
ÝÔ̯ Ó¯
² ¨è“³Ùè“è“蓌×ôäÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Œ×¨Î<Øå¯ Ž/´ ´ ¯ ‰æè“™æè“
³ ¨ôäè“Äåè“è“è“è“è“è“Àˆç Õ‘UöŠÕ· e· $&Þß ÞŠÕ ßÕ÷ù¸ ¸ Õ‘Uƒø’ø
· Õ÷£º©«­­”ü²U"Û÷­”ÿÿŠÕ­”­”ÿÿŠÕÜÛVäðU Parameters for a RSA KeyÁ*„æVä×R~, 4
_ý ¼ ½ l½XüÞWFC The "n" (modulus) parameter contains the modulus value for the RSAÁ|©X public key.Á÷•» » ¡Àl²YüÑXHE The "e" (exponent) parameter contains the exponent value for the RSAÁ|žYÜù» » ¡À–Vúä׿ Ù¿ $&à àä×ä×¾ Ö–V¾
¿ r(×Vûä×Á ÀcÁ $&áâã áä× â c cˆ¢cµ
 `£cë¼ `àB¤GS
ãÔÌÀ ×VÀ
Á É±ÏØ¤Vüä×à à $*?ä ää× ؤVÂ
à ŠHÙ¨Výä×ýäׯ ·ßÆ :<åæ åä× æä×Å Ù¨VÅ
Æ ˜¹
žHÛ³V
À.026þä×Ê ÚAÊ RTç çä×ÑÏÖÏÉ úË Ë Û³VÉ ßЯïе