Ë
    oPêjÞ“  ã                   ó.  — d dl mZ d dlZd dlmZmZmZmZmZ d dl	m
Z
  edd„ d„ d„ d	„ ¬
«      Zd„ Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Zej$                  j'                  deeeeej(                  g«      d„ «       Zy)é    )ÚHashTrieMapN)ÚAnchorÚRegistryÚResourceÚSpecificationÚ
exceptions)ÚDRAFT202012zid-and-childrenc                 ó$   — | j                  d«      S )NÚID©Úget©Úcontentss    ú`/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/referencing/tests/test_core.pyú<lambda>r   	   s   € ˜8Ÿ<™<¨Ó-€ ó    c                 ó&   — | j                  dg «      S )NÚchildrenr   r   s    r   r   r   
   s   €  X§\¡\°*¸bÓ%A€ r   c           
      óª   — |j                  di «      j                  «       D ��cg c]"  \  }}t        || j                  |¬«      ¬«      ‘Œ$ c}}S c c}}w )NÚanchorsr   ©ÚnameÚresource)r   Úitemsr   Úcreate_resource)Úspecificationr   r   Úeachs       r   r   r      sT   € ð
 #Ÿ,™, y°"Ó5×;Ñ;Ó=÷0ñ
 ˆD�$ô	 	ØØ"×2Ñ2¸DÐ2ÓAö	
ó0€ ùó 0s   ¤'Ac                 ót   — t        | «      dz  s)t        d„ | d d d…   D «       «      r|j                  |«      S |S )Né   c              3   ó&   K  — | ]	  }|d k(  –— Œ y­w)r   N© )Ú.0r   s     r   ú	<genexpr>z<lambda>.<locals>.<genexpr>   s   è ø€ Ò= t�˜
Õ"Ñ=ùs   ‚)ÚlenÚallÚin_subresource©ÚsegmentsÚresolverÚsubresources      r   r   r      sC   € ä�8‹}˜qÒ ÜÑ=¨x¹¸!¸©}Ô=Ô=ð 	×Ñ Ó,ð ð ð	 r   ©r   Úid_ofÚsubresources_ofÚ
anchors_inÚmaybe_in_subresourcec                 ó   — t        d«      ‚)zQ
    A retriever suitable for use in tests which expect it never to be used.
    z2This retrieve function expects to never be called!)ÚRuntimeError©Úuris    r   Úblow_upr4      s   € ô ÐKÓ
LÐLr   c                   ó&  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d „ Z"d!„ Z#d"„ Z$d#„ Z%d$„ Z&d%„ Z'd&„ Z(d'„ Z)d(„ Z*d)„ Z+d*„ Z,d+„ Z-d,„ Z.d-„ Z/d.„ Z0d/„ Z1y0)1ÚTestRegistryc                 ó€   — t        j                  ddi¬«      }d}t        «       j                  ||¬«      }||   |u sJ ‚y)zQ
        Adding a resource to the registry then allows re-retrieving it.
        ÚfooÚbarr   úurn:example©r3   r   N)r   Úopaquer   Úwith_resource©Úselfr   r3   Úregistrys       r   Útest_with_resourcezTestRegistry.test_with_resource#   sD   € ô
 —?‘?¨U°E¨NÔ;ˆØˆÜ“:×+Ñ+°¸hÐ+ÓGˆØ˜‰} Ñ(Ð(Ñ(r   c                 óö   — t        j                  i ¬«      }t        ddit        ¬«      }t        «       j	                  d|fd|fg«      }|t        «       j                  d|¬«      j                  d|¬«      k(  sJ ‚y)	zT
        Adding multiple resources to the registry is like adding each one.
        r   r8   r9   ©r   r   úhttp://example.com/1úhttp://example.com/foo/barr;   N)r   r<   ÚID_AND_CHILDRENr   Úwith_resourcesr=   ©r?   ÚoneÚtwor@   s       r   Útest_with_resourcesz TestRegistry.test_with_resources-   sŽ   € ô
 �o‰o rÔ*ˆÜ ¨ ¼oÔNˆÜ“:×,Ñ,à'¨Ð-Ø-¨sÐ3ðó
ˆð œ8›:×3Ñ3Ø&Øð 4ó 
÷ ‰-Ø,Øð ó 
ò
ð 	
ñ 
r   c                 ó�   — d}t         j                  |ddœ«      }|t        «       z  }|t        «       j                  ||«      k(  sJ ‚y )Nzurn:example:resourceé   ©r   r8   )rF   r   r   r=   ©r?   r3   r   r@   s       r   Útest_matmul_resourcez!TestRegistry.test_matmul_resourceB   sE   € Ø$ˆÜ"×2Ñ2¸#ÀbÑ3IÓJˆØœh›jÑ(ˆØœ8›:×3Ñ3°C¸ÓBÒBÐBÑBr   c                 óÒ   — d}t         j                  |ddœ«      }d}t         j                  |ddœ«      }||gt        «       z  }|t        «       j                  ||f||fg«      k(  sJ ‚y )Nzurn:example:onerM   rN   zurn:example:two)rF   r   r   rG   )r?   Úone_urirI   Útwo_urirJ   r@   s         r   Útest_matmul_many_resourcesz'TestRegistry.test_matmul_many_resourcesH   sw   € Ø#ˆÜ×-Ñ-°WÀRÑ.HÓIˆà#ˆÜ×-Ñ-°WÀRÑ.HÓIˆà˜�:¤£
Ñ*ˆØœ8›:×4Ñ4Ø�sˆ^˜g s˜^Ð,ó
ò 
ð 	
ñ 
r   c                 ó  — t        j                  ddi¬«      }t        j                  t        j
                  «      5 }|t        «       z   d d d «       j                  t	        j
                  |¬«      k(  sJ ‚y # 1 sw Y   Œ/xY w)Nr8   r9   r   )r   )r   r<   ÚpytestÚraisesr   ÚNoInternalIDr   Úvalue)r?   r   Úes      r   Útest_matmul_resource_without_idz,TestRegistry.test_matmul_resource_without_idT   sd   € Ü—?‘?¨U°E¨NÔ;ˆÜ�]‰]œ:×2Ñ2Ó3ð 	"°qØ”x“zÒ!÷	"à�w‰wœ*×1Ñ1¸8ÔDÒDÐDÑD÷	"ð 	"ús   ¼A8Á8Bc                 ó~   — d}ddi}t        «       j                  ||fg«      }t        |t        ¬«      }||   |k(  sJ ‚y )Nr:   ú$schemaú,https://json-schema.org/draft/2020-12/schemarC   )r   Úwith_contentsr   r	   )r?   r3   Úschemar@   Úexpecteds        r   Ú#test_with_contents_from_json_schemaz0TestRegistry.test_with_contents_from_json_schemaZ   sH   € ØˆØÐKÐLˆÜ“:×+Ñ+¨c°6¨]¨OÓ<ˆä V¼;ÔGˆØ˜‰} Ò(Ð(Ñ(r   c                 ó¢   — d}t        «       j                  |ddifgt        j                  ¬«      }||   t	        j
                  ddi«      k(  sJ ‚y )Nr:   r8   r9   ©Údefault_specification)r   r_   r   ÚOPAQUEr   r<   )r?   r3   r@   s      r   Ú,test_with_contents_and_default_specificationz9TestRegistry.test_with_contents_and_default_specificationb   sW   € ØˆÜ“:×+Ñ+Ø�E˜5�>Ð"Ð#Ü"/×"6Ñ"6ð ,ó 
ˆð ˜‰}¤§¡°¸°Ó ?Ò?Ð?Ñ?r   c                 óÌ   — d}t        «       j                  t        |«      D �cg c]  }t        |«      ddif‘Œ c}t        j
                  ¬«      }t        |«      |k(  sJ ‚y c c}w )Né   r8   r9   rd   )r   r_   ÚrangeÚstrr   rf   r$   )r?   ÚtotalÚir@   s       r   Útest_lenzTestRegistry.test_lenj   s_   € ØˆÜ“:×+Ñ+Ü/4°U«|Ö<¨!Œc�!‹f�u˜e�nÒ%Ò<Ü"/×"6Ñ"6ð ,ó 
ˆô �8‹} Ò%Ð%Ñ%ùò =s   £A!c                 ó   — t        «       rJ ‚y ©N)r   ©r?   s    r   Útest_bool_emptyzTestRegistry.test_bool_emptyr   s   € Ü”:Ðˆ~�:r   c                 ó°   — t        «       j                  t        d«      D �cg c]  }t        |«      ddif‘Œ c}t        j
                  ¬«      }|sJ ‚y c c}w )Né   r8   r9   rd   )r   r_   rj   rk   r   rf   ©r?   rm   r@   s      r   Útest_bool_not_emptyz TestRegistry.test_bool_not_emptyu   sO   € Ü“:×+Ñ+Ü/4°Q«xÖ8¨!Œc�!‹f�u˜e�nÒ%Ò8Ü"/×"6Ñ"6ð ,ó 
ˆñ ˆ‰xùò 9s   ¡Ac                 ó  — t        «       j                  t        d«      D �cg c]  }t        |«      ddif‘Œ c}t        j
                  ¬«      }t        |«      t        d«      D �ch c]  }t        |«      ’Œ c}k(  sJ ‚y c c}w c c}w )Né   r8   r9   rd   )r   r_   rj   rk   r   rf   Úsetru   s      r   Ú	test_iterzTestRegistry.test_iter|   sr   € Ü“:×+Ñ+Ü/4°Q«xÖ8¨!Œc�!‹f�u˜e�nÒ%Ò8Ü"/×"6Ñ"6ð ,ó 
ˆô �8‹}´°q³Ö :¨A¤ Q¥Ò :Ò:Ð:Ñ:ùò 9ùò !;s   ¡A?Á%Bc                 ó~   — t        j                  ddi«      }d}t        ||i«      j                  «       }||   |u sJ ‚y ©Nr8   r9   r:   )r   r<   r   Úcrawlr>   s       r   Ú'test_crawl_still_has_top_level_resourcez4TestRegistry.test_crawl_still_has_top_level_resourceƒ   sB   € Ü—?‘? E¨5 >Ó2ˆØˆÜ˜S (˜OÓ,×2Ñ2Ó4ˆØ˜‰} Ñ(Ð(Ñ(r   c                 ó   — d}t         j                  d|ddœgdœ«      }|t        «       z  }t        j                  t
        «      5  ||    d d d «       t         j                  |ddœ«      }|j                  «       |   |k(  sJ ‚y # 1 sw Y   Œ:xY w)Nú	urn:childúurn:rootrM   rN   ©r   r   )rF   r   r   rV   rW   ÚLookupErrorr}   )r?   Úchild_idÚrootr@   ra   s        r   Útest_crawl_finds_a_subresourcez+TestRegistry.test_crawl_finds_a_subresource‰   s�   € ØˆÜ×.Ñ.Ø°8ÀBÑ,GÐ+HÑIó
ˆð œ(›*Ñ$ˆÜ�]‰]œ;Ó'ñ 	Ø�XÒ÷	ô #×2Ñ2¸(È2Ñ3NÓOˆØ�~‰~Ó Ñ)¨XÒ5Ð5Ñ5÷		ð 	ús   ÁBÂBc                 ó  — t         j                  dddidœ«      }|t        «       z  }|j                  «       j	                  |j                  «       d«      j                  t        dt         j                  d«      ¬«      k(  sJ ‚y )Núurn:barr8   rM   ©r   r   r   )rF   r   r   r}   ÚanchorÚidrY   r   ©r?   r   r@   s      r   Ú test_crawl_finds_anchors_with_idz-TestRegistry.test_crawl_finds_anchors_with_id•   sw   € Ü"×2Ñ2Ø¨%°¨Ñ5ó
ˆð œh›jÑ(ˆà�~‰~Ó×&Ñ& x§{¡{£}°eÓ<×BÑBÄfØÜ$×4Ñ4°RÓ8ôG
ò 
ð 	
ñ 
r   c                 ó  — t         j                  dddii«      }t        «       j                  d|«      }|j	                  «       j                  dd«      j                  t        dt         j                  d«      ¬«      k(  sJ ‚y )Nr   r8   rM   r�   r   )rF   r   r   r=   r}   rŠ   rY   r   rŒ   s      r   Útest_crawl_finds_anchors_no_idz+TestRegistry.test_crawl_finds_anchors_no_id    st   € Ü"×2Ñ2°IÀÀr¸{Ð3KÓLˆÜ“:×+Ñ+¨J¸ÓAˆà�~‰~Ó×&Ñ& z°5Ó9×?Ñ?Ä6ØÜ$×4Ñ4°RÓ8ôD
ò 
ð 	
ñ 
r   c                 óš   — t        j                  ddi«      }d}t        «       j                  ||«      }|j	                  |«      ddik(  sJ ‚y r|   )r   r<   r   r=   r   r>   s       r   Útest_contentszTestRegistry.test_contents©   sJ   € Ü—?‘? E¨5 >Ó2ˆØˆÜ“:×+Ñ+¨C°Ó:ˆØ× Ñ  Ó%¨%°¨Ò7Ð7Ñ7r   c                 óˆ   — d}t         j                  d|dz   i«      }|t        «       z  }||   ||dz      cxk(  r|k(  sJ ‚ J ‚y ©Núhttp://example.com/r   ú#)rF   r   r   rO   s       r   Ú#test_getitem_strips_empty_fragmentsz0TestRegistry.test_getitem_strips_empty_fragments¯   sR   € Ø#ˆÜ"×2Ñ2°D¸#À¹)Ð3DÓEˆØœh›jÑ(ˆØ˜‰} ¨¨s©Ñ 3Ô?°xÒ?Ð?Ñ?Ð?Ñ?r   c                 óÂ   — d}t         j                  d|dz   i«      }|t        «       z  }|j                  |«      |j                  |dz   «      cxk(  rd|dz   ik(  sJ ‚ J ‚y r“   )rF   r   r   r   rO   s       r   Ú$test_contents_strips_empty_fragmentsz1TestRegistry.test_contents_strips_empty_fragmentsµ   sv   € Ø#ˆÜ"×2Ñ2°D¸#À¹)Ð3DÓEˆØœh›jÑ(ˆà×Ñ˜cÓ"Ø× Ñ   s¡Ó+ô!à�c˜C‘iÐ ò!ð	
ñ!ð	
ñ!r   c                 óô   — t        «       }t        j                  t        j                  «      5 }|j                  d«       d d d «       j                  t        j                  d¬«      k(  sJ ‚y # 1 sw Y   Œ/xY w)Nr:   ©Úref)r   rV   rW   r   ÚNoSuchResourcer   rY   ©r?   r@   rZ   s      r   Ú"test_contents_nonexistent_resourcez/TestRegistry.test_contents_nonexistent_resource¿   s]   € Ü“:ˆÜ�]‰]œ:×4Ñ4Ó5ð 	-¸Ø×Ñ˜mÔ,÷	-à�w‰wœ*×3Ñ3¸ÔFÒFÐFÑF÷	-ð 	-ús   ®A.Á.A7c                 ó*  — t         j                  dddii«      }t        «       j                  d|«      }|j	                  dd«      }|j
                  t        dt         j                  d«      ¬«      k(  sJ ‚|j                  |j                  «       k(  sJ ‚y )Nr   r8   r9   r:   r   )	rF   r   r   r=   rŠ   rY   r   r@   r}   )r?   r   r@   Ú	retrieveds       r   Útest_crawled_anchorz TestRegistry.test_crawled_anchorÅ   sŠ   € Ü"×2Ñ2°IÀÀu¸~Ð3NÓOˆÜ“:×+Ñ+¨M¸8ÓDˆØ—O‘O M°5Ó9ˆ	Ø�‰¤&ØÜ$×4Ñ4°UÓ;ô#
ò 
ð 	
ð 
ð ×!Ñ! X§^¡^Ó%5Ò5Ð5Ñ5r   c                 óö   — t        «       }t        j                  t        j                  «      5 }|j                  dd«       d d d «       j                  t        j                  d¬«      k(  sJ ‚y # 1 sw Y   Œ/xY w)Nr:   r8   rš   )r   rV   rW   r   rœ   rŠ   rY   r�   s      r   Ú#test_anchor_in_nonexistent_resourcez0TestRegistry.test_anchor_in_nonexistent_resourceÏ   s]   € Ü“:ˆÜ�]‰]œ:×4Ñ4Ó5ð 	2¸Ø�O‰O˜M¨5Ô1÷	2à�w‰wœ*×3Ñ3¸ÔFÒFÐFÑF÷	2ð 	2ús   ®A/Á/A8c                 óÞ   — t        j                  i ¬«      }t        j                  ddi«      }t	        ||dœ«      }|t	        «       j                  d|fd|fg«      j                  «       k(  sJ ‚y )Nr   r8   r9   )rD   rE   rD   rE   )r   r<   rF   r   r   rG   r}   rH   s       r   Ú	test_initzTestRegistry.test_initÕ   sz   € Ü�o‰o rÔ*ˆÜ×-Ñ-¨u°e¨nÓ=ˆÜà(+Ø.1ñó
ˆð Ü‹zß‰^à+¨SÐ1Ø1°3Ð7ðó÷ ‰U‹Wòð
	
ñr   c                 ó  — t        j                  i ¬«      }t        j                  ddi«      }t	        d|i«      j                  d|«      }|j                  «       t	        «       j                  d|fd|fg«      j                  «       k(  sJ ‚y)z…
        Passing a `dict` to `Registry` gets converted to a `HashTrieMap`.

        So continuing to use the registry works.
        r   r8   r9   rD   rE   N)r   r<   rF   r   r   r=   r}   rG   rH   s       r   Útest_dict_conversionz!TestRegistry.test_dict_conversionê   s�   € ô �o‰o rÔ*ˆÜ×-Ñ-¨u°e¨nÓ=ˆÜØ# SÐ)ó
ç
‰-Ð4°cÓ
:ð 	ð �N‰NÓÜ‹zß‰^à+¨SÐ1Ø1°3Ð7ðó÷ ‰U‹Wòð
	
ñr   c                 óÜ   — t        «       }t        j                  t        j                  «      5 }|d    d d d «       j
                  t        j                  d¬«      k(  sJ ‚y # 1 sw Y   Œ/xY w)Nzurn:bigboomrš   )r   rV   rW   r   rœ   rY   r�   s      r   Útest_no_such_resourcez"TestRegistry.test_no_such_resource  sW   € Ü“:ˆÜ�]‰]œ:×4Ñ4Ó5ð 	$¸Ø�]Ò#÷	$à�w‰wœ*×3Ñ3¸ÔFÒFÐFÑF÷	$ð 	$ús   ®A"Á"A+c                 óB  — t        j                  i ¬«      }t        j                  ddi«      }t        j                  ddi«      }t        j                  dddii«      }t	        d|i«      }t	        «       j                  d	|«      }t	        ||d
œ«      }t	        «       j                  d|«      j                  «       }|j                  |||«      t	        d|fd|fd|fgt        dt        dt        j                  d«      ¬«      i«      ¬«      j                  d	|«      k(  sJ ‚y )Nr   r8   r9   ÚbazÚquuxr   rM   rD   rE   ©rD   úhttp://example.com/bazúhttp://example.com/foo/quuxr®   )r¯   r8   r   )r   )
r   r<   rF   r   r   r=   r}   Úcombiner   r   )	r?   rI   rJ   ÚthreeÚfourÚfirstÚsecondÚthirdÚfourths	            r   Útest_combinezTestRegistry.test_combine  s.  € Ü�o‰o rÔ*ˆÜ×-Ñ-¨u°e¨nÓ=ˆÜ×/Ñ/°¸°Ó@ˆÜ×.Ñ.°	¸EÀ2¸;Ð/GÓHˆäÐ0°#Ð6Ó7ˆÜ“×)Ñ)Ð*FÈÓLˆÜà(+Ø*/ñó
ˆô ‹Jß‰]Ø-Øó÷ ‰U‹Wð 	ð �}‰}˜V U¨FÓ3´xà'¨Ð-Ø)¨5Ð1Ø.°Ð5ðô
  à:¼FØ"Ü!0×!@Ñ!@ÀÓ!Dô=ðóô8
÷ ‰-Ð4°cÓ
:ò;ð 	;ñ ;r   c                 óH   — t        ddi«      }|j                  |«      |u sJ ‚y)zõ
        Combining a registry with itself short-circuits.

        This is a performance optimization -- otherwise we do lots more work
        (in jsonschema this seems to correspond to making the test suite take
         *3x* longer).
        úurn:foor9   N)r   r°   ©r?   r@   s     r   Útest_combine_selfzTestRegistry.test_combine_self.  s,   € ô ˜Y¨Ð.Ó/ˆØ×Ñ Ó)¨XÑ5Ð5Ñ5r   c                 ó”  — t        j                  i ¬«      }t        j                  ddi«      }t        j                  ddi«      }t	        «       j                  d|«      }t	        «       j                  d|«      }t	        ||dœ«      }t	        d|fd|fd	|fg«      }|j                  ||«      }||k7  sJ ‚|j                  «       |k(  sJ ‚y )
Nr   r8   r9   r«   r¬   rD   rE   r­   r®   )r   r<   rF   r   r   r=   r°   r}   )	r?   rI   rJ   r±   r³   r´   rµ   ra   Úcombineds	            r   Ú%test_combine_with_uncrawled_resourcesz2TestRegistry.test_combine_with_uncrawled_resources:  sÕ   € Ü�o‰o rÔ*ˆÜ×-Ñ-¨u°e¨nÓ=ˆÜ×/Ñ/°¸°Ó@ˆä“
×(Ñ(Ð)?ÀÓEˆÜ“×)Ñ)Ð*FÈÓLˆÜà(+Ø*/ñó
ˆô à'¨Ð-Ø-¨sÐ3Ø)¨5Ð1ðó
ˆð —=‘= ¨Ó/ˆØ˜8Ò#Ð#Ð#Ø�~‰~Ó 8Ò+Ð+Ñ+r   c                 ó  — t        j                  i ¬«      }t        j                  ddi«      }t        j                  ddi«      }d„ }t	        «       j                  d|«      }t	        |¬«      j                  d	|«      }t	        «       j                  d
|«      }|j                  ||«      t	        |¬«      j                  d|fd	|fd
|fg«      k(  sJ ‚|j                  ||«      t	        |¬«      j                  d|fd	|fd
|fg«      k(  sJ ‚y )Nr   r8   r9   r«   r¬   c                  ó   — y rp   r!   r2   s    r   Úretrievez@TestRegistry.test_combine_with_single_retrieve.<locals>.retrieveW  ó   € Ør   rD   ©rÁ   úhttp://example.com/2úhttp://example.com/3©r   r<   rF   r   r   r=   r°   rG   ©r?   rI   rJ   r±   rÁ   r³   r´   rµ   s           r   Ú!test_combine_with_single_retrievez.TestRegistry.test_combine_with_single_retrieveR  s&  € Ü�o‰o rÔ*ˆÜ×-Ñ-¨u°e¨nÓ=ˆÜ×/Ñ/°¸°Ó@ˆò	ô “
×(Ñ(Ð)?ÀÓEˆÜØô
ç
‰-Ð.°Ó
4ð 	ô “
×(Ñ(Ð)?ÀÓGˆà�}‰}˜V UÓ+¬xØô0
ç
‰.à'¨Ð-Ø'¨Ð-Ø'¨Ð/ðó
ò
ð 	
ð 
ð �~‰~˜e UÓ+¬xØô0
ç
‰.à'¨Ð-Ø'¨Ð-Ø'¨Ð/ðó
ò
ð 	
ñ 
r   c                 ó  — t        j                  i ¬«      }t        j                  ddi«      }t        j                  ddi«      }d„ }t	        |¬«      j                  d|«      }t	        |¬«      j                  d	|«      }t	        |¬«      j                  d
|«      }|j                  ||«      t	        |¬«      j                  d|fd	|fd
|fg«      k(  sJ ‚|j                  ||«      t	        |¬«      j                  d|fd	|fd
|fg«      k(  sJ ‚y )Nr   r8   r9   r«   r¬   c                  ó   — y rp   r!   r2   s    r   rÁ   z@TestRegistry.test_combine_with_common_retrieve.<locals>.retrievex  rÂ   r   rÃ   rD   rÄ   rÅ   rÆ   rÇ   s           r   Ú!test_combine_with_common_retrievez.TestRegistry.test_combine_with_common_retrieves  s6  € Ü�o‰o rÔ*ˆÜ×-Ñ-¨u°e¨nÓ=ˆÜ×/Ñ/°¸°Ó@ˆò	ô  (Ô+×9Ñ9Ø"Øó
ˆô Øô
ç
‰-Ð.°Ó
4ð 	ô  (Ô+×9Ñ9Ø"Øó
ˆð
 �}‰}˜V UÓ+¬xØô0
ç
‰.à'¨Ð-Ø'¨Ð-Ø'¨Ð/ðó
ò
ð 	
ð 
ð �~‰~˜e UÓ+¬xØô0
ç
‰.à'¨Ð-Ø'¨Ð-Ø'¨Ð/ðó
ò
ð 	
ñ 
r   c                 óÀ  — t        j                  i ¬«      }t        j                  ddi«      }t        j                  ddi«      }d„ }d„ }t	        |¬«      j                  d	|«      }t	        «       j                  d
|«      }t	        |¬«      j                  d|«      }t        j                  t        d¬«      5  |j                  ||«       d d d «       y # 1 sw Y   y xY w)Nr   r8   r9   r«   r¬   c                  ó   — y rp   r!   r2   s    r   Úfoo_retrievezDTestRegistry.test_combine_conflicting_retrieve.<locals>.foo_retrieveŸ  rÂ   r   c                  ó   — y rp   r!   r2   s    r   Úbar_retrievezDTestRegistry.test_combine_conflicting_retrieve.<locals>.bar_retrieve¢  rÂ   r   rÃ   rD   rÄ   rÅ   zconflict.*retriev©Úmatch)
r   r<   rF   r   r   r=   rV   rW   Ú	Exceptionr°   )	r?   rI   rJ   r±   rÎ   rÐ   r³   r´   rµ   s	            r   Ú!test_combine_conflicting_retrievez.TestRegistry.test_combine_conflicting_retrieveš  sÅ   € Ü�o‰o rÔ*ˆÜ×-Ñ-¨u°e¨nÓ=ˆÜ×/Ñ/°¸°Ó@ˆò	ò	ô  ,Ô/×=Ñ=Ø"Øó
ˆô “×)Ñ)Ð*@À#ÓFˆÜ ,Ô/×=Ñ=Ø"Øó
ˆô
 �]‰]œ9Ð,?Ô@ñ 	)Ø�M‰M˜& %Ô(÷	)÷ 	)ñ 	)ús   Â8CÃCc                 ó¼   — t        j                  i ¬«      }t        j                  ddi«      }t	        ||dœ«      }|j                  d«      t	        d|i«      k(  sJ ‚y )Nr   r8   r9   )r¹   rˆ   r¹   rˆ   )r   r<   rF   r   r   ÚremoverH   s       r   Útest_removezTestRegistry.test_remove²  sT   € Ü�o‰o rÔ*ˆÜ×-Ñ-¨u°e¨nÓ=ˆÜ¨¸Ñ<Ó=ˆØ�‰˜yÓ)¬X°yÀ#Ð6FÓ-GÒGÐGÑGr   c                 óø   — t        j                  i ¬«      }t        j                  ddi«      }t	        «       j                  d|fd|fg«      }|j                  d«      t	        «       j                  d|«      k(  sJ ‚y )Nr   r8   r9   r¹   rˆ   )r   r<   rF   r   r   rG   rÖ   r=   rH   s       r   Útest_remove_uncrawledz"TestRegistry.test_remove_uncrawled¸  sz   € Ü�o‰o rÔ*ˆÜ×-Ñ-¨u°e¨nÓ=ˆÜ“:×,Ñ,Ø˜Ð 	¨3Ð/Ð0ó
ˆð �‰˜yÓ)¬X«Z×-EÑ-EØØó.
ò 
ð 	
ñ 
r   c                 ó4  — t        j                  i ¬«      }t        j                  dddii«      }t	        «       j                  d|fd|fg«      j                  «       }|j                  d«      t	        «       j                  d|«      j                  «       k(  sJ ‚y )Nr   r   r8   r9   r¹   rˆ   )	r   r<   rF   r   r   rG   r}   rÖ   r=   rH   s       r   Útest_remove_with_anchorsz%TestRegistry.test_remove_with_anchorsÃ  s“   € Ü�o‰o rÔ*ˆÜ×-Ñ-¨y¸5À%¸.Ð.IÓJˆä‹Jß‰^Ø˜SÐ! I¨sÐ#3Ð4ó÷ ‰U‹Wð 	ð �O‰O˜IÓ&Ü‹zß‰]ØØó÷ ‰U‹Wòð	
ñr   c                 óð   — t        j                  t        j                  «      5 }t	        «       j                  d«       d d d «       j                  t        j                  d¬«      k(  sJ ‚y # 1 sw Y   Œ/xY w)Nzurn:doesNotExistrš   )rV   rW   r   rœ   r   rÖ   rY   )r?   rZ   s     r   Útest_remove_nonexistent_uriz(TestRegistry.test_remove_nonexistent_uri×  sZ   € Ü�]‰]œ:×4Ñ4Ó5ð 	2¸Ü‹J×ÑÐ0Ô1÷	2à�w‰wœ*×3Ñ3Ð8JÔKÒKÐKÑK÷	2ð 	2ús   ¤A,Á,A5c                 ó’   ‡— t        j                  ddi«      Št        ˆfd„¬«      }|j                  d«      j                  ‰k(  sJ ‚y )Nr8   r9   c                 ó   •— ‰S rp   r!   ©r3   r8   s    €r   r   z,TestRegistry.test_retrieve.<locals>.<lambda>Þ  s   ø€ °€ r   rÃ   r:   )r   r<   r   Úget_or_retrieverY   )r?   r@   r8   s     @r   Útest_retrievezTestRegistry.test_retrieveÜ  s>   ø€ Ü�o‰o˜u e˜nÓ-ˆÜ£_Ô5ˆØ×'Ñ'¨Ó6×<Ñ<ÀÒCÐCÑCr   c                 ó(  ‡— t        j                  ddi«      Šˆfd„}t        |¬«      }|j                  d«      j                  ‰k(  sJ ‚t        j                  t        j                  «      5  |j                  d«       d d d «       y # 1 sw Y   y xY w)Nr8   r9   c                 ó(   •— | dk(  r‰S t        d«      ‚)Núurn:succeedzOh no!)rÓ   rà   s    €r   rÁ   z@TestRegistry.test_retrieve_arbitrary_exception.<locals>.retrieveä  s   ø€ Ø�mÒ#Ø�
Ü˜HÓ%Ð%r   rÃ   rå   úurn:uhoh)	r   r<   r   rá   rY   rV   rW   r   ÚUnretrievable©r?   rÁ   r@   r8   s      @r   Ú!test_retrieve_arbitrary_exceptionz.TestRegistry.test_retrieve_arbitrary_exceptioná  sz   ø€ Ü�o‰o˜u e˜nÓ-ˆô	&ô
  XÔ.ˆØ×'Ñ'¨Ó6×<Ñ<ÀÒCÐCÐCÜ�]‰]œ:×3Ñ3Ó4ñ 	1Ø×$Ñ$ ZÔ0÷	1÷ 	1ñ 	1úó   Á-BÂBc                 ó(  ‡— t        j                  ddi«      Šˆfd„}t        |¬«      }|j                  d«      j                  ‰k(  sJ ‚t        j                  t        j                  «      5  |j                  d«       d d d «       y # 1 sw Y   y xY w)Nr8   r9   c                 ó>   •— | dk(  r‰S t        j                  | ¬«      ‚)Nrå   rš   )r   rœ   rà   s    €r   rÁ   z=TestRegistry.test_retrieve_no_such_resource.<locals>.retrieveñ  s!   ø€ Ø�mÒ#Ø�
Ü×+Ñ+°Ô4Ð4r   rÃ   rå   ræ   )	r   r<   r   rá   rY   rV   rW   r   rœ   rè   s      @r   Útest_retrieve_no_such_resourcez+TestRegistry.test_retrieve_no_such_resourceî  sz   ø€ Ü�o‰o˜u e˜nÓ-ˆô	5ô
  XÔ.ˆØ×'Ñ'¨Ó6×<Ñ<ÀÒCÐCÐCÜ�]‰]œ:×4Ñ4Ó5ñ 	1Ø×$Ñ$ ZÔ0÷	1÷ 	1ñ 	1úrê   c                 ó´   — d„ }t        |¬«      }t        j                  t        j                  «      5  |j                  d«       d d d «       y # 1 sw Y   y xY w)Nc                 ó,   — t        j                  i «      S rp   )r   Úfrom_contentsr2   s    r   rÁ   zKTestRegistry.test_retrieve_cannot_determine_specification.<locals>.retrieveü  s   € Ü×)Ñ)¨"Ó-Ð-r   rÃ   ræ   )r   rV   rW   r   ÚCannotDetermineSpecificationrá   )r?   rÁ   r@   s      r   Ú,test_retrieve_cannot_determine_specificationz9TestRegistry.test_retrieve_cannot_determine_specificationû  sH   € ò	.ô  XÔ.ˆÜ�]‰]œ:×BÑBÓCñ 	1Ø×$Ñ$ ZÔ0÷	1÷ 	1ñ 	1ús   ³AÁAc                 ó¬   — t        j                  ddi«      }t        d|it        ¬«      }|d   |k(  sJ ‚|j	                  d«      j
                  |k(  sJ ‚y )Nr8   r9   r:   rÃ   )r   r<   r   r4   rá   rY   )r?   r8   r@   s      r   Ú(test_retrieve_already_available_resourcez5TestRegistry.test_retrieve_already_available_resource  sW   € Ü�o‰o˜u e˜nÓ-ˆÜ˜]¨CÐ0¼7ÔCˆØ˜Ñ&¨#Ò-Ð-Ð-Ø×'Ñ'¨Ó6×<Ñ<ÀÒCÐCÑCr   c                 óè   — t         j                  dddœ«      }t         j                  d|j                  gi«      }t        t        ¬«      j                  d|«      }|j                  «       d   |k(  sJ ‚y )Nr€   rM   rN   r   rÃ   r�   )rF   r   r   r   r4   r=   r}   )r?   Úchildr…   r@   s       r   Ú-test_retrieve_first_checks_crawlable_resourcez:TestRegistry.test_retrieve_first_checks_crawlable_resource	  sd   € Ü×/Ñ/°{È2Ñ0NÓOˆÜ×.Ñ.°
¸U¿^¹^Ð<LÐ/MÓNˆÜ¤WÔ-×;Ñ;¸JÈÓMˆØ�~‰~Ó Ñ,°Ò5Ð5Ñ5r   c                 ó®   — t        j                  i ¬«      }t        d|i«      }|j                  d¬«      }|j	                  d«      j
                  i k(  sJ ‚y )Nr   úhttp://example.com)Úbase_urir•   ©r   r<   r   r)   Úlookupr   )r?   rI   r@   r)   s       r   Útest_resolverzTestRegistry.test_resolver  sQ   € Ü�o‰o rÔ*ˆÜÐ1°3Ð7Ó8ˆØ×$Ñ$Ð.BÐ$ÓCˆØ�‰˜sÓ#×,Ñ,°Ò2Ð2Ñ2r   c                 ó  — t         j                  ddi«      }t        «       j                  |«      }|j	                  d«      j
                  |j
                  k(  sJ ‚|j	                  d«      j
                  |j
                  k(  sJ ‚y )Nr   rù   r•   )rF   r   r   Úresolver_with_rootrü   r   ©r?   r…   r)   s      r   Ú"test_resolver_with_root_identifiedz/TestRegistry.test_resolver_with_root_identified  sm   € Ü×.Ñ.°Ð6JÐ/KÓLˆÜ“:×0Ñ0°Ó6ˆØ�‰Ð3Ó4×=Ñ=ÀÇÁÒNÐNÐNØ�‰˜sÓ#×,Ñ,°·±Ò=Ð=Ñ=r   c                 ó¶   — t        j                  i ¬«      }t        «       j                  |«      }|j	                  d«      j
                  |j
                  k(  sJ ‚y )Nr   r•   )r   r<   r   rÿ   rü   r   r   s      r   Ú$test_resolver_with_root_unidentifiedz1TestRegistry.test_resolver_with_root_unidentified  sC   € Ü�‰¨Ô+ˆÜ“:×0Ñ0°Ó6ˆØ�‰˜sÓ#×,Ñ,°·±Ò=Ð=Ñ=r   c                 óø   — t        j                  i ¬«      }t        j                  ddi«      }t	        «       j                  d|fd|fg«      }t        |«      dk(  sJ ‚t        |j                  «       «      dk(  sJ ‚y )Nr   r8   r9   rD   rE   z"<Registry (2 uncrawled resources)>z<Registry (2 resources)>)r   r<   rF   r   r   rG   Úreprr}   rH   s       r   Ú	test_reprzTestRegistry.test_repr   s{   € Ü�o‰o rÔ*ˆÜ×-Ñ-¨u°e¨nÓ=ˆÜ“:×,Ñ,à'¨Ð-Ø-¨sÐ3ðó
ˆô �H‹~Ð!EÒEÐEÐEÜ�H—N‘NÓ$Ó%Ð)CÒCÐCÑCr   c                 óÖ   — t        j                  i ¬«      }t        j                  ddi«      }t	        d|i«      j                  «       j                  d|¬«      }t        |«      dk(  sJ ‚y )Nr   r8   r9   rD   rE   r;   z%<Registry (2 resources, 1 uncrawled)>)r   r<   rF   r   r   r}   r=   r  rH   s       r   Útest_repr_mixed_crawledz$TestRegistry.test_repr_mixed_crawled,  sf   € Ü�o‰o rÔ*ˆÜ×-Ñ-¨u°e¨nÓ=ˆäØ'¨Ð-ó÷ ‰U‹Wß‰]Ð;Àcˆ]ÓJð 	ô �H‹~Ð!HÒHÐHÑHr   c                 ó‚   — t        «       j                  dt        j                  i ¬«      ¬«      }t	        |«      dk(  sJ ‚y )NrD   r   r;   z!<Registry (1 uncrawled resource)>)r   r=   r   r<   r  rº   s     r   Útest_repr_one_resourcez#TestRegistry.test_repr_one_resource8  s=   € Ü“:×+Ñ+Ø&Ü—_‘_¨bÔ1ð ,ó 
ˆô �H‹~Ð!DÒDÐDÑDr   c                 ó4   — t        t        «       «      dk(  sJ ‚y )Nz<Registry (0 resources)>)r  r   rq   s    r   Útest_repr_emptyzTestRegistry.test_repr_empty?  s   € Ü”H“JÓÐ#=Ò=Ð=Ñ=r   N)2Ú__name__Ú
__module__Ú__qualname__rA   rK   rP   rT   r[   rb   rg   rn   rr   rv   rz   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ò   rô   r÷   rý   r  r  r  r  r
  r  r!   r   r   r6   r6   "   sþ   „ ò)ò
ò*Cò

òEò)ò@ò&òòò;ò)ò
6ò	
ò
ò8ò@ò
òGò6òGò
ò*
ò0Gò$;òL
6ò,ò0
òB%
òN)ò0Hò	
ò
ò(Lò
Dò
1ò1ò1òDò6ò3ò>ò>ò

Dò
IòEó>r   r6   c                   óf   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestResourcec                 ób   — ddi}t        j                  |«      }|t        |t        ¬«      k(  sJ ‚y )Nr]   r^   rC   )r   rð   r	   ©r?   r`   r   s      r   Ú#test_from_contents_from_json_schemaz0TestResource.test_from_contents_from_json_schemaD  s2   € ØÐKÐLˆÜ×)Ñ)¨&Ó1ˆØœ8¨VÄ;ÔOÒOÐOÑOr   c                 ó¢   — t        j                  t        j                  «      5  t	        j
                  ddi«       ddd«       y# 1 sw Y   yxY w)z´
        Creating a resource with no discernible way to see what
        specification it belongs to (e.g. no ``$schema`` keyword for JSON
        Schema) raises an error.
        r8   r9   N)rV   rW   r   rñ   r   rð   rq   s    r   Ú2test_from_contents_with_no_discernible_informationz?TestResource.test_from_contents_with_no_discernible_informationI  s=   € ô �]‰]œ:×BÑBÓCñ 	3Ü×"Ñ" E¨5 >Ô2÷	3÷ 	3ñ 	3úó   ¤AÁAc                 óŒ   — t        j                  ddit        j                  ¬«      }|t        j                  ddi¬«      k(  sJ ‚y ©Nr8   r9   rd   r   ©r   rð   r   rf   r<   ©r?   r   s     r   Ú>test_from_contents_with_no_discernible_information_and_defaultzKTestResource.test_from_contents_with_no_discernible_information_and_defaultS  ó?   € Ü×)Ñ)Ø�EˆNÜ"/×"6Ñ"6ô
ˆð œ8Ÿ?™?°U¸E°NÔCÒCÐCÑCr   c                 ó‚   — ddi}t        j                  |t        j                  ¬«      }|t        |t        ¬«      k(  sJ ‚y )Nr]   r^   rd   rC   )r   rð   r   rf   r	   r  s      r   Ú#test_from_contents_unneeded_defaultz0TestResource.test_from_contents_unneeded_defaultZ  sJ   € ØÐKÐLˆÜ×)Ñ)ØÜ"/×"6Ñ"6ô
ˆð œ8ØÜ%ô
ò 
ð 	
ñ 
r   c                 óf   — t        j                  dt        ¬«      }|t        dt        ¬«      k(  sJ ‚y )NTrd   rC   )r   rð   rF   r  s     r   Útest_non_mapping_from_contentsz+TestResource.test_non_mapping_from_contentse  s9   € Ü×)Ñ)ØÜ"1ô
ˆð œ8ØÜ)ô
ò 
ð 	
ñ 
r   c                 óŒ   — t        j                  ddit        j                  ¬«      }|t        j                  ddi¬«      k(  sJ ‚y r  r  r  s     r   Ú test_from_contents_with_fallbackz-TestResource.test_from_contents_with_fallbacko  r  r   c                 ót   — t        dd„ d„ d„ d„ ¬«      }t        ddi|¬	«      }|j                  «       d
k(  sJ ‚y )NÚ c                  ó   — y©Núurn:fixedIDr!   r   s    r   r   zATestResource.test_id_delegates_to_specification.<locals>.<lambda>y  ó   � r   c                 ó   — g S rp   r!   r   s    r   r   zATestResource.test_id_delegates_to_specification.<locals>.<lambda>z  ó   € ¨R€ r   c                 ó   — g S rp   r!   ©r   r   s     r   r   zATestResource.test_id_delegates_to_specification.<locals>.<lambda>{  ó   € °r€ r   c                 ó   — |S rp   r!   r'   s      r   r   zATestResource.test_id_delegates_to_specification.<locals>.<lambda>}  ó   € ¸€ r   r+   r8   r«   rC   r(  )r   r   r‹   ©r?   r   r   s      r   Ú"test_id_delegates_to_specificationz/TestResource.test_id_delegates_to_specificationv  sG   € Ü%ØÙ0Ù/Ù9á@ô
ˆô Ø˜U�^Ø'ô
ˆð �{‰{‹} Ò-Ð-Ñ-r   c                 óf   — d}t         j                  d|dz   i«      }|j                  «       |k(  sJ ‚y r“   )rF   r   r‹   )r?   r3   r…   s      r   Útest_id_strips_empty_fragmentz*TestResource.test_id_strips_empty_fragment†  s4   € Ø#ˆÜ×.Ñ.°°c¸C±iÐ/@ÓAˆØ�w‰w‹y˜CÒÐÑr   c                 óÂ   — t         j                  di dgi«      }t        |j                  «       «      i dfD �cg c]  }t         j                  |«      ‘Œ c}k(  sJ ‚y c c}w )Nr   rM   )rF   r   ÚlistÚsubresources)r?   r   r   s      r   Ú,test_subresources_delegates_to_specificationz9TestResource.test_subresources_delegates_to_specification‹  sb   € Ü"×2Ñ2°JÀÀRÀÐ3IÓJˆÜ�H×)Ñ)Ó+Ó,Ø?AÀ2¸hö1
Ø6:ŒO×+Ñ+¨DÕ1ò1
ò 
ð 	
ñ 
ùò 1
s   ¸Ac                 ó    — ddi}t         j                  d|gi«      }t        |j                  «       «      t	        j                  |«      gk(  sJ ‚y )Nr]   r^   r   )rF   r   r6  r7  r	   r  s      r   Ú-test_subresource_with_different_specificationz:TestResource.test_subresource_with_different_specification‘  sW   € ØÐKÐLˆÜ"×2Ñ2°JÀÀÐ3IÓJˆÜ�H×)Ñ)Ó+Ó,Ü×'Ñ'¨Ó/ð1
ò 
ð 	
ñ 
r   c           	      ó0  — t         j                  di dddœi«      }t        |j                  «       «      t	        dt         j                  i «      ¬«      t	        dt         j                  d«      ¬«      t	        dt         j                  d«      ¬«      gk(  sJ ‚y )	Nr   é   r%  )r8   r9   r«   r8   r   r9   r«   )rF   r   r6  r   r   r  s     r   Ú'test_anchors_delegates_to_specificationz4TestResource.test_anchors_delegates_to_specification˜  s‡   € Ü"×2Ñ2Ø ¨1°RÑ8Ð9ó
ˆô �H×$Ñ$Ó&Ó'Ü˜¬×(GÑ(GÈÓ(KÔLÜ˜¬×(GÑ(GÈÓ(JÔKÜ˜¬×(GÑ(GÈÓ(KÔLð,
ò 
ð 	
ñ 
r   c                 ó¨   — t        j                  ddi¬«      }t        «       j                  «       }|j	                  d|¬«      j
                  dk(  sJ ‚y )Nr8   r«   r   z/foo©r)   ©r   r<   r   r)   Úpointerr   ©r?   r   r)   s      r   Útest_pointer_to_mappingz$TestResource.test_pointer_to_mapping¢  sH   € Ü—?‘?¨U°E¨NÔ;ˆÜ“:×&Ñ&Ó(ˆØ×Ñ °ÐÓ:×CÑCÀuÒLÐLÑLr   c                 ó®   — t        j                  dddgii¬«      }t        «       j                  «       }|j	                  d|¬«      j
                  dk(  sJ ‚y )Nr8   r9   rt   r   z
/foo/bar/0r?  r@  rB  s      r   Útest_pointer_to_arrayz"TestResource.test_pointer_to_array§  sO   € Ü—?‘?¨U°U¸Q¸C°LÐ,AÔBˆÜ“:×&Ñ&Ó(ˆØ×Ñ °xÐÓ@×IÑIÈQÒNÐNÑNr   c                 ó¬   — ddi}t        j                  |¬«      }t        «       j                  «       }|j	                  d|¬«      j
                  |k(  sJ ‚y )Nr8   r«   r   r%  r?  r@  )r?   r   r   r)   s       r   Útest_root_pointerzTestResource.test_root_pointer¬  sM   € Ø˜5�>ˆÜ—?‘?¨HÔ5ˆÜ“:×&Ñ&Ó(ˆØ×Ñ ¨XÐÓ6×?Ñ?À8ÒKÐKÑKr   c                 ór   — ddi}t        j                  |«      t        |t        j                  ¬«      k(  sJ ‚y )Nr8   r9   rC   )r   r<   r   rf   )r?   r   s     r   Útest_opaquezTestResource.test_opaque²  s9   € Ø˜5�>ˆÜ�‰˜xÓ(¬HØÜ'×.Ñ.ô-
ò 
ð 	
ñ 
r   N)r  r  r  r  r  r  r  r!  r#  r2  r4  r8  r:  r=  rC  rE  rG  rI  r!   r   r   r  r  C  sS   „ òPò
3òDò	
ò
òDò.ò  ò

ò
ò
òMò
Oò
Ló
r   r  c                   óx   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestResolverc                 óÂ   — t        j                  ddi¬«      }t        d|i«      j                  «       }|j	                  d«      }|j
                  |j
                  k(  sJ ‚y )Nr8   r«   r   rD   rû   )r?   r   r)   Úresolveds       r   Útest_lookup_exact_uriz"TestResolver.test_lookup_exact_uri»  sV   € Ü—?‘?¨U°E¨NÔ;ˆÜÐ3°XÐ>Ó?×HÑHÓJˆØ—?‘?Ð#9Ó:ˆØ× Ñ  H×$5Ñ$5Ò5Ð5Ñ5r   c                 ó¼   — t         j                  ddddœgdœ«      }|t        «       z  }|j                  «       j	                  d«      }|j
                  dddœk(  sJ ‚y )Nr”   zhttp://example.com/arM   rN   r‚   ©rF   r   r   r)   rü   r   ©r?   r…   r@   rM  s       r   Útest_lookup_subresourcez$TestResolver.test_lookup_subresourceÁ  si   € Ü×.Ñ.à+à1¸"Ñ=ðñó
ˆð œ(›*Ñ$ˆØ×$Ñ$Ó&×-Ñ-Ð.DÓEˆØ× Ñ Ð+AÈ"Ñ$MÒMÐMÑMr   c                 ó²   — t         j                  dddidœ«      }|t        «       z  }|j                  «       j	                  d«      }|j
                  dk(  sJ ‚y )Nr”   r8   rM   r‰   zhttp://example.com/#foorP  rQ  s       r   Útest_lookup_anchor_with_idz'TestResolver.test_lookup_anchor_with_idÎ  s]   € Ü×.Ñ.à+Ø! 2˜;ñó
ˆð œ(›*Ñ$ˆØ×$Ñ$Ó&×-Ñ-Ð.GÓHˆØ× Ñ  BÒ&Ð&Ñ&r   c                 óÊ   — t         j                  dddii«      }t        «       j                  d|«      j	                  «       }|j                  d«      }|j                  dk(  sJ ‚y )Nr   r8   rM   r:   zurn:example#foo)rF   r   r   r=   r)   rü   r   )r?   r…   r)   rM  s       r   Útest_lookup_anchor_without_idz*TestResolver.test_lookup_anchor_without_idÙ  s[   € Ü×.Ñ.°	¸EÀ2¸;Ð/GÓHˆÜ“:×+Ñ+¨M¸4Ó@×IÑIÓKˆØ—?‘?Ð#4Ó5ˆØ× Ñ  BÒ&Ð&Ñ&r   c                 ó  — t        «       j                  «       }d}t        j                  t        j
                  «      5 }|j                  |«       d d d «       j                  t	        j
                  |¬«      k(  sJ ‚y # 1 sw Y   Œ/xY w)Nz!http://example.com/does/not/existrš   )r   r)   rV   rW   r   ÚUnresolvablerü   rY   )r?   r)   r›   rZ   s       r   Útest_lookup_unknown_referencez*TestResolver.test_lookup_unknown_referenceß  si   € Ü“:×&Ñ&Ó(ˆØ1ˆÜ�]‰]œ:×2Ñ2Ó3ð 	!°qØ�O‰O˜CÔ ÷	!à�w‰wœ*×1Ñ1°cÔ:Ò:Ð:Ñ:÷	!ð 	!ús   ¾A>Á>Bc                 ó~  — t        j                  di i«      }t        d|i«      j                  «       }d}t	        j
                  t        j                  «      5 }|j                  |«       d d d «       j                  t        j                  d|¬«      k(  sJ ‚t        |j                  «      dk(  sJ ‚y # 1 sw Y   ŒJxY w)Nr8   rD   zhttp://example.com/1#/foo/barz/foo/bar©r›   r   z,'/foo/bar' does not exist within {'foo': {}})r   r<   r   r)   rV   rW   r   rX  rü   rY   ÚPointerToNowhererk   ©r?   r   r)   r›   rZ   s        r   Ú test_lookup_non_existent_pointerz-TestResolver.test_lookup_non_existent_pointeræ  s©   € Ü—?‘? E¨2 ;Ó/ˆÜÐ3°XÐ>Ó?×HÑHÓJˆØ-ˆÜ�]‰]œ:×2Ñ2Ó3ð 	!°qØ�O‰O˜CÔ ÷	!à�w‰wœ*×5Ñ5ØØô
ò 
ð 	
ð 
ô �1—7‘7‹|ÐMÒMÐMÑM÷	!ð 	!ús   ÁB3Â3B<c                 óJ  — t        j                  g d¢«      }t        d|i«      j                  «       }d}t	        j
                  t        j                  «      5 }|j                  |«       d d d «       j                  t        j                  d|¬«      k(  sJ ‚y # 1 sw Y   Œ0xY w)N)r<  r   é   rx   rD   zhttp://example.com/1#/10z/10r[  )r   r<   r   r)   rV   rW   r   rX  rü   rY   r\  r]  s        r   Ú/test_lookup_non_existent_pointer_to_array_indexz<TestResolver.test_lookup_non_existent_pointer_to_array_indexò  sŒ   € Ü—?‘?¢<Ó0ˆÜÐ3°XÐ>Ó?×HÑHÓJˆØ(ˆÜ�]‰]œ:×2Ñ2Ó3ð 	!°qØ�O‰O˜CÔ ÷	!à�w‰wœ*×5Ñ5ØØô
ò 
ð 	
ñ 
÷	!ð 	!ús   ÁBÂB"c                 ó    — t        «       j                  t        j                  di i«      «      }|j	                  d«      j
                  i k(  sJ ‚y )Nr%  ú#/)r   rÿ   r   r<   rü   r   )r?   r)   s     r   Ú#test_lookup_pointer_to_empty_stringz0TestResolver.test_lookup_pointer_to_empty_stringý  s>   € Ü“:×0Ñ0´·±À"ÀbÀÓ1JÓKˆØ�‰˜tÓ$×-Ñ-°Ò3Ð3Ñ3r   c                 óF  — t        j                  di i«      }t        «       j                  |«      }t	        j
                  t        j                  d¬«      5 }|j                  d«       d d d «       j                  t        j                  d|¬«      k(  sJ ‚y # 1 sw Y   Œ0xY w)Nr8   z+^'/' does not exist within {'foo': {}}.*'#'rÑ   rc  ú/r[  )r   r<   r   rÿ   rV   rW   r   rX  rü   rY   r\  )r?   r   r)   rZ   s       r   Ú0test_lookup_non_existent_pointer_to_empty_stringz=TestResolver.test_lookup_non_existent_pointer_to_empty_string  s�   € Ü—?‘? E¨2 ;Ó/ˆÜ“:×0Ñ0°Ó:ˆÜ�]‰]Ü×#Ñ#Ø?ô
ð 	"ð Ø�O‰O˜DÔ!÷		"ð
 �w‰wœ*×5Ñ5ØØô
ò 
ð 	
ñ 
÷	"ð 	"ús   ÁBÂB c                 óð  — t         j                  di i«      }t        «       j                  d|«      j	                  «       }|j                  d«      }|j                  |j                  k(  sJ ‚d}t        j                  t        j                  «      5 }|j                  |«       d d d «       dt        j                  «      v sJ ‚|j                  t        j                  d|d¬«      k(  sJ ‚y # 1 sw Y   ŒJxY w)Nr   r:   zurn:example#noSuchAnchorz'noSuchAnchor' does not existÚnoSuchAnchor)r›   r   rŠ   )rF   r   r   r=   r)   rü   r   rV   rW   r   rX  rk   rY   ÚNoSuchAnchor)r?   r…   r)   rM  r›   rZ   s         r   Útest_lookup_non_existent_anchorz,TestResolver.test_lookup_non_existent_anchor  sÕ   € Ü×.Ñ.°	¸2¨Ó?ˆÜ“:×+Ñ+¨M¸4Ó@×IÑIÓKˆØ—?‘? =Ó1ˆØ× Ñ  D§M¡MÒ1Ð1Ð1à(ˆÜ�]‰]œ:×2Ñ2Ó3ð 	!°qØ�O‰O˜CÔ ÷	!à.´#°a·g±g³,Ñ>Ð>Ð>Ø�w‰wœ*×1Ñ1ØØØ!ô
ò 
ð 	
ñ 
÷	!ð 	!ús   ÂC,Ã,C5c                 ón  — t        «       j                  t        j                  dddidœ«      «      }|j	                  d«      }|j
                  dk(  sJ ‚t        j                  t        j                  «      5 }|j	                  d«       d d d «       dt        j                  «      v sJ ‚y # 1 sw Y   Œ#xY w)Nr”   r9   rM   rN   z	#/foo/barz#foo/barz '#/foo/bar')r   rÿ   rF   r   rü   r   rV   rW   r   ÚInvalidAnchorrk   rY   )r?   r)   ÚvalidrZ   s       r   Ú*test_lookup_invalid_JSON_pointerish_anchorz7TestResolver.test_lookup_invalid_JSON_pointerish_anchor  sž   € Ü“:×0Ñ0Ü×+Ñ+à/Ø! 2˜;ñóó
ˆð —‘ Ó,ˆØ�~‰~ Ò#Ð#Ð#ä�]‰]œ:×3Ñ3Ó4ð 	(¸Ø�O‰O˜JÔ'÷	(à¤ Q§W¡W£Ñ-Ð-Ñ-÷	(ð 	(ús   Á7B+Â+B4c                 óÈ   ‡— t        j                  ddi¬«      Št        ˆfd„¬«      j                  «       }|j	                  d«      }|j
                  ‰j
                  k(  sJ ‚y )Nr8   r«   r   c                 ó   •— ‰S rp   r!   r;   s    €r   r   z=TestResolver.test_lookup_retrieved_resource.<locals>.<lambda>1  s   ø€ °€ r   rÃ   r”   rû   )r?   r)   rM  r   s      @r   Útest_lookup_retrieved_resourcez+TestResolver.test_lookup_retrieved_resource/  sR   ø€ Ü—?‘?¨U°E¨NÔ;ˆÜÓ%9Ô:×CÑCÓEˆØ—?‘?Ð#8Ó9ˆØ× Ñ  H×$5Ñ$5Ò5Ð5Ñ5r   c                 ól  — d}t        t        ¬«      }t        j                  t        j
                  «      5  |j                  |«       ddd«       |j                  «       }t        j                  t        j                  «      5  |j                  |«       ddd«       y# 1 sw Y   ŒWxY w# 1 sw Y   yxY w)zL
        Unretrievable exceptions are also wrapped in Unresolvable.
        r”   rÃ   N)
r   r4   rV   rW   r   rç   rá   r)   rX  rü   )r?   r3   r@   r)   s       r   Ú%test_lookup_failed_retrieved_resourcez2TestResolver.test_lookup_failed_retrieved_resource5  s�   € ð
 $ˆä¤WÔ-ˆÜ�]‰]œ:×3Ñ3Ó4ñ 	*Ø×$Ñ$ SÔ)÷	*ð ×$Ñ$Ó&ˆÜ�]‰]œ:×2Ñ2Ó3ñ 	!Ø�O‰O˜CÔ ÷	!ð 	!÷		*ð 	*ú÷	!ð 	!ús   ¶BÂB*ÂB'Â*B3c                 ó>  ‡— t        j                  ddi¬«      }|gŠˆfd„}t        |¬«      j                  «       }|j	                  d«      }|j
                  |j
                  k(  sJ ‚|j                  j	                  d«      }|j
                  |j
                  k(  sJ ‚y)zk
        A (custom-)retrieved resource is added to the registry returned by
        looking it up.
        r8   r«   r   c                 ó$   •— ‰j                  «       S rp   ©Úpop©r3   Úonces    €r   rÁ   zKTestResolver.test_repeated_lookup_from_retrieved_resource.<locals>.retrieveL  ó   ø€ Ø—8‘8“:Ðr   rÃ   r”   Nrû   ©r?   r   rÁ   r)   rM  rz  s        @r   Ú,test_repeated_lookup_from_retrieved_resourcez9TestResolver.test_repeated_lookup_from_retrieved_resourceD  s’   ø€ ô
 —?‘?¨U°E¨NÔ;ˆØˆzˆô	ô  XÔ.×7Ñ7Ó9ˆØ—?‘?Ð#8Ó9ˆØ× Ñ  H×$5Ñ$5Ò5Ð5Ð5à×$Ñ$×+Ñ+Ð,AÓBˆØ× Ñ  H×$5Ñ$5Ò5Ð5Ñ5r   c                 ó>  ‡— t        j                  ddi¬«      }|gŠˆfd„}t        |¬«      j                  «       }|j	                  d«      }|j
                  |j
                  k(  sJ ‚|j                  j	                  d«      }|j
                  |j
                  k(  sJ ‚y )Nr8   r«   r   c                 ó$   •— ‰j                  «       S rp   rw  ry  s    €r   rÁ   zRTestResolver.test_repeated_anchor_lookup_from_retrieved_resource.<locals>.retrieveZ  r{  r   rÃ   r”   r•   rû   r|  s        @r   Ú3test_repeated_anchor_lookup_from_retrieved_resourcez@TestResolver.test_repeated_anchor_lookup_from_retrieved_resourceV  s�   ø€ Ü—?‘?¨U°E¨NÔ;ˆØˆzˆô	ô  XÔ.×7Ñ7Ó9ˆØ—?‘?Ð#8Ó9ˆØ× Ñ  H×$5Ñ$5Ò5Ð5Ð5à×$Ñ$×+Ñ+¨CÓ0ˆØ× Ñ  H×$5Ñ$5Ò5Ð5Ñ5r   c                 ó>  — t         j                  ddddigdœgdœ«      }|t        «       z  }|j                  «       }|j	                  d«      }|j
                  |j
                  k(  sJ ‚t        j                  t        j                  «      5  |j                  j	                  d«       d d d «       |j                  j                  t         j                  |j
                  d   d   «      «      }|j	                  d«      }|j
                  ddik(  sJ ‚y # 1 sw Y   ŒlxY w)Nr”   úchild/r   Ú
grandchildr‚   r   r   )rF   r   r   r)   rü   r   rV   rW   r   rX  r&   )r?   r…   r@   r)   r³   Úsubr´   s          r   Útest_in_subresourcez TestResolver.test_in_subresourceg  s  € Ü×.Ñ.à+ð 'Ø&*¨LÐ%9Ð$:ñðñó

ˆð œ(›*Ñ$ˆà×$Ñ$Ó&ˆØ—‘Ð 5Ó6ˆØ�~‰~ §¡Ò.Ð.Ð.ä�]‰]œ:×2Ñ2Ó3ñ 	0Ø�N‰N×!Ñ! ,Ô/÷	0ð �n‰n×+Ñ+Ü×+Ñ+¨E¯N©N¸:Ñ,FÀqÑ,IÓJó
ˆð —‘˜LÓ)ˆØ�‰ 4¨Ð"6Ò6Ð6Ñ6÷	0ð 	0ús   ÂDÄDc                 ó  — t         j                  ddddigdœgdœ«      }|t        «       z  }|j                  «       }|j	                  d«      }|j
                  |j
                  k(  sJ ‚t        j                  t        j                  «      5  |j                  j	                  d«       d d d «       |j                  j	                  d«      }|j                  j	                  d«      }|j
                  ddik(  sJ ‚y # 1 sw Y   ŒSxY w)Nr”   r‚  r   rƒ  r‚   ú#/children/0)
rF   r   r   r)   rü   r   rV   rW   r   rX  )r?   r…   r@   r)   r³   r´   rµ   s          r   Útest_in_pointer_subresourcez(TestResolver.test_in_pointer_subresource‚  sï   € Ü×.Ñ.à+ð 'Ø&*¨LÐ%9Ð$:ñðñó

ˆð œ(›*Ñ$ˆà×$Ñ$Ó&ˆØ—‘Ð 5Ó6ˆØ�~‰~ §¡Ò.Ð.Ð.ä�]‰]œ:×2Ñ2Ó3ñ 	0Ø�N‰N×!Ñ! ,Ô/÷	0ð —‘×&Ñ& ~Ó6ˆØ—‘×&Ñ& |Ó4ˆØ�~‰~ $¨Ð!5Ò5Ð5Ñ5÷	0ð 	0ús   ÂC:Ã:Dc                 óÎ  — t         j                  ddddigdœgdœ«      }t         j                  dddigdœ«      }||gt        «       z  }|j                  «       }|j	                  d«      }|j                  j	                  d«      }|j                  j	                  d«      }|j                  j	                  d«      }t        |j                  j                  «       «      d	|j                  j                  fd
|j                  j                  fd|j                  j                  fgk(  sJ ‚t        |j                  j                  «       «      d
|j                  j                  fd|j                  j                  fgk(  sJ ‚t        |j                  j                  «       «      d|j                  j                  fgk(  sJ ‚t        |j                  j                  «       «      g k(  sJ ‚y )Nr”   r‚  r   rƒ  r‚   zhttp://example.com/twoz
two-child/r‡  z#http://example.com/child/grandchildzhttp://example.com/child/)rF   r   r   r)   rü   r6  Údynamic_scopeÚ	_registry)	r?   rI   rJ   r@   r)   r³   r´   rµ   r¶   s	            r   Útest_dynamic_scopezTestResolver.test_dynamic_scope›  sÒ  € Ü×-Ñ-à+ð 'Ø&*¨LÐ%9Ð$:ñðñó

ˆô ×-Ñ-à.Ø" LÐ1Ð2ñó
ˆð ˜�:¤£
Ñ*ˆà×$Ñ$Ó&ˆØ—‘Ð 5Ó6ˆØ—‘×&Ñ& ~Ó6ˆØ—‘×&Ñ& |Ó4ˆØ—‘×&Ñ&Ð'?Ó@ˆÜ�F—O‘O×1Ñ1Ó3Ó4Ø2°F·O±O×4MÑ4MÐNØ(¨&¯/©/×*CÑ*CÐDØ" F§O¡O×$=Ñ$=Ð>ð9
ò 
ð 	
ð 
ô
 �E—N‘N×0Ñ0Ó2Ó3Ø(¨%¯.©.×*BÑ*BÐCØ" E§N¡N×$<Ñ$<Ð=ð8
ò 
ð 	
ð 
ô �F—O‘O×1Ñ1Ó3Ó4Ø" F§O¡O×$=Ñ$=Ð>ð9
ò 
ð 	
ð 
ô �E—N‘N×0Ñ0Ó2Ó3°rÒ9Ð9Ñ9r   N)r  r  r  rN  rR  rT  rV  rY  r^  ra  rd  rg  rk  ro  rr  rt  r}  r€  r…  rˆ  rŒ  r!   r   r   rK  rK  º  s^   „ ò6òNò	'ò'ò;ò
Nò	
ò4ò
ò
ò .ò"6ò!ò6ò$6ò"7ò66ó2%:r   rK  c                   óH   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)ÚTestSpecificationc                 ó¦   — t        dd„ d„ d„ d„ ¬«      }|j                  ddi¬	«      }|t        ddi|¬
«      k(  sJ ‚|j                  «       dk(  sJ ‚y )Nr%  c                  ó   — yr'  r!   r   s    r   r   z8TestSpecification.test_create_resource.<locals>.<lambda>Ç  r)  r   c                 ó   — g S rp   r!   r   s    r   r   z8TestSpecification.test_create_resource.<locals>.<lambda>È  r+  r   c                 ó   — g S rp   r!   r-  s     r   r   z8TestSpecification.test_create_resource.<locals>.<lambda>É  r.  r   c                 ó   — |S rp   r!   r'   s      r   r   z8TestSpecification.test_create_resource.<locals>.<lambda>Ë  r0  r   r+   r8   r«   r   rC   r(  )r   r   r   r‹   r1  s      r   Útest_create_resourcez&TestSpecification.test_create_resourceÄ  sm   € Ü%ØÙ0Ù/Ù9á@ô
ˆð !×0Ñ0¸5À%¸.Ð0ÓIˆØœ8Ø˜U�^Ø'ô
ò 
ð 	
ð 
ð �{‰{‹} Ò-Ð-Ñ-r   c                 óL   — ddi}t        j                  |«      }|t        k(  sJ ‚y ©Nr]   r^   )r   Údetectr	   ©r?   r`   r   s      r   Útest_detect_from_json_schemaz.TestSpecification.test_detect_from_json_schemaÕ  s+   € ØÐKÐLˆÜ%×,Ñ,¨VÓ4ˆØ¤Ò+Ð+Ñ+r   c                 ó¢   — t        j                  t        j                  «      5  t	        j
                  ddi«       d d d «       y # 1 sw Y   y xY w©Nr8   r9   ©rV   rW   r   rñ   r   r—  rq   s    r   Ú+test_detect_with_no_discernible_informationz=TestSpecification.test_detect_with_no_discernible_informationÚ  s;   € Ü�]‰]œ:×BÑBÓCñ 	1Ü× Ñ  %¨ Ô0÷	1÷ 	1ñ 	1úr  c                 ó¢   — t        j                  t        j                  «      5  t	        j
                  ddi«       d d d «       y # 1 sw Y   y xY w)Nr]   é%   rœ  rq   s    r   Útest_detect_with_non_URI_schemaz1TestSpecification.test_detect_with_non_URI_schemaÞ  s;   € Ü�]‰]œ:×BÑBÓCñ 	2Ü× Ñ  )¨R Ô1÷	2÷ 	2ñ 	2úr  c                 ón   — t         j                  j                  ddi«      }|t         j                  u sJ ‚y r›  ©r   rf   r—  ©r?   r   s     r   Ú7test_detect_with_no_discernible_information_and_defaultzITestSpecification.test_detect_with_no_discernible_information_and_defaultâ  ó0   € Ü%×,Ñ,×3Ñ3°U¸E°NÓCˆØ¤× 4Ñ 4Ñ4Ð4Ñ4r   c                 ó`   — ddi}t         j                  j                  |«      }|t        k(  sJ ‚y r–  )r   rf   r—  r	   r˜  s      r   Útest_detect_unneeded_defaultz.TestSpecification.test_detect_unneeded_defaultæ  s1   € ØÐKÐLˆÜ%×,Ñ,×3Ñ3°FÓ;ˆØ¤Ò+Ð+Ñ+r   c                 óž   — t        j                  t        j                  «      5  t	        j
                  d«       d d d «       y # 1 sw Y   y xY w©NTrœ  rq   s    r   Útest_non_mapping_detectz)TestSpecification.test_non_mapping_detectë  s7   € Ü�]‰]œ:×BÑBÓCñ 	'Ü× Ñ  Ô&÷	'÷ 	'ñ 	'ús   ¤AÁAc                 óB   — t         j                  d«      }|t         u sJ ‚y r©  )rF   r—  r£  s     r   Ú$test_non_mapping_detect_with_defaultz6TestSpecification.test_non_mapping_detect_with_defaultï  s    € Ü'×.Ñ.¨tÓ4ˆØ¤Ñ/Ð/Ñ/r   c                 ón   — t         j                  j                  ddi«      }|t         j                  u sJ ‚y r›  r¢  r£  s     r   Útest_detect_with_fallbackz+TestSpecification.test_detect_with_fallbackó  r¥  r   c                 ó,   — t        t        «      dk(  sJ ‚y )Nz&<Specification name='id-and-children'>)r  rF   rq   s    r   r  zTestSpecification.test_repr÷  s   € ä”Ó!Ð%MÒMð	
ÙMr   N)r  r  r  r”  r™  r�  r   r¤  r§  rª  r¬  r®  r  r!   r   r   rŽ  rŽ  Ã  s4   „ ò.ò",ò
1ò2ò5ò,ò
'ò0ò5ó
r   rŽ  c                   óô   — e Zd Zddiddd e«       gZej                  j                  de«      d„ «       Zej                  j                  de«      d„ «       Z	ej                  j                  de«      d„ «       Z
y	)
ÚTestOpaqueSpecificationr8   r9   TrŸ  Úthingc                 óF   — t         j                  j                  |«      �J ‚y)z/
        An arbitrary thing has no ID.
        N)r   rf   r,   ©r?   r²  s     r   Ú
test_no_idz"TestOpaqueSpecification.test_no_id   s!   € ô ×#Ñ#×)Ñ)¨%Ó0Ð8Ð8Ñ8r   c                 ó^   — t        t        j                  j                  |«      «      g k(  sJ ‚y)z9
        An arbitrary thing has no subresources.
        N)r6  r   rf   r-   r´  s     r   Útest_no_subresourcesz,TestOpaqueSpecification.test_no_subresources  s(   € ô ”M×(Ñ(×8Ñ8¸Ó?Ó@ÀBÒFÐFÑFr   c                 ó^   — t        t        j                  j                  |«      «      g k(  sJ ‚y)z4
        An arbitrary thing has no anchors.
        N)r6  r   rf   r.   r´  s     r   Útest_no_anchorsz'TestOpaqueSpecification.test_no_anchors  s(   € ô ”M×(Ñ(×3Ñ3°EÓ:Ó;¸rÒAÐAÑAr   N)r  r  r  ÚobjectÚTHINGSrV   ÚmarkÚparametrizerµ  r·  r¹  r!   r   r   r±  r±  ý  s‰   „ Ø�eˆn˜d B¨©v«xÐ8€Fà‡[�[×Ñ˜W fÓ-ñ9ó .ð9ð ‡[�[×Ñ˜W fÓ-ñGó .ðGð ‡[�[×Ñ˜W fÓ-ñBó .ñBr   r±  Úclsc                 óz   — t        j                  t        d¬«      5   G d„ d| «      }d d d «       y # 1 sw Y   y xY w)Nz(?i)subclassingrÑ   c                   ó   — e Zd Zy)ú"test_nonsubclassable.<locals>.BoomN)r  r  r  r!   r   r   ÚBoomrÁ     s   „ Ør   rÂ  )rV   rW   rÓ   )r¾  rÂ  s     r   Útest_nonsubclassablerÃ    s4   € ô
 
�‰”yÐ(9Ô	:ñ ô	�3ô 	÷÷ ñ ús   œ1±:)Úrpdsr   rV   Úreferencingr   r   r   r   r   Úreferencing.jsonschemar	   rF   r4   r6   r  rK  rŽ  r±  r¼  r½  r\  rÃ  r!   r   r   ú<module>rÇ     s¯   ðÝ Û ç MÕ MÝ .áØ	Ù
-ÙAññô€ò(M÷^>ñ ^>÷Bt
ñ t
÷nF:ñ F:÷R7
ñ 7
÷tBñ Bð8 ‡�×ÑØ	ØˆX�x °
×0KÑ0KÐLóñó	ñr   