+
    P4iHS ã                  ó¶  € ^ RI Ht ^ RIHtHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHtHt ^ RIHt ^ R	It^ R	It^ R	It^ R	It^ R	It^ R
IHtHt ^ RIHt ^ R	It^ RIHtH t H!t!H"t"H#t# R t$ ! R R]4      t% ! R R]4      t& ! R R]4      t' ! R R4      t( ! R R](4      t) ! R R4      t* ! R R]*])]4      t+ ! R R]*])]4      t, ! R R])]4      t- ! R  R!])]4      t. ! R" R#])]4      t/ ! R$ R%])]4      t0 ! R& R']4      t1 ! R( R)]4      t2 ! R* R+]4      t3 ! R, R-]4      t4 ! R. R/]4      t5 ! R0 R1]4      t6R2 t7] ! R3 R44      4       t8] ! R5 R64      4       t9R	# )7é    )Úannotations)ÚdequeÚ
namedtuple)Úcontextmanager)ÚDecimal)ÚBytesIO)ÚAny)ÚTestCaseÚmock)Úpathname2urlN)ÚdefineÚfield)ÚDRAFT202012)ÚFormatCheckerÚTypeCheckerÚ
exceptionsÚ	protocolsÚ
validatorsc              #  ót   "  € V F-  pVP                  R R4       \        P                  ! R/ VB x € K/  	  R# 5i)ÚmessagezYou told me to fail!N© )Ú
setdefaultr   ÚValidationError)Ú	validatorÚerrorsÚinstanceÚschemaÚeachs   &&&& ÚB/usr/lib/python3/dist-packages/jsonschema/tests/test_validators.pyÚfailr       s2   é € ÛˆØ�‰˜	Ð#9Ô:Ü×(Ò(Ñ0¨4Ñ0Ô0ó ùs   ‚68c                  óŽ   € ] tR t^#tR tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tRtR# )ÚTestCreateAndExtendc                	óÐ  € V P                  V P                  \        P                  \	        \        P                  4      4       V P                  V P                  \        P
                  \	        \        P
                  4      4       R R/V n        R\        /V n        \        4       V n	        \        P                  ! V P                  V P                  V P                  R7      V n        R# )ú$idzsome://meta/schemar    )Úmeta_schemar   Útype_checkerN)Ú
addCleanupÚassertEqualr   Ú_META_SCHEMASÚdictÚ_VALIDATORSr%   r    r   r&   ÚcreateÚ	Validator©Úselfs   &r   ÚsetUpÚTestCreateAndExtend.setUp$   s¬   € Ø�‰Ø×ÑÜ×$Ñ$Ü”×)Ñ)Ó*ô	
ð
 	�‰Ø×ÑÜ×"Ñ"Ü”×'Ñ'Ó(ô	
ð "Ð#7Ð8ˆÔØ!¤4˜.ˆŒÜ'›MˆÔÜ#×*Ò*Ø×(Ñ(Ø—‘Ø×*Ñ*ô
ˆŽó    c                	óê   € V P                  V P                  P                  V P                  P                  V P                  P                  3V P
                  V P                  V P                  34       R # ©N)r(   r-   Ú
VALIDATORSÚMETA_SCHEMAÚTYPE_CHECKERr   r%   r&   r.   s   &r   Ú
test_attrsÚTestCreateAndExtend.test_attrs9   s\   € Ø×Ñà—‘×)Ñ)Ø—‘×*Ñ*Ø—‘×+Ñ+ðð
 —‘Ø× Ñ Ø×!Ñ!ðö
	
r2   c                	ód   € R . /pV P                  V P                  V4      P                  V4       R# )r    N)r(   r-   r   ©r/   r   s   & r   Ú	test_initÚTestCreateAndExtend.test_initF   s*   € Ø˜"�ˆØ×Ñ˜Ÿ™¨Ó/×6Ñ6¸Ö?r2   c                	óˆ   € R . /pV P                  V4      p\        VP                  R4      4      pV P                  V. 4       R# )r    ÚhelloN)r-   ÚlistÚiter_errorsr(   ©r/   r   r   r   s   &   r   Útest_iter_errors_successfulÚ/TestCreateAndExtend.test_iter_errors_successfulJ   s>   € Ø˜"�ˆØ—N‘N 6Ó*ˆ	ä�i×+Ñ+¨GÓ4Ó5ˆØ×Ñ˜ Ö$r2   c           
     	ó\  € R RR/./pV P                  V4      p\        P                  ! RRVR RR/.\        R .4      R7      p\	        VP                  R4      4      pV P                  \        V4      ^4       V P                  V^ ,          P                  4       VP                  4       4       R# )r    r   zWhoops!Úgoodbye)r   r   r   Úvalidator_valueÚschema_pathN)	r-   r   r   r   r@   rA   r(   ÚlenÚ	_contents)r/   r   r   Úexpected_errorr   s   &    r   Útest_iter_errors_one_errorÚ.TestCreateAndExtend.test_iter_errors_one_errorQ   s£   € Ø˜I yÐ1Ð2Ð3ˆØ—N‘N 6Ó*ˆ	ä#×3Ò3ØØØØØ'¨Ð3Ð4Ü˜v˜h›ô
ˆô �i×+Ñ+¨IÓ6Ó7ˆØ×Ñœ˜V› aÔ(Ø×Ñ˜ �×,Ñ,Ó.°×0HÑ0HÓ0JÖKr2   c                	ó°   € R RR/RRRR/RR/./pV P                  V4      p\        VP                  R4      4      pV P                  \	        V4      ^4       R# )	r    r   ÚFirstzSecond!r   ÚasdfÚThirdrF   N)r-   r@   rA   r(   rI   rB   s   &   r   Ú test_iter_errors_multiple_errorsÚ4TestCreateAndExtend.test_iter_errors_multiple_errorsb   sf   € àØ˜GÐ$Ø˜I {°FÐ;Ø˜GÐ$ðð
ˆð —N‘N 6Ó*ˆ	ä�i×+Ñ+¨IÓ6Ó7ˆØ×Ñœ˜V› aÖ(r2   c                	óR  € \         P                  ! R R/RR7      pV P                  \         P                  P                  R4       V P                  \         P
                  P                  R4       V P                  VP                  R4       V P                  VP                  R4       R# )r$   Ú	somethingú
my version©r%   ÚversionÚMyVersionValidatorN)	r   r,   r'   r)   Úpopr+   r(   Ú__name__Ú__qualname__©r/   r-   s   & r   Ú.test_if_a_version_is_provided_it_is_registeredÚBTestCreateAndExtend.test_if_a_version_is_provided_it_is_registeredo   s�   € Ü×%Ò%Ø Ð,Ø ô
ˆ	ð 	�‰œ
×0Ñ0×4Ñ4°kÔBØ�‰œ
×.Ñ.×2Ñ2°LÔAØ×Ñ˜×+Ñ+Ð-AÔBØ×Ñ˜×/Ñ/Ð1EÖFr2   c                	ó$  € \         P                  ! R R/RR7      pV P                  \         P                  P                  R4       V P                  \         P
                  P                  R4       V P                  \        V! / 4      4      R4       R# )r$   rU   rV   rW   z2MyVersionValidator(schema={}, format_checker=None)N)r   r,   r'   r)   rZ   r+   r(   Úreprr]   s   & r   Ú	test_reprÚTestCreateAndExtend.test_repry   sp   € Ü×%Ò%Ø Ð,Ø ô
ˆ	ð 	�‰œ
×0Ñ0×4Ñ4°kÔBØ�‰œ
×.Ñ.×2Ñ2°LÔAØ×ÑÜ‘˜2“ÓØ@ö	
r2   c                	óL  € \         P                  ! R R/RR7      pV P                  \         P                  P                  R4       V P                  \         P
                  P                  R4       V P                  \        V! R\        \        R4      4      /4      4      R4       R# )r$   rU   rV   rW   Úaiè  zNMyVersionValidator(schema={'a': [0, 1, 2, 3, 4, 5, ...]}, format_checker=None)N)
r   r,   r'   r)   rZ   r+   r(   ra   r@   Úranger]   s   & r   Útest_long_reprÚ"TestCreateAndExtend.test_long_repr…   s�   € Ü×%Ò%Ø Ð,Ø ô
ˆ	ð 	�‰œ
×0Ñ0×4Ñ4°kÔBØ�‰œ
×.Ñ.×2Ñ2°LÔAØ×ÑÜ‘˜C¤¤e¨D£kÓ!2Ð3Ó4Ó5ð'ö	
r2   c                	óv   € \         P                  ! / R 7      pV P                  \        V! / 4      4      R4       R# )©r%   z)Validator(schema={}, format_checker=None)N)r   r,   r(   ra   r]   s   & r   Útest_repr_no_versionÚ(TestCreateAndExtend.test_repr_no_version“   s/   € Ü×%Ò%°"Ô5ˆ	Ø×ÑÜ‘˜2“ÓØ7ö	
r2   c                	ó  € \         P                  ! R R/RR7      pV P                  \         P                  P                  R4       V P                  \         P
                  P                  R4       V P                  VP                  R4       R# )r$   rU   zfoo-barrW   ÚFooBarValidatorN)r   r,   r'   r)   rZ   r+   r(   r\   r]   s   & r   Ú-test_dashes_are_stripped_from_validator_namesÚATestCreateAndExtend.test_dashes_are_stripped_from_validator_namesš   sj   € Ü×%Ò%Ø Ð,Øô
ˆ	ð 	�‰œ
×0Ñ0×4Ñ4°kÔBØ�‰œ
×.Ñ.×2Ñ2°IÔ>Ø×Ñ˜×/Ñ/Ð1BÖCr2   c                	óª   € \        \        P                  4      p\        P                  ! R R /R7       V P	                  \        P                  V4       R# )Úidrj   N)r*   r   r)   r,   r(   )r/   Úoriginals   & r   Ú6test_if_a_version_is_not_provided_it_is_not_registeredÚJTestCreateAndExtend.test_if_a_version_is_not_provided_it_is_not_registered£   s:   € Üœ
×0Ñ0Ó1ˆÜ×Ò t¨T lÕ3Ø×Ñœ×1Ñ1°8Ö<r2   c                	ó.  € R pRV/p\         P                  ! VRR R7       V P                  \         P                  P                  V4       V P                  \         P
                  P                  R4       V P                  V\         P                  4       R# )úmeta schema idrr   rV   c                ó&   € V P                  R R4      # ©rr   Ú ©Úget©Úss   &r   Ú<lambda>ÚMTestCreateAndExtend.test_validates_registers_meta_schema_id.<locals>.<lambda>¯   ó   € ˜AŸE™E $¨œOr2   ©r%   rX   Úid_ofN©r   r,   r'   r)   rZ   r+   ÚassertIn©r/   Úmeta_schema_keyÚmy_meta_schemas   &  r   Ú'test_validates_registers_meta_schema_idÚ;TestCreateAndExtend.test_validates_registers_meta_schema_id¨   sr   € Ø*ˆØ Ð0ˆä×ÒØ&Ø Ù+õ	
ð
 	�‰œ
×0Ñ0×4Ñ4°oÔFØ�‰œ
×.Ñ.×2Ñ2°LÔAà�‰�o¤z×'?Ñ'?Ö@r2   c                	ó*  € R pRV/p\         P                  ! VRR7       V P                  \         P                  P                  V4       V P                  \         P
                  P                  R4       V P                  V\         P                  4       R# )úmeta schema $idr$   rV   rW   Nr„   r†   s   &  r   Ú.test_validates_registers_meta_schema_draft6_idÚBTestCreateAndExtend.test_validates_registers_meta_schema_draft6_id¶   so   € Ø+ˆØ Ð1ˆä×ÒØ&Ø õ	
ð 	�‰œ
×0Ñ0×4Ñ4°oÔFØ�‰œ
×.Ñ.×2Ñ2°LÔAà�‰�o¤z×'?Ñ'?Ö@r2   c                	ó  a€ \         P                  ! / RR 7      oT P                  \        ;QJ d6    V3R lR. 3RR	R
RR/ 3R3 4       F  '       d   K   R4       R# 	  R4       R# ! V3R lR. 3RR	R
RR/ 3R3 4       4      4       R# )©r%   r   c              3  óX   <"  € T F  w  rS! / 4      P                  W!R 7      x € K!  	  R# 5i))r   ÚtypeN)Úis_type)Ú.0r’   r   r-   s   &  €r   Ú	<genexpr>Ú@TestCreateAndExtend.test_create_default_types.<locals>.<genexpr>Æ   s3   øé € ð ñ'‘N�Dñ ˜"“×%Ñ%¨xÐ%×CÐCó'ùs   ƒ'*ÚarrayTNÚobjectFr   )ÚbooleanT)Úintegeré   )ÚnullN)Únumberg      (@)ÚstringÚfoo)r   r,   Ú
assertTrueÚallr]   s   &@r   Útest_create_default_typesÚ-TestCreateAndExtend.test_create_default_typesÃ   s›   ø€ Ü×%Ò%°"ÀÔDˆ	Ø�‰ß‹Cô ð ˜b�MØ%Ø#Ø"Ø$Ø˜r�NØ%ñ'ó�CŒCö	
Úö	
Øô ð ˜b�MØ%Ø#Ø"Ø$Ø˜r�NØ%ñ'óó ö	
r2   c                ó~  € \         P                  ! R\         P                  P                  R,          RR/ //R7      pVP	                  RR/4       V P                  \        P                  4      ;_uu_ 4        VP	                  / 4       RRR4       V! RR/4      P                  R4       R#   + '       g   i     L+; i)	zY
One can create a validator class whose metaschema uses a different
dialect than itself.
ú$schemar$   ÚnotÚconstrj   rŸ   ÚbarN)	r   r,   ÚDraft202012Validatorr6   Úcheck_schemaÚassertRaisesr   ÚSchemaErrorÚvalidate©r/   ÚNoEmptySchemasValidators   & r   Ú+test_check_schema_with_different_metaschemaÚ?TestCreateAndExtend.test_check_schema_with_different_metaschemaÔ   s™   € ô #-×"3Ò"3àœ:×:Ñ:×FÑFÀuÕMØ˜ �}ðô#
Ðð 	 ×,Ñ,¨e°U¨^Ô<à×Ñœz×5Ñ5×6Õ6Ø#×0Ñ0°Ô4÷ 7ñ 	  ¨ Ó/×8Ñ8¸Ö?÷ 7×6ús   Á7B,Â,B<	c                óö   € \         P                  ! RRR/./R\        /R7      pV P                  \        P
                  4      ;_uu_ 4        VP                  / 4       RRR4       R#   + '       g   i     R# ; i)z†
A validator whose metaschema doesn't declare $schema defaults to its
own validation behavior, not the latest "normal" specification.
r    r   zMeta schema whoops!r�   N)r   r,   r    r«   r   r¬   rª   r®   s   & r   Ú<test_check_schema_with_different_metaschema_defaults_to_selfÚPTestCreateAndExtend.test_check_schema_with_different_metaschema_defaults_to_selfç   sc   € ô #-×"3Ò"3Ø 9Ð.CÐ"DÐ!EÐFØ¤�~ô#
Ðð ×Ñœz×5Ñ5×6Õ6Ø#×0Ñ0°Ô4÷ 7×6×6Ò6ús   ÁA'Á'A8	c                	óœ  € \        V P                  P                  4      p\        4       p\        P
                  ! V P                  R V/R7      pV P                  VP                  VP                  VP                  V P                  P                  3\        WR7      V P                  P                  V P                  P                  V34       R# )Únew)r   )r¶   N)	r*   r-   r5   r˜   r   Úextendr(   r6   r7   )r/   rs   r¶   ÚExtendeds   &   r   Útest_extendÚTestCreateAndExtend.test_extendô   s¤   € Ü˜Ÿ™×1Ñ1Ó2ˆÜ‹hˆä×$Ò$Ø�N‰NØ˜s�|ô
ˆð 	×Ñà×#Ñ#Ø×$Ñ$Ø×%Ñ%Ø—‘×)Ñ)ð	ô �XÔ'Ø—‘×*Ñ*Ø—‘×+Ñ+Øð	ö	
r2   c                óX  a € V 3R lpRpRRRV/p\         P                  ! VS P                   S P                  VR7      pS P                  VP	                  VP
                  4      V4       \         P                  ! V4      pS P                  VP	                  VP
                  4      V4       R# )z;
Extending a validator preserves its notion of schema IDs.
c                óZ   <€ V P                  R SP                  P                  V 4      4      # )Ú__test__)r|   r-   ÚID_OF)r   r/   s   &€r   rƒ   Ú3TestCreateAndExtend.test_extend_idof.<locals>.id_of  s#   ø€ Ø—:‘:˜j¨$¯.©.×*>Ñ*>¸vÓ*FÓGÐGr2   zthe://correct/id/r$   zthe://wrong/id/r½   )r%   r   r&   rƒ   N)r   r,   r&   r(   r¾   r6   r·   )r/   rƒ   Ú
correct_idr%   ÚOriginalÚDeriveds   f     r   Útest_extend_idofÚ$TestCreateAndExtend.test_extend_idof
  s˜   ø€ õ	Hà(ˆ
àÐ$Ø˜
ð
ˆô ×$Ò$Ø#Ø—‘Ø×*Ñ*Øô	
ˆð 	×Ñ˜Ÿ™¨×(<Ñ(<Ó=¸zÔJä×#Ò# HÓ-ˆØ×Ñ˜Ÿ™ w×':Ñ':Ó;¸ZÖHr2   c                ó  € RRRR//RRR^/p\         P                  ! V4      pV P                  VP                  ^%4      4       \         P                  ! \         P                  4      pV P                  V! V4      P                  ^%4      4       R# )	zF
Extending a validator preserves its notion of applicable validators.
ú$defsÚtestr’   r�   ú$refz#/$defs/testÚmaximumN)r   ÚDraft4Validatorr    Úis_validr·   )r/   r   Údraft4rÂ   s   &   r   Ú!test_extend_applicable_validatorsÚ5TestCreateAndExtend.test_extend_applicable_validators   s|   € ð �f˜v xÐ0Ð1Ø�NØ�qð
ˆô ×+Ò+¨FÓ3ˆØ�‰˜Ÿ™¨Ó+Ô,ä×#Ò#¤J×$>Ñ$>Ó?ˆØ�‰™ ›×0Ñ0°Ó4Ö5r2   )r-   r%   r&   r   N)r[   Ú
__module__r\   Ú__firstlineno__r0   r8   r<   rC   rL   rR   r^   rb   rg   rk   ro   rt   r‰   r�   r¢   r°   r³   r¹   rÃ   rÍ   Ú__static_attributes__r   r2   r   r"   r"   #   sn   † ò
ò*
ò@ò%òLò")òGò

ò
ò
òDò=ò
AòAò
ò"@ò&5ò
ò,Iö,6r2   r"   c                  óN  € ] tR tRtR tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R  t"R! t#R" t$R# t%R$ t&R% t'R& t(R' t)R( t*R) t+R* t,R+ t-R, t.R- t/R. t0R/ t1R0 t2R1 t3R2 t4R3 t5R4 t6R5 t7R6t8R7# )8ÚTestValidationErrorMessagesi2  c                	óF  € VP                  R \        P                  4      pVP                  V4       V! V.VO5/ VB p\	        VP                  V4      4      pV P                  VRV: 2R7       V P                  \        V4      ^RV: 2R7       V^ ,          P                  # )ÚclszNo errors were raised for )Úmsgz"Expected exactly one error, found )
rZ   r   Ú_LATEST_VERSIONrª   r@   rA   r    r(   rI   r   )r/   r   r   ÚargsÚkwargsrÕ   r   r   s   &&&*,   r   Úmessage_forÚ'TestValidationErrorMessages.message_for3  s    € Ø�j‰j˜¤
× :Ñ :Ó;ˆØ×Ñ˜Ô Ù˜Ð0 Ò0¨Ñ0ˆ	Ü�i×+Ñ+¨HÓ5Ó6ˆØ�‰˜Ð&@ÀÁÐ$MˆÔNØ×ÑÜ�‹KØØ4°V±JÐ?ð 	ô 	
ð
 �a�y× Ñ Ð r2   c                	óT   € V P                  ^RR/R7      pV P                  VR4       R# ©é   r’   rž   ©r   r   ú1 is not of type 'string'N©rÚ   r(   ©r/   r   s   & r   Útest_single_type_failureÚ4TestValidationErrorMessages.test_single_type_failure@  s-   € Ø×"Ñ"¨A°v¸xÐ6HÐ"ÓIˆØ×Ñ˜Ð"=Ö>r2   c                	óV   € V P                  ^RR./R7      pV P                  VR4       R# rÝ   rá   râ   s   & r   Útest_single_type_list_failureÚ9TestValidationErrorMessages.test_single_type_list_failureD  s/   € Ø×"Ñ"¨A°vÀ¸zÐ6JÐ"ÓKˆØ×Ñ˜Ð"=Ö>r2   c                	ój   € RpV P                  ^R\        V4      /R7      pV P                  VR4       R# )rž   r’   rß   z#1 is not of type 'string', 'object'N)rž   r˜   )rÚ   r@   r(   )r/   Útypesr   s   &  r   Útest_multiple_type_failureÚ6TestValidationErrorMessages.test_multiple_type_failureH  s6   € Ø"ˆØ×"Ñ"¨A°v¼tÀE»{Ð6KÐ"ÓLˆØ×Ñ˜Ð"GÖHr2   c                	ó€   € R RRR^/./pV P                  ^V\        P                  R7      pV P                  VR4       R# )r’   ÚnameÚFooÚminimum©r   r   rÕ   z1 is not of type 'Foo'N©rÚ   r   ÚDraft3Validatorr(   ©r/   r   r   s   &  r   Ú#test_object_with_named_type_failureÚ?TestValidationErrorMessages.test_object_with_named_type_failureM  sO   € Ø˜F E¨9°aÐ8Ð9Ð:ˆØ×"Ñ"ØØÜ×*Ñ*ð #ó 
ˆð
 	×Ñ˜Ð":Ö;r2   c                	óT   € V P                  ^R^/R7      pV P                  VR4       R# )rÞ   rï   rß   z1 is less than the minimum of 2Nrá   râ   s   & r   Útest_minimumÚ(TestValidationErrorMessages.test_minimumV  s,   € Ø×"Ñ"¨A°yÀ!°nÐ"ÓEˆØ×Ñ˜Ð"CÖDr2   c                	óT   € V P                  ^R^ /R7      pV P                  VR4       R# )rÞ   rÉ   rß   z"1 is greater than the maximum of 0Nrá   râ   s   & r   Útest_maximumÚ(TestValidationErrorMessages.test_maximumZ  s,   € Ø×"Ñ"¨A°yÀ!°nÐ"ÓEˆØ×Ñ˜Ð"FÖGr2   c                	ó‚   € R Rr!RW//pV P                  R ^/V\        P                  R7      pV P                  VR4       R# ©r¨   rŸ   Údependenciesrð   z'foo' is a dependency of 'bar'Nrñ   ©r/   ÚdependÚonr   r   s   &    r   Ú test_dependencies_single_elementÚ<TestValidationErrorMessages.test_dependencies_single_element^  sP   € Ø˜E�Ø  6 ,Ð/ˆØ×"Ñ"Ø˜Q�ZØÜ×*Ñ*ð #ó 
ˆð
 	×Ñ˜Ð"BÖCr2   c                	ó‚   € R R^/./pV P                  ^R V./\        P                  R7      pV P                  VR4       R# )r’   rï   rð   z+1 is not of type {'type': [{'minimum': 3}]}Nrñ   )r/   r’   r   s   &  r   Ú-test_object_without_title_type_failure_draft3ÚITestValidationErrorMessages.test_object_without_title_type_failure_draft3h  sT   € Ø˜) Q˜Ð(Ð)ˆØ×"Ñ"ØØ˜T˜FÐ#Ü×*Ñ*ð #ó 
ˆð
 	×ÑØØ9ö	
r2   c                	ó„   € R Rr!RW.//pV P                  R ^/V\        P                  R7      pV P                  VR4       R# rý   rñ   rÿ   s   &    r   Útest_dependencies_list_draft3Ú9TestValidationErrorMessages.test_dependencies_list_draft3t  óR   € Ø˜E�Ø  6¨4 .Ð1ˆØ×"Ñ"Ø˜Q�ZØÜ×*Ñ*ð #ó 
ˆð
 	×Ñ˜Ð"BÖCr2   c                	ó„   € R Rr!RW.//pV P                  R ^/V\        P                  R7      pV P                  VR4       R# rý   ©rÚ   r   ÚDraft7Validatorr(   rÿ   s   &    r   Útest_dependencies_list_draft7Ú9TestValidationErrorMessages.test_dependencies_list_draft7~  r
  r2   c                	óx   € V P                  ^.R. RR/\        P                  R7      pV P                  RV4       R# )é   ÚitemsÚadditionalItemsFrð   z(2 was unexpected)N©rÚ   r   rò   r…   râ   s   & r   Ú#test_additionalItems_single_failureÚ?TestValidationErrorMessages.test_additionalItems_single_failureˆ  sC   € Ø×"Ñ"Ø�SØ˜RÐ!2°EÐ:Ü×*Ñ*ð #ó 
ˆð
 	�‰Ð*¨GÖ4r2   c                	óz   € V P                  . ROR. RR/\        P                  R7      pV P                  RV4       R# )rÞ   r  r  Frð   z(1, 2, 3 were unexpected)N©rÞ   r  é   r  râ   s   & r   Ú&test_additionalItems_multiple_failuresÚBTestValidationErrorMessages.test_additionalItems_multiple_failures�  sA   € Ø×"Ñ"ÚØ˜RÐ!2°EÐ:Ü×*Ñ*ð #ó 
ˆð
 	�‰Ð1°7Ö;r2   c                	ó`   € R pRR/pV P                  V^/VR7      pV P                  RV4       R# )rŸ   ÚadditionalPropertiesFrß   z('foo' was unexpected)N©rÚ   r…   )r/   Ú
additionalr   r   s   &   r   Ú(test_additionalProperties_single_failureÚDTestValidationErrorMessages.test_additionalProperties_single_failure˜  s9   € Øˆ
Ø(¨%Ð0ˆØ×"Ñ"¨Z¸¨OÀFÐ"ÓKˆØ�‰Ð.°Ö8r2   c                	óî   € R R/pV P                  \        P                  RR.4      VR7      pV P                  \	        R4      V4       V P                  \	        R4      V4       V P                  RV4       R# )r  FrŸ   r¨   rß   zwere unexpected)N)rÚ   r*   Úfromkeysr…   ra   ró   s   &  r   Ú+test_additionalProperties_multiple_failuresÚGTestValidationErrorMessages.test_additionalProperties_multiple_failuresž  si   € Ø(¨%Ð0ˆØ×"Ñ"Ü—]‘] E¨5 >Ó2Øð #ó 
ˆð
 	�‰”d˜5“k 7Ô+Ø�‰”d˜5“k 7Ô+Ø�‰Ð(¨'Ö2r2   c                	ó\   € R ^/pV P                  RR/VR7      pV P                  RV4       R# )r§   rŸ   r¨   rß   z12 was expectedNr  ró   s   &  r   Ú
test_constÚ&TestValidationErrorMessages.test_const©  s;   € Ø˜2�ˆØ×"Ñ"Ø˜U�^Øð #ó 
ˆð 	�‰Ð'¨Ö1r2   c                	ó€   € R R^//pV P                  ^/ . .V\        P                  R7      pV P                  VR4       R# )Úcontainsr§   rð   z4None of [2, {}, []] are valid under the given schemaN)rÚ   r   ÚDraft6Validatorr(   ró   s   &  r   Útest_contains_draft_6Ú1TestValidationErrorMessages.test_contains_draft_6±  sP   € Ø˜w¨˜mÐ,ˆØ×"Ñ"Ø˜˜R�[ØÜ×*Ñ*ð #ó 
ˆð
 	×ÑØØBö	
r2   c                	ó  € \        RR 7      pVP                  R4      ! R 4       RR/pV P                  RVVR7      pV P                  \	        R4      V4       V P                  \	        R4      V4       V P                  RV4       R# )	)ÚformatsÚthingc                ó   € R # )Fr   )Úvalues   &r   r   ÚQTestValidationErrorMessages.test_invalid_format_default_message.<locals>.<lambda>¿  s   € ©er2   ÚformatÚbla)r   r   Úformat_checkerzis not aNr   )r   ÚchecksrÚ   r…   ra   )r/   Úcheckerr   r   s   &   r   Ú#test_invalid_format_default_messageÚ?TestValidationErrorMessages.test_invalid_format_default_message½  sz   € Ü¨Ô+ˆØ�‰�wÔÑ 3Ô4à˜GÐ$ˆØ×"Ñ"ØØØ"ð #ó 
ˆð 	�‰”d˜5“k 7Ô+Ø�‰”d˜7“m WÔ-Ø�‰�j 'Ö*r2   c                	óÆ  € R RRRRRR R/RR R///pV P                  R^{/V\        P                  R	7      pV P                  VR
P	                  \        R4      \        R4      \        R4      4      4       V P                  R^{RR/V\        P                  R	7      pV P                  VRP	                  \        R4      \        R4      \        R4      \        R4      4      4       R# )r’   r˜   r  FÚpatternPropertiesz^abc$rž   z^def$Úzebrarð   z,{} does not match any of the regexes: {}, {}ÚfishiÈ  z.{}, {} do not match any of the regexes: {}, {}N)rÚ   r   rÊ   r(   r4  ra   ró   s   &  r   Ú1test_additionalProperties_false_patternPropertiesÚMTestValidationErrorMessages.test_additionalProperties_false_patternPropertiesÌ  sö   € Ø˜(Ø(¨%Ø%Ø ¨Ð1Ø ¨Ð1ð(ðˆð ×"Ñ"Ø˜s�^ØÜ×*Ñ*ð #ó 
ˆð
 	×ÑØØ:×AÑAÜ�W“œt G›}¬d°7«móô	
ð ×"Ñ"Ø˜s F¨CÐ0ØÜ×*Ñ*ð #ó 
ˆð
 	×ÑØØ<×CÑCÜ�V“œd 7›m¬T°'«]¼DÀ»Móö	
r2   c                	óP   € V P                  R RR7      pV P                  VR4       R# )rU   Frß   z'False schema does not allow 'something'Nrá   râ   s   & r   Útest_False_schemaÚ-TestValidationErrorMessages.test_False_schemaê  s0   € Ø×"Ñ"Ø Øð #ó 
ˆð 	×Ñ˜Ð"KÖLr2   c                	óT   € V P                  ^R^/R7      pV P                  VR4       R# )r  Ú
multipleOfrß   z3 is not a multiple of 2Nrá   râ   s   & r   Útest_multipleOfÚ+TestValidationErrorMessages.test_multipleOfñ  s5   € Ø×"Ñ"ØØ  !Ð$ð #ó 
ˆð 	×Ñ˜Ð"<Ö=r2   c                	óT   € V P                  . R ^/R7      pV P                  VR4       R# )ÚminItemsrß   z[] is too shortNrá   râ   s   & r   Útest_minItemsÚ)TestValidationErrorMessages.test_minItemsø  s,   € Ø×"Ñ"¨B¸
ÀA°Ð"ÓGˆØ×Ñ˜Ð"3Ö4r2   c                	óX   € V P                  . ROR^/R7      pV P                  VR4       R# )rÞ   ÚmaxItemsrß   z[1, 2, 3] is too longNr  rá   râ   s   & r   Útest_maxItemsÚ)TestValidationErrorMessages.test_maxItemsü  s,   € Ø×"Ñ"ªI¸zÈ1¸oÐ"ÓNˆØ×Ñ˜Ð"9Ö:r2   c                	ó`   € V P                  . RORRR/ / ./R7      pV P                  VR4       R# )rÞ   r  FÚprefixItemsrß   z1Expected at most 2 items but found 1 extra: 'foo'N)rÞ   r  rŸ   rá   râ   s   & r   Útest_prefixItems_with_itemsÚ7TestValidationErrorMessages.test_prefixItems_with_items   s@   € Ø×"Ñ"Ú"Ø˜U M°B¸°8Ð<ð #ó 
ˆð 	×ÑØØ?ö	
r2   c                	ó`   € V P                  . RORRR/ / ./R7      pV P                  VR4       R# )rÞ   r  FrQ  rß   z6Expected at most 2 items but found 2 extra: ['foo', 5]N©rÞ   r  rŸ   é   rá   râ   s   & r   Ú*test_prefixItems_with_multiple_extra_itemsÚFTestValidationErrorMessages.test_prefixItems_with_multiple_extra_items
  s@   € Ø×"Ñ"Ú%Ø˜U M°B¸°8Ð<ð #ó 
ˆð 	×ÑØØDö	
r2   c                	óT   € V P                  R R^/R7      pV P                  VR4       R# )rz   Ú	minLengthrß   z'' is too shortNrá   râ   s   & r   Útest_minLengthÚ*TestValidationErrorMessages.test_minLength  s5   € Ø×"Ñ"ØØ Ð#ð #ó 
ˆð 	×Ñ˜Ð"3Ö4r2   c                	óT   € V P                  R R^/R7      pV P                  VR4       R# )ÚabcÚ	maxLengthrß   z'abc' is too longNrá   râ   s   & r   Útest_maxLengthÚ*TestValidationErrorMessages.test_maxLength  s5   € Ø×"Ñ"ØØ Ð#ð #ó 
ˆð 	×Ñ˜Ð"5Ö6r2   c                	óT   € V P                  R RR/R7      pV P                  VR4       R# )ÚbbbÚpatternz^a*$rß   z'bbb' does not match '^a*$'Nrá   râ   s   & r   Útest_patternÚ(TestValidationErrorMessages.test_pattern"  s5   € Ø×"Ñ"ØØ˜vÐ&ð #ó 
ˆð 	×Ñ˜Ð"?Ö@r2   c                	óX   € V P                  . R RR//R7      pV P                  VR4       R# )r*  r’   rž   rß   z3[] does not contain items matching the given schemaNrá   râ   s   & r   Útest_does_not_containÚ1TestValidationErrorMessages.test_does_not_contain)  s=   € Ø×"Ñ"ØØ ¨Ð 2Ð3ð #ó 
ˆð 	×ÑØØAö	
r2   c                	ó`   € V P                  R ^.RRR/R^/R7      pV P                  VR4       R# )rŸ   r*  r’   rž   ÚminContainsrß   úMToo few items match the given schema (expected at least 2 but only 1 matched)Nrá   râ   s   & r   Útest_contains_too_fewÚ1TestValidationErrorMessages.test_contains_too_few3  sG   € Ø×"Ñ"Ø˜Q�ZØ ¨Ð 2°MÀ1ÐEð #ó 
ˆð 	×ÑØð7ö	
r2   c           	     	ód   € V P                  R ^.RRR/R^R^/R7      pV P                  VR4       R# )	rŸ   r*  r’   rž   rk  ÚmaxContainsrß   rl  Nrá   râ   s   & r   Ú&test_contains_too_few_both_constrainedÚBTestValidationErrorMessages.test_contains_too_few_both_constrained>  sO   € Ø×"Ñ"Ø˜Q�Zà˜V XÐ.Ø˜qØ˜qðð #ó 
ˆð 	×ÑØðö	
r2   c                	ó`   € V P                  . RORRR/R^/R7      pV P                  VR4       R# )	rŸ   r*  r’   rž   rp  rß   ú:Too many items match the given schema (expected at most 2)N©rŸ   r¨   Úbazrá   râ   s   & r   Útest_contains_too_manyÚ2TestValidationErrorMessages.test_contains_too_manyM  sA   € Ø×"Ñ"Ú*Ø ¨Ð 2°MÀ1ÐEð #ó 
ˆð 	×ÑØØHö	
r2   c           	     	óp   € V P                  R .^,          RRR/R^R^/R7      pV P                  VR4       R# )	rŸ   r*  r’   rž   rk  rp  rß   z:Too many items match the given schema (expected at most 4)Nrá   râ   s   & r   Ú'test_contains_too_many_both_constrainedÚCTestValidationErrorMessages.test_contains_too_many_both_constrainedW  sO   € Ø×"Ñ"Ø�W˜q•[à˜V XÐ.Ø˜qØ˜qðð #ó 
ˆð 	×ÑØØHö	
r2   c                	óT   € V P                  ^R^/R7      pV P                  VR4       R# )r  ÚexclusiveMinimumrß   z+3 is less than or equal to the minimum of 5Nrá   râ   s   & r   Útest_exclusiveMinimumÚ1TestValidationErrorMessages.test_exclusiveMinimume  s8   € Ø×"Ñ"ØØ&¨Ð*ð #ó 
ˆð 	×ÑØØ9ö	
r2   c                	óT   € V P                  ^R^/R7      pV P                  VR4       R# )r  ÚexclusiveMaximumrß   z.3 is greater than or equal to the maximum of 2Nrá   râ   s   & r   Útest_exclusiveMaximumÚ1TestValidationErrorMessages.test_exclusiveMaximumo  s1   € Ø×"Ñ"¨AÐ7IÈ1Ð6MÐ"ÓNˆØ×ÑØØ<ö	
r2   c                	óV   € V P                  / R R./R7      pV P                  VR4       R# )ÚrequiredrŸ   rß   z'foo' is a required propertyNrá   râ   s   & r   Útest_requiredÚ)TestValidationErrorMessages.test_requiredv  s/   € Ø×"Ñ"¨B¸
ÀUÀGÐ7LÐ"ÓMˆØ×Ñ˜Ð"@ÖAr2   c                	ó^   € V P                  R / /RR R.//R7      pV P                  VR4       R# )rŸ   ÚdependentRequiredr¨   rß   z'bar' is a dependency of 'foo'Nrá   râ   s   & r   Útest_dependentRequiredÚ2TestValidationErrorMessages.test_dependentRequiredz  s@   € Ø×"Ñ"Ø˜R�[Ø'¨%°%°Ð)9Ð:ð #ó 
ˆð 	×Ñ˜Ð"BÖCr2   c                	óT   € V P                  / R ^/R7      pV P                  VR4       R# )ÚminPropertiesrß   z"{} does not have enough propertiesNrá   râ   s   & r   Útest_minPropertiesÚ.TestValidationErrorMessages.test_minProperties�  s-   € Ø×"Ñ"¨B¸ÈÐ7KÐ"ÓLˆØ×Ñ˜Ð"FÖGr2   c                	ó`   € V P                  R / R/ R/ /R^/R7      pV P                  VR4       R# )re   ÚbÚcÚmaxPropertiesrß   z3{'a': {}, 'b': {}, 'c': {}} has too many propertiesNrá   râ   s   & r   Útest_maxPropertiesÚ.TestValidationErrorMessages.test_maxProperties…  sE   € Ø×"Ñ"Ø˜2˜s B¨¨RÐ0Ø# QÐ'ð #ó 
ˆð 	×ÑØØAö	
r2   c                	óV   € V P                  / R R./R7      pV P                  VR4       R# )ÚoneOfFrß   z.{} is not valid under any of the given schemasNrá   râ   s   & r   Útest_oneOf_matches_noneÚ3TestValidationErrorMessages.test_oneOf_matches_none�  s2   € Ø×"Ñ"¨B¸À%ÀÐ7IÐ"ÓJˆØ×ÑØØ<ö	
r2   c                	óX   € V P                  / R RR./R7      pV P                  VR4       R# )r—  Trß   z${} is valid under each of True, TrueNrá   râ   s   & r   Útest_oneOf_matches_too_manyÚ7TestValidationErrorMessages.test_oneOf_matches_too_many–  s1   € Ø×"Ñ"¨B¸À$ÈÀÐ7NÐ"ÓOˆØ×Ñ˜Ð"HÖIr2   c                	ó`   € R RRR/pV P                  RR.VR7      pV P                  VR4       R# )	r’   r—   ÚunevaluatedItemsFrŸ   r¨   rß   z@Unevaluated items are not allowed ('foo', 'bar' were unexpected)Nr  ró   s   &  r   Útest_unevaluated_itemsÚ2TestValidationErrorMessages.test_unevaluated_itemsš  s<   € Ø˜'Ð#5°uÐ=ˆØ×"Ñ"¨U°E¨NÀ6Ð"ÓJˆØ�‰ØØNö	
r2   c                	ó\   € R RRR/pV P                  RVR7      pV P                  VR4       R# )r’   r—   rž  FrŸ   rß   z'foo' is not of type 'array'Nrá   ró   s   &  r   Ú&test_unevaluated_items_on_invalid_typeÚBTestValidationErrorMessages.test_unevaluated_items_on_invalid_type¢  s7   € Ø˜'Ð#5°uÐ=ˆØ×"Ñ"¨E¸&Ð"ÓAˆØ×Ñ˜Ð"@ÖAr2   c                	ót   € R RRR//RR^//pV P                  RRRRR^/VR7      pV P                  VR	4       R
# )Ú
propertiesrŸ   r’   rž   ÚunevaluatedPropertiesr§   r¨   rv  rß   z_Unevaluated properties are not valid under the given schema ('bar' was unevaluated and invalid)Nrá   ró   s   &  r   Ú5test_unevaluated_properties_invalid_against_subschemaÚQTestValidationErrorMessages.test_unevaluated_properties_invalid_against_subschema§  si   € à˜5 6¨8Ð"4Ð5Ø# g¨r ]ð
ˆð ×"Ñ"à�uØ�uØ�rðð
 ð #ó 
ˆð 	×ÑØð2ö	
r2   c                	ód   € R RRR/pV P                  RRRR/VR7      pV P                  VR4       R# )	r’   r˜   r¦  FrŸ   r¨   rß   zEUnevaluated properties are not allowed ('bar', 'foo' were unexpected)Nrá   ró   s   &  r   Ú&test_unevaluated_properties_disallowedÚBTestValidationErrorMessages.test_unevaluated_properties_disallowedº  sR   € Ø˜(Ð$;¸UÐCˆØ×"Ñ"à�uØ�uðð ð #ó 
ˆð 	×ÑØð-ö	
r2   c                	ó\   € R RRR/pV P                  RVR7      pV P                  VR4       R# )r’   r˜   r¦  FrŸ   rß   z'foo' is not of type 'object'Nrá   ró   s   &  r   Ú+test_unevaluated_properties_on_invalid_typeÚGTestValidationErrorMessages.test_unevaluated_properties_on_invalid_typeÉ  s7   € Ø˜(Ð$;¸UÐCˆØ×"Ñ"¨E¸&Ð"ÓAˆØ×Ñ˜Ð"AÖBr2   c                	ób   € R / .RR/pV P                  . ROVR7      pV P                  VR4       R# )rQ  r  Frß   z9Expected at most 1 item but found 2 extra: ['bar', 'baz']Nru  rá   ró   s   &  r   Útest_single_itemÚ,TestValidationErrorMessages.test_single_itemÎ  sC   € Ø "  w°Ð6ˆØ×"Ñ"Ú*Øð #ó 
ˆð 	×ÑØØGö	
r2   c                	ó€   € R / .RR/pV P                  . ROV\        P                  R7      pV P                  VR4       R# )r  r  Frð   z<Additional items are not allowed ('bar', 37 were unexpected)N©rŸ   r¨   é%   r  ró   s   &  r   Ú-test_heterogeneous_additionalItems_with_ItemsÚITestValidationErrorMessages.test_heterogeneous_additionalItems_with_ItemsÙ  sM   € Ø˜B˜4Ð!2°EÐ:ˆØ×"Ñ"Ú'ØÜ×*Ñ*ð #ó 
ˆð
 	×ÑØØJö	
r2   c                	ób   € R / .RR/pV P                  . ROVR7      pV P                  VR4       R# )rQ  r  Frß   z6Expected at most 1 item but found 2 extra: ['bar', 37]Nr³  rá   ró   s   &  r   Ú$test_heterogeneous_items_prefixItemsÚ@TestValidationErrorMessages.test_heterogeneous_items_prefixItemså  sC   € Ø "  w°Ð6ˆØ×"Ñ"Ú'Øð #ó 
ˆð 	×ÑØØDö	
r2   c                	ób   € R / .RR/pV P                  . ROVR7      pV P                  VR4       R# )rQ  rž  Frß   z=Unevaluated items are not allowed ('bar', 37 were unexpected)Nr³  rá   ró   s   &  r   Ú/test_heterogeneous_unevaluatedItems_prefixItemsÚKTestValidationErrorMessages.test_heterogeneous_unevaluatedItems_prefixItemsð  sD   € Ø " Ð'9¸5ÐAˆØ×"Ñ"Ú'Øð #ó 
ˆð 	×ÑØØKö	
r2   c                ól   € RR/ /RR/pV P                  R/ RR^%^/VR7      pV P                  VR4       R	# )
ú;
Not valid deserialized JSON, but this should not blow up.
r¥  rŸ   r  Fre   rv  rß   z?Additional properties are not allowed (37, 'a' were unexpected)Nrá   ró   s   &  r   Ú2test_heterogeneous_properties_additionalPropertiesÚNTestValidationErrorMessages.test_heterogeneous_properties_additionalPropertiesû  sU   € ð  ¨ Ð-CÀUÐKˆØ×"Ñ"Ø˜R  e¨R°Ð4Øð #ó 
ˆð 	×ÑØØMö	
r2   c                ól   € RR/ /RR/pV P                  R/ RR^%^/VR7      pV P                  VR4       R	# )
r¾  r¥  rŸ   r¦  Fre   rv  rß   z@Unevaluated properties are not allowed (37, 'a' were unexpected)Nrá   ró   s   &  r   Ú3test_heterogeneous_properties_unevaluatedPropertiesÚOTestValidationErrorMessages.test_heterogeneous_properties_unevaluatedProperties	  sU   € ð  ¨ Ð-DÀeÐLˆØ×"Ñ"Ø˜R  e¨R°Ð4Øð #ó 
ˆð 	×ÑØØNö	
r2   r   N)9r[   rÏ   r\   rÐ   rÚ   rã   ræ   rê   rô   r÷   rú   r  r  r  r  r  r  r   r$  r'  r,  r9  r?  rB  rF  rJ  rN  rR  rW  r[  r`  re  rh  rm  rq  rw  rz  r~  r‚  r†  rŠ  rŽ  r”  r˜  r›  rŸ  r¢  r§  rª  r­  r°  rµ  r¸  r»  r¿  rÂ  rÑ   r   r2   r   rÓ   rÓ   2  s  † ò!ò?ò?òIò
<òEòHòDò

òDòDò5ò<ò9ò	3ò2ò

ò+ò
ò<Mò>ò5ò;ò
ò
ò5ò7òAò
ò	
ò
ò
ò
ò
ò
òBòDòHò
ò
òJò
òBò

ò&
òCò
	
ò

ò	
ò	
ò
ö
r2   rÓ   c                  óŽ   € ] tR tRtR tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tRtR# )ÚTestValidationErrorDetailsi  c                	ó˜  € ^pRR^/RR/./p\         P                  ! V4      p\        VP                  V4      4      pV P	                  \        V4      ^4       V^ ,          pV P	                  VP                  R4       V P	                  VP                  VR,          4       V P	                  VP                  V4       V P	                  VP                  V4       V P                  VP                  4       V P	                  VP                  \        . 4      4       V P	                  VP                  \        . 4      4       V P	                  VP                  \        . 4      4       V P	                  VP                   R4       V P	                  VP"                  \        R.4      4       V P	                  VP$                  \        R.4      4       V P	                  VP&                  \        R.4      4       V P	                  \        VP(                  4      ^4       \+        VP(                  4      w  rgV P	                  VP                  R4       V P	                  VP                  VR,          ^ ,          R,          4       V P	                  VP                  V4       V P	                  VP                  VR,          ^ ,          4       V P-                  VP                  V4       V P	                  VP                  \        . 4      4       V P	                  VP                  \        . 4      4       V P	                  VP                  \        . 4      4       V P	                  VP                   R4       V P	                  VP"                  \        ^ R.4      4       V P	                  VP$                  \        ^ R.4      4       V P	                  VP&                  \        . RO4      4       V P/                  VP(                  4       V P	                  VP                  R4       V P	                  VP                  VR,          ^,          R,          4       V P	                  VP                  V4       V P	                  VP                  VR,          ^,          4       V P-                  VP                  V4       V P	                  VP                  \        . 4      4       V P	                  VP                  \        . 4      4       V P	                  VP                  \        . 4      4       V P	                  VP                   R4       V P	                  VP"                  \        ^R.4      4       V P	                  VP$                  \        ^R.4      4       V P	                  VP&                  \        . RO4      4       V P	                  \        VP(                  4      ^ 4       R# )	rV  ÚanyOfrï   r’   rž   Ú$N)rÇ  r   rï   )rÇ  rÞ   r’   )r   rÊ   r@   rA   r(   rI   r   rG   r   r   ÚassertIsNoneÚparentÚpathr   Úrelative_pathÚabsolute_pathÚ	json_pathrH   Úrelative_schema_pathÚabsolute_schema_pathÚcontextÚsorted_errorsÚassertIsÚassertFalse©r/   r   r   r   r   ÚeÚe1Úe2s   &       r   Ú
test_anyOfÚ%TestValidationErrorDetails.test_anyOf  s?  € ØˆàØ˜B�Ø˜Ð"ðð
ˆô ×.Ò.¨vÓ6ˆ	Ü�i×+Ñ+¨HÓ5Ó6ˆØ×Ñœ˜V› aÔ(Ø�1�Iˆà×Ñ˜Ÿ™ gÔ.Ø×Ñ˜×*Ñ*¨F°7­OÔ<Ø×Ñ˜Ÿ™ XÔ.Ø×Ñ˜Ÿ™ 6Ô*Ø×Ñ˜!Ÿ(™(Ô#à×Ñ˜Ÿ™¤ r£Ô+Ø×Ñ˜Ÿ™¬%°«)Ô4Ø×Ñ˜Ÿ™¬%°«)Ô4Ø×Ñ˜Ÿ™ cÔ*à×Ñ˜Ÿ™¬¨w¨iÓ(8Ô9Ø×Ñ˜×/Ñ/´¸°yÓ1AÔBØ×Ñ˜×/Ñ/´¸°yÓ1AÔBà×Ñœ˜QŸY™Y›¨Ô+ä˜qŸy™yÓ)‰ˆà×Ñ˜Ÿ™ yÔ1Ø×Ñ˜×+Ñ+¨V°G­_¸QÕ-?À	Õ-JÔKØ×Ñ˜Ÿ™ hÔ/Ø×Ñ˜Ÿ™ F¨7¥O°AÕ$6Ô7Ø�‰�b—i‘i Ô#à×Ñ˜Ÿ™¤%¨£)Ô,Ø×Ñ˜×)Ñ)¬5°«9Ô5Ø×Ñ˜×)Ñ)¬5°«9Ô5Ø×Ñ˜Ÿ™ sÔ+à×Ñ˜Ÿ™¬°°9¨~Ó)>Ô?Ø×Ñ˜×0Ñ0´%¸¸I¸Ó2GÔHØ×ÑØ×#Ñ#¤UÒ+BÓ%Cô	
ð 	×Ñ˜Ÿ™Ô$à×Ñ˜Ÿ™ vÔ.Ø×Ñ˜×+Ñ+¨V°G­_¸QÕ-?ÀÕ-GÔHØ×Ñ˜Ÿ™ hÔ/Ø×Ñ˜Ÿ™ F¨7¥O°AÕ$6Ô7Ø�‰�b—i‘i Ô#à×Ñ˜Ÿ™¤%¨£)Ô,Ø×Ñ˜×)Ñ)¬5°«9Ô5Ø×Ñ˜×)Ñ)¬5°«9Ô5Ø×Ñ˜Ÿ™ sÔ+à×Ñ˜Ÿ™¬°°6¨{Ó);Ô<Ø×Ñ˜×0Ñ0´%¸¸F¸Ó2DÔEØ×Ñ˜×0Ñ0´%Ò8LÓ2MÔNà×Ñœ˜RŸZ™Z›¨!Ö,r2   c                	ó^  € R ^/pRRR/RRRR R^.///./p\         P                  ! V4      p\        VP                  V4      4      pV P	                  \        V4      ^4       V^ ,          pV P	                  VP                  R4       V P	                  VP                  VR,          4       V P	                  VP                  V4       V P	                  VP                  V4       V P                  VP                  4       V P	                  VP                  \        . 4      4       V P	                  VP                  \        . 4      4       V P	                  VP                  \        . 4      4       V P	                  VP                   R4       V P	                  VP"                  \        R.4      4       V P	                  VP$                  \        R.4      4       V P	                  VP&                  \        R.4      4       V P	                  \        VP(                  4      ^4       \+        VP(                  4      w  rgV P	                  VP                  R4       V P	                  VP                  VR,          ^ ,          R,          4       V P	                  VP                  V4       V P	                  VP                  VR,          ^ ,          4       V P-                  VP                  V4       V P	                  VP                  \        . 4      4       V P	                  VP                  \        . 4      4       V P	                  VP                  \        . 4      4       V P	                  VP                   R4       V P	                  VP"                  \        ^ R.4      4       V P	                  VP$                  \        ^ R.4      4       V P	                  VP&                  \        . R	O4      4       V P/                  VP(                  4       V P	                  VP                  R4       V P	                  VP                  ^.4       V P	                  VP                  ^4       V P	                  VP                  R^./4       V P-                  VP                  V4       V P	                  VP                  \        R .4      4       V P	                  VP                  \        R .4      4       V P	                  VP                  \        R .4      4       V P	                  VP                   R4       V P	                  VP"                  \        . R
O4      4       V P	                  VP$                  \        . R
O4      4       V P	                  VP&                  \        . RO4      4       V P/                  VP(                  4       R# )rŸ   r’   rš   r˜   r¥  ÚenumrÈ  ú$.fooN)r’   r   r’   )rÞ   r¥  rŸ   rÜ  )r’   rÞ   r¥  rŸ   rÜ  )r   rò   r@   rA   r(   rI   r   rG   r   r   rÉ  rÊ  rË  r   rÌ  rÍ  rÎ  rH   rÏ  rÐ  rÑ  rÒ  rÓ  rÔ  rÕ  s   &       r   Ú	test_typeÚ$TestValidationErrorDetails.test_type`  sI  € Ø˜1�:ˆàØ˜Ð#à˜HØ  5¨6°A°3¨-Ð"8ððð
ˆô ×.Ò.¨vÓ6ˆ	Ü�i×+Ñ+¨HÓ5Ó6ˆØ×Ñœ˜V› aÔ(Ø�1�Iˆà×Ñ˜Ÿ™ fÔ-Ø×Ñ˜×*Ñ*¨F°6­NÔ;Ø×Ñ˜Ÿ™ XÔ.Ø×Ñ˜Ÿ™ 6Ô*Ø×Ñ˜!Ÿ(™(Ô#à×Ñ˜Ÿ™¤ r£Ô+Ø×Ñ˜Ÿ™¬%°«)Ô4Ø×Ñ˜Ÿ™¬%°«)Ô4Ø×Ñ˜Ÿ™ cÔ*à×Ñ˜Ÿ™¬¨v¨h«Ô8Ø×Ñ˜×/Ñ/´¸°x³ÔAØ×Ñ˜×/Ñ/´¸°x³ÔAà×Ñœ˜QŸY™Y›¨Ô+ä˜qŸy™yÓ)‰ˆà×Ñ˜Ÿ™ vÔ.Ø×Ñ˜×+Ñ+¨V°F­^¸AÕ->¸vÕ-FÔGØ×Ñ˜Ÿ™ hÔ/Ø×Ñ˜Ÿ™ F¨6¥N°1Õ$5Ô6Ø�‰�b—i‘i Ô#à×Ñ˜Ÿ™¤%¨£)Ô,Ø×Ñ˜×)Ñ)¬5°«9Ô5Ø×Ñ˜×)Ñ)¬5°«9Ô5Ø×Ñ˜Ÿ™ sÔ+à×Ñ˜Ÿ™¬°°6¨{Ó);Ô<Ø×Ñ˜×0Ñ0´%¸¸F¸Ó2DÔEØ×Ñ˜×0Ñ0´%Ò8KÓ2LÔMà×Ñ˜Ÿ™Ô$à×Ñ˜Ÿ™ vÔ.Ø×Ñ˜×+Ñ+¨a¨SÔ1Ø×Ñ˜Ÿ™ aÔ(Ø×Ñ˜Ÿ™ V¨a¨S MÔ2Ø�‰�b—i‘i Ô#à×Ñ˜Ÿ™¤%¨¨£.Ô1Ø×Ñ˜×)Ñ)¬5°%°«>Ô:Ø×Ñ˜×)Ñ)¬5°%°«>Ô:Ø×Ñ˜Ÿ™ wÔ/à×ÑØ�N‰NœEÒ"BÓCô	
ð 	×ÑØ×#Ñ#¤UÒ+KÓ%Lô	
ð 	×ÑØ×#Ñ#ÜÒ:Ó;ô	
ð
 	×Ñ˜Ÿ™Ö$r2   c                	óþ  € R ^R^.R^RR/pRR RR/RR^/RR	^
R
. RO///p\         P                  ! V4      pVP                  V4      p\        V4      w  rVrxV P	                  VP
                  \        R.4      4       V P	                  VP
                  \        R.4      4       V P	                  VP
                  \        R.4      4       V P	                  VP
                  \        R .4      4       V P	                  VP                  \        R.4      4       V P	                  VP                  \        R.4      4       V P	                  VP                  \        R.4      4       V P	                  VP                  \        R .4      4       V P	                  VP                  \        R.4      4       V P	                  VP                  \        R.4      4       V P	                  VP                  \        R.4      4       V P	                  VP                  \        R .4      4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R
4       V P	                  VP                  R	4       V P	                  VP                  R4       R# )rŸ   r¨   rv  ÚquuxÚspamr¥  r’   rž   rI  rÉ   rÜ  ú$.barz$.bazrÝ  N)r  é   é   é   )r   rò   rA   rÒ  r(   rË  r   rÌ  rÍ  rÎ  r   )	r/   r   r   r   r   r×  rØ  Úe3Úe4s	   &        r   Útest_single_nestingÚ.TestValidationErrorDetails.test_single_nesting­  sb  € Ø˜1˜e a S¨%°°V¸VÐDˆàØ˜ Ð)Ø˜
 A�Ø˜	 2 vª|Ð<ðð
ˆô ×.Ò.¨vÓ6ˆ	Ø×&Ñ& xÓ0ˆÜ& vÓ.‰ˆ�à×Ñ˜Ÿ™¤%¨¨£.Ô1Ø×Ñ˜Ÿ™¤%¨¨£.Ô1Ø×Ñ˜Ÿ™¤%¨¨£.Ô1Ø×Ñ˜Ÿ™¤%¨¨£.Ô1à×Ñ˜×)Ñ)¬5°%°«>Ô:Ø×Ñ˜×)Ñ)¬5°%°«>Ô:Ø×Ñ˜×)Ñ)¬5°%°«>Ô:Ø×Ñ˜×)Ñ)¬5°%°«>Ô:à×Ñ˜×)Ñ)¬5°%°«>Ô:Ø×Ñ˜×)Ñ)¬5°%°«>Ô:Ø×Ñ˜×)Ñ)¬5°%°«>Ô:Ø×Ñ˜×)Ñ)¬5°%°«>Ô:à×Ñ˜Ÿ™ wÔ/Ø×Ñ˜Ÿ™ wÔ/Ø×Ñ˜Ÿ™ wÔ/Ø×Ñ˜Ÿ™ wÔ/à×Ñ˜Ÿ™ zÔ2Ø×Ñ˜Ÿ™ vÔ.Ø×Ñ˜Ÿ™ yÔ1Ø×Ñ˜Ÿ™ vÖ.r2   c                	ó
  € ^R^RR^.//R.pRRRRRR.R	RR
^^./RRRR	RRR/RR^//////p\         P                  ! V4      pVP                  V4      p\        V4      w  rVrxršV P	                  VP
                  \        . 4      4       V P	                  VP
                  \        ^ .4      4       V P	                  VP
                  \        ^R.4      4       V P	                  VP
                  \        . RO4      4       V P	                  V	P
                  \        . RO4      4       V P	                  V
P
                  \        ^R.4      4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  V	P                  R4       V P	                  V
P                  R4       V P	                  VP                  \        R.4      4       V P	                  VP                  \        RR.4      4       V P	                  \        VP                  4      . RO4       V P	                  \        VP                  4      . RO4       V P	                  \        V	P                  4      . RO4       V P	                  \        V
P                  4      . RO4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  V	P                  R4       V P	                  V
P                  R
4       R# )rÞ   rŸ   r¨   rv  rá  r’   rž   r  r˜   r¥  rÜ  r—   r…  TrI  rÈ  ú$[0]z$[1].barz$[1].bar.barz$[1].bar.bazz$[1].fooN)rÞ   r¨   r¨   )rÞ   r¨   rv  )r  r¥  r¨   r’   )r  r¥  r¨   r¥  r¨   r…  )r  r¥  r¨   r¥  rv  rI  )r  r¥  rŸ   rÜ  )r   rò   rA   rÒ  r(   rË  r   rÎ  rH   r@   r   )r/   r   r   r   r   r×  rØ  rç  rè  Úe5Úe6s   &          r   Útest_multiple_nestingÚ0TestValidationErrorDetails.test_multiple_nestingÔ  sð  € Ø˜˜q %¨%°!°¨Ð6¸Ð?ˆà�HØØ˜ 8Ð,ØØ˜F Q¨ FÐ+ØØ Ø$Ø! J°Ð#5Ø! J° ?ð'ðð	ðð
ˆô" ×.Ò.¨vÓ6ˆ	Ø×&Ñ& xÓ0ˆÜ!.¨vÓ!6Ñˆ�˜à×Ñ˜Ÿ™¤%¨£)Ô,Ø×Ñ˜Ÿ™¤%¨¨£*Ô-Ø×Ñ˜Ÿ™¤%¨¨E¨
Ó"3Ô4Ø×Ñ˜Ÿ™¤%Ò(9Ó":Ô;Ø×Ñ˜Ÿ™¤%Ò(9Ó":Ô;Ø×Ñ˜Ÿ™¤%¨¨E¨
Ó"3Ô4à×Ñ˜Ÿ™ sÔ+Ø×Ñ˜Ÿ™ vÔ.Ø×Ñ˜Ÿ™ zÔ2Ø×Ñ˜Ÿ™ ~Ô6Ø×Ñ˜Ÿ™ ~Ô6Ø×Ñ˜Ÿ™ zÔ2à×Ñ˜Ÿ™¬°¨x«Ô9Ø×Ñ˜Ÿ™¬°¸Ð/@Ó)AÔBØ×ÑÜ�—‘Ó Ò"Hô	
ð 	×ÑÜ�—‘Ó ÚKô	
ð 	×ÑÜ�—‘Ó ÚKô	
ð 	×ÑÜ�—‘Ó Ò"Hô	
ð 	×Ñ˜Ÿ™ vÔ.Ø×Ñ˜Ÿ™ vÔ.Ø×Ñ˜Ÿ™ vÔ.Ø×Ñ˜Ÿ™ zÔ2Ø×Ñ˜Ÿ™ zÔ2Ø×Ñ˜Ÿ™ vÖ.r2   c                	ó‚  € R RRRRRRR.RRRR	/RRRR
RRR/////.//RRRR.RRRR///pRRRRRRRRRRR//////p\         P                  ! V4      pVP                  V4      w  pV P                  VP                  \        R.4      4       V P                  VP                  \        . RO4      4       V P                  VP                  R4       VP                  w  pV P                  VP                  \        . RO4      4       V P                  VP                  \        . RO4      4       V P                  VP                  R4       VP                  w  pV P                  VP                  \        . RO4      4       V P                  VP                  \        . RO4      4       V P                  VP                  R4       R# )ÚdefinitionsÚnoderÇ  r’   r˜   r…  rí   Úchildrenr¥  rž   r<  ú^.*$rÈ   z#/definitions/nodeÚrootre   Úabz$.rootz$.root.children.az$.root.children.a.children.abN)r¥  rö  rÇ  )rö  rô  re   )	r¥  rö  rÇ  r   r¥  rô  r<  rõ  rÇ  )rö  rô  re   rô  r÷  )r¥  rö  rÇ  r   r¥  rô  r<  rõ  rÇ  r   r¥  rô  r<  rõ  rÇ  )	r   rÊ   rA   r(   rÍ  r   rÐ  rÎ  rÑ  )r/   r   r   r   rÖ  r×  rØ  s   &      r   Útest_recursiveÚ)TestValidationErrorDetails.test_recursive  s	  € àØØØ Ø" V¨ZÐ$8Ø$Ø"Ø &¨ð%ð 'Ø &¨Ø 3Ø$*Ø(.Ð0Dð-&ð6"ð)ð	'ðð ððð* �HØ˜˜Ø˜6 FÐ,@Ð#AÐBð1
ˆð8 Ø˜ØØØ Ø"Ø Ø &¨ð#ð%ðð
ðð
ˆô  ×.Ò.¨vÓ6ˆ	à×"Ñ" 8Ó,‰ˆØ×Ñ˜Ÿ™¬%°°«/Ô:Ø×ÑØ×"Ñ"¤EÒ*IÓ$Jô	
ð 	×Ñ˜Ÿ™ hÔ/à�i‰i‰ˆØ×Ñ˜×)Ñ)¬5Ò1JÓ+KÔLØ×ÑØ×#Ñ#¤Uò
ó&ô	
ð 	×Ñ˜Ÿ™Ð':Ô;à�j‰j‰ˆØ×ÑØ×ÑœeÚ;óô	
ð
 	×ÑØ×#Ñ#¤Uòó&ô	
ð* 	×Ñ˜Ÿ™Ð'FÖGr2   c                	ó  € R R R^/pRRRR^//p\         P                  ! V4      pVP                  V4      p\        V4      w  rVV P	                  VP
                  \        R .4      4       V P	                  VP
                  \        R.4      4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R4       R# )	r¨   rŸ   r  r’   rš   rï   rã  rÝ  N©	r   rò   rA   rÒ  r(   rË  r   rÎ  r   ©r/   r   r   r   r   r×  rØ  s   &      r   Útest_additionalPropertiesÚ4TestValidationErrorDetails.test_additionalPropertiesv  sÓ   € Ø˜5 %¨Ð+ˆØ(¨6°9¸iÈÐ*KÐLˆä×.Ò.¨vÓ6ˆ	Ø×&Ñ& xÓ0ˆÜ˜vÓ&‰ˆà×Ñ˜Ÿ™¤%¨¨£.Ô1Ø×Ñ˜Ÿ™¤%¨¨£.Ô1à×Ñ˜Ÿ™ wÔ/Ø×Ñ˜Ÿ™ wÔ/à×Ñ˜Ÿ™ vÔ.Ø×Ñ˜Ÿ™ yÖ1r2   c                	ó
  € R ^R^/pRR RR/RR^///p\         P                  ! V4      pVP                  V4      p\        V4      w  rVV P	                  VP
                  \        R .4      4       V P	                  VP
                  \        R.4      4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R4       R# )	r¨   rŸ   r<  r’   rž   rï   rã  rÝ  Nrû  rü  s   &      r   Útest_patternPropertiesÚ1TestValidationErrorDetails.test_patternProperties‡  sä   € Ø˜1˜e QÐ'ˆàØ˜ Ð)Ø˜	 1�~ð"ð
ˆô ×.Ò.¨vÓ6ˆ	Ø×&Ñ& xÓ0ˆÜ˜vÓ&‰ˆà×Ñ˜Ÿ™¤%¨¨£.Ô1Ø×Ñ˜Ÿ™¤%¨¨£.Ô1à×Ñ˜Ÿ™ wÔ/Ø×Ñ˜Ÿ™ wÔ/à×Ñ˜Ÿ™ vÔ.Ø×Ñ˜Ÿ™ yÖ1r2   c                	ó  € R ^.pR. RRRR^//p\         P                  ! V4      pVP                  V4      p\        V4      w  rVV P	                  VP
                  \        ^ .4      4       V P	                  VP
                  \        ^.4      4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R4       R# )	rŸ   r  r  r’   rš   rï   rì  ú$[1]Nrû  rü  s   &      r   Útest_additionalItemsÚ/TestValidationErrorDetails.test_additionalItems�  s×   € Ø˜1�:ˆà�RØ ¨	°9¸aÐ@ð
ˆô
 ×.Ò.¨vÓ6ˆ	Ø×&Ñ& xÓ0ˆÜ˜vÓ&‰ˆà×Ñ˜Ÿ™¤%¨¨£*Ô-Ø×Ñ˜Ÿ™¤%¨¨£*Ô-à×Ñ˜Ÿ™ vÔ.Ø×Ñ˜Ÿ™ vÔ.à×Ñ˜Ÿ™ vÔ.Ø×Ñ˜Ÿ™ yÖ1r2   c                	ó  € . R	OpR/ .RRRR^//p\         P                  ! V4      pVP                  V4      p\        V4      w  rVV P	                  VP
                  \        ^.4      4       V P	                  VP
                  \        ^.4      4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R4       V P	                  VP                  R4       R# )
rŸ   r  r  r’   rš   rï   r  z$[2]N)rŸ   r¨   rÞ   rû  rü  s   &      r   Útest_additionalItems_with_itemsÚ:TestValidationErrorDetails.test_additionalItems_with_items±  sÕ   € Ú$ˆà�b�TØ ¨	°9¸aÐ@ð
ˆô
 ×.Ò.¨vÓ6ˆ	Ø×&Ñ& xÓ0ˆÜ˜vÓ&‰ˆà×Ñ˜Ÿ™¤%¨¨£*Ô-Ø×Ñ˜Ÿ™¤%¨¨£*Ô-à×Ñ˜Ÿ™ vÔ.Ø×Ñ˜Ÿ™ vÔ.à×Ñ˜Ÿ™ vÔ.Ø×Ñ˜Ÿ™ yÖ1r2   c                	ó°  € R ^/pRRRR ///p\         P                  ! V4      pVP                  V4      w  pV P                  VP                  R4       V P                  VP
                  R4       V P                  VP                  \        . 4      4       V P                  VP                  R4       V P                  VP                  \        RR.4      4       R# )rŸ   ÚpropertyNamesr¦   r§   z0'foo' should not be valid under {'const': 'foo'}rÈ  N©
r   r  rA   r(   r   r   rË  r   rÎ  rH   )r/   r   r   r   Úerrors   &    r   Útest_propertyNamesÚ-TestValidationErrorDetails.test_propertyNamesÅ  s»   € Ø˜2�;ˆØ! E¨G°UÐ+;Ð#<Ð=ˆä×.Ò.¨vÓ6ˆ	Ø×&Ñ& xÓ0‰ˆà×Ñ˜Ÿ™¨%Ô0Ø×ÑØ�M‰MØ>ô	
ð 	×Ñ˜Ÿ™¤U¨2£YÔ/Ø×Ñ˜Ÿ™¨#Ô.Ø×Ñ˜×*Ñ*¬E°?ÀEÐ2JÓ,KÖLr2   c                	ó¬  € R R^/RR^//p\         P                  ! V4      pVP                  ^4      w  pV P                  VP                  R4       V P                  VP
                  R4       V P                  VP                  \        . 4      4       V P                  VP                  R4       V P                  VP                  \        RR.4      4       R# )Úifr§   Úthenú13 was expectedrÈ  Nr  ©r/   r   r   r  s   &   r   Útest_if_thenÚ'TestValidationErrorDetails.test_if_thenÕ  ó´   € à�7˜B�-Ø�W˜b�Mð
ˆô
 ×.Ò.¨vÓ6ˆ	Ø×&Ñ& rÓ*‰ˆà×Ñ˜Ÿ™¨'Ô2Ø×Ñ˜Ÿ™Ð(9Ô:Ø×Ñ˜Ÿ™¤U¨2£YÔ/Ø×Ñ˜Ÿ™¨#Ô.Ø×Ñ˜×*Ñ*¬E°6¸7Ð2CÓ,DÖEr2   c                	ó¬  € R R^/RR^//p\         P                  ! V4      pVP                  ^4      w  pV P                  VP                  R4       V P                  VP
                  R4       V P                  VP                  \        . 4      4       V P                  VP                  R4       V P                  VP                  \        RR.4      4       R# )r  r§   Úelser  rÈ  Nr  r  s   &   r   Útest_if_elseÚ'TestValidationErrorDetails.test_if_elseä  r  r2   c                	ó6  € \         P                  ! R 4      pVP                  ^4      w  pV P                  VP                  VP
                  VP                  VP                  VP                  VP                  VP                  3RRR^R \        . 4      R34       R# )FzFalse schema does not allow 12NrÈ  )r   r  rA   r(   r   r   rG   r   r   rH   rÎ  r   )r/   r   r  s   &  r   Útest_boolean_schema_FalseÚ4TestValidationErrorDetails.test_boolean_schema_Falseó  sŒ   € Ü×.Ò.¨uÓ5ˆ	Ø×&Ñ& rÓ*‰ˆà×Ñà—‘Ø—‘Ø×%Ñ%Ø—‘Ø—‘Ø×!Ñ!Ø—‘ðð 1ØØØØÜ�b“	Øðö	
r2   c                	ó´  € R RRR//r!\         P                  ! RV/\         P                  ! R/ W/R7      R7      pVP                  RR	/4      w  pV P	                  VP
                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  3R
RRR	\        R.4      RR/\        RR.4      R34       R# )ÚsomeRefr  r’   rš   rÈ   rz   ©Ústore©ÚresolverrŸ   ÚnotAnIntegerz''notAnInteger' is not of type 'integer'rÝ  N)r   r  Ú_RefResolverrA   r(   r   r   rG   r   rÍ  r   rH   rÎ  r   )r/   Úrefr   r   r  s   &    r   Útest_refÚ#TestValidationErrorDetails.test_ref  sÞ   € ØÐ"8¸6À9Ð:MÐ!NˆVÜ×.Ò.Ø�SˆMÜ×,Ò,¨R°¸C¸=ÔIô
ˆ	ð ×&Ñ&¨¨~Ð'>Ó?‰ˆà×Ñà—‘Ø—‘Ø×%Ñ%Ø—‘Ø×#Ñ#Ø—‘Ø×!Ñ!Ø—‘ð	ð :ØØØÜ�u�g“Ø˜Ð#ÜÐ-¨vÐ6Ó7Øð	ö	
r2   c                	ó˜  € R RR// / R^/./p\         P                  ! V4      pVP                  . R	O4      w  r4V P                  VP                  VP
                  VP                  VP                  VP                  VP                  VP                  VP                  3RRR^\        ^ .4      RR/\        . R
O4      R34       V P                  VP                  VP
                  VP                  VP                  VP                  VP                  VP                  VP                  3RR^^\        ^.4      R^/\        . RO4      R34       R# )rQ  r’   rž   rÉ   rà   rì  z"5 is greater than the maximum of 3ú$[3]NrU  )rQ  r   r’   )rQ  r  rÉ   ©r   r©   rA   r(   r   r   rG   r   rÍ  r   rH   rÎ  r   )r/   r   r   Ú
type_errorÚ	min_errors   &    r   Útest_prefixItemsÚ+TestValidationErrorDetails.test_prefixItems+  sY  € Ø 6¨8Ð"4°b¸"¸yÈ!¸nÐ!MÐNˆÜ×3Ò3°FÓ;ˆ	Ø )× 5Ñ 5Ò6FÓ GÑˆ
Ø×Ñà×"Ñ"Ø×$Ñ$Ø×*Ñ*Ø×#Ñ#Ø×(Ñ(Ø×!Ñ!Ø×&Ñ&Ø×$Ñ$ð	ð ,ØØØÜ�q�c“
Ø˜Ð"ÜÒ0Ó1Øð	ô	
ð, 	×Ñà×!Ñ!Ø×#Ñ#Ø×)Ñ)Ø×"Ñ"Ø×'Ñ'Ø× Ñ Ø×%Ñ%Ø×#Ñ#ð	ð 5ØØØÜ�q�c“
Ø˜A�ÜÒ3Ó4Øð	ö	
r2   c                	ó’  € R RR/R/ ./p\         P                  ! V4      pVP                  . R	O4      w  r4V P                  VP                  VP
                  VP                  VP                  VP                  VP                  VP                  VP                  3RRR^\        ^.4      RR/\        R R.4      R34       V P                  VP                  VP
                  VP                  VP                  VP                  VP                  VP                  VP                  3RRR^\        ^.4      RR/\        R R.4      R34       R# )
r  r’   rž   rQ  z2 is not of type 'string'r  z4 is not of type 'string'r*  N)rŸ   r  r¨   rä  rv  r+  ©r/   r   r   r×  rØ  s   &    r   rR  Ú6TestValidationErrorDetails.test_prefixItems_with_items\  sG  € à�f˜hÐ'Ø˜B˜4ð
ˆô ×3Ò3°FÓ;ˆ	Ø×&Ñ&Ò'BÓC‰ˆØ×Ñà—
‘
Ø—‘Ø×"Ñ"Ø—‘Ø× Ñ Ø—	‘	Ø—‘Ø—‘ð	ð ,ØØØÜ�q�c“
Ø˜Ð"Ü�w Ð'Ó(Øð	ô	
ð, 	×Ñà—
‘
Ø—‘Ø×"Ñ"Ø—‘Ø× Ñ Ø—	‘	Ø—‘Ø—‘ð	ð ,ØØØÜ�q�c“
Ø˜Ð"Ü�w Ð'Ó(Øð	ö	
r2   c                ó†  € RRR/R^/p\         P                  ! V4      pVP                  . RO4      w  pV P                  VP                  VP
                  VP                  VP                  VP                  VP                  VP                  VP                  3RR^. RO\        . 4      RRR/R^/\        R.4      R34       R# )	zp
`contains` + `maxContains` produces only one error, even if there are
many more incorrectly matching elements.
r*  r’   rž   rp  rt  rÈ  N)rŸ   r  r¨   rä  rv  rá  r+  r  s   &   r   rw  Ú1TestValidationErrorDetails.test_contains_too_many�  sÄ   € ð
 ˜v xÐ0°-ÀÐCˆÜ×3Ò3°FÓ;ˆ	Ø×&Ñ&Ò'JÓK‰ˆØ×Ñà—‘Ø—‘Ø×%Ñ%Ø—‘Ø×#Ñ#Ø—‘Ø×!Ñ!Ø—‘ð	ð MØØÚ3Ü�b“	Ø˜f hÐ/°ÀÐBÜ�z�lÓ#Øð	ö	
r2   c                	ó†  € R RR/R^/p\         P                  ! V4      pVP                  . RO4      w  pV P                  VP                  VP
                  VP                  VP                  VP                  VP                  VP                  VP                  3RR^. RO\        . 4      R RR/R^/\        R .4      R34       R# )r*  r’   rž   rk  rl  rÈ  N)rŸ   r  rä  r+  r  s   &   r   rm  Ú0TestValidationErrorDetails.test_contains_too_few¯  sÂ   € Ø˜v xÐ0°-ÀÐCˆÜ×3Ò3°FÓ;ˆ	Ø×&Ñ&¢}Ó5‰ˆØ×Ñà—‘Ø—‘Ø×%Ñ%Ø—‘Ø×#Ñ#Ø—‘Ø×!Ñ!Ø—‘ð	ð?ð ØÚÜ�b“	Ø˜f hÐ/°ÀÐBÜ�z�lÓ#Øðö	
r2   c                	óŠ  € R RR/R^/p\         P                  ! V4      pVP                  ^^.4      w  pV P                  VP                  VP
                  VP                  VP                  VP                  VP                  VP                  VP                  3RR RR/^^.\        . 4      R RR/R^/\        R .4      R34       R# )r*  r’   rž   rk  z7[2, 4] does not contain items matching the given schemarÈ  Nr+  r  s   &   r   Útest_contains_noneÚ-TestValidationErrorDetails.test_contains_noneÍ  sÎ   € Ø˜v xÐ0°-ÀÐCˆÜ×3Ò3°FÓ;ˆ	Ø×&Ñ&¨¨1 vÓ.‰ˆØ×Ñà—‘Ø—‘Ø×%Ñ%Ø—‘Ø×#Ñ#Ø—‘Ø×!Ñ!Ø—‘ð	ð JØØ˜Ð"Ø�A�Ü�b“	Ø˜f hÐ/°ÀÐBÜ�z�lÓ#Øð	ö	
r2   c                	ó  € R RRR.//RRRRRR.///p\         P                  ! V4      pVP                  R/ /4      w  r4V P                  VP                  VP
                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  3	R	RR./ \        R.4      RR./\        . RO4      \        . RO4      R
3	4       V P                  VP                  VP
                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  3	RRR./ \        R.4      RRRR./\        . RO4      \        . RO4      R
3	4       R# )rÆ   rŸ   r…  r¨   r¥  ÚaproprÈ   z#/$defs/foorv  z'bar' is a required propertyz$.apropz'baz' is a required propertyN)r¥  r;  r…  )r   r©   rA   r(   r   r   rG   r   rÍ  r   rH   rÏ  rÎ  r   r1  s   &    r   Útest_ref_siblingÚ+TestValidationErrorDetails.test_ref_siblingè  s�  € à�e˜j¨5¨'Ð2Ð3ØØØ˜MØ  ððð
ˆô ×3Ò3°FÓ;ˆ	Ø×&Ñ&¨° }Ó5‰ˆØ×Ñà—
‘
Ø—‘Ø×"Ñ"Ø—‘Ø× Ñ Ø—	‘	Ø—‘Ø×'Ñ'Ø—‘ð
ð /ØØ�ØÜ�w�iÓ Ø˜e˜WÐ%ÜÒ9Ó:ÜÒ9Ó:Øð
ô	
ð0 	×Ñà—
‘
Ø—‘Ø×"Ñ"Ø—‘Ø× Ñ Ø—	‘	Ø—‘Ø×'Ñ'Ø—‘ð
ð /ØØ�ØÜ�w�iÓ Ø˜¨
°U°GÐ<ÜÒ9Ó:ÜÒ9Ó:Øð
ö	
r2   r   N)r[   rÏ   r\   rÐ   rÙ  rÞ  ré  rï  rø  rý  r   r  r  r  r  r  r  r'  r.  rR  rw  rm  r8  r<  rÑ   r   r2   r   rÅ  rÅ    st   † òC-òJK%òZ%/òN;/òzcHòJ2ò"2ò,2ò(2ò(Mò FòFò
ò2
ò>/
òb2
òh
ò>
ò<
ö6<
r2   rÅ  c                  ó:   € ] tR tRtR tR tR tR tR tR t	Rt
R	# )
ÚMetaSchemaTestsMixini'  c                	óÈ   € V P                  \        P                  4      ;_uu_ 4        V P                  P	                  R ^/4       RRR4       R#   + '       g   i     R# ; i)r¥  N©r«   r   r¬   r-   rª   r.   s   &r   Útest_invalid_propertiesÚ,MetaSchemaTestsMixin.test_invalid_properties)  s?   € Ø×Ñœz×5Ñ5×6Õ6Ø�N‰N×'Ñ'¨°rÐ(:Ô;÷ 7×6×6Ò6úó   ¨AÁA!	c                	óÈ   € V P                  \        P                  4      ;_uu_ 4        V P                  P	                  R R/4       RRR4       R#   + '       g   i     R# ; i)rI  Ú1NrA  r.   s   &r   Útest_minItems_invalid_stringÚ1MetaSchemaTestsMixin.test_minItems_invalid_string-  s?   € Ø×Ñœz×5Ñ5×6Õ6à�N‰N×'Ñ'¨°SÐ(9Ô:÷ 7×6×6Ò6úrD  c                ód  € V P                   \        P                  \        P                  09   dP   V P	                  \
        P                  4      ;_uu_ 4        V P                   P                  R. /4       RRR4       R# V P                   P                  R. /4       R#   + '       g   i     R# ; i)z‚
Technically, all the spec says is they SHOULD have elements, not MUST.

(As of Draft 6. Previous drafts do say MUST).

See #529.
rÜ  N©r-   r   rò   rÊ   r«   r   r¬   rª   r.   s   &r   Útest_enum_allows_empty_arraysÚ2MetaSchemaTestsMixin.test_enum_allows_empty_arrays2  s‚   € ð �>‰>Ü×&Ñ&Ü×&Ñ&ð
ô 
ð ×"Ñ"¤:×#9Ñ#9×:Õ:Ø—‘×+Ñ+¨V°R¨LÔ9÷ ;Ñ:ð �N‰N×'Ñ'¨°¨Ö5÷ ;×:Ð:ús   ÁBÂB/	c                ól  € V P                   \        P                  \        P                  09   dR   V P	                  \
        P                  4      ;_uu_ 4        V P                   P                  R^^./4       RRR4       R# V P                   P                  R^^./4       R#   + '       g   i     R# ; i)z~
Technically, all the spec says is they SHOULD be unique, not MUST.

(As of Draft 6. Previous drafts do say MUST).

See #529.
rÜ  NrJ  r.   s   &r   Ú!test_enum_allows_non_unique_itemsÚ6MetaSchemaTestsMixin.test_enum_allows_non_unique_itemsC  sŒ   € ð �>‰>Ü×&Ñ&Ü×&Ñ&ð
ô 
ð ×"Ñ"¤:×#9Ñ#9×:Õ:Ø—‘×+Ñ+¨V°b¸"°XÐ,>Ô?÷ ;Ñ:ð �N‰N×'Ñ'¨°"°b°Ð(:Ö;÷ ;×:Ð:ús   Á B"Â"B3	c                	óÈ   € V P                  \        P                  4      ;_uu_ 4        V P                  P	                  R R/4       RRR4       R#   + '       g   i     R# ; i)rd  ú
*notaregexNrA  r.   s   &r   Útest_schema_with_invalid_regexÚ3MetaSchemaTestsMixin.test_schema_with_invalid_regexT  s?   € Ø×Ñœz×5Ñ5×6Õ6Ø�N‰N×'Ñ'¨°LÐ(AÔB÷ 7×6×6Ò6úrD  c                	óD   € V P                   P                  R R/RR7       R# )rd  rQ  N©r6  )r-   rª   r.   s   &r   Ú>test_schema_with_invalid_regex_with_disabled_format_validationÚSMetaSchemaTestsMixin.test_schema_with_invalid_regex_with_disabled_format_validationX  s$   € Ø�‰×#Ñ#Ø˜Ð%Øð 	$ö 	
r2   r   N)r[   rÏ   r\   rÐ   rB  rG  rK  rN  rR  rV  rÑ   r   r2   r   r?  r?  '  s!   † ò<ò;ò
6ò"<ò"Cö
r2   r?  c                  óˆ   € ] tR tRtR tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tRtR# )ÚValidatorTestMixini_  c                	ód   € V P                  V P                  / 4      \        P                  4       R # r4   )ÚassertIsInstancer-   r   r.   s   &r   Ú)test_it_implements_the_validator_protocolÚ<ValidatorTestMixin.test_it_implements_the_validator_protocol`  s!   € Ø×Ñ˜dŸn™n¨RÓ0´)×2EÑ2EÖFr2   c                	ó€   € V P                   w  rV P                  V P                  V4      P                  V4      4       R # r4   )Úvalidr    r-   rË   ©r/   r   r   s   &  r   Útest_valid_instances_are_validÚ1ValidatorTestMixin.test_valid_instances_are_validc  s.   € ØŸ:™:ÑˆØ�‰˜Ÿ™ vÓ.×7Ñ7¸ÓAÖBr2   c                	ó€   € V P                   w  rV P                  V P                  V4      P                  V4      4       R # r4   )ÚinvalidrÔ  r-   rË   r`  s   &  r   Ú$test_invalid_instances_are_not_validÚ7ValidatorTestMixin.test_invalid_instances_are_not_validg  s0   € ØŸ<™<ÑˆØ×Ñ˜Ÿ™¨Ó/×8Ñ8¸ÓBÖCr2   c                	ó|   € V P                  \        4       \        4       /4      P                  \        4       R 7       R# ))r   N)r-   r˜   r­   r.   s   &r   Ú(test_non_existent_properties_are_ignoredÚ;ValidatorTestMixin.test_non_existent_properties_are_ignoredk  s'   € Ø�‰œ›¤&£(Ð+Ó,×5Ñ5¼v»xÐ5ÖHr2   c                	óD  € R R/\        4       r!V P                  VVR7      pVP                  R R/V P                  P                  R7      pV P                  R R/V P                  P                  VP                  R7      pV P                  WE4       V P                  WC4       R# )r’   rš   rU  rž   )r   r6  )r6  Ú	_resolverN)r   r-   ÚevolveÚFORMAT_CHECKERrk  r(   ÚassertNotEqual)r/   r   r6  rs   r¶   Úexpecteds   &     r   Útest_evolveÚValidatorTestMixin.test_evolven  s¢   € Ø"(¨)Ð!4´m³o�Ø—>‘>ØØ)ð "ó 
ˆð �o‰oØ˜HÐ%ØŸ>™>×8Ñ8ð ó 
ˆð
 —>‘>Ø�XÐØŸ>™>×8Ñ8Ø—m‘mð "ó 
ˆð 	×Ñ˜Ô'Ø×Ñ˜CÖ*r2   c                ó   € V P                  \        4      ;_uu_ 4        \         ! R RV P                  4      4       pRRR4       X! / ^R7      pV P	                  VP
                  . RO4       VP                  RR/R7      pV P	                  VP
                  . RO4       V P	                  VP                  ^4       R#   + '       g   i     Lˆ; i)	aB  
Subclassing validators isn't supported public API, but some users have
done it, because we don't actually error entirely when it's done :/

We need to deprecate doing so first to help as many of these users
ensure they can move to supported APIs, but this test ensures that in
the interim, we haven't broken those users.
c                  ó<   € ] tR tRt]! R R7      t]! ^%R7      tRtR# )Ú:ValidatorTestMixin.test_evolve_with_subclass.<locals>.OhNoi�  c                 	ó
   € . RO# )rÞ   r  r   r   r2   r   r   ÚCValidatorTestMixin.test_evolve_with_subclass.<locals>.OhNo.<lambda>�  s   € «Ir2   )Úfactory©Údefaultr   N)r[   rÏ   r\   rÐ   r   rŸ   Ú_barrÑ   r   r2   r   ÚOhNort  �  s   † áÑ$5Ô6�Ù RÔ(”r2   r{  N)r¨   r’   rš   ©r   r  )ÚassertWarnsÚDeprecationWarningr   r-   r(   rŸ   rl  rz  )r/   r{  r   r¶   s   &   r   Útest_evolve_with_subclassÚ,ValidatorTestMixin.test_evolve_with_subclass‚  s£   € ð ×ÑÔ0×1Õ1Üô)�t—~‘~ó )ó ð)÷ 2ñ ˜ Ô$ˆ	Ø×Ñ˜Ÿ™ª	Ô2à×Ñ v¨yÐ&9ÐÓ:ˆØ×Ñ˜Ÿ™¢)Ô,Ø×Ñ˜Ÿ™ 2Ö&÷ 2×1ús   žB=Â=C	c                	óf   € V P                  V P                  / 4      P                  R R4      4       R# )rŸ   rž   N)r    r-   r“   r.   s   &r   Ú#test_is_type_is_true_for_valid_typeÚ6ValidatorTestMixin.test_is_type_is_true_for_valid_type™  s$   € Ø�‰˜Ÿ™ rÓ*×2Ñ2°5¸(ÓCÖDr2   c                	óf   € V P                  V P                  / 4      P                  R R4      4       R# )rŸ   r—   N©rÔ  r-   r“   r.   s   &r   Ú&test_is_type_is_false_for_invalid_typeÚ9ValidatorTestMixin.test_is_type_is_false_for_invalid_typeœ  s&   € Ø×Ñ˜Ÿ™¨Ó+×3Ñ3°E¸7ÓCÖDr2   c                	óÆ   € V P                  V P                  / 4      P                  R R4      4       V P                  V P                  / 4      P                  R R4      4       R# )Trš   r�   Nr…  r.   s   &r   Ú,test_is_type_evades_bool_inheriting_from_intÚ?ValidatorTestMixin.test_is_type_evades_bool_inheriting_from_intŸ  sJ   € Ø×Ñ˜Ÿ™¨Ó+×3Ñ3°D¸)ÓDÔEØ×Ñ˜Ÿ™¨Ó+×3Ñ3°D¸(ÓCÖDr2   c                	ó–  € R RR//p\         P                  ! V P                  V P                  P                  P	                  RR 4      R7      pV! V4      pVP                  ^R\        ^4      \        ^4      ,          .4       R/ . RR.pT P                  VP                  V4       Uu. uF  qUP                  NK  	  upV4       R# u upi )	r  r’   r�   c                ór   € \        V\        \        \        34      ;'       d    \        V\        4      '       * # r4   )Ú
isinstanceÚintÚfloatr   Úbool©r8  r0  s   &&r   r   ÚGValidatorTestMixin.test_it_can_validate_with_decimals.<locals>.<lambda>©  s1   € ¤zØœC¤¬Ð0ó(÷ (2ð (2ä$ U¬DÓ1Ô1ð(2r2   ©r&   gš™™™™™ñ?rŸ   TN)
r   r·   r-   r7   Úredefiner­   r   r(   rA   r   )r/   r   r-   r   rd  r  s   &     r   Ú"test_it_can_validate_with_decimalsÚ5ValidatorTestMixin.test_it_can_validate_with_decimals£  s»   € Ø˜F HÐ-Ð.ˆÜ×%Ò%Ø�N‰NØŸ™×4Ñ4×=Ñ=Øñ2óô
ˆ	ñ ˜fÓ%ˆ	Ø×Ñ˜A˜s¤G¨A£J´¸³Õ$;Ð<Ô=à˜"˜b $¨Ð-ˆØ×ÑØ)2×)>Ñ)>¸wÔ)GÓHÑ)G �^Œ^Ñ)GÑHØö	
ùÚHs   Â(Cc                	ób   € V P                  R R/\        4       R7      pVP                  R4       R# )r4  ÚcarrotrU  ÚbugsN)r-   r   r­   ©r/   r   s   & r   Ú7test_it_returns_true_for_formats_it_does_not_know_aboutÚJValidatorTestMixin.test_it_returns_true_for_formats_it_does_not_know_about¸  s1   € Ø—N‘NØ�xÐ ´³ð #ó 
ˆ	ð 	×Ñ˜6Ö"r2   c                	ó^   € V P                  / 4      pV P                  VP                  4       R # r4   )r-   rÉ  r6  rš  s   & r   Ú,test_it_does_not_validate_formats_by_defaultÚ?ValidatorTestMixin.test_it_does_not_validate_formats_by_default¾  s$   € Ø—N‘N 2Ó&ˆ	Ø×Ñ˜)×2Ñ2Ö3r2   c                	ó¶  a a€ \        4       p\        R 4      oVP                  R\        R7      VV 3R l4       pS P                  RR/VR7      pVP	                  R4       S P                  \        P                  4      ;_uu_ 4       pVP	                  R4       RRR4       S P                  XP                  P                  S4       R#   + '       g   i     L8; i)	zBad!rŸ   )Úraisesc                óV   <€ V R 8X  d   R# V R8X  d   ShSP                  RV  R24       R# )ÚgoodTÚbadzWhat is z? [Baby Don't Hurt Me]N)r    )r2  r¤  r/   s   &€€r   ÚcheckÚTValidatorTestMixin.test_it_validates_formats_if_a_checker_is_provided.<locals>.checkÆ  s/   ø€ à˜ŒÙØ˜%”Ø�	à—	‘	˜H U GÐ+AÐBÖCr2   r4  rU  r£  r¤  N)r   Ú
ValueErrorr7  r-   r­   r«   r   r   rÓ  Ú	exceptionÚcause)r/   r8  r¥  r   Úcmr¤  s   f    @r   Ú2test_it_validates_formats_if_a_checker_is_providedÚEValidatorTestMixin.test_it_validates_formats_if_a_checker_is_providedÂ  s³   ù€ Ü“/ˆÜ˜Ó ˆà	�‰˜¤jˆÓ	1õ	Dó 
2ð	Dð —N‘NØ�uÐ¨gð #ó 
ˆ	ð 	×Ñ˜6Ô"Ø×Ñœz×9Ñ9×:Ô:¸bØ×Ñ˜uÔ%÷ ;ð 	�‰�b—l‘l×(Ñ(¨#Ö.÷	 ;×:ús   ÂCÃC	c                	óà   € \        4       pR V./p\        P                  ! V P                  V P                  P                  P                  VR 4      R7      pV! V4      P                  ^4       R# )r’   c                ó"   € \        V\        4      # r4   ©r�  rŽ  r‘  s   &&r   r   Ú@ValidatorTestMixin.test_non_string_custom_type.<locals>.<lambda>á  s   € ¤z°%¼Ô'=r2   r“  N)r˜   r   r·   r-   r7   r”  r­   )r/   Únon_string_typer   ÚCrazys   &   r   Útest_non_string_custom_typeÚ.ValidatorTestMixin.test_non_string_custom_typeÚ  s_   € Ü ›(ˆØ˜?Ð+Ð,ˆÜ×!Ò!Ø�N‰NØŸ™×4Ñ4×=Ñ=ØÙ=óô
ˆñ 	ˆf‹×Ñ˜rÖ"r2   c                ó–  € \         P                  ! V P                  V P                  P                  P	                  RR 4      R7      pV P                  \        P                  4      ;_uu_ 4       pV! RR/4      P                  R4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)	zP
A tuple instance properly formats validation errors for uniqueItems.

See #224
r—   c                ó"   € \        V\        4      # r4   )r�  Útupler‘  s   &&r   r   ÚNValidatorTestMixin.test_it_properly_formats_tuples_in_errors.<locals>.<lambda>ð  s   € ¤z°%¼Ô'?r2   r“  ÚuniqueItemsTNz(1, 1) has non-unique elements)rÞ   rÞ   )r   r·   r-   r7   r”  r«   r   r   r­   r…   Ústrr¨  )r/   ÚTupleValidatorrÖ  s   &  r   Ú)test_it_properly_formats_tuples_in_errorsÚ<ValidatorTestMixin.test_it_properly_formats_tuples_in_errorsæ  s’   € ô $×*Ò*Ø�N‰NØŸ™×4Ñ4×=Ñ=ØÙ?óô
ˆð ×Ñœz×9Ñ9×:Ô:¸aÙ˜M¨4Ð0Ó1×:Ñ:¸6ÔB÷ ;à�‰Ð6¼¸A¿K¹KÓ8HÖI÷ ;×:ús   Á/B8Â8C	c                óÀ  a€ RRRR/p\        RR4      o\        P                  ! V P                  V P                  P                  P                  RR RV3R	 l/4      R
7      pV! V4      p\        . RO4      \        R.^ ..4      \        R.4      \        ^ .4      .\        R.4      .\        ^ .4      ..\        R.4      ....\        ^ .4      .....\        \        R.4      .4      \        \        ^ .4      .4      .S! R^ 4      S! RR4      .S! R\        ^ .4      .4      S! R\        R.4      .4      .S! RS! R\        ^ .4      4      .4      S! RS! R\        R.4      4      .4      .\        \        \        R.4      4      4      \        \        \        ^ .4      4      4      ..
pV F  pVP                  V4       K  	  \        . RO4      \        R.R..4      \        R.4      \        R.4      .\        R.4      .\        R.4      ..\        R.4      ....\        R.4      .....\        \        R.4      .4      \        \        R.4      .4      .S! RR4      S! RR4      .S! R\        R.4      .4      S! R\        R.4      .4      .S! RS! R\        R.4      4      .4      S! RS! R\        R.4      4      .4      .\        \        \        R.4      4      4      \        \        \        R.4      4      4      ..
pV FD  pV P                  \        P                  4      ;_uu_ 4        VP                  V4       RRR4       KF  	  R#   + '       g   i     K[  ; i)z?
Allow array to validate against another defined sequence type
r’   r—   r¹  TÚ	MyMappingza, bc                ó.   € \        V\        \        34      # r4   )r�  r@   r   r‘  s   &&r   r   ÚBValidatorTestMixin.test_check_redefined_sequence.<locals>.<lambda>  s   € ´JØ¤¤e˜}ô5r2   r˜   c                ó(   <€ \        V\        S34      # r4   )r�  r*   )r8  r0  r¿  s   &&€r   r   rÁ    s   ø€ ´ZØ¤ iÐ0ô6r2   r“  re   NF)re   NrF  rz   T)re   r‘  re   )r   r   r·   r-   r7   Úredefine_manyr   r­   r«   r   r   )r/   r   r-   r   Úvalid_instancesr   Úinvalid_instancesr¿  s   &      @r   Útest_check_redefined_sequenceÚ0ValidatorTestMixin.test_check_redefined_sequence÷  sV  ø€ ð ˜' =°$Ð7ˆÜ˜{¨FÓ3ˆ	Ü×%Ò%Ø�N‰NØŸ™×4Ñ4×BÑBàñ ð ô ð	ó	ô
ˆ	ñ ˜fÓ%ˆ	ô Ò,Ó-Ü�E�7˜Q˜C�.Ó!Ü�E�7‹^œU A 3›ZÐ(Ü�U�G‹nÐ¤ q c£
˜|Ð,Ü˜�w“Ð Ð!Ð"Ð#¬°¨s«¨ ~Ð&6Ð%7Ð8Ü”E˜5˜'“NÐ#Ó$¤e¬U°A°3«Z¨LÓ&9Ð:Ù�s˜AÓ¡	¨#¨uÓ 5Ð6á˜#¤ q c£
˜|Ó,Ù˜#¤ u g£Ð/Ó0ðñ
 ˜#¡	¨#¬u°a°S«zÓ :Ð;Ó<Ù˜#¡	¨#¬u°e°W«~Ó >Ð?Ó@ðô ”5œ ˜w›Ó(Ó)¬5´´u¸a¸S³zÓ1BÓ+CÐDð!
ˆó& (ˆHØ×Ñ˜xÖ(ñ (ô ’/Ó"Ü�E�7˜U˜GÐ$Ó%Ü�E�7‹^œU E 7›^Ð,Ü�U�G‹nÐ¤ u g£Ð/Ð0Ü˜�w“Ð Ð!Ð"Ð#¬°¨w«Ð(8Ð'9Ð&:Ð%;Ð<Ü”E˜5˜'“NÐ#Ó$¤e¬U°E°7«^Ð,<Ó&=Ð>Ù�s˜EÓ"¡I¨c°5Ó$9Ð:á˜#¤ u g£Ð/Ó0Ù˜#¤ u g£Ð/Ó0ðñ
 ˜#¡	¨#¬u°e°W«~Ó >Ð?Ó@Ù˜#¡	¨#¬u°e°W«~Ó >Ð?Ó@ðô ”5œ ˜w›Ó(Ó)¬5´´u¸e¸W³~Ó1FÓ+GÐHð!
Ðó& *ˆHØ×"Ñ"¤:×#=Ñ#=×>Õ>Ø×"Ñ" 8Ô,÷ ?Ñ>ó *ß>×>Ð>ús   Ì,MÍMc                	óî   € V P                  \        4      ;_uu_ 4        V P                  / 4      P                  pR R R 4       V P	                  X\
        P                  4       R #   + '       g   i     L2; ir4   )r}  r~  r-   r#  r[  r   r%  )r/   r#  s   & r   Ú.test_it_creates_a_ref_resolver_if_not_providedÚAValidatorTestMixin.test_it_creates_a_ref_resolver_if_not_provided9  sL   € Ø×ÑÔ0×1Õ1Ø—~‘~ bÓ)×2Ñ2ˆH÷ 2à×Ñ˜h¬
×(?Ñ(?Ö@÷ 2×1ús   žA$Á$A4	c                	ó  € R RR/r!\         P                  ! R/ W/R7      pV P                  RV/VR7      pV P                  \        P
                  4      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     R# ; i)ÚsomeCoolRefr’   rš   rz   r   rÈ   r"  N)r   r%  r-   r«   r   r   r­   ©r/   r&  r   r#  r   s   &    r   Ú/test_it_upconverts_from_deprecated_RefResolversÚBValidatorTestMixin.test_it_upconverts_from_deprecated_RefResolvers>  sn   € Ø# f¨iÐ%8ˆVÜ×*Ò*¨2¨r¸#¸ÔGˆØ—N‘N F¨C =¸8�NÓDˆ	à×Ñœz×9Ñ9×:Õ:Ø×Ñ˜tÔ$÷ ;×:×:Ò:ús   ÁA8Á8B		c                ó  a €  ! V 3R lR4      pV! 4       pRR/pS P                  \        P                  4      ;_uu_ 4        S P                  W2R7      P	                  R4       RRR4       R#   + '       g   i     R# ; i)zJ
Legacy RefResolvers support only the context manager form of
resolution.
c                  ó.   <€ ] tR tRt]V 3R l4       tRtR# )ÚnValidatorTestMixin.test_it_upconverts_from_yet_older_deprecated_legacy_RefResolvers.<locals>.LegacyRefResolveriL  c              3  	ó@   <"  € SP                  VR 4       RR/x € R# 5i)úthe refr’   rš   N©r(   )Úthisr&  r/   s   &&€r   Ú	resolvingÚxValidatorTestMixin.test_it_upconverts_from_yet_older_deprecated_legacy_RefResolvers.<locals>.LegacyRefResolver.resolvingM  s!   øé € à× Ñ   iÔ0Ø˜yÐ)Ô)ùs   ƒr   N)r[   rÏ   r\   rÐ   r   r×  rÑ   r.   s   €r   ÚLegacyRefResolverrÒ  L  s   ø† Øô*ó ô*r2   rÙ  rÈ   rÔ  r"  N)r«   r   r   r-   r­   )r/   rÙ  r#  r   s   f   r   Ú@test_it_upconverts_from_yet_older_deprecated_legacy_RefResolversÚSValidatorTestMixin.test_it_upconverts_from_yet_older_deprecated_legacy_RefResolversF  s`   ø€ ÷	*ô 	*ñ %Ó&ˆØ˜)Ð$ˆà×Ñœz×9Ñ9×:Õ:Ø�N‰N˜6ˆNÓ5×>Ñ>¸tÔD÷ ;×:×:Ò:ús   Á"A-Á-A>	r   N)r[   rÏ   r\   rÐ   r\  ra  re  rh  rp  r  r‚  r†  r‰  r•  r›  rž  r«  r³  r¼  rÆ  rÉ  rÎ  rÚ  rÑ   r   r2   r   rY  rY  _  sm   † òGòCòDòIò+ò('ò.EòEòEò
ò*#ò4ò/ò0
#òJò"@-òDAò
%öEr2   rY  c                  ó2   € ] tR tRtRtR tR tR tR tRt	R# )	ÚAntiDraft6LeakMixiniY  zF
Make sure functionality from draft 6 doesn't leak backwards in time.
c                	ó  € V P                  \        P                  4      ;_uu_ 4       pV P                  P	                  R 4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)TNzTrue is not of type©r«   r   r¬   r-   rª   r…   rº  r¨  ©r/   rÖ  s   & r   Útest_True_is_not_a_schemaÚ-AntiDraft6LeakMixin.test_True_is_not_a_schema^  sS   € Ø×Ñœz×5Ñ5×6Ô6¸!Ø�N‰N×'Ñ'¨Ô-÷ 7à�‰Ð+¬S°·±Ó-=Ö>÷ 7×6úó   ¨A3Á3B	c                	ó  € V P                  \        P                  4      ;_uu_ 4       pV P                  P	                  R 4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)FNzFalse is not of typerß  rà  s   & r   Útest_False_is_not_a_schemaÚ.AntiDraft6LeakMixin.test_False_is_not_a_schemac  sS   € Ø×Ñœz×5Ñ5×6Ô6¸!Ø�N‰N×'Ñ'¨Ô.÷ 7à�‰Ð,¬c°!·+±+Ó.>Ö?÷ 7×6úrã  c                	ó  € V P                  \        4      ;_uu_ 4       pV P                  R 4      P                  ^4       RRR4       V P	                  XP
                  \        P                  4       R#   + '       g   i     L<; i©TN©r«   Ú	Exceptionr-   r­   ÚassertNotIsInstancer¨  r   r   rà  s   & r   Ú5test_True_is_not_a_schema_even_if_you_forget_to_checkÚIAntiDraft6LeakMixin.test_True_is_not_a_schema_even_if_you_forget_to_checkh  sT   € Ø×Ñœy×)Ô)¨QØ�N‰N˜4Ó ×)Ñ)¨"Ô-÷ *à× Ñ  §¡¬j×.HÑ.HÖI÷ *×)úó   ž!A3Á3B	c                	ó  € V P                  \        4      ;_uu_ 4       pV P                  R 4      P                  ^4       RRR4       V P	                  XP
                  \        P                  4       R#   + '       g   i     L<; i©FNré  rà  s   & r   Ú6test_False_is_not_a_schema_even_if_you_forget_to_checkÚJAntiDraft6LeakMixin.test_False_is_not_a_schema_even_if_you_forget_to_checkm  sT   € Ø×Ñœy×)Ô)¨QØ�N‰N˜5Ó!×*Ñ*¨2Ô.÷ *à× Ñ  §¡¬j×.HÑ.HÖI÷ *×)úrî  r   N)
r[   rÏ   r\   rÐ   Ú__doc__rá  rå  rì  rñ  rÑ   r   r2   r   rÝ  rÝ  Y  s   † ñò?ò
@ò
Jö
Jr2   rÝ  c                  óf   € ] tR tRt$ ]P
                  t/ / 3tR]R&   RR/R3t	R t
R tR	 tR
 tRtR# )ÚTestDraft3Validatoris  útuple[dict, dict]r_  r’   rš   rŸ   c                	ó^   € V P                  R R/4      pVP                  \        4       4       R# ©r’   ÚanyN)r-   r­   r˜   rš  s   & r   Ú#test_any_type_is_valid_for_type_anyÚ7TestDraft3Validator.test_any_type_is_valid_for_type_anyx  s$   € Ø—N‘N F¨E ?Ó3ˆ	Ø×Ñœ6›8Ö$r2   c                ót  € \         P                  ! V P                  V P                  P                  P	                  RR 4      R7      pV! RR/4      pVP                  ^4       V P                  \        P                  4      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     R# ; i)z
Sigh, because why not.
rù  c                ó"   € \        V\        4      # r4   r¯  r‘  s   &&r   r   ÚBTestDraft3Validator.test_any_type_is_redefinable.<locals>.<lambda>ƒ  s   € ¬j¸ÄÔ.Dr2   r“  r’   rŸ   N)	r   r·   r-   r7   r”  r­   r«   r   r   )r/   r²  r   s   &  r   Útest_any_type_is_redefinableÚ0TestDraft3Validator.test_any_type_is_redefinable|  s‹   € ô ×!Ò!Ø�N‰NØŸ™×4Ñ4×=Ñ=ØÑDóô
ˆñ ˜6 5˜/Ó*ˆ	Ø×Ñ˜2ÔØ×Ñœz×9Ñ9×:Õ:Ø×Ñ˜uÔ%÷ ;×:×:Ò:ús   Â
B&Â&B7	c                	óx   € V P                  V P                  R R/4      P                  \        4       4      4       R# rø  )r    r-   rË   r˜   r.   s   &r   Ú!test_is_type_is_true_for_any_typeÚ5TestDraft3Validator.test_is_type_is_true_for_any_type‹  s(   € Ø�‰˜Ÿ™¨° Ó7×@Ñ@ÄÃÓJÖKr2   c                	óÈ   € V P                  V P                  / 4      P                  R R4      4       V P                  V P                  RR/4      P                  R 4      4       R# )Tr™   r’   rù  N)r    r-   r“   rË   r.   s   &r   Ú6test_is_type_does_not_evade_bool_if_it_is_being_testedÚJTestDraft3Validator.test_is_type_does_not_evade_bool_if_it_is_being_testedŽ  sH   € Ø�‰˜Ÿ™ rÓ*×2Ñ2°4¸ÓCÔDØ�‰˜Ÿ™¨° Ó7×@Ñ@ÀÓFÖGr2   r   N)r[   rÏ   r\   rÐ   r   rò   r-   r_  Ú__annotations__rd  rú  rÿ  r  r  rÑ   r   r2   r   rõ  rõ  s  sA   ‡ Ø×*Ñ*€IØ " B˜x€EÐÓ'Ø�yÐ! 5Ð(€Gò%ò&òLöHr2   rõ  c                  óN   € ] tR tRt$ ]P
                  t/ / 3tR]R&   RR/R3t	Rt
R# )	ÚTestDraft4Validatori“  rö  r_  r’   rš   rŸ   r   N)r[   rÏ   r\   rÐ   r   rÊ   r-   r_  r  rd  rÑ   r   r2   r   r	  r	  “  ó+   ‡ Ø×*Ñ*€IØ " B˜x€EÐÓ'Ø�yÐ! 5Ð(„Gr2   r	  c                  óN   € ] tR tRt$ ]P
                  t/ / 3tR]R&   RR/R3t	Rt
R# )	ÚTestDraft6Validatori™  rö  r_  r’   rš   rŸ   r   N)r[   rÏ   r\   rÐ   r   r+  r-   r_  r  rd  rÑ   r   r2   r   r  r  ™  r
  r2   r  c                  óN   € ] tR tRt$ ]P
                  t/ / 3tR]R&   RR/R3t	Rt
R# )	ÚTestDraft7ValidatoriŸ  rö  r_  r’   rš   rŸ   r   N)r[   rÏ   r\   rÐ   r   r  r-   r_  r  rd  rÑ   r   r2   r   r  r  Ÿ  r
  r2   r  c                  óN   € ] tR tRt$ ]P
                  t/ / 3tR]R&   RR/R3t	Rt
R# )	ÚTestDraft201909Validatori¥  rö  r_  r’   rš   rŸ   r   N)r[   rÏ   r\   rÐ   r   ÚDraft201909Validatorr-   r_  r  rd  rÑ   r   r2   r   r  r  ¥  ó+   ‡ Ø×/Ñ/€IØ " B˜x€EÐÓ'Ø�yÐ! 5Ð(„Gr2   r  c                  óN   € ] tR tRt$ ]P
                  t/ / 3tR]R&   RR/R3t	Rt
R# )	ÚTestDraft202012Validatori«  rö  r_  r’   rš   rŸ   r   N)r[   rÏ   r\   rÐ   r   r©   r-   r_  r  rd  rÑ   r   r2   r   r  r  «  r  r2   r  c                  ó    € ] tR tRtRtR tRtR# )ÚTestLatestValidatori±  zI
These really apply to multiple versions but are easiest to test on one.
c                	ó   € R pRV/p\         P                  ! R/ VR/R7      p\         P                  ! W#R7      pV P                  \        P
                  4      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     R# ; i)rÌ  rÈ   rz   Fr   r"  N)r   r%  r×   r«   r   r   r­   rÍ  s   &    r   Ú2test_ref_resolvers_may_have_boolean_schemas_storedÚFTestLatestValidator.test_ref_resolvers_may_have_boolean_schemas_stored¶  sl   € ØˆØ˜#�ˆÜ×*Ò*¨2¨r¸#¸u¸ÔFˆÜ×.Ò.¨vÔIˆ	à×Ñœz×9Ñ9×:Õ:Ø×Ñ˜tÔ$÷ ;×:×:Ò:ús   Á A<Á<B	r   N)r[   rÏ   r\   rÐ   ró  r  rÑ   r   r2   r   r  r  ±  s   † ñö%r2   r  c                  óp   € ] tR tRtR tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tRtR# )ÚTestValidatorForiÀ  c                	óæ   € R R/pV P                  \        P                  ! V4      \        P                  4       R R/pV P                  \        P                  ! V4      \        P                  4       R# )r¥   ú&http://json-schema.org/draft-03/schemaú'http://json-schema.org/draft-03/schema#N)rÓ  r   Úvalidator_forrò   r;   s   & r   Útest_draft_3ÚTestValidatorFor.test_draft_3Á  ó`   € ØÐEÐFˆØ�‰Ü×$Ò$ VÓ,Ü×&Ñ&ô	
ð
 ÐFÐGˆØ�‰Ü×$Ò$ VÓ,Ü×&Ñ&ö	
r2   c                	óæ   € R R/pV P                  \        P                  ! V4      \        P                  4       R R/pV P                  \        P                  ! V4      \        P                  4       R# )r¥   ú&http://json-schema.org/draft-04/schemaú'http://json-schema.org/draft-04/schema#N)rÓ  r   r  rÊ   r;   s   & r   Útest_draft_4ÚTestValidatorFor.test_draft_4Î  r"  r2   c                	óæ   € R R/pV P                  \        P                  ! V4      \        P                  4       R R/pV P                  \        P                  ! V4      \        P                  4       R# )r¥   ú&http://json-schema.org/draft-06/schemaú'http://json-schema.org/draft-06/schema#N)rÓ  r   r  r+  r;   s   & r   Útest_draft_6ÚTestValidatorFor.test_draft_6Û  r"  r2   c                	óæ   € R R/pV P                  \        P                  ! V4      \        P                  4       R R/pV P                  \        P                  ! V4      \        P                  4       R# )r¥   ú&http://json-schema.org/draft-07/schemaú'http://json-schema.org/draft-07/schema#N)rÓ  r   r  r  r;   s   & r   Útest_draft_7ÚTestValidatorFor.test_draft_7è  r"  r2   c                	óæ   € R R/pV P                  \        P                  ! V4      \        P                  4       R R/pV P                  \        P                  ! V4      \        P                  4       R# )r¥   z,https://json-schema.org/draft/2019-09/schemaz-https://json-schema.org/draft/2019-09/schema#N)rÓ  r   r  r  r;   s   & r   Útest_draft_201909Ú"TestValidatorFor.test_draft_201909õ  ó`   € ØÐKÐLˆØ�‰Ü×$Ò$ VÓ,Ü×+Ñ+ô	
ð
 ÐLÐMˆØ�‰Ü×$Ò$ VÓ,Ü×+Ñ+ö	
r2   c                	óæ   € R R/pV P                  \        P                  ! V4      \        P                  4       R R/pV P                  \        P                  ! V4      \        P                  4       R# )r¥   ú,https://json-schema.org/draft/2020-12/schemaú-https://json-schema.org/draft/2020-12/schema#N)rÓ  r   r  r©   r;   s   & r   Útest_draft_202012Ú"TestValidatorFor.test_draft_202012  r5  r2   c                	ón   € V P                  \        P                  ! R 4      \        P                  4       R# rè  ©rÓ  r   r  r×   r.   s   &r   Ú	test_TrueÚTestValidatorFor.test_True  s%   € Ø�‰Ü×$Ò$ TÓ*Ü×&Ñ&ö	
r2   c                	ón   € V P                  \        P                  ! R 4      \        P                  4       R# rð  r<  r.   s   &r   Ú
test_FalseÚTestValidatorFor.test_False  s%   € Ø�‰Ü×$Ò$ UÓ+Ü×&Ñ&ö	
r2   c                	ó’   € \         P                  ! R R/RR R7      pRR/pV P                  \         P                  ! V4      V4       R# )rr   rw   Ú12c                ó&   € V P                  R R4      # ry   r{   r}   s   &r   r   Ú8TestValidatorFor.test_custom_validator.<locals>.<lambda>  r�   r2   r‚   r¥   N©r   r,   rÓ  r  ©r/   r-   r   s   &  r   Útest_custom_validatorÚ&TestValidatorFor.test_custom_validator  sK   € Ü×%Ò%ØÐ/Ð0ØÙ+ô
ˆ	ð
 Ð-Ð.ˆØ�‰Ü×$Ò$ VÓ,Øö	
r2   c                	óŽ   € \         P                  ! R R/RR7      pRR/pV P                  \         P                  ! V4      V4       R# )r$   rŒ   Ú13rW   r¥   NrF  rG  s   &  r   Útest_custom_validator_draft6Ú-TestValidatorFor.test_custom_validator_draft6'  sH   € Ü×%Ò%ØÐ 1Ð2Øô
ˆ	ð Ð.Ð/ˆØ�‰Ü×$Ò$ VÓ,Øö	
r2   c                	ón   € V P                  \        P                  ! / 4      \        P                  4       R # r4   r<  r.   s   &r   Ú%test_validator_for_jsonschema_defaultÚ6TestValidatorFor.test_validator_for_jsonschema_default2  s!   € Ø�‰”j×.Ò.¨rÓ2´J×4NÑ4NÖOr2   c                	óV   € V P                  \        P                  ! / R R7      R 4       R # )Nrx  )rÓ  r   r  r.   s   &r   Ú!test_validator_for_custom_defaultÚ2TestValidatorFor.test_validator_for_custom_default5  s   € Ø�‰”j×.Ò.¨r¸4Ô@À$ÖGr2   c                	ó4  € V P                  \        4      ;_uu_ 4       p\        P                  ! R R/R7       RRR4       V P	                  XP
                  \        4       V P	                  \        VP                  4      R4       R#   + '       g   i     LW; i)r¥   ÚunknownSchemar|  Nz‚The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future.)	r}  r~  r   r  r(   ÚfilenameÚ__file__rº  Úwarning)r/   rª  s   & r   Ú1test_warns_if_meta_schema_specified_was_not_foundÚBTestValidatorFor.test_warns_if_meta_schema_specified_was_not_found8  sk   € Ø×ÑÔ0×1Ô1°RÜ×$Ò$¨Y¸Ð,HÕI÷ 2ð 	×Ñ˜Ÿ™¤hÔ/Ø×ÑÜ�—
‘
‹Oð&ö	
÷	 2×1ús   žBÂB	c                	óú   € \         P                  ! R R7      ;_uu_ 4       p\         P                  ! R4       \        P                  ! / / R7       RRR4       V P                  X4       R#   + '       g   i     L#; i)T©ÚrecordÚalways)r   ry  N)ÚwarningsÚcatch_warningsÚsimplefilterr   r  rÔ  )r/   Úws   & r   Ú0test_does_not_warn_if_meta_schema_is_unspecifiedÚATestValidatorFor.test_does_not_warn_if_meta_schema_is_unspecifiedD  sQ   € Ü×$Ò$¨D×1Õ1°QÜ×!Ò! (Ô+Ü×$Ò$¨B¸Õ;÷ 2ð 	×Ñ˜Ö÷ 2×1ús    /A*Á*A:	c                	ól   € R R/\        4       r!V P                  \        P                  ! W4      V4       R# )r¥   zmailto:foo@example.comN)r˜   rÓ  r   r  )r/   r   ry  s   &  r   Ú-test_validator_for_custom_default_with_schemaÚ>TestValidatorFor.test_validator_for_custom_default_with_schemaJ  s*   € Ø$Ð&>Ð?ÄÃ�Ø�‰”j×.Ò.¨vÓ?ÀÖIr2   r   N)r[   rÏ   r\   rÐ   r   r&  r+  r0  r3  r9  r=  r@  rH  rL  rO  rR  rY  rc  rf  rÑ   r   r2   r   r  r  À  sP   † ò
ò
ò
ò
ò
ò
ò
ò
ò

ò	
òPòHò

òöJr2   r  c                  óR   € ] tR tRtR tR tR tR tR tR t	R t
R	 tR
 tR tRtR# )ÚTestValidateiO  c                	óú   € . p\         P                  P                  VR VP                  4      ;_uu_ 4        \        P
                  ! / V4       RRR4       V P                  W1.4       R#   + '       g   i     L$; i)rª   N)r   Úpatchr˜   Úappendr   r­   r(   )r/   r   r-   Úresults   &&& r   Ú
assertUsesÚTestValidate.assertUsesP  sT   € ØˆÜ�Z‰Z×Ñ˜y¨.¸&¿-¹-×HÕHÜ×Ò  FÔ+÷ Ià×Ñ˜ Ö*÷ I×Hús   ¶A*Á*A:	c                	ó’   € V P                  R R/\        P                  R7       V P                  R R/\        P                  R7       R# )r¥   r  ©r   r-   r  N)rn  r   rò   r.   s   &r   Útest_draft3_validator_is_chosenÚ,TestValidate.test_draft3_validator_is_chosenV  óJ   € Ø�‰ØÐHÐIÜ ×0Ñ0ð 	ô 	
ð
 	�‰ØÐGÐHÜ ×0Ñ0ð 	ö 	
r2   c                	ó’   € V P                  R R/\        P                  R7       V P                  R R/\        P                  R7       R# )r¥   r%  rq  r$  N)rn  r   rÊ   r.   s   &r   Útest_draft4_validator_is_chosenÚ,TestValidate.test_draft4_validator_is_chosena  rt  r2   c                	ó’   € V P                  R R/\        P                  R7       V P                  R R/\        P                  R7       R# )r¥   r*  rq  r)  N)rn  r   r+  r.   s   &r   Útest_draft6_validator_is_chosenÚ,TestValidate.test_draft6_validator_is_chosenl  rt  r2   c                	ó’   € V P                  R R/\        P                  R7       V P                  R R/\        P                  R7       R# )r¥   r/  rq  r.  N)rn  r   r  r.   s   &r   Útest_draft7_validator_is_chosenÚ,TestValidate.test_draft7_validator_is_chosenw  rt  r2   c                	ó’   € V P                  R R/\        P                  R7       V P                  R R/\        P                  R7       R# )r¥   r8  rq  r7  N©rn  r   r©   r.   s   &r   Ú$test_draft202012_validator_is_chosenÚ1TestValidate.test_draft202012_validator_is_chosen‚  sR   € Ø�‰àÐJðô !×5Ñ5ð	 	ô 	
ð 	�‰àÐIðô !×5Ñ5ð	 	ö 	
r2   c                	óH   € V P                  / \        P                  R 7       R# )rq  Nr  r.   s   &r   Ú)test_draft202012_validator_is_the_defaultÚ6TestValidate.test_draft202012_validator_is_the_default‘  s   € Ø�‰˜r¬Z×-LÑ-LˆÖMr2   c                	ó  € V P                  \        P                  4      ;_uu_ 4       p\        P                  ! ^RR/4       RRR4       V P                  \        XP                  4      R4       R#   + '       g   i     L7; i)r›   r’   rž   Nz1(?s)Failed validating '.*' in schema.*On instance)r«   r   r   r   r­   ÚassertRegexrº  r¨  rà  s   & r   Útest_validation_error_messageÚ*TestValidate.test_validation_error_message”  s[   € Ø×Ñœz×9Ñ9×:Ô:¸aÜ×Ò  V¨XÐ$6Ô7÷ ;à×ÑÜ�—‘ÓØ?ö	
÷ ;×:úó   ¨A1Á1B	c                	ó  € V P                  \        P                  4      ;_uu_ 4       p\        P                  ! ^R^/4       RRR4       V P                  \        XP                  4      R4       R#   + '       g   i     L7; i)r›   r’   Nz3(?s)Failed validating '.*' in metaschema.*On schema)r«   r   r¬   r   r­   r†  rº  r¨  rà  s   & r   Útest_schema_error_messageÚ&TestValidate.test_schema_error_messageœ  sZ   € Ø×Ñœz×5Ñ5×6Ô6¸!Ü×Ò  V¨R LÔ1÷ 7à×ÑÜ�—‘ÓØAö	
÷ 7×6úr‰  c                	ó  € R RRR^/RR/./pV P                  \        P                  4      ;_uu_ 4       p\        P                  ! ^V4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)r—  r’   r�   rï   r—   Nz!12 is less than the minimum of 20)r«   r   r   r   r­   r…   rº  r¨  )r/   r   rÖ  s   &  r   Útest_it_uses_best_matchÚ$TestValidate.test_it_uses_best_match¤  sv   € àØ˜ 9¨bÐ1Ø˜Ð!ðð
ˆð ×Ñœz×9Ñ9×:Ô:¸aÜ×Ò  FÔ+÷ ;à�‰Ð9¼3¸q¿{¹{Ó;KÖL÷ ;×:ús   ´A;Á;B	r   N)r[   rÏ   r\   rÐ   rn  rr  rv  ry  r|  r€  rƒ  r‡  r‹  rŽ  rÑ   r   r2   r   ri  ri  O  s6   † ò+ò	
ò	
ò	
ò	
ò
òNò
ò
ö	Mr2   ri  c                  ó    € ] tR tRtRtR tRtR# )ÚTestThreadingi°  a–  
Threading-related functionality tests.

jsonschema doesn't promise thread safety, and its validation behavior
across multiple threads may change at any time, but that means it isn't
safe to share *validators* across threads, not that anytime one has
multiple threads that jsonschema won't work (it certainly is intended to).

These tests ensure that this minimal level of functionality continues to
work.
c                	óÌ   a€ . oV3R  lpV! 4        ^ RI Hp V! VR7      pVP                  4        VP                  4        V P	                  VP                  4       S3R. 34       R# )c                 ó’   <€  \         P                  ! ^%RR7       R#    S P                  \        P                  ! 4       4        R# ; i)r´  Trß   N)r   r­   rl  ÚsysÚexc_info)Úfaileds   €r   r­   ÚFTestThreading.test_validation_across_a_second_thread.<locals>.validateÀ  s1   ø€ ð.Ü×#Ò#¨R¸×=øð.Ø—‘œcŸlšl›n×-ús	   ƒ �&A)ÚThread)ÚtargetFN)Ú	threadingr˜  ÚstartÚjoinr(   Úis_alive)r/   r­   r˜  Úthreadr–  s   &   @r   Ú&test_validation_across_a_second_threadÚ4TestThreading.test_validation_across_a_second_thread½  sS   ø€ Øˆõ	.ñ 	Œ
å$Ù˜xÔ(ˆØ�‰ŒØ�‰ŒØ×Ñ˜&Ÿ/™/Ó+¨VÐ4°u¸b°kÖBr2   r   N)r[   rÏ   r\   rÐ   ró  rŸ  rÑ   r   r2   r   r‘  r‘  °  s   † ñ
öCr2   r‘  c                  ó"   € ] tR tRtR tR tRtR# )ÚTestReferencingiÏ  c                	óÔ   € R  p\         P                  ! VR7      pRR/p\        P                  ! W2R7      pV P	                  VP                  ^4      VP                  R4      3R4       R# )c                ó2   € \         P                  ! R R/4      # )r’   rš   )r   Úcreate_resource)Úuris   &r   ÚretrieveÚ=TestReferencing.test_registry_with_retrieve.<locals>.retrieveÑ  s   € Ü×.Ò.°¸	Ð/BÓCÐCr2   )r§  rÈ   úhttps://example.com/©ÚregistryrŸ   N)TF)ÚreferencingÚRegistryr   r©   r(   rË   )r/   r§  r«  r   r   s   &    r   Útest_registry_with_retrieveÚ+TestReferencing.test_registry_with_retrieveÐ  sd   € ò	Dô ×'Ò'°Ô:ˆØÐ0Ð1ˆÜ×3Ò3°FÔNˆ	à×ÑØ×Ñ Ó# Y×%7Ñ%7¸Ó%>Ð?Øö	
r2   c           	     	óæ  € \         P                  ! 4       pR R/p\        P                  ! W!R7      p\        P
                  ! RR7      ;_uu_ 4       p\        P                  ! R4       V P                  \         P                  P                  4      ;_uu_ 4        VP                  ^4       RRR4       RRR4       V P                  X4       R#   + '       g   i     L+; i  + '       g   i     L6; i)rÈ   r©  rª  Tr\  r^  N)r¬  r­  r   r©   r_  r`  ra  r«   r   ÚUnresolvabler­   rÔ  )r/   r«  r   r   rb  s   &    r   Ú;test_custom_registries_do_not_autoretrieve_remote_resourcesÚKTestReferencing.test_custom_registries_do_not_autoretrieve_remote_resourcesÝ  s¥   € Ü×'Ò'Ó)ˆØÐ0Ð1ˆÜ×3Ò3°FÔNˆ	ä×$Ò$¨D×1Õ1°QÜ×!Ò! (Ô+Ø×"Ñ"¤;×#9Ñ#9×#FÑ#F×GÕGØ×"Ñ" 2Ô&÷ H÷ 2ð 	×Ñ˜Ö÷ H×Gú÷ 2×1ús%   ÁAC ÂC	Â*C ÃCÃC Ã C0	r   N)r[   rÏ   r\   rÐ   r®  r²  rÑ   r   r2   r   r¢  r¢  Ï  s   † ò
ö	r2   r¢  c                  ó’   € ] tR tRtRtRtRR/tR tR tR t	R	 t
R
 tR tR tR tR tR tR tR tR tR tR tR tR tR tRtR# )ÚTestRefResolverié  rz   zfoo://storedÚstoredr   c                	óÄ   € / V n         V P                  V P                  /V n        \        P
                  ! V P                  V P                   V P                  4      V n        R # r4   )ÚreferrerÚ
stored_uriÚstored_schemar!  r   r%  Úbase_urir#  r.   s   &r   r0   ÚTestRefResolver.setUpï  sD   € ØˆŒØ—o‘o t×'9Ñ'9Ð:ˆŒ
Ü"×/Ò/Ø�M‰M˜4Ÿ=™=¨$¯*©*ó
ˆŽr2   c           	     	óî  € \         P                  P                  R ,          p\        P                  P                  V P                  R4      ;_uu_ 4       pV P                  P                  V4      ;_uu_ 4       p RRR4       RRR4       V P                  X\         P                  P                  4       V P                  XP                  4       R#   + '       g   i     L_; i  + '       g   i     Lj; i)rr   Úresolve_remoteN)r   rò   r6   r   rk  r˜   r#  r×  r(   rÔ  Úcalled)r/   r&  ÚpatchedÚresolveds   &   r   Ú6test_it_does_not_retrieve_schema_urls_from_the_networkÚFTestRefResolver.test_it_does_not_retrieve_schema_urls_from_the_networkö  sž   € Ü×(Ñ(×4Ñ4°TÕ:ˆÜ�Z‰Z×Ñ˜tŸ}™}Ð.>×?Ô?À7Ø—‘×(Ñ(¨×-Ô-°Ø÷ .÷ @ð 	×Ñ˜¤:×#=Ñ#=×#IÑ#IÔJØ×Ñ˜Ÿ™Ö(÷ .×-ú÷ @×?ús$   Á$C$Á8C	Á:C$ÃC!ÃC$Ã$C4	c                	ó  € R pR\        4       /V P                  R&   V P                  P                  V4      ;_uu_ 4       pV P	                  W P                  R,          R,          4       RRR4       R#   + '       g   i     R# ; i)z#/properties/foorŸ   r¥  N)r˜   r¸  r#  r×  r(   )r/   r&  rÁ  s   &  r   Útest_it_resolves_local_refsÚ+TestRefResolver.test_it_resolves_local_refsþ  s^   € Ø ˆØ',¬f«hÐ&7ˆ�‰�lÑ#Ø�]‰]×$Ñ$ S×)Ô)¨XØ×Ñ˜X§}¡}°\Õ'BÀ5Õ'IÔJ÷ *×)×)Ò)ús   ¿*A3Á3B	c                	ó�  € R RRRR//p\         P                  P                  VR R7      pVP                  R4      ;_uu_ 4       pV P	                  W1R,          4       RRR4       VP                  R	4      ;_uu_ 4       pV P	                  W1R,          4       RRR4       R#   + '       g   i     LL; i  + '       g   i     R# ; i)
rr   zhttp://bar/schema#re   rŸ   r¨   c                ó&   € V P                  R R4      # ry   r{   r|  s   &r   r   ÚETestRefResolver.test_it_resolves_local_refs_with_id.<locals>.<lambda>	  ó   €  §¡¨D°"Ô!5r2   ©rƒ   z#/aNzhttp://bar/schema#/a)r   r%  Úfrom_schemar×  r(   ©r/   r   r#  rÁ  s   &   r   Ú#test_it_resolves_local_refs_with_idÚ3TestRefResolver.test_it_resolves_local_refs_with_id	  s£   € ØÐ,¨c°E¸5°>ÐBˆÜ×*Ñ*×6Ñ6ØÙ5ð 7ó 
ˆð ×Ñ ×&Ô&¨(Ø×Ñ˜X¨c¥{Ô3÷ 'à×ÑÐ 6×7Ô7¸8Ø×Ñ˜X¨c¥{Ô3÷ 8Ñ7÷ '×&úç7×7Ð7ús   ÁB!Á>B4Â!B1	Â4C	c                	ó¨  € V P                   P                  V P                  4      ;_uu_ 4       pV P                  WP                  4       R R R 4       R^/V P                   P
                  R&   V P                   P                  R4      ;_uu_ 4       pV P                  V^4       R R R 4       R #   + '       g   i     Lk; i  + '       g   i     R # ; i)NrŸ   Ú
cached_refzcached_ref#/foo)r#  r×  r¹  rÓ  rº  r!  r(   )r/   rÁ  s   & r   Útest_it_retrieves_stored_refsÚ-TestRefResolver.test_it_retrieves_stored_refs	  s“   € Ø�]‰]×$Ñ$ T§_¡_×5Ô5¸Ø�M‰M˜(×$6Ñ$6Ô7÷ 6ð .3°B¨Kˆ�‰×Ñ˜LÑ)Ø�]‰]×$Ñ$Ð%6×7Ô7¸8Ø×Ñ˜X rÔ*÷ 8Ñ7÷	 6×5ú÷ 8×7Ð7ús   ®B-ÂC Â-B=	Ã C	c                	óœ  € R pR^/pR\         P                  9   dA   V P                  \         P                  P                  R\         P                  R,          4       \	        RV/4      \         P                  R&   V P
                  P                  V4      ;_uu_ 4       pV P                  V^4       RRR4       R#   + '       g   i     R# ; i)úhttp://bar#bazrv  Úrequestsú
http://barN)r”  Úmodulesr'   Ú__setitem__ÚReallyFakeRequestsr#  r×  r(   )r/   r&  r   rÁ  s   &   r   Ú,test_it_retrieves_unstored_refs_via_requestsÚ<TestRefResolver.test_it_retrieves_unstored_refs_via_requests	  s’   € ØˆØ˜�ˆàœŸ™Ô$Ø�O‰OÜ—‘×'Ñ'¨´S·[±[ÀÕ5Lôô #5°lÀFÐ5KÓ"LŒ�‰�JÑà�]‰]×$Ñ$ S×)Ô)¨XØ×Ñ˜X rÔ*÷ *×)×)Ò)ús   ÂB:Â:C	c                	ó  a a€ R pR^/oR\         P                  9   dA   S P                  \         P                  P                  R\         P                  R,          4       R\         P                  R&   \        VV 3R l4       pS P                  \
        \        R\        P                  4       V\        n        S P                  P                  V4      ;_uu_ 4       p RRR4       S P                  X^4       R#   + '       g   i     L$; i)rÕ  rv  rÖ  Nc              3  ó”   <"  € SP                  V R 4       \        \        P                  ! S4      P	                  R4      4      x € R# 5i)r×  Úutf8N)r(   r   ÚjsonÚdumpsÚencode)Úurlr   r/   s   &€€r   Úfake_urlopenÚQTestRefResolver.test_it_retrieves_unstored_refs_via_urlopen.<locals>.fake_urlopen.	  s5   øé € à×Ñ˜S ,Ô/Üœ$Ÿ*š* VÓ,×3Ñ3°FÓ;Ó<Ô<ùs   ƒAAÚurlopen)r”  rØ  r'   rÙ  r   Úsetattrr   ræ  r#  r×  r(   )r/   r&  rä  rÁ  r   s   f   @r   Ú+test_it_retrieves_unstored_refs_via_urlopenÚ;TestRefResolver.test_it_retrieves_unstored_refs_via_urlopen$	  s¿   ù€ ØˆØ˜�ˆàœŸ™Ô$Ø�O‰OÜ—‘×'Ñ'¨´S·[±[ÀÕ5Lôð #'Œ�‰�JÑä	õ	=ó 
ð	=ð 	�‰œ¤¨Y¼
×8JÑ8JÔKØ)Œ
Ôà�]‰]×$Ñ$ S×)Ô)¨XØ÷ *à×Ñ˜ 2Ö&÷ *×)ús   ÃC7Ã7D	c                	óÚ  € \         P                  ! R RR7      ;_uu_ 4       pV P                  \        P                  VP
                  4       \        P                  ! RR/V4       RRR4       R\        XP
                  4       R2pV P                  P                  V4      ;_uu_ 4       pV P                  VR4       RRR4       R#   + '       g   i     Li; i  + '       g   i     R# ; i)FÚwt)ÚdeleteÚmoderŸ   r¨   Nzfile://z#foo)ÚtempfileÚNamedTemporaryFiler'   ÚosÚremoverí   rà  Údumpr   r#  r×  r(   )r/   Útempfr&  rÁ  s   &   r   Ú(test_it_retrieves_local_refs_via_urlopenÚ8TestRefResolver.test_it_retrieves_local_refs_via_urlopen:	  s¤   € Ü×(Ò(°¸D×AÕAÀUØ�O‰OœBŸI™I u§z¡zÔ2Ü�IŠI�u˜e�n eÔ,÷ Bð œ U§Z¡ZÓ0Ð1°Ð6ˆØ�]‰]×$Ñ$ S×)Ô)¨XØ×Ñ˜X uÔ-÷ *Ñ)÷ B×Aú÷
 *×)Ð)ús   ¡ACÂ)CÃC	ÃC*	c                	óô  € R R/p\         P                  P                  VR R7      pV P                  VP                  R4       V P                  VP
                  R4       VP                  R4      ;_uu_ 4       pV P                  W14       RRR4       VP                  R4      ;_uu_ 4       pV P                  W14       RRR4       VP                  R4      ;_uu_ 4       pV P                  W14       RRR4       VP                  R4      ;_uu_ 4       pV P                  W14       RRR4       R#   + '       g   i     L«; i  + '       g   i     L‹; i  + '       g   i     Lk; i  + '       g   i     R# ; i)rr   rŸ   c                ó&   € V P                  R R4      # ry   r{   r|  s   &r   r   ÚPTestRefResolver.test_it_can_construct_a_base_uri_from_a_schema.<locals>.<lambda>G	  rÊ  r2   rË  rz   NÚ#zfoo#©r   r%  rÌ  r(   r»  Úresolution_scoper×  rÍ  s   &   r   Ú.test_it_can_construct_a_base_uri_from_a_schemaÚ>TestRefResolver.test_it_can_construct_a_base_uri_from_a_schemaC	  s  € Ø˜�ˆÜ×*Ñ*×6Ñ6ØÙ5ð 7ó 
ˆð 	×Ñ˜×*Ñ*¨EÔ2Ø×Ñ˜×2Ñ2°EÔ:Ø×Ñ ×#Ô# xØ×Ñ˜XÔ.÷ $à×Ñ ×$Ô$¨Ø×Ñ˜XÔ.÷ %à×Ñ ×&Ô&¨(Ø×Ñ˜XÔ.÷ 'à×Ñ ×'Ô'¨8Ø×Ñ˜XÔ.÷ (Ñ'÷ $×#úç$×$úç&×&úç'×'Ð'ús0   Á8D-Â+E ÃEÄE&Ä-D=	Å E	ÅE#	Å&E7	c                	óÒ  € / p\         P                  P                  V4      pV P                  VP                  R 4       V P                  VP
                  R 4       VP                  R 4      ;_uu_ 4       pV P                  W14       RRR4       VP                  R4      ;_uu_ 4       pV P                  W14       RRR4       R#   + '       g   i     LE; i  + '       g   i     R# ; i)rz   Nrù  rú  rÍ  s   &   r   Ú9test_it_can_construct_a_base_uri_from_a_schema_without_idÚITestRefResolver.test_it_can_construct_a_base_uri_from_a_schema_without_idT	  s«   € ØˆÜ×*Ñ*×6Ñ6°vÓ>ˆØ×Ñ˜×*Ñ*¨BÔ/Ø×Ñ˜×2Ñ2°BÔ7Ø×Ñ ×#Ô# xØ×Ñ˜XÔ.÷ $à×Ñ ×$Ô$¨Ø×Ñ˜XÔ.÷ %Ñ$÷ $×#úç$×$Ð$ús   Á3CÂ&CÃC	ÃC&	c                	óî   a aa€ VVV 3R  lpRR/oRo\         P                  ! R/ RV/R7      pVP                  S4      ;_uu_ 4       pS P                  VS4       RRR4       R#   + '       g   i     R# ; i)c                ó,   <€ SP                  V S4       S# r4   rÕ  )rã  r&  r   r/   s   &€€€r   ÚhandlerÚ@TestRefResolver.test_custom_uri_scheme_handlers.<locals>.handler_	  s   ø€ Ø×Ñ˜S #Ô&ØˆMr2   rŸ   r¨   ú	foo://barrz   ©ÚhandlersN)r   r%  r×  r(   )r/   r  r#  rÁ  r&  r   s   f   @@r   Útest_custom_uri_scheme_handlersÚ/TestRefResolver.test_custom_uri_scheme_handlers^	  sc   ú€ ÷	ð ˜�ˆØˆÜ×*Ò*¨2¨r¸UÀGÐ<LÔMˆØ×Ñ ×$Ô$¨Ø×Ñ˜X vÔ.÷ %×$×$Ò$ús   ÁA#Á#A4	c                	óD  a a€ \        4       .oVV 3R  lpRp\        P                  ! R/ RRV/R7      pVP                  V4      ;_uu_ 4         RRR4       VP                  V4      ;_uu_ 4         RRR4       R#   + '       g   i     L5; i  + '       g   i     R# ; i)c                ól   <€  SP                  4       #   \         d    SP                  R 4        R# i ; i)z#Response must not have been cached!N©rZ   Ú
IndexErrorr    ©rã  Úresponser/   s   &€€r   r  Ú5TestRefResolver.test_cache_remote_on.<locals>.handlerl	  s3   ø€ ðAØ—|‘|“~Ð%øÜô AØ—	‘	Ð?×@ðAúó   ƒ “3²3r  rz   TrŸ   ©Úcache_remoter  N©r˜   r   r%  r×  ©r/   r  r&  r#  r  s   f   @r   Útest_cache_remote_onÚ$TestRefResolver.test_cache_remote_oni	  s�   ù€ Ü“H�:ˆö	Að ˆÜ×*Ò*Ø� °¸Ð0@ô
ˆð ×Ñ ×$Õ$Ø÷ %à×Ñ ×$Õ$Ø÷ %Ñ$÷ %×$úç$×$Ð$ús   ÁA;Á/BÁ;B	ÂB	c                	óØ   a a€ \        4       .oVV 3R  lpRp\        P                  ! R/ RRV/R7      pVP                  V4      ;_uu_ 4         RRR4       R#   + '       g   i     R# ; i)c                ól   <€  SP                  4       #   \         d    SP                  R 4        R# i ; i)zHandler called twice!Nr  r  s   &€€r   r  Ú6TestRefResolver.test_cache_remote_off.<locals>.handler~	  s0   ø€ ð3Ø—|‘|“~Ð%øÜô 3Ø—	‘	Ð1×2ð3úr  r  rz   FrŸ   r  Nr  r  s   f   @r   Útest_cache_remote_offÚ%TestRefResolver.test_cache_remote_off{	  s[   ù€ Ü“H�:ˆö	3ð ˆÜ×*Ò*Ø� °%¸Ð1Aô
ˆð ×Ñ ×$Õ$Ø÷ %×$×$Ò$ús   ÁAÁA)	c           	     	óÖ  a€ \        R 4      oV3R lpRp\        P                  ! R/ RV/R7      pV P                  \        P
                  4      ;_uu_ 4       pVP                  V4      ;_uu_ 4        V P                  R4       RRR4       RRR4       V P                  XP                  \        P
                  ! S4      4       R#   + '       g   i     LJ; i  + '       g   i     LU; i)zOh no! What's this?c                ó   <€ Shr4   r   )rã  r  s   &€r   r  ÚTTestRefResolver.test_if_you_give_it_junk_you_get_a_resolution_error.<locals>.handlerŽ	  s   ø€ ØˆKr2   r  rz   rŸ   r  zShouldn't get this far!N)
r§  r   r%  r«   r   Ú_RefResolutionErrorr×  r    r(   r¨  )r/   r  r&  r#  Úerrr  s   &    @r   Ú3test_if_you_give_it_junk_you_get_a_resolution_errorÚCTestRefResolver.test_if_you_give_it_junk_you_get_a_resolution_error‹	  s§   ø€ ÜÐ0Ó1ˆõ	ð ˆÜ×*Ò*¨2¨r¸UÀGÐ<LÔMˆØ×Ñœz×=Ñ=×>Ô>À#Ø×#Ñ# C×(Õ(Ø—	‘	Ð3Ô4÷ )÷ ?ð 	×Ñ˜Ÿ™¬
×(FÒ(FÀuÓ(MÖN÷ )×(ú÷ ?×>ús$   ÁCÁ1C	ÂCÃCÃCÃC(	c                	óD  € \         P                  ! R / 4      pVP                  4        V P                  \        P
                  4      ;_uu_ 4       pVP                  4        RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)rz   NzFailed to pop the scope)	r   r%  Ú	pop_scoper«   r   r   r…   rº  r¨  )r/   r#  Úexcs   &  r   Ú.test_helpful_error_message_on_failed_pop_scopeÚ>TestRefResolver.test_helpful_error_message_on_failed_pop_scope˜	  sk   € Ü×*Ò*¨2¨rÓ2ˆØ×ÑÔØ×Ñœz×=Ñ=×>Ô>À#Ø×ÑÔ ÷ ?à�‰Ð/´°S·]±]Ó1CÖD÷ ?×>ús   ÁBÂB	c                óÆ  € \         P                  P                  p\         P                  ! RV4      p\         P                  ! WR7      pV P	                  VP                  RR/4      4       RR\         P                  P                  R,          /./p\         P                  ! RV4      p\         P                  ! WER7      pV P	                  VP                  RR/4      4       R# )	z
See #1085.
rz   r"  r_  rŸ   ÚallOfrÈ   r$   N)r   r  r6   r%  rÔ  rË   )r/   r   Úoner   ÚanotherÚtwos   &     r   Ú,test_pointer_within_schema_with_different_idÚ<TestRefResolver.test_pointer_within_schema_with_different_idŸ	  s¾   € ô ×+Ñ+×7Ñ7ˆÜ×%Ò% b¨&Ó1ˆÜ×.Ò.¨vÔDˆ	Ø×Ñ˜×+Ñ+¨[¸%Ð,@ÓAÔBð �vœz×9Ñ9×EÑEÀeÕLÐMÐNð
ˆô ×%Ò% b¨'Ó2ˆÜ×.Ò.¨wÔEˆ	Ø×Ñ˜×+Ñ+¨[¸%Ð,@ÓAÖBr2   c                ó,  a € V 3R lp\         P                  ! R/ RV/R7      p\         P                  ! / \         P                  P                  R7      pRRRR	/pV! WBR
7      pS P                  VP                  / 4      VP                  ^%4      3R4       R# )zZ
See https://github.com/python-jsonschema/jsonschema/issues/1061#issuecomment-1624266555.
c                ó0   <€ SP                  V R 4       RR/# )zhttp://example.com/foor’   rš   rÕ  )r¦  r/   s   &€r   ÚhandleÚNTestRefResolver.test_newly_created_validator_with_ref_resolver.<locals>.handle´	  s   ø€ Ø×Ñ˜SÐ":Ô;Ø˜IÐ&Ð&r2   rz   Úhttpr  r�   r$   zhttp://example.com/barrÈ   rŸ   r"  N©FT)r   r%  r,   rÊ   r5   r(   rË   )r/   r2  r#  r-   r   r   s   f     r   Ú.test_newly_created_validator_with_ref_resolverÚ>TestRefResolver.test_newly_created_validator_with_ref_resolver¯	  s�   ø€ õ
	'ô ×*Ò*¨2¨r¸VÀVÐ<LÔMˆÜ×%Ò%ØÜ!×1Ñ1×<Ñ<ô
ˆ	ð Ð1°6¸5ÐAˆÙ˜fÔ8ˆ	Ø×ÑØ×Ñ Ó# Y×%7Ñ%7¸Ó%;Ð<Øö	
r2   c                óè   € RRRR//RRRR///p\         P                  ! V\         P                  ! RV4      R	7      pV P                  VP	                  RR
/4      VP	                  R^%/4      3R4       R# )zZ
See https://github.com/python-jsonschema/jsonschema/issues/1124#issuecomment-1632574249.
r¥  ÚxrÈ   z#/definitions/xrò  r’   rš   rz   r"  ÚyNr5  )r   r©   r%  r(   rË   )r/   r   r   s   &  r   Ú2test_refresolver_with_pointer_in_schema_with_no_idÚBTestRefResolver.test_refresolver_with_pointer_in_schema_with_no_idÄ	  sˆ   € ð ˜3 Ð):Ð ;Ð<Ø˜C &¨)Ð!4Ð5ð
ˆô
 ×3Ò3ØÜ×,Ò,¨R°Ó8ô
ˆ	ð 	×ÑØ×Ñ  c 
Ó+¨Y×-?Ñ-?ÀÀbÀ	Ó-JÐKØö	
r2   )r¸  r#  r!  N)r[   rÏ   r\   rÐ   r»  r¹  rº  r0   rÂ  rÅ  rÎ  rÒ  rÛ  rè  rô  rü  rÿ  r  r  r  r"  r'  r.  r6  r;  rÑ   r   r2   r   rµ  rµ  é  st   † à€HØ€JØ˜xÐ(€Mò
ò)òKò	4ò+ò+ò'ò,.ò/ò"/ò	/òò$ò OòEòCò 
ö*
r2   rµ  c                ó    € R  p\        WR7      # )c                óª   € V P                    Uu. uF  p\        V4      NK  	  upV P                   Uu. uF  p\        V4      NK  	  up3# u upi u upi r4   )rË  rº  rH   )r  rÖ  s   & r   ÚkeyÚsorted_errors.<locals>.keyÚ	  sJ   € à"ŸZšZÓ(™Z˜ŒS�ŽV™ZÑ(Ø"×.Ò.Ó/Ñ.˜ŒS�ŽVÑ.Ñ/ð
ð 	
ùÚ(ùÚ/s
   �A³A)r?  )Úsorted)r   r?  s   & r   rÒ  rÒ  Ù	  s   € ò
ô
 �&Ô"Ð"r2   c                  ó(   € ] tR tRt$ R]R&   R tRtR# )rÚ  iâ	  zdict[str, Any]Ú
_responsesc                	ó´   € V P                   P                  V4      pVf   \        R\        V4      ,           4      h\	        \
        P                  ! V4      4      # )NzUnknown URL: )rC  r|   r§  ra   Ú_ReallyFakeJSONResponserà  rá  )r/   rã  r  s   && r   r|   ÚReallyFakeRequests.getç	  sC   € Ø—?‘?×&Ñ& sÓ+ˆØŠ;Ü˜_¬t°C«yÕ8Ó9Ð9Ü&¤t§z¢z°(Ó';Ó<Ð<r2   r   N)r[   rÏ   r\   rÐ   r  r|   rÑ   r   r2   r   rÚ  rÚ  â	  s   ‡ ð Óö=r2   rÚ  c                  ó(   € ] tR tRt$ R]R&   R tRtR# )rE  iî	  rº  Ú	_responsec                	óB   € \         P                  ! V P                  4      # r4   )rà  ÚloadsrH  r.   s   &r   rà  Ú_ReallyFakeJSONResponse.jsonó	  s   € Ü�zŠz˜$Ÿ.™.Ó)Ð)r2   r   N)r[   rÏ   r\   rÐ   r  rà  rÑ   r   r2   r   rE  rE  î	  s   ‡ ð ƒNö*r2   rE  ):Ú
__future__r   Úcollectionsr   r   Ú
contextlibr   Údecimalr   Úior   Útypingr	   Úunittestr
   r   Úurllib.requestr   rà  rð  r”  rî  r_  Úattrsr   r   Úreferencing.jsonschemar   Úreferencing.exceptionsr¬  Ú
jsonschemar   r   r   r   r   r    r"   rÓ   rÅ  r?  rY  rÝ  rõ  r	  r  r  r  r  r  r  ri  r‘  r¢  rµ  rÒ  rÚ  rE  r   r2   r   Ú<module>rX     s‹  ðÝ "ç )Ý %Ý Ý Ý ß #Ý 'Û Û 	Û 
Û Û ç Ý .Û ÷õ ò1ôL6˜(ô L6ô^c
 (ô c
ôLL
 ô L
÷^5
ñ 5
ôpwEÐ-ô wE÷tJñ Jô4HÐ-Ð/AÀ8ô Hô@)Ð-Ð/AÀ8ô )ô)Ð,¨hô )ô)Ð,¨hô )ô)Ð1°8ô )ô)Ð1°8ô )ô%˜(ô %ôLJ�xô LJô^^M�8ô ^MôBC�Hô Cô>�hô ô4l
�hô l
ò`#ð ÷=ð =ó ð=ð ÷*ð *ó ò*r2   