
    /hh2                        S SK JrJrJrJrJrJrJr   S SK JrJ	r	J
r
  S SKrS SKrS SKrS SKJr  S SKJr  \" 5       R&                  S:X  aV  \" 5       R(                  R+                  S5       V s/ s H  n \" U 5      PM     sn u  rrr\\\4S:  a  \R4                  " S	5      e/ S
QqS rSSSSS.rS 0 4S 0 4SSSSS.4SSSSS.4SSSSS.4SSSS S.4SS!S"S#S.4SS$S%S&S.4SS'S(S)S.4SS*S+S,S.4S-.
rS.S.S/S0S1S2.r\R                  S3:X  a  \S4	 \R                  S5:X  a  S6\S7'    " S8 S9\R@                  5      r!\"S::X  a  \RF                  " 5         gg! \ a    Sr
 GN;f = fs  sn f );    )	setlocaleLC_ALLLC_CTYPE
LC_NUMERICLC_TIME
localeconvError)	RADIXCHARTHOUSEPnl_langinfoN)uname)supportDarwin.)   r   r   z%locale support broken for OS X < 10.4)Tes_UYfr_FRfi_FIes_COpt_PTit_ITet_EEes_PYno_NOnl_NLlv_LVel_GRbe_BYfr_BEro_ROru_UAru_RUes_VEca_ESse_NOes_ECid_IDka_GEes_CLwa_BEhu_HUlt_LTsl_SIhr_HRes_ARes_ESoc_FRgl_ESbg_BGis_ISmk_MKde_ATpt_BRda_DKnn_NOcs_CZde_LUes_BOsq_ALsk_SKfr_CHde_DEsr_YUbr_FRnl_BEsv_FIpl_PLfr_CAfo_FObs_BAfr_LUkl_GLfa_IRde_BEsv_SEit_CHuk_UAeu_ESvi_VNaf_ZAnb_NOen_DKtg_TJps_AFen_USzfr_FR.ISO8859-1zfr_FR.UTF-8zfr_FR.ISO8859-15@eurozru_RU.KOI8-Rzko_KR.eucKRzja_JP.UTF-8zlzh_TW.UTF-8zmy_MM.UTF-8zor_IN.UTF-8zshn_MM.UTF-8zar_AE.UTF-8zbn_IN.UTF-8zmr_IN.UTF-8zth_TH.TIS620c                     [         R                  S:X  a  [        R                  " [        R                  5      n  / n[
         HZ  n [        R                  " [        R                  U5        [        R                  " 5       n [        5         UR                  U5        M\     Uq[        R                  " [        R                  U 5        S[         R                  ;   a)  S n[
         Vs/ s H  o%" U5      (       d  M  UPM     snqg g ! [         a     M  f = f! [         a0  n[        SU< SU< S[        U5      < SU< 35         S nAGM	  S nAff = f! [        R                  " [        R                  U 5        f = fs  snf )Nsunos5zWARNING: Skip locale z (encoding z): [z] z
MSC v.1200c                 z    U R                  S5      n[        U5      S:H  =(       a    [        US   5      S:  (       + $ )Nr      	   )splitlen)locas     :/opt/python-3.13.8/usr/lib/python3.13/test/test__locale.pyacceptsetUpModule.<locals>.accept?   s1    		#A1v{6s1R5zQ77    )sysplatformlocaler   r   candidate_localesr	   getencodingr   append	Exceptionprinttypeversion)
old_localelocalesr`   encodingerrrc   s         rb   setUpModulert   "   s,    ||x%%fmm4
	8G($$V]]C8 "--/(L
 NN3' ) !(V]]J7 s{{"	8 ->M,=SS,=M	 #  
 ! ;$s)S: ; ;; V]]J7 Nse   E %D+E 
DE &E=:E=
DE DE 
E $EE EE 'E:)r   ,)ru   r   )ru    )u   ٫u   ٬)rW   r@   r   rV   d   u   ۰۰u   ۱۰u   ۹۹)r   
   c   u   一u   十u	   九十九)   rx   ry       u   〇u   卅一)r   rx      u   ၀၀u   ၁၀u   ၉၉u   ୦u   ୧୦u   ୯୯u   ႐႐u   ႑႐u   ႙႙u   ٠u   ١٠u   ٩٩u   ০u   ১০u   ৯৯)
CrW   rK   ja_JPlzh_TWmy_MMor_INshn_MMar_AEbn_IN)r   rv   )   *   +:1:2019/05/01:2019/12/31:令和:%EC元年)   u*   +:1:1912/01/01:1912/12/31:民國:%EC元年)rz   u"   +:1:-543/01/01:+*:พ.ศ.:%EC %Ey)r}   rW   r~   zh_TWth_TWwin32rV   rY   )   r   r~   c                   
   \ rS rSrS rS rSrS r\R                  " \
S5      \R                  " \R                  =(       d    \R                  S5      S 5       5       r\R                  " \R                  =(       d    \R                  S5      S	 5       r\R                  " \
S5      S
 5       r\R                  " \
S5      \R                  " \" \S5      S5      \R                  " \R                  =(       d    \R                  S5      S 5       5       5       r\R                  " \
S5      \R                  " \" \S5      S5      \R                  " \R                  =(       d    \R                  S5      S 5       5       5       rS rSrg)_LocaleTestsn   c                 ,    [        [        5      U l        g Nr   r   	oldlocaleselfs    rb   setUp_LocaleTests.setUpp   s    "6*re   c                 8    [        [        U R                  5        g r   r   r   s    rb   tearDown_LocaleTests.tearDowns   s    &$..)re   z)%s != %s (%s for %s; set to %s, using %s)c                      [        [        5      n[        R	                  US5      US:H     nU(       a,  U(       a$  U R                  X&U R                  X&XUU4-  5        ggg! [         a    Sn N^f = f)z5Compare calculation against known value, if available<not able to determine>)rv   rv   thousands_sepTN)r   r   r	   known_numericsgetassertEquallc_numeric_err_msg)r   	calc_type
calc_value	data_typeused_locale
set_localeknown_values          rb   numeric_tester_LocaleTests.numeric_tester{   s    	3":.J %(($,..7?.JL:Z $ 7 7$.$-*$/;1 !12
  &;	  	32J	3s   A! !A0/A0znl_langinfo is not availablez(musl libc issue on Emscripten, bpo-46390c                 4   Sn[          Hb  n [        [        U5        [        [        U5        [
        S4[        S44 H*  u  p4U R                  S[        U5      XB5      (       d  M(  SnM,     Md     U(       d  U R                  S5        g g ! [         a     M  f = f)NFdecimal_pointr   r   Tno suitable locales)
ri   r   r   r   r	   r
   r   r   r   skipTest)r   testedr`   lilcs        rb   test_lc_numeric_nl_langinfo(_LocaleTests.test_lc_numeric_nl_langinfo   s     $C*c*(C( &7$o68&&}k"orOO!F8 % MM/0   s    B		
BBc                    Sn[          HU  n [        [        U5        [        [        U5        [        5       nS H!  nU R                  SX4   XB5      (       d  M  SnM#     MW     U(       d  U R                  S5        g g ! [         a     M  f = f)NF)r   r   r   Tr   )ri   r   r   r   r	   r   r   r   )r   r   r`   
formattingr   s        rb   test_lc_numeric_localeconv'_LocaleTests.test_lc_numeric_localeconv   s     $C*c*(C( $J)&&|Z^RMM!F) % MM/0   s    A<<
B
	B
c                    Sn[          H  n [        [        U5        [        [        U5        [
        S4[        S44 HQ  u  p4[        U5      n[        5       U   n [        [        5      nU R                  XVU< SU< SU< SU< S35        S	nMS     M     U(       d  U R                  S
5        g g ! [         a     M  f = f! [         a    Sn Nef = f)NFr   r   r   z (nl_langinfo) != z (localeconv) (set to z, using )Tr   )ri   r   r   r   r	   r
   r   r   r   r   r   )r   r   r`   r   r   nl_radixcharli_radixcharr   s           rb   test_lc_numeric_basic"_LocaleTests.test_lc_numeric_basic   s     $C*c*(C( &7$o68*2)|B/;!*:!6J    1=l03Z!AB
 8 %( MM/0 !    ;!:J;s#    B0C0
B>=B>CC
ALT_DIGITSzrequires locale.ALT_DIGITSc           	         Sn[          GHK  nU R                  US9    [        [        U5        [        [        U5        U R                  US9   [        [        R                  5      nU R                  U[        5        U(       a  UR                  S5      O/ nU(       a  U R                  [        U5      SU5        UR                  SS5      S   nU[        ;   ai  [        U   u  pVU(       a  U(       d  U R                  S	U< S
35        U R!                  [        U5      XS5        U H  nU R!                  X7   Xg   5        M     SnS S S 5        S S S 5        GMN     U(       d  U R                  S5        g g ! [
         a"    U R                  SU< 35         S S S 5        GM  f = f! , (       d  f       Nd= f! , (       d  f       GM  = f)NFrh   
no locale ;rx   r   rz   r   z!ALT_DIGITS is not set for locale  on this platformTr   )ri   subTestr   r   r   r	   r   r   rh   r   assertIsInstancestrr^   assertGreaterEqualr_   known_alt_digitsr   )r   r   r`   
alt_digitsloc1countsamplesis           rb   test_alt_digits_nl_langinfo(_LocaleTests.test_alt_digits_nl_langinfo   s|    $$CS)gs+h,
 \\\-!,V->->!?J))*c::D!1!1#!6"J!//JZP99S!,Q/D//)9$)?  MM,McWTe*fg((Z%L!(A ,,Z]GJG ")!F . *) %0 MM/0 '  MMJsg"67 *) .- *)sF   F3 E3F3C7F"F33FF3FF3"
F0,F33
G	ERAzrequires locale.ERAc           	         Sn[          GHZ  nU R                  US9    [        [        U5        [        [        U5        U R                  US9   [        [        R                  5      nU R                  U[        5        U(       a7  U R                  UR                  S5      UR                  S5      S-   S-  U5        UR                  SS5      S	   nU[        ;   aw  [        U   u  pVU(       aS  U(       d  U R                  S
U< S35        U R!                  UR                  S5      S-   U5        U R#                  Xc5        OU R                  US5        SnS S S 5        S S S 5        GM]     U(       d  U R                  S5        g g ! [
         a"    U R                  SU< 35         S S S 5        GM  f = f! , (       d  f       Nd= f! , (       d  f       GM  = f)NFr   r   :r   rz   r   r   r   zERA is not set for locale r   rv   Tr   )ri   r   r   r   r   r	   r   r   rh   r   r   r   r   r   r^   	known_erar   assertIn)r   r   r`   erar   r   samples          rb   test_era_nl_langinfo!_LocaleTests.test_era_nl_langinfo   s    $$CS)gs+h,
 \\\-%fjj1C))#s3((3#))C.1:LPQ9QSVW99S!,Q/Dy((1$ #& $0J3'Qb.c d 33CIIcNQ4FN MM&6 ,,S"5!F! . *) %4 MM/0 +  MMJsg"67 *) .- *)sF   G FGDF1GF.!G-F..G1
F?;G
G	c           	      ,   Sn[          H  n [        [        U5        [        [        U5        US:X  a  [        5       S   S:X  a  M=  U R                  [        [        S5      S-  5      SSU-  5        U R                  [        [        S5      S-  5      SS	U-  5        [        5       S   S
:w  a7  U R                  [        [        [        5       S   R                  SS/5      5        SnM     U(       d  U R                  S5        g g ! [         a     GM	  f = f)NFrP   r   z' z3.14rw   i:  z using eval('3.14') failed for %sz!using float('3.14') failed for %sr   123Tr   )ri   r   r   r   r	   r   r   intevalfloatassertRaises
ValueErrorjoinr   )r   r   r`   s      rb   test_float_parsing_LocaleTests.test_float_parsing  s    $C*c*(C(
 g~*,"?4"GSf!34c BS HJSv!45s Cc IK|O,3!!*e",,"?"D"Dc4["QSF% %& MM/0   s    D
DD)r   N)__name__
__module____qualname____firstlineno__r   r   r   r   unittest
skipUnlessr   skipIfr   is_emscriptenis_wasir   r   r   hasattrrh   r   r   r   __static_attributes__ re   rb   r   r   n   s   +* E  &DE__021	 F
1  __021	1" &DE1 F14 &DE68TU__021	 V F1< &DE/1FG__021	 H F1@1re   r   __main__)$_localer   r   r   r   r   r   r	   r
   r   r   ImportErrorrh   rf   r   rg   r   testr   systemreleaser^   r   majminmicSkipTestri   rt   r   r   r   TestCaser   r   main)parts   0rb   <module>r      s   Y Y Y99  
   7>>X+07??+@+@+EF+E4SY+EFMCcS#" GHH  NL  ! RW~>~NOxX3GHIxX>BC~>~NOx^HINOPx^HIx^HI  
?>6	 <<7w<<8 KIgD18$$ D1N zMMO c	  K Gs   
E -EEE