
    &hH                    r   % S r SSKJr  SSKJrJrJr  SSKJrJ	r	  SSK
JrJrJrJrJr  SSKJr  SSKJrJrJrJr  SSKJrJrJr  \\\4   r\	\\4   r \\    r!\\    r"\" 5       r#S	\$S
'   \ " S S\%5      5       r&S>S jr'S>S jr(S?S jr)      S@S jr*      SAS jr+      SAS jr,      SBS jr-\." 5       \." 5       \." 5       4     SCS jjr/\." 5       \." 5       \." 5       4     SCS jjr0\." 5       \." 5       \." 5       4     SCS jjr1\." 5       \." 5       \." 5       4     SCS jjr2\." 5       \." 5       \." 5       4     SCS jjr3\." 5       \." 5       \." 5       4     SCS jjr4\." 5       \." 5       \." 5       4     SCS jjr5\" S\'\/" 1 Sk1 Sk1 SkS9\*\3" 1 Sk1 Sk1 SkS9S 9r6\" S!\'\0" 1 S"k1 S#k1 SkS9\+\4" 1 S"k1 S#k1 SkS9S 9r7\" S$\(\1" 1 S%k1 S#k1 S&kS9\,\5" 1 S%k1 S#k1 S&kS9S 9r8\" S'\(\1" 1 S(k1 S#k1 S&kS9\,\5" 1 S(k1 S#k1 S&kS9S 9r9\" S)\)\2" S*11 S#k1 S&kS9\-\5" 1 S+k1 S#k1 S&kS9S 9r:\" S,\)\2" S-11 S&kS.9\-\5" S/S01S-11 S&kS9S 9r;\" S1\64S2\74S3\84S4\94S5\:4S6\;44 V Vs0 s H  u  pU \Ry                  U5      _M     snn 5      r=S7\$S8'   \4     SDS9 jjr>\ " S: S;5      5       r?SES< jr@g=s  snn f )FzI
Referencing implementations for JSON Schema specs (historic & current).
    )annotations)IterableSequenceSet)AnyUnion)AnchorRegistryResourceSpecification
exceptions)frozen)_UNSETResolvedResolver_Unset)URIr	   MappingSchemaRegistryEMPTY_REGISTRYc                  $    \ rS rSr% SrS\S'   Srg)UnknownDialect$   z
A dialect identifier was found for a dialect unknown by this library.

If it's a custom ("unofficial") dialect, be sure you've registered it.
r   uri N)__name__
__module____qualname____firstlineno____doc____annotations____static_attributes__r       iC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\referencing/jsonschema.pyr   r   $   s     
Hr#   r   c                P    [        U [        5      (       a  g U R                  S5      $ )N$id)
isinstanceboolget)contentss    r$   
_dollar_idr+   /   s!    (D!!<<r#   c                    [        U [        5      (       d  SU ;   a  g U R                  S5      nUb  UR                  S5      (       d  U$ g g )N$refr&   #)r'   r(   r)   
startswithr*   ids     r$   _legacy_dollar_idr2   5   sF    (D!!Vx%7	e	B	~bmmC00	 1~r#   c                l    SU ;   a  g U R                  S5      nUb  UR                  S5      (       d  U$ g g )Nr-   r1   r.   )r)   r/   r0   s     r$   
_legacy_idr4   =   s:    	d	B	~bmmC00	 1~r#   c              #     #    [        U[        5      (       a  g UR                  S5      nUb  [        UU R	                  U5      S9v   UR                  S5      nUb  [        UU R	                  U5      S9v   g g 7f)N$anchornameresourcez$dynamicAnchor)r'   r(   r)   r	   create_resourceDynamicAnchor)specificationr*   anchordynamic_anchors       r$   _anchorr?   E   s      (D!!\\)$F"228<
 	

 \\"23N!"228<
 	
 "s   A7A9c                    [        U[        5      (       a  / $ UR                  S5      nUc  / $ [        UU R	                  U5      S9/$ )Nr6   r7   )r'   r(   r)   r	   r:   )r<   r*   r=   s      r$   _anchor_2019rA   Z   sQ     (D!!	\\)$F~	"228<	
 r#   c                    [        U[        5      (       a  / $ UR                  SS5      nUR                  S5      (       d  / $ [	        USS  U R                  U5      S9/$ )Nr&    r.      r7   )r'   r(   r)   r/   r	   r:   r<   r*   r1   s      r$   _legacy_anchor_in_dollar_idrF   k   sc     (D!!		eR	 B==	AB"228<	
 r#   c                    UR                  SS5      nUR                  S5      (       d  / $ [        USS  U R                  U5      S9/$ )Nr1   rC   r.   rD   r7   )r)   r/   r	   r:   rE   s      r$   _legacy_anchor_in_idrH   |   sQ     
dB	B==	AB"228<	
 r#   c                    ^ ^^ SUUU 4S jjnU$ )z
Create a callable returning JSON Schema specification-style subschemas.

Relies on specifying the set of keywords containing subschemas in their
values, in a subobject's values, or in a subarray.
c              3     >#    [        U [        5      (       a  g T H  nX;   d  M
  X   v   M     T H  nX;   d  M
  X    S h  vN   M     T H$  nX;   d  M
  X   R                  5        S h  vN   M&     g  N3 N7fN)r'   r(   values)r*   eachin_subarrayin_subvaluesin_values     r$   subresources_of)_subresources_of.<locals>.subresources_of   s{     h%%Dn$   D#>))   !D#>00222 ! * 3s3   A;A;A;A7A;A;-A9.
A;9A;r*   SchemareturnIterable[ObjectSchema]r   rP   rO   rN   rQ   s   ``` r$   _subresources_ofrX      s    3 3 r#   c                    ^ ^^ SUUU 4S jjnU$ )G
Specifically handle older drafts where there are some funky keywords.
c              3  p  >#    [        U [        5      (       a  g T H  nX;   d  M
  X   v   M     T H  nX;   d  M
  X    S h  vN   M     T H$  nX;   d  M
  X   R                  5        S h  vN   M&     U R                  S5      nUb%  [        U[        5      (       a  U S h  vN   g Uv   g g  Nl ND N7fNitems)r'   r(   rL   r)   r   )r*   rM   r]   rN   rO   rP   s      r$   rQ   :_subresources_of_with_crazy_items.<locals>.subresources_of   s     h%%Dn$   D#>))   !D#>00222 ! W%%**   	  * 3
 !sE   B6B6B6B0B6B6-B2.6B6$B4%B62B64B6rS   r   rW   s   ``` r$   !_subresources_of_with_crazy_itemsr_      s     ( r#   c                    ^ ^^ SUUU 4S jjnU$ )rZ   c              3  .  >#    [        U [        5      (       a  g T H  nX;   d  M
  X   v   M     T H  nX;   d  M
  X    S h  vN   M     T H$  nX;   d  M
  X   R                  5        S h  vN   M&     U R                  S5      nUb$  [        U[        5      (       a  U S h  vN   OUv   U R                  S5      nUbJ  [        UR                  5       5      n[        US 5      n[        U[        5      (       a  Uv   U S h  vN   g g g  N N Nl N7f)Nr]   dependencies)r'   r(   rL   r)   r   iternextr   	r*   rM   r]   rb   rL   valuerN   rO   rP   s	         r$   rQ   G_subresources_of_with_crazy_items_dependencies.<locals>.subresources_of   s    h%%Dn$   D#>))   !D#>00222 ! W%%**   ||N3#,--/0F&E%))!!! * $ * 3
 ! "sX   DDDDDD-D.6D$D%A DDDDDDrS   r   rW   s   ``` r$   ._subresources_of_with_crazy_items_dependenciesrh      s    " "6 r#   c                    ^ ^^ SUUU 4S jjnU$ )zL
Specifically handle even older drafts where there are some funky keywords.
c              3  h  >#    T H  nX;   d  M
  X   v   M     T H  nX;   d  M
  X    S h  vN   M     T H$  nX;   d  M
  X   R                  5        S h  vN   M&     U R                  S5      nUb$  [        U[        5      (       a  U S h  vN   OUv   U R                  S5      nUbH  [	        UR                  5       5      n[        US 5      n[        U[        5      (       a  Uv   U S h  vN   S H/  nU R                  U5      n[        U[        5      (       d  M+  Uv   M1     g  N N N N@7f)Nr]   rb   )additionalItemsadditionalProperties)rL   r)   r'   r   rc   rd   r   re   s	         r$   rQ   J_subresources_of_with_crazy_aP_items_dependencies.<locals>.subresources_of   s    Dn$   D#>))   !D#>00222 ! W%%**   ||N3#,--/0F&E%))!!!=DLL&E%)) >' * 3
 ! "s\   	D2D2D2D*D2D2D,6D2D.A D2/D00-D2!
D2,D2.D20D2)r*   ObjectSchemarU   rV   r   rW   s   ``` r$   1_subresources_of_with_crazy_aP_items_dependenciesro      s     < r#   c                4   ^ ^ X-  m        SUU 4S jjnU$ )Nc                   > [        U 5      nU H"  nUT;  d  M  UT;  d  [        US 5      b  M   Us  $    UR                  U5      $ rK   )rc   rd   in_subresourcesegmentsresolversubresource	_segmentssegmentin_childrP   s        r$   maybe_in_subresource3_maybe_in_subresource.<locals>.maybe_in_subresource  sL    
 N	 Gh&x'4	4+@+H	 !
 &&{33r#   rt   zSequence[int | str]ru   _Resolver[Any]rv   zResource[Any]rU   r}   r   rP   rO   rN   rz   ry   s   `   @r$   _maybe_in_subresourcer     sC    
 )H4%4 4 #4 
	4 4  r#   c                4   ^ ^ X-  m        SUU 4S jjnU$ )Nc                   > [        U 5      nU HZ  nUS:X  a2  [        UR                  [        5      (       a  UR	                  U5      s  $ UT;  d  MC  UT;  d  [        US 5      b  MX  Us  $    UR	                  U5      $ r\   rc   r'   r*   r   rr   rd   rs   s        r$   rz   ?_maybe_in_subresource_crazy_items.<locals>.maybe_in_subresource6  s    
 N	 G'!j$$' '  ..{;;h&x'4	4+@+H ! &&{33r#   r|   r   r~   s   `   @r$   !_maybe_in_subresource_crazy_itemsr   /  C    
 )H4%4 4 #4 
	4 4$  r#   c                4   ^ ^ X-  m        SUU 4S jjnU$ )Nc                   > [        U 5      nU HZ  nUS;   a2  [        UR                  [        5      (       a  UR	                  U5      s  $ UT;  d  MC  UT;  d  [        US 5      b  MX  Us  $    UR	                  U5      $ )N>   r]   rb   r   rs   s        r$   rz   L_maybe_in_subresource_crazy_items_dependencies.<locals>.maybe_in_subresourceR  s    
 N	 G33
$$9 9  ..{;;h&x'4	4+@+H ! &&{33r#   r|   r   r~   s   `   @r$   ._maybe_in_subresource_crazy_items_dependenciesr   K  r   r#   zdraft2020-12>   ifnotelsethenr]   containscontentSchemapropertyNamesunevaluatedItemsrl   unevaluatedProperties>   allOfanyOfoneOfprefixItems>   
propertiesdefinitionsdependentSchemaspatternProperties$defs)rP   rN   rO   )r8   id_ofrQ   
anchors_inrz   zdraft2019-09>   r   r   r   r   r   r   r   rk   r   rl   r   >   r   r   r   zdraft-07>   r   r   r   r   r   r   rk   rl   >   r   r   r   zdraft-06>   r   r   r   rk   rl   zdraft-04r   >   r   rk   rl   zdraft-03extends)rN   rO   rk   rl   z,https://json-schema.org/draft/2020-12/schemaz,https://json-schema.org/draft/2019-09/schemaz&http://json-schema.org/draft-07/schemaz&http://json-schema.org/draft-06/schemaz&http://json-schema.org/draft-04/schemaz&http://json-schema.org/draft-03/schemazRegistry[Specification[Schema]]_SPECIFICATIONSc                    [         R                  U R                  S5      5      nUb  UR                  $ U[        L a  [        U 5      eU$ )z
Retrieve the `Specification` with the given dialect identifier.

Raises:

    `UnknownDialect`

        if the given ``dialect_id`` isn't known

r.   )r   r)   rstripr*   r   r   )
dialect_iddefaultr9   s      r$   specification_withr   =  sI     "":#4#4S#9:H   &Z((Nr#   c                  8    \ rS rSr% SrS\S'   S\S'   S
S jrSrg	)r;   iS  z,
Dynamic anchors, introduced in draft 2020.
strr8   SchemaResourcer9   c                Z   U R                   nUR                  5        HN  u  p4 UR                  X0R                  5      R                  n[        U[        5      (       d  MB  UR                   nMP     [        UR                  UR                  U5      S9$ ! [
        R                   a     M  f = f)z"
Resolve this anchor dynamically.
)r*   ru   )r9   dynamic_scoper=   r8   rf   r   NoSuchAnchorr'   r;   	_Resolvedr*   rr   )selfru   lastr   registryr=   s         r$   resolveDynamicAnchor.resolve\  s     }}%335MC!ii8>> &-00 6 ]],,T2
 	
	 ** s   %BB*)B*r   Nru   z_Resolver[Schema]rU   z_Resolved[Schema])r   r   r   r   r    r!   r   r"   r   r#   r$   r;   r;   S  s     I
r#   r;   c                   U R                  S5      n[        UR                  [        5      (       a  UR                  R	                  S5      (       an  U R                  5        HZ  u  p#U R                  U5      n[        UR                  [        5      (       a   UR                  R	                  S5      (       d    U$ UnM\     U$ )u   
Recursive references (via recursive anchors), present only in draft 2019.

As per the 2019 specification (§ 8.2.4.2.1), only the ``#`` recursive
reference is supported (and is therefore assumed to be the relevant
reference).
r.   z$recursiveAnchor)lookupr'   r*   r   r)   r   )ru   resolvedr   _next_resolveds        r$   lookup_recursive_refr   n  s     s#H(##W--(2C2C2G2G3 3 ,,.FC$OOC0M&&  #++//0BCCO %H / Or#   N)r*   rT   rU   
URI | None)r*   rn   rU   r   )r<   Specification[Schema]r*   rT   rU   zIterable[AnchorType[Schema]])r<   r   r*   rT   rU   zIterable[Anchor[Schema]])r<   zSpecification[ObjectSchema]r*   rn   rU   zIterable[Anchor[ObjectSchema]])rP   Set[str]rO   r   rN   r   )r   r   r   zSpecification[Any] | _UnsetrU   zSpecification[Any]r   )Ar    
__future__r   collections.abcr   r   r   typingr   r   referencingr	   r
   r   r   r   referencing._attrsr   referencing._corer   r   r   r   	_Resolverr   referencing.typingr   
AnchorTyper   r   rn   r(   rT   r   r   r   r!   	Exceptionr   r+   r2   r4   r?   rA   rF   rH   	frozensetrX   r_   rh   ro   r   r   r   DRAFT202012DRAFT201909DRAFT7DRAFT6DRAFT4DRAFT3opaquer   r   r;   r   )r   r<   s   00r$   <module>r      s   # 3 3  M M %  B A sCx  
t\!	" &! &! "* + Y  
(

 "
*( "( ". $  #&[%K : #&[%K B #&[%K$$$ $P #&[%K''' 'V #&[%K     0 #&[%K     : #&[%K     : 	
$
 ?
. .
 ?
72h 	
5
 0
. :
 0
72h 
	
B	
 0G +G	
 0G% 
D 
	
B
 0G
 +G
 0G

8 
	
E/G
 $GC/G
  
	
EKG $G#%;<KG
  4< <[I;[I5v>5v>5v>5v>*

*
%J 	HOOM22*

40 " ,2( , 
 
 
4
s   &J3
