+
    öÙ†jï  ã                   óH  € ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtHtH	t	 ^ RI
Ht ]! ]4      R,          R,          R,          t] P                  ! R] P                  4      t] P                  ! R	4      tR
R/R ltR tR t]	! 4        ! R R]P(                  4      4       tR tR# )é    N)ÚPath)Ú	REPO_ROOTÚTEST_HOME_DIRÚrequires_subprocess)Úskip_if_missingÚToolsÚi18nzpygettext.pyz)msgid(.*?)(?:msgid_plural|msgctxt|msgstr)z"((?:\\"|[^"])*)"Ústdout_onlyTc                óÊ   € \         P                  ! \        P                  \        R RRV .\         P
                  \         P
                  RR7      pV'       d   VP                  # V# )z--no-locationz-oÚ-T)ÚstdoutÚstderrÚtext)Ú
subprocessÚrunÚsysÚ
executableÚ	pygettextÚPIPEr   )Úpathr
   Úress   &$ Ú//usr/lib/python3.14/test/support/i18n_helper.pyÚ_generate_po_filer      sJ   € Ü
�.Š.œ#Ÿ.™.¬)Ø)¨4°°dð<ä *§¡¼
¿¹Ø"ô$€C÷ Ø�z‰zÐØ€Jó    c                 óö   € . p\         P                  V 4       FT  pR P                  \        P                  V4      4      pVP	                  RR4      pV'       g   KC  VP                  V4       KV  	  \        V4      # )Ú z\"Ú")Úmsgid_patternÚfindallÚjoinÚmsgid_string_patternÚreplaceÚappendÚsorted)ÚpoÚmsgidsÚmsgidÚmsgid_strings   &   r   Ú_extract_msgidsr)      se   € Ø€FÜ×&Ñ& rÖ*ˆØ—w‘wÔ3×;Ñ;¸EÓBÓCˆØ#×+Ñ+¨E°3Ó7ˆß‰<Ø�M‰M˜,Ö'ñ	 +ô
 �&‹>Ðr   c                 óJ   € \        \        4      R ,          V ,          R,          # )Útranslationdataz
msgids.txt)r   r   )Úmodule_names   &r   Ú_get_snapshot_pathr-   %   s   € Ü”ÓÐ!2Õ2°[Õ@À<ÕOÐOr   c                   ó&   a € ] tR t^)t o R tRtV tR# )ÚTestTranslationsBasec                ól  € \        R4       \        VP                  RR7      pV P                  VP                  ^ 4       V P                  VP
                  R4       \        VP                  4      p\        VP                  4      pVP                  4       P                  4       pV P                  W54       R# )zDAssert that msgids extracted from a given module match a
snapshot.

r	   F)r
   r   N)r   r   Ú__file__ÚassertEqualÚ
returncoder   r)   r   r-   Ú__name__Ú	read_textÚ
splitlinesÚassertListEqual)ÚselfÚmoduler   r&   Úsnapshot_pathÚsnapshots   &&    r   ÚassertMsgidsEqualÚ&TestTranslationsBase.assertMsgidsEqual,   s…   € ô
 	˜ÔÜ §¡¸UÔCˆØ×Ñ˜Ÿ™¨Ô+Ø×Ñ˜Ÿ™ RÔ(Ü  §¡Ó,ˆÜ*¨6¯?©?Ó;ˆØ ×*Ñ*Ó,×7Ñ7Ó9ˆØ×Ñ˜VÖ.r   © N)r4   Ú
__module__Ú__qualname__Ú__firstlineno__r<   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r/   r/   )   s   ø‡ € ÷/ð /r   r/   c                 ó°   € \        V P                  4      p\        V4      p\        V P                  4      pVP                  R P                  V4      4       R# )Ú
N)r   r1   r)   r-   r4   Ú
write_textr    )r9   Úcontentsr&   r:   s   &   r   Úupdate_translation_snapshotsrI   ;   s?   € Ü  §¡Ó1€HÜ˜XÓ&€FÜ& v§¡Ó7€MØ×Ñ˜TŸY™Y vÓ.Ö/r   )Úrer   r   ÚunittestÚpathlibr   Útest.supportr   r   r   Útest.test_toolsr   r   ÚcompileÚDOTALLr   r!   r   r)   r-   ÚTestCaser/   rI   r>   r   r   Ú<module>rR      sŸ   ðÛ 	Û Û 
Û Ý ß FÑ FÝ +ñ �‹O˜gÕ%¨Õ.°Õ?€	à—
’
ÐGØŸ9™9ó&€à—z’zÐ"6Ó7Ð ð¨4ô òòPñ Óô/˜8×,Ñ,ó /ó ð/ô"0r   