+
     °³jó-  ã                   ó¤   € ^ RI t ^ RIHt ^ RIHtHtHtHt ^RIH	t	 ^RI
HtHtHtHt ^RIHt  ! R R]4      t ! R	 R
]4      t ! R R]4      tR# )é    N)ÚPath)ÚAnyÚCallableÚOptionalÚUnion)Údefault_loader)Úcheck_integrityÚdownload_and_extract_archiveÚdownload_urlÚverify_str_arg)ÚVisionDatasetc                   óð   a a€ ] tR t^
t oRtRtRR)RR*RR+/tRRRR	R
RRRRRRRRR/tRRRRRR/tRt	RRR]
3V3R lV 3R llltV3R lR ltV3R  lR! ltV3R" lR# ltV3R$ lR% ltV3R& lR' ltR(tVtV ;t# ),Ú_LFWzlfw-pyz http://vis-www.cs.umass.edu/lfw/ÚoriginalÚfunneledÚdeepfunneledz	pairs.txtÚ 9f1ba174e4e1c508ff7cdf10ac338a7dzpairsDevTest.txtÚ 5132f7440eb68cf58910c8a45a2ac10bzpairsDevTrain.txtÚ 4f27cbf15b2da4a85c1907eb4181ad21z
people.txtÚ 450f0863dd89e85e73936a6d71a3474bzpeopleDevTest.txtÚ e4bf5be0a43b5dcd9dc5ccfcb8fb19c5zpeopleDevTrain.txtÚ 54eaac34beb6d042ed3a7d883e247a21zlfw-names.txtÚ a6d0a479bd074669f656265a6e693f6dÚ10foldÚ ÚtrainÚDevTrainÚtestÚDevTestNFc                óœ   <€ V ^8„  d   QhRS[ S[S[3,          RS[RS[RS[RS[S[,          RS[S[,          RS[RS[S[.S[3,          R	R
/	# )é   ÚrootÚsplitÚ	image_setÚviewÚ	transformÚtarget_transformÚdownloadÚloaderÚreturnN)r   Ústrr   r   r   Úboolr   )ÚformatÚ__classdict__s   "€ÚY/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/datasets/lfw.pyÚ__annotate__Ú_LFW.__annotate__    sƒ   ø€ ÷ "ñ "á‘C™�IÕð"ñ ð"ñ ð	"ñ
 ð"ñ ™HÕ%ð"ñ #¡8Õ,ð"ñ ð"ñ ™#˜¡˜Õ$ð"ð 
ñ"ó    c	                ó  <€ \         S
V `  \        P                  P	                  WP
                  4      WVR 7       \        VP                  4       RV P                  P                  4       4      V n
        V P                  V P                  ,          w  q�n        V n        \        VP                  4       RRR.4      V n        \        VP                  4       R. R
O4      V n        V P                   V P                  V P                  ,           R2V n        . V n        V'       d   \%        R4      hV P)                  4       '       g   \+        R4      h\        P                  P	                  V P,                  V	4      V n        W€n        R	# ))r&   r'   r$   r%   ÚpeopleÚpairsr#   z.txtzèLFW dataset is no longer available for automatic download.Please download the dataset manually and place it in the specified directory.A commonly used mirror is available at: https://www.kaggle.com/datasets/jessicali9530/lfw-datasetzHDataset not found or corrupted. You can use download=True to download itN)r   r   r   )ÚsuperÚ__init__ÚosÚpathÚjoinÚbase_folderr   ÚlowerÚ	file_dictÚkeysr$   ÚfilenameÚmd5r%   r#   Ú
annot_fileÚlabels_fileÚdataÚ
ValueErrorr(   Ú_check_integrityÚRuntimeErrorr"   Ú
images_dirÚ_loader)Úselfr"   r#   r$   r%   r&   r'   r(   r)   rG   Ú	__class__s   &&&&&&&&& €r/   r7   Ú_LFW.__init__    s  ø€ ô 	‰ÑœŸ™Ÿ™ d×,<Ñ,<Ó=ÈÐÔvä'¨	¯©Ó(9¸;ÈÏÉ×H[ÑH[ÓH]Ó^ˆŒØ.2¯n©n¸T¿^¹^Õ.LÑ+ˆ
”M 4¤8ä" 4§:¡:£<°¸(ÀGÐ9LÓMˆŒ	Ü# E§K¡K£M°7Ò<WÓXˆŒ
Ø"Ÿi™i˜[¨¯©¸¿¹Õ)DÐ(EÀTÐJˆÔØ!ˆŒ	çÜðLóð ð ×$Ñ$×&Ò&ÜÐiÓjÐjäŸ'™'Ÿ,™, t§y¡y°*Ó=ˆŒØŽr2   c                ó    <€ V ^8„  d   QhRS[ /# ©r!   r*   )r,   )r-   r.   s   "€r/   r0   r1   D   s   ø€ ÷ ñ ¡$ñ r2   c                ó@  € \        \        P                  P                  V P                  V P
                  4      V P                  4      p\        \        P                  P                  V P                  V P                  4      V P                  V P                  ,          4      pV'       d	   V'       g   R # V P                  R8X  dZ   \        \        P                  P                  V P                  V P                  4      V P                  V P                  ,          4      # R# )Fr4   T)r	   r8   r9   r:   r"   r?   r@   rB   Ú	checksumsr%   Únames)rI   Úst1Úst2s   &  r/   rE   Ú_LFW._check_integrityD   s©   € ÜœbŸg™gŸl™l¨4¯9©9°d·m±mÓDÀdÇhÁhÓOˆÜœbŸg™gŸl™l¨4¯9©9°d×6FÑ6FÓGÈÏÉÐX\×XhÑXhÕIiÓjˆßŸ#ÙØ�9‰9˜Ô Ü"¤2§7¡7§<¡<°·	±	¸4¿:¹:Ó#FÈÏÉÐW[×WaÑWaÕHbÓcÐcÙr2   c                ó   <€ V ^8„  d   QhRR/# )r!   r*   N© )r-   r.   s   "€r/   r0   r1   M   s   ø€ ÷ Oñ O˜$ñ Or2   c                ó   € V P                  4       '       d   R # V P                   V P                   2p\        WP                  V P                  V P
                  R7       \        V P                   V P                   2V P                  4       V P                  R8X  d1   \        V P                   V P                   2V P                  4       R # R # )N)r?   r@   r4   )
rE   Údownload_url_prefixr?   r
   r"   r@   r   rB   r%   rP   )rI   Úurls   & r/   r(   Ú_LFW.downloadM   s    € Ø× Ñ ×"Ò"ÙØ×)Ñ)Ð*¨4¯=©=¨/Ð:ˆÜ$ S¯)©)¸d¿m¹mÐQU×QYÑQYÕZÜ˜×0Ñ0Ð1°$×2BÑ2BÐ1CÐDÀdÇiÁiÔPØ�9‰9˜Ô Ü˜D×4Ñ4Ð5°d·j±j°\ÐBÀDÇIÁIÖNñ !r2   c                óB   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          RS[ /# )r!   ÚidentityÚnor*   )r+   r   Úint)r-   r.   s   "€r/   r0   r1   V   s/   ø€ ÷ Xñ X¡#ð X©5±±c°­?ð X¹sñ Xr2   c           	     óv   € \         P                  P                  V P                  W R \	        V4      R R24      # )Ú_Ú04dz.jpg)r8   r9   r:   rG   r]   )rI   r[   r\   s   &&&r/   Ú	_get_pathÚ_LFW._get_pathV   s/   € Ü�w‰w�|‰|˜DŸO™O¨X¸À1ÄSÈÃWÈSÀMÐQUÐ7VÓWÐWr2   c                ó    <€ V ^8„  d   QhRS[ /# rM   ©r+   )r-   r.   s   "€r/   r0   r1   Y   s   ø€ ÷ Cñ C™Cñ Cr2   c                ó:   € R V P                    RV P                   2# )zAlignment: z
Split: )r$   r#   ©rI   s   &r/   Ú
extra_reprÚ_LFW.extra_reprY   s   € Ø˜TŸ^™^Ð,¨I°d·j±j°\ÐBÐBr2   c                ó    <€ V ^8„  d   QhRS[ /# rM   )r]   )r-   r.   s   "€r/   r0   r1   \   s   ø€ ÷ ñ ™ñ r2   c                ó,   € \        V P                  4      # )N)ÚlenrC   rf   s   &r/   Ú__len__Ú_LFW.__len__\   s   € Ü�4—9‘9‹~Ðr2   )	rH   rC   r?   r$   rG   rB   r@   r#   r%   )Úlfwzlfw.tgzÚ a17d05bd522c52d84eca14327a23d494)Úlfw_funneledzlfw-funneled.tgzÚ 1b42dfed7d15c9b2dd63d5e5840c86ad)zlfw-deepfunneledzlfw-deepfunneled.tgzÚ 68331da3eb755a505a502b5aacb3c201)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r;   rW   r=   rO   rA   rP   r   r7   rE   r(   ra   rg   rl   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©rJ   r.   s   @@r/   r   r   
   sÍ   ù‡ € à€KØ<Ðð 	ÐJØÐ\ØÐhð€Ið 	Ð7ØÐ>ØÐ?ØÐ8ØÐ?ØÐ@ØÐ;ð€Ið ˜B ¨°V¸YÐG€JØ€Eð )-Ø/3ØØ'5÷"õ "÷Hð ÷Oð O÷Xð X÷Cð C÷÷ ð r2   r   c                   ó    a a€ ] tR t^`t oRtRRRRR]3V3R lV 3R llltV3R lR	 ltV3R
 lR ltV3R lR lt	V3R lV 3R llt
RtVtV ;t# )Ú	LFWPeopleaV  `LFW <http://vis-www.cs.umass.edu/lfw/>`_ Dataset.

.. warning::

    The LFW dataset is no longer available for automatic download. Please
    download it manually and place it in the specified directory.
    A commonly used mirror is available at: https://www.kaggle.com/datasets/jessicali9530/lfw-dataset

Args:
    root (str or ``pathlib.Path``): Root directory of dataset where directory
        ``lfw-py`` exists or will be saved to if download is set to True.
    split (string, optional): The image split to use. Can be one of ``train``, ``test``,
        ``10fold`` (default).
    image_set (str, optional): Type of image funneling to use, ``original``, ``funneled`` or
        ``deepfunneled``. Defaults to ``funneled``.
    transform (callable, optional): A function/transform that takes in a PIL image or torch.Tensor, depends on the given loader,
        and returns a transformed version. E.g, ``transforms.RandomCrop``
    target_transform (callable, optional): A function/transform that takes in the
        target and transforms it.
    download (bool, optional): NOT SUPPORTED ANYMORE, leave to False.
    loader (callable, optional): A function to load an image given its path.
        By default, it uses PIL as its image loader, but users could also pass in
        ``torchvision.io.decode_image`` for decoding image data into tensors directly.
r   r   NFc                ó€   <€ V ^8„  d   QhRS[ RS[ RS[ RS[S[,          RS[S[,          RS[RS[S[ .S[3,          RR	/# ©
r!   r"   r#   r$   r&   r'   r(   r)   r*   N©r+   r   r   r,   r   )r-   r.   s   "€r/   r0   ÚLFWPeople.__annotate__z   sp   ø€ ÷ 5ñ 5áð5ñ ð5ñ ð	5ñ
 ™HÕ%ð5ñ #¡8Õ,ð5ñ ð5ñ ™#˜¡˜Õ$ð5ð 
ñ5r2   c                ó”   <€ \         SV `  WVR WEWgR7       V P                  4       V n        V P	                  4       w  V n        V n        R# )r4   ©r)   N)r6   r7   Ú_get_classesÚclass_to_idxÚ_get_peoplerC   Útargets©	rI   r"   r#   r$   r&   r'   r(   r)   rJ   s	   &&&&&&&&€r/   r7   ÚLFWPeople.__init__z   sF   ø€ ô 	‰Ñ˜ i°¸9ÐX`ÐÔpà ×-Ñ-Ó/ˆÔØ"&×"2Ñ"2Ó"4ÑˆŒ	�4–<r2   c                óV   <€ V ^8„  d   QhRS[ S[S[,          S[S[,          3,          /# rM   )ÚtupleÚlistr+   r]   )r-   r.   s   "€r/   r0   r€   ‰   s&   ø€ ÷ ñ ™U¡4©¥9©d±3­iÐ#7Õ8ñ r2   c           
     ó6  € . . r!\        \        P                  P                  V P                  V P
                  4      4      ;_uu_ 4       pVP                  4       pV P                  R 8X  d   \        V^ ,          4      ^3MRw  rV\        V4       Fä  p\        WF,          4      pWF^,           Wh,           ^,             U	u. uF!  q™P                  4       P                  R4      NK#  	  p
p	Wh^,           ,          p\        V
4       Fo  w  pw  rÍ\        ^\        V4      ^,           4       FG  pV P                  WÎ4      pVP                  V4       VP                  V P                  V,          4       KI  	  Kq  	  Kæ  	  RRR4       W3# u up	i   + '       g   i     Y3# ; i)r   Ú	N)é   r   )Úopenr8   r9   r:   r"   rB   Ú	readlinesr#   r]   ÚrangeÚstripÚ	enumeratera   Úappendr„   )rI   rC   r†   ÚfÚlinesÚn_foldsÚsÚfoldÚn_linesÚliner4   Úir[   Únum_imgsÚnumÚimgs   &               r/   r…   ÚLFWPeople._get_people‰   s@  € Ø˜BˆgÜ”"—'‘'—,‘,˜tŸy™y¨$×*:Ñ*:Ó;×<Ô<ÀØ—K‘K“MˆEØ/3¯z©z¸XÔ/Eœ#˜e A�h›-¨Ñ+È6‰JˆGä˜gž�Ü˜e�h›-�Ø?DÈÅUÈQÍ[Ð[\Í_Ñ?]Ó^Ñ?]°tŸ*™*›,×,Ñ,¨TÖ2Ñ?]�Ð^Ø˜q•[Õ �Ü/8¸Ö/@Ñ+�AÑ+˜Ü$ Q¬¨H«¸Õ(9Ö:˜Ø"Ÿn™n¨XÓ;˜ØŸ™ CÔ(ØŸ™ t×'8Ñ'8¸Õ'BÖCó  ;ó 0Añ	 '÷	 =ð ˆ}Ðùò _÷ =Ö<ð ˆ}Ðús    Á	A3FÂ<'F
Ã#BFÆFÆF	c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# rM   )Údictr+   r]   )r-   r.   s   "€r/   r0   r€   ›   s   ø€ ÷ ñ ™d¡3© 8�nñ r2   c                ó   € \        \        P                  P                  V P                  V P
                  4      4      ;_uu_ 4       pVP                  4       pV Uu. uF'  q3P                  4       P                  4       ^ ,          NK)  	  ppRRR4       \        X4       UUu/ uF  w  rVWebK	  	  pppV# u upi   + '       g   i     L5; iu uppi )r   N)
r�   r8   r9   r:   r"   rP   r�   r’   r#   r“   )rI   r•   r–   r›   rP   rœ   Únamer„   s   &       r/   rƒ   ÚLFWPeople._get_classes›   sš   € Ü”"—'‘'—,‘,˜tŸy™y¨$¯*©*Ó5×6Ô6¸!Ø—K‘K“MˆEÙ9>Ó?¹°—Z‘Z“\×'Ñ'Ó)¨!×,Ð,¹ˆEÐ?÷ 7ô 09¸Ô/?Ô@Ñ/?¡G A˜šÑ/?ˆÑ@ØÐùò @÷ 7×6üó As$   ÁB7Á-B2ÂB7Â C
Â2B7Â7C	c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[3,          /# ©r!   Úindexr*   ©r]   rŠ   r   )r-   r.   s   "€r/   r0   r€   ¢   s#   ø€ ÷ ñ ¡ð ©©s±C¨x­ñ r2   c                óî   € V P                  V P                  V,          4      pV P                  V,          pV P                  e   V P                  V4      pV P                  e   V P	                  V4      pW#3# )zu
Args:
    index (int): Index

Returns:
    tuple: Tuple (image, target) where target is the identity of the person.
)rH   rC   r†   r&   r'   )rI   r¨   rŸ   Útargets   &&  r/   Ú__getitem__ÚLFWPeople.__getitem__¢   se   € ð �l‰l˜4Ÿ9™9 UÕ+Ó,ˆØ—‘˜eÕ$ˆà�>‰>Ò%Ø—.‘. Ó%ˆCà× Ñ Ò,Ø×*Ñ*¨6Ó2ˆFàˆ{Ðr2   c                ó    <€ V ^8„  d   QhRS[ /# rM   rd   )r-   r.   s   "€r/   r0   r€   µ   s   ø€ ÷ Zñ Z™Cñ Zr2   c                óZ   <€ \         SV `  4       R \        V P                  4       2,           # )z
Classes (identities): )r6   rg   rk   r„   )rI   rJ   s   &€r/   rg   ÚLFWPeople.extra_reprµ   s*   ø€ Ü‰wÑ!Ó#Ð(@ÄÀT×EVÑEVÓAWÐ@XÐ&YÕYÐYr2   )r„   rC   r†   )rs   rt   ru   rv   Ú__doc__r   r7   r…   rƒ   r¬   rg   rw   rx   ry   rz   s   @@r/   r|   r|   `   sX   ù‡ € ñð8 Ø#Ø(,Ø/3ØØ'5÷5õ 5÷ð ÷$ð ÷ð ÷&Z÷ Zó Zr2   r|   c                   óv   a a€ ] tR t^¹t oRtRRRRR]3V3R lV 3R llltV3R lR	 ltV3R
 lR ltRt	Vt
V ;t# )ÚLFWPairsa;  `LFW <http://vis-www.cs.umass.edu/lfw/>`_ Dataset.

.. warning::

    The LFW dataset is no longer available for automatic download. Please
    download it manually and place it in the specified directory.
    A commonly used mirror is available at: https://www.kaggle.com/datasets/jessicali9530/lfw-dataset

Args:
    root (str or ``pathlib.Path``): Root directory of dataset where directory
        ``lfw-py`` exists or will be saved to if download is set to True.
    split (string, optional): The image split to use. Can be one of ``train``, ``test``,
        ``10fold``. Defaults to ``10fold``.
    image_set (str, optional): Type of image funneling to use, ``original``, ``funneled`` or
        ``deepfunneled``. Defaults to ``funneled``.
    transform (callable, optional): A function/transform that takes in a PIL image
        and returns a transformed version. E.g, ``transforms.RandomRotation``
    target_transform (callable, optional): A function/transform that takes in the
        target and transforms it.
    download (bool, optional): NOT SUPPORTED ANYMORE, leave to False.
    loader (callable, optional): A function to load an image given its path.
        By default, it uses PIL as its image loader, but users could also pass in
        ``torchvision.io.decode_image`` for decoding image data into tensors directly.

r   r   NFc                ó€   <€ V ^8„  d   QhRS[ RS[ RS[ RS[S[,          RS[S[,          RS[RS[S[ .S[3,          RR	/# r~   r   )r-   r.   s   "€r/   r0   ÚLFWPairs.__annotate__Ô   sz   ø€ ÷ Tñ TáðTñ ðTñ ð	Tñ
 ™HÕ%ðTñ #¡8Õ,ðTñ ðTñ ™#˜¡˜Õ$ðTð 
ñTr2   c                óŒ   <€ \         SV `  WVR WEWgR7       V P                  V P                  4      w  V n        V n        V n        R# )r5   r‚   N)r6   r7   Ú
_get_pairsrG   Ú
pair_namesrC   r†   r‡   s	   &&&&&&&&€r/   r7   ÚLFWPairs.__init__Ô   s=   ø€ ô 	‰Ñ˜ i°¸)ÐW_ÐÔoà37·?±?À4Ç?Á?Ó3SÑ0ˆŒ˜œ D¦Lr2   c          	      óœ   <€ V ^8„  d   QhRS[ RS[S[S[S[ S[ 3,          ,          S[S[S[ S[ 3,          ,          S[S[,          3,          /# )r!   rG   r*   )r+   rŠ   r‹   r]   )r-   r.   s   "€r/   r0   rµ   â   sK   ø€ ÷ )ñ )¡Sð )©U±4¹¹cÁ3¸h½Õ3HÉ$ÉuÑUXÑZ]ÐU]ÍÕJ_ÑaeÑfiÕajÐ3jÕ-kñ )r2   c           
     ó0  € . . . rCp\        \        P                  P                  V P                  V P
                  4      4      ;_uu_ 4       pVP                  4       pV P                  R 8X  d1   V^ ,          P                  R4      w  rx\        V4      \        V4      r‡M^\        V^ ,          4      r‡^p	\        V4       EF­  p
WiW˜,             Uu. uF!  q»P                  4       P                  R4      NK#  	  ppWiV,           V	^V,          ,             Uu. uF!  q»P                  4       P                  R4      NK#  	  ppV	^V,          ,          p	V FŠ  pV P                  V^ ,          V^,          4      V P                  V^ ,          V^,          4      ^pppVP                  V^ ,          V^ ,          34       VP                  VV34       VP                  V4       KŒ  	  V FŠ  pV P                  V^ ,          V^,          4      V P                  V^,          V^,          4      ^ pppVP                  V^ ,          V^,          34       VP                  VV34       VP                  V4       KŒ  	  EK°  	  RRR4       W#V3# u upi u upi   + '       g   i     L; i)r   r�   N)r�   r8   r9   r:   r"   rB   r�   r#   r]   r‘   r’   ra   r”   )rI   rG   r¸   rC   r†   r•   r–   r—   Ún_pairsr˜   r™   r›   Úmatched_pairsÚunmatched_pairsÚpairÚimg1Úimg2Úsames   &&                r/   r·   ÚLFWPairs._get_pairsâ   s$  € Ø$&¨¨B˜'ˆ
Ü”"—'‘'—,‘,˜tŸy™y¨$×*:Ñ*:Ó;×<Ô<ÀØ—K‘K“MˆEØ�z‰z˜XÔ%Ø#(¨¥8§>¡>°$Ó#7Ñ �Ü#& w£<´°W³™à#$¤c¨%°­(£m˜ØˆAä˜gŸ�ØFKÐPQÕP[ÑF\Ó ]ÑF\¸d§¡£×!3Ñ!3°DÖ!9ÑF\�Ð ]ØHMÐRYÍkÐ\]ÐabÐelÕalÕ\mÑHnÓ"oÑHnÀ§:¡:£<×#5Ñ#5°dÖ#;ÑHn�Ð"oØ�Q˜•[Õ �Û)�DØ'+§~¡~°d¸1µg¸tÀA½wÓ'GÈÏÉÐX\Ð]^ÕX_ÐaeÐfgÕahÓIiÐkl ˜$�DØ×%Ñ% t¨A¥w°°QµÐ&8Ô9Ø—K‘K  t Ô-Ø—N‘N 4Ö(ñ	 *ó
 ,�DØ'+§~¡~°d¸1µg¸tÀA½wÓ'GÈÏÉÐX\Ð]^ÕX_ÐaeÐfgÕahÓIiÐkl ˜$�DØ×%Ñ% t¨A¥w°°QµÐ&8Ô9Ø—K‘K  t Ô-Ø—N‘N 4Ö(ô	 ,ñ '÷ =ð0  Ð(Ð(ùò !^ùÚ"o÷ =×<ús,   ÁBJÃ'I;
Ã4JÄ'J 
Ä8D7JÉ;
JÊJ	c                ó@   <€ V ^8„  d   QhRS[ RS[S[S[S[ 3,          /# r§   r©   )r-   r.   s   "€r/   r0   rµ   þ   s&   ø€ ÷ "ñ "¡ð "©©s±C¹¨}Õ)=ñ "r2   c                ó8  € V P                   V,          w  r#V P                  V4      V P                  V4      r2V P                  V,          pV P                  e"   V P                  V4      V P                  V4      r2V P                  e   V P	                  V4      pW#V3# )z—
Args:
    index (int): Index

Returns:
    tuple: (image1, image2, target) where target is `0` for different indentities and `1` for same identities.
)rC   rH   r†   r&   r'   )rI   r¨   rÀ   rÁ   r«   s   &&   r/   r¬   ÚLFWPairs.__getitem__þ   s…   € ð —Y‘Y˜uÕ%‰
ˆØ—\‘\ $Ó'¨¯©°dÓ);ˆdØ—‘˜eÕ$ˆà�>‰>Ò%ØŸ™¨Ó-¨t¯~©~¸dÓ/C�$à× Ñ Ò,Ø×*Ñ*¨6Ó2ˆFà˜6Ð!Ð!r2   )rC   r¸   r†   )rs   rt   ru   rv   r±   r   r7   r·   r¬   rw   rx   ry   rz   s   @@r/   r³   r³   ¹   sC   ù‡ € ñð: Ø#Ø(,Ø/3ØØ'5÷Tõ T÷)ð )÷8"÷ "ð "r2   r³   )r8   Úpathlibr   Útypingr   r   r   r   Úfolderr   Úutilsr	   r
   r   r   Úvisionr   r   r|   r³   rU   r2   r/   Ú<module>rÌ      sK   ðÛ 	Ý ß 1Ó 1å "ß ^Ó ^Ý !ôSˆ=ô SôlVZ�ô VZôrW"ˆtö W"r2   