Ë
    §Ýj  ã                   óÜ   — d Z ddlZddlZddlmZ  ee«      j                  «       j                  d   dz  dz  Zh d£Z	e
eee ed«      dœZd	e
fd
„Zd	efd„Zdd	ee   fd„Zded	ee   fd„Zy)u`  Minimaler JSON-Schema-PrÃ¼fer fÃ¼r die in docs/bridge-protokoll.schema.json
benutzte Teilmenge (type, enum, const, required, properties,
additionalProperties=false, items, maxItems, pattern, minimum, maxLength,
oneOf, $ref). Nur Standardbibliothek; wirft bei unbekannten SchlÃ¼sselwÃ¶rtern,
damit das Schema nicht still Ã¼ber den PrÃ¼fer hinauswÃ¤chst.é    N)ÚPathé   Údocszbridge-protokoll.schema.json>   ú$idú$schemaÚenumÚtypeÚconstÚitemsÚoneOfÚtitleÚminimumÚpatternÚmaxItemsÚrequiredÚ	maxLengthÚ
propertiesÚdescriptionÚadditionalPropertiesú$refú$defs)ÚobjectÚarrayÚstringÚbooleanÚnullÚreturnc                  óT   — t        j                  t        j                  d¬«      «      S )Nzutf-8)Úencoding)ÚjsonÚloadsÚSCHEMA_PATHÚ	read_text© ó    ú3/home/aria/aria-v3-dev/python/tests/schema_check.pyÚload_schemar'      s   € Ü�:‰:”k×+Ñ+°WÐ+Ó=Ó>Ð>r%   c                 óÔ   — |dk(  r#t        | t        «      xr t        | t        «       S |dk(  r)t        | t        t        f«      xr t        | t        «       S t        | t        |   «      S )NÚintegerÚnumber)Ú
isinstanceÚintÚboolÚfloatÚTYPES)ÚvalueÚnames     r&   Ú_type_okr2      s_   € ØˆyÒÜ˜%¤Ó%ÒE¬j¸ÄÓ.EÐ*EÐEØˆxÒÜ˜%¤#¤u Ó.ÒN´zÀ%ÌÓ7NÐ3NÐNÜ�eœU 4™[Ó)Ð)r%   c                 ó€  ‡ — t        |«      t        z
  }|rt        d|› d|› �«      ‚d|v r=|}|d   j                  d«      j	                  d«      D ]  }||   }Œ	 t        ‰ |||«      S d|v rB|d   D �cg c]  }t        ‰ |||«      rŒ|‘Œ }}t        |«      dk(  rg S |› dt        |«      › �gS g }	d	|v rPt        |d	   t        «      r|d	   n|d	   g}
t        ˆ fd
„|
D «       «      s|› dt        ‰ «      j                  › d|
› �gS d|v r‰ |d   k7  r|	j                  |› d�«       d|v r‰ |d   vr|	j                  |› d‰ ›�«       t        ‰ t        «      rZd|v r-t        j                  |d   ‰ «      s|	j                  |› d�«       d|v r%t        ‰ «      |d   kD  r|	j                  |› d�«       t        ‰ t         «      r0t        ‰ t"        «      s d|v r‰ |d   k  r|	j                  |› d�«       t        ‰ t$        «      r»|j'                  dg «      D ]  }|‰ vsŒ|	j                  |› d|› �«       Œ |j'                  di «      }|j'                  d«      du r"‰ D ]  }||vsŒ|	j                  |› d|› �«       Œ |j)                  «       D ]/  \  }}|‰ v sŒ|	j+                  t        ‰ |   |||› d|› �«      «       Œ1 t        ‰ t        «      rod|v r%t        ‰ «      |d   kD  r|	j                  |› d�«       t-        ‰ «      D ]8  \  }}|	j+                  t        ||j'                  d i «      ||› d!|› d"�«      «       Œ: |	S c c}w )#Nzunsupported schema keywords z at r   z#/ú/r   é   z: oneOf matched r	   c              3   ó6   •K  — | ]  }t        ‰|«      –— Œ y ­w)N)r2   )Ú.0Únr0   s     €r&   ú	<genexpr>zerrors.<locals>.<genexpr>+   s   øè ø€ Ò5¨!”8˜E 1×%Ñ5ùs   ƒz: type z not in r
   z: constr   z: enum r   z	: patternr   z: maxLengthr   z	: minimumr   z
: missing r   r   Fz: additional ú.r   z
: maxItemsr   ú[ú])ÚsetÚKNOWNÚ
ValueErrorÚlstripÚsplitÚerrorsÚlenr+   ÚlistÚanyr	   Ú__name__ÚappendÚstrÚreÚsearchr,   r-   ÚdictÚgetr   ÚextendÚ	enumerate)r0   ÚschemaÚrootÚpathÚunknownÚtargetÚpartÚsÚmatchesÚoutÚnamesÚkeyÚpropsÚsubÚindexÚitems   `               r&   rB   rB      s‹  ø€ Ü�&‹kœEÑ!€GÙÜÐ7¸°yÀÀTÀFÐKÓLÐLØ�ÑØˆØ˜6‘N×)Ñ)¨$Ó/×5Ñ5°cÓ:ò 	"ˆDØ˜D‘\‰Fð	"ä�e˜V T¨4Ó0Ð0Ø�&ÑØ$ W™oÖR˜´V¸EÀ1ÀdÈDÕ5Q’1ÐRˆÐRÜ˜“\ QÒ&ˆrÐU°¨vÐ5EÄcÈ'ÃlÀ^Ð-TÐ,UÐUØ
€CØ�ÑÜ",¨V°F©^¼TÔ"B��v’ÈÐPVÉÐHXˆÜÓ5¨uÔ5Ô5Ø�f˜G¤D¨£K×$8Ñ$8Ð#9¸À%ÀÐIÐJÐJØ�&Ñ˜U f¨W¡oÒ5Ø�
‰
�d�V˜7Ð#Ô$Ø�Ñ˜E¨°©Ñ7Ø�
‰
�d�V˜7 5 )Ð,Ô-Ü�%œÔØ˜Ñ¤r§y¡y°¸	Ñ1BÀEÔ'JØ�J‰J˜$˜˜yÐ)Ô*Ø˜&Ñ ¤S¨£Z°&¸Ñ2EÒ%EØ�J‰J˜$˜˜{Ð+Ô,Ü�%œÔ¤j°¼Ô&=À)ÈvÑBUÐZ_ÐbhÐirÑbsÒZsØ�
‰
�d�V˜9Ð%Ô&Ü�%œÔØ—:‘:˜j¨"Ó-ò 	5ˆCØ˜%ÒØ—
‘
˜d˜V :¨c¨UÐ3Õ4ð	5ð —
‘
˜<¨Ó,ˆØ�:‰:Ð,Ó-°Ñ6Øò <�Ø˜eÒ#Ø—J‘J $  }°S°EÐ:Õ;ð<ð Ÿ™›ò 	K‰HˆC�Ø�eŠ|Ø—
‘
œ6 %¨¡*¨c°4¸D¸6ÀÀ3À%¸ÓIÕJð	Kô �%œÔØ˜Ñ¤C¨£J°¸
Ñ1CÒ$CØ�J‰J˜$˜˜zÐ*Ô+Ü$ UÓ+ò 	X‰KˆE�4Ø�J‰J”v˜d F§J¡J¨w¸Ó$;¸TÀdÀVÈ1ÈUÈGÐSTÐCUÓVÕWð	Xà€JùòG Ss   Á3L;ÂL;Ú
definitionc                 ó<   — t        «       }t        | |d   |   |«      S )Nr   )r'   rB   )r0   r^   rP   s      r&   Úvalidater`   L   s!   € Ü‹=€DÜ�%˜˜g™ zÑ2°DÓ9Ð9r%   )ú$)Ú__doc__r    rI   Úpathlibr   Ú__file__ÚresolveÚparentsr"   r>   rK   rD   rH   r-   r	   r/   r'   r2   rB   r`   r$   r%   r&   ú<module>rg      s�   ðñAó
 Û 	Ý á�8‹n×$Ñ$Ó&×.Ñ.¨qÑ1°FÑ:Ð=[Ñ[€ò	s€à $°#À$ÑPTÐUYÓPZÑ[€ð?�Tó ?ð*˜Tó *ñ-¨T°#©Yó -ð`: ð :¨¨S©	ô :r%   