§
    ŠŠtj²  ã            	       ój  — 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
j)        j*        D ]Z+ ee+e#e'¦  «         Œ eee$e(¦  «         dS ) é    )Ú
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          | <   d S ©N©r   r   )r   r   r   s      úN/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/fx/_pytree.pyÚregister_pytree_flatten_specr      s   € ð
 +…O�CÑØ'BÕ Ñ$Ð$Ð$ó    c                 ó&   — t           | = t          | = d S r   r   )r   s    r   Ú_deregister_pytree_flatten_specr   "   s   € õ 	˜ÐÝ# CÐ(Ð(Ð(r   ÚpytreeÚspecc           	      óp  — |                      ¦   «         r| gS |j        t          v r_t          |j                 } || |¦  «        }g }t          ||                     ¦   «         ¦  «        D ]\  }}t          ||¦  «        }||z  }Œ|S t          | ¦  «        \  }}	||	k    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ˆð „y•OÐ#Ð#Ý)¨$¬)Ô4ˆØ'˜¨°Ñ5Ô5ˆØˆÝ!$ ]°D·M²M±O´OÑ!DÔ!Dð 	ð 	ÑˆE�:Ý$ U¨JÑ7Ô7ˆDØ�d‰NˆFˆFØˆÝ)¨&Ñ1Ô1Ñ€K�ØˆyÒÐÝðm˜ð mð m¨vð mð mÐX\ð mð mð mñ
ô 
ð 	
ð Ðr   Údc                 ó*   ‡ — ˆ fd„|j         D ¦   «         S )Nc                 ó    •— g | ]
}‰|         ‘ŒS © r/   )Ú.0Úkr,   s     €r   ú
<listcomp>z&_dict_flatten_spec.<locals>.<listcomp>F   s   ø€ Ð'Ð'Ð'�QˆAˆaŒDÐ'Ð'Ð'r   )Úcontext©r,   r   s   ` r   Ú_dict_flatten_specr5   E   s   ø€ Ø'Ð'Ð'Ð'˜$œ,Ð'Ñ'Ô'Ð'r   c                 óD   ‡ — ˆ fd„t          |j        ¦  «        D ¦   «         S )Nc                 ó    •— g | ]
}‰|         ‘ŒS r/   r/   ©r0   Úir,   s     €r   r2   z&_list_flatten_spec.<locals>.<listcomp>J   ó   ø€ Ð3Ð3Ð3�QˆAˆaŒDÐ3Ð3Ð3r   ©ÚrangeÚnum_childrenr4   s   ` r   Ú_list_flatten_specr>   I   ó(   ø€ Ø3Ð3Ð3Ð3�% Ô 1Ñ2Ô2Ð3Ñ3Ô3Ð3r   .c                 óD   ‡ — ˆ fd„t          |j        ¦  «        D ¦   «         S )Nc                 ó    •— g | ]
}‰|         ‘ŒS r/   r/   r8   s     €r   r2   z'_tuple_flatten_spec.<locals>.<listcomp>N   r:   r   r;   r4   s   ` r   Ú_tuple_flatten_specrB   M   r?   r   c                 óD   ‡ — ˆ fd„t          |j        ¦  «        D ¦   «         S )Nc                 ó    •— g | ]
}‰|         ‘ŒS r/   r/   r8   s     €r   r2   z,_namedtuple_flatten_spec.<locals>.<listcomp>R   r:   r   r;   r4   s   ` r   Ú_namedtuple_flatten_specrE   Q   r?   r   c                 ó2   — t          | ¦  «        |j        k    S r   ©Úlenr=   r4   s     r   Ú_dict_flatten_spec_exact_matchrI   U   ó   € Ýˆq‰6Œ6�TÔ&Ò&Ð&r   c                 ó2   — t          | ¦  «        |j        k    S r   rG   r4   s     r   Ú_list_flatten_spec_exact_matchrL   Y   rJ   r   c                 ó2   — t          | ¦  «        |j        k    S r   rG   r4   s     r   Ú_tuple_flatten_spec_exact_matchrN   ]   rJ   r   c                 ó2   — t          | ¦  «        |j        k    S r   rG   r4   s     r   Ú$_namedtuple_flatten_spec_exact_matchrP   a   rJ   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#   r5   r>   ÚtuplerB   rE   rI   rL   rN   rP   Úreturn_typesÚall_return_typesÚreturn_typer/   r   r   ú<module>rd      s  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (à Ð Ð Ð Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >ð ˜& (Ð+¨T°#¬YÐ6Ô7€Ø" F¨HÐ#5°tÐ#;Ô<Ð ð  €Ø3Ð à24€��d˜3”i Ð.Ô/Ð 4Ð 4Ñ 4ØOQÐ ˜T $ s¤)Ð-DÀtÑ-KÐ"KÔLÐ QÐ QÑ Qà€WˆT�]„]€Ø€WˆT�]„]€Ø€WˆT�]„]€ð CGðCð CØ	ˆcŒðCà"ðCð "9¸4Ñ!?ðCð 
ð	Cð Cð Cð Cð)Ø	ˆcŒð)à	ð)ð )ð )ð )ðØðà
ðð 
ˆ#„Yðð ð ð ð8(˜$˜r 2˜vœ,ð (¨hð (¸4À¼8ð (ð (ð (ð (ð4˜$˜rœ(ð 4¨(ð 4°t¸B´xð 4ð 4ð 4ð 4ð4˜5  S œ>ð 4°ð 4¸dÀ2¼hð 4ð 4ð 4ð 4ð4 
ð 4°(ð 4¸tÀC¼yð 4ð 4ð 4ð 4ð' d¨2¨r¨6¤lð '¸(ð 'Àtð 'ð 'ð 'ð 'ð' d¨2¤hð '°hð 'À4ð 'ð 'ð 'ð 'ð' u¨R°¨W¤~ð '¸Xð 'È$ð 'ð 'ð 'ð 'ð'¨Jð '¸hð 'È4ð 'ð 'ð 'ð 'ð Ð ˜TÐ#5Ð7UÑ VÔ VÐ VØ Ð ˜TÐ#5Ð7UÑ VÔ VÐ VØ Ð Ø	ØØ#ñô ð ð
 Ô%Ô6ð ð €KØ Ð ØØØ'ñô ð ð ð
 Ð ØØØ(ñô ð ð ð r   