Ë
    ¡9j²  ã            	       óØ  — U d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	Z
d dlmZmZmZ eeegee   f   Zeeegef   ZeZeZi Zeee   ef   ed<   i Zeee   edz  f   ed<    ed	«      Z ed
«      Z ed«      Z	 ddee   dededz  ddfd„Zdee   ddfd„Zdededee   fd„Zdeeef   dedee   fd„Z dee   dedee   fd„Z!de"edf   dedee   fd„Z#dededee   fd„Z$deeef   dedefd„Z%dee   dedefd„Z&de"edf   dedefd„Z'dededefd„Z( eee e%«        eee!e&«        ee"e#e'«       e
jR                  jT                  D ]  Z+ ee+e#e'«       Œ  eee$e(«       y) é    )Ú
namedtuple)ÚCallable)ÚAnyÚTypeVar)Ú
NamedTupleN)ÚPyTreeÚtree_flattenÚTreeSpecÚSUPPORTED_NODESÚSUPPORTED_NODES_EXACT_MATCHÚ_TÚ_KÚ_VÚclsÚflatten_fn_specÚflatten_fn_exact_match_specÚreturnc                 ó(   — |t         | <   |t        | <   y ©N©r   r   )r   r   r   s      úP/media/conek/DATA/Code/OCR/venv/lib/python3.12/site-packages/torch/fx/_pytree.pyÚregister_pytree_flatten_specr      s   € ð
 +„OCÑØ'BÔ Ò$ó    c                 ó    — t         | = t        | = y r   r   )r   s    r   Ú_deregister_pytree_flatten_specr   "   s   € ô 	˜ÐÜ# CÑ(r   ÚpytreeÚspecc           	      óF  — |j                  «       r| gS |j                  t        v rSt        |j                     } || |«      }g }t        ||j	                  «       «      D ]  \  }}t        ||«      }||z  }Œ |S t        | «      \  }}	||	k7  rt        d|	› d| › d|› d«      ‚|S )Nz
Real spec z of object z! is different from expected spec z_. Please file an issue at https://github.com/pytorch/pytorch/issues/new?template=bug-report.yml)Úis_leafÚtyper   ÚzipÚchildrenÚtree_flatten_specr	   ÚRuntimeError)
r   r   r   Úchild_pytreesÚresultÚchildÚ
child_specÚflatÚflat_resultÚ	real_specs
             r   r#   r#   )   sÍ   € ð ‡||„~Øˆxˆð ‡yy”OÑ#Ü)¨$¯)©)Ñ4ˆÙ'¨°Ó5ˆØˆÜ!$ ]°D·M±M³OÓ!Dò 	ÑˆE:Ü$ U¨JÓ7ˆDØd‰N‰Fð	ð ˆÜ)¨&Ó1Ñ€KØˆyÒÜØ˜˜ ;¨v¨hÐ6WÐX\ÐW]ð ^lð mó
ð 	
ð Ðr   Údc                 óF   — |j                   D cg c]  }| |   ‘Œ	 c}S c c}w r   )Úcontext)r,   r   Úks      r   Ú_dict_flatten_specr0   E   s   € ØŸ,™,Ö'QˆAˆa‹DÒ'Ð'ùÒ's   c                 óX   — t        |j                  «      D cg c]  }| |   ‘Œ	 c}S c c}w r   ©ÚrangeÚnum_children©r,   r   Úis      r   Ú_list_flatten_specr7   I   ó%   € Ü × 1Ñ 1Ó2Ö3QˆAˆa‹DÒ3Ð3ùÒ3ó   ˜'.c                 óX   — t        |j                  «      D cg c]  }| |   ‘Œ	 c}S c c}w r   r2   r5   s      r   Ú_tuple_flatten_specr;   M   r8   r9   c                 óX   — t        |j                  «      D cg c]  }| |   ‘Œ	 c}S c c}w r   r2   r5   s      r   Ú_namedtuple_flatten_specr=   Q   r8   r9   c                 ó2   — t        | «      |j                  k(  S r   ©Úlenr4   ©r,   r   s     r   Ú_dict_flatten_spec_exact_matchrB   U   ó   € Üˆq‹6T×&Ñ&Ñ&Ð&r   c                 ó2   — t        | «      |j                  k(  S r   r?   rA   s     r   Ú_list_flatten_spec_exact_matchrE   Y   rC   r   c                 ó2   — t        | «      |j                  k(  S r   r?   rA   s     r   Ú_tuple_flatten_spec_exact_matchrG   ]   rC   r   c                 ó2   — t        | «      |j                  k(  S r   r?   rA   s     r   Ú$_namedtuple_flatten_spec_exact_matchrI   a   rC   r   r   ),Úcollectionsr   Úcollections.abcr   Útypingr   r   Útyping_extensionsr   Útorch.return_typesÚtorchÚtorch.utils._pytreer   r	   r
   ÚlistÚFlattenFnSpecÚboolÚFlattenFnExactMatchSpecÚFlattenFuncSpecÚFlattenFuncExactMatchSpecr   Údictr    Ú__annotations__r   r   r   r   r   r   r#   r0   r7   Útupler;   r=   rB   rE   rG   rI   Úreturn_typesÚall_return_typesÚreturn_type© r   r   ú<module>r^      sš  ðÞ "Ý $ß Ý (ã ß >Ñ >ð ˜& (Ð+¨T°#©YÐ6Ñ7€Ø" F¨HÐ#5°tÐ#;Ñ<Ð ð  €Ø3Ð à24€d˜3‘i Ð.Ñ/Ó 4ØOQÐ ˜T $ s¡)Ð-DÀtÑ-KÐ"KÑLÓ QáˆTƒ]€ÙˆTƒ]€ÙˆTƒ]€ð CGñCØ	ˆc‰ðCà"ðCð "9¸4Ñ!?ðCð 
ó	Cð)Ø	ˆc‰ð)à	ó)ðØðà
ðð 
ˆ#Yóð8(˜$˜r 2˜v™,ð (¨hð (¸4À¹8ó (ð4˜$˜r™(ð 4¨(ð 4°t¸B±xó 4ð4˜5  S ™>ð 4°ð 4¸dÀ2¹hó 4ð4 
ð 4°(ð 4¸tÀC¹yó 4ð' d¨2¨r¨6¡lð '¸(ð 'Àtó 'ð' d¨2¡hð '°hð 'À4ó 'ð' u¨R°¨W¡~ð '¸Xð 'È$ó 'ð'¨Jð '¸hð 'È4ó 'ñ ˜TÐ#5Ð7UÔ VÙ ˜TÐ#5Ð7UÔ VÙ Ø	ØØ#ôð
 ×%Ñ%×6Ñ6ò €KÙ ØØØ'õðñ ØØØ(õr   