
    iI}                        S SK r SSKJr   " S S5      r SrSrSrSrSrSr	Sr
SrSrSrSrSrSrSrSrSr/ r\" S5      rSrS	rS	rS
 rS rS r0 SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_0 S S_S!S_S"S_S#S$_S%S_S&S_S'S_S(S_S)S_S*S_S+S_S,S_S-S_S.S_S/S_S0S_S1S_E0 S2S_S3S_S4S_S5S_S6S7_S8S$_S9S_S:S_SS_S;S_S<S_S=S_S>S_S?S$_S@S_SAS_SBS_E0 SCS_SDS_SES_SFS_SGS_SHS_SIS_SJS_SKS_SLS_SMS_SNS_SOS_SPS_SQS$_SRS_SS/ _E/ S/ / SST.ErSSSSU.rSSV.SW jrSXSXSXSYSYSZ.R>                  r S[ r! " S\ S]5      r"\"" 5       r"0 S1\#_S\$_S^\%_S_\$_S`\" SaSb5      _S%\"_S&\"_Sc\"_S'S_Sd\$_S,\$_S\$_SeS_SfS_SgS_S\$_ShS_0 SiS_SjS_Sk\$_Sl\$_Sm\&_Sn\&_S@\#_So\'_S6\" S7SpSqSrSrSq0SV9_S8\!_Ss\$_StS_Su\"_Sv\"_S\" SSwSx5      _S\" SSySz5      _S{\$_Er(\RS                  5        H  u  r*r+\*\(;  d  M  \&" \+5      \(\*'   M     0 SS|_S_S}_S"S~_S`S_S%S_S&S_S'S_ScS_ShS_SeS_SfS_SmS_SnS_S^S_SiS_SkS_SlS_0 SdS_SjS_S.S~_S0S~_S/S~_S@S~_SSS_SS_SS~_SS~_S{S_SoS_SS~_S*S~_S6S~_S8S~_S9S|_E0 S1S~_SS~_S;S~_S4S~_S<S~_S5S_SsS_StS_SuS_S=S_SgS_S>S~_S?S_SQS~_SRS~_SS~_SS~_Er,1 Skr-SS jr.  SS jr/S r0SS jr1 " S S5      r2\%" S0 SS _SS _SS_SS _SS_SS_SS_SS_SS _SS _SS$_SS_SS _SS _S0 _S0 _SS_SS_SS_SS_S1S_SS_SS_SS_SS_SS_SS_SS_SS_SS_S;S_S>S_SS_SS_6r3g)    N   )Utilsc                   :    \ rS rSr/ rS	S jrS rS rS rS r	Sr
g)
ShouldBeFromDirective   Nc                 r    Xl         U=(       d    UU l        X0l        U R                  R	                  U 5        g N)options_namedirective_namedisallowknown_directivesappend)selfr
   r   r   s       W/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/Cython/Compiler/Options.py__init__ShouldBeFromDirective.__init__   s.    (,< $$T*    c                 $    U R                  5         g r	   _bad_accessr   s    r   __nonzero__!ShouldBeFromDirective.__nonzero__       r   c                 $    U R                  5         g r	   r   r   s    r   __int__ShouldBeFromDirective.__int__   r   r   c                 *    [        [        U 5      5      er	   )RuntimeErrorreprr   s    r   r   !ShouldBeFromDirective._bad_access   s    4:&&r   c                 @    SU R                   < SU R                  < S3$ )NzIllegal access of 'z-' from Options module rather than directive '')r
   r   r   s    r   __repr__ShouldBeFromDirective.__repr__   s    t224 	4r   )r   r   r
   )NF)__name__
__module____qualname____firstlineno__r   r   r   r   r   r$   __static_attributes__ r   r   r   r      s!    +'4r   r   TFold_style_globals   c                  t   [         R                   H  n [        5       R                  U R                  5      nU R
                  [        ;   d   e[        U[         5      (       a  MS  U R                  (       a(  [        SU R                  < SU R
                  < S35      eU[        U R
                  '   M     [        $ )NzOption 'z' must be set from directive 'r#   )r   r   globalsgetr
   r   _directive_defaults
isinstancer   r   option_name)
old_optionvalues     r   get_directive_defaultsr6      s     ,<<
	j556((,????%!677"""**J,E,EGH H
 BG#J$=$=> = r   c                 t    [        U 5      nS H  nUR                  US 5        M     UR                  U5        U$ )N)test_assert_path_existstest_fail_if_path_existstest_assert_c_code_hastest_fail_if_c_code_has"test_body_needs_exception_handlingcritical_section)dictpopupdate)outer_directivesnew_directivesnew_directives_outnames       r   copy_inherited_directivesrE      sD     ./KtT*K n-r   c                     [        U SSSS9$ )NF)bindingprofile	linetrace)rE   )rA   s    r   copy_for_internalrJ      s    $	 r   rG   boundscheck	nonecheckinitializedcheckfreethreading_compatiblesubinterpreters_compatiblenoembedsignaturezembedsignature.formatc
auto_cpdefauto_pickle	cdivisioncdivision_warningscpowc_api_binop_methodsoverflowcheckzoverflowcheck.foldalways_allow_keywordsallow_none_for_extension_args
wraparoundccomplexcallspec nogilgilwith_gilrH   rI   emit_code_commentsannotation_typinginfer_typeszinfer_types.verboseautotestdictzautotestdict.cdefzautotestdict.alllanguage_levelfast_getattr
py2_importpreliminary_late_includes_cy28iterable_coroutinec_string_typebytesc_string_encodingtype_version_tagunraisable_tracebacks
np_pythranfast_gil
cpp_localslegacy_implicit_noexceptc_compile_guardset_initial_pathwarnzwarn.undeclaredwarn.unreachablewarn.maybe_uninitializedwarn.unusedzwarn.unused_argzwarn.unused_resultzwarn.multiple_declaratorszwarn.deprecated.DEFzwarn.deprecated.IFshow_performance_hintszoptimize.inline_defnode_callszoptimize.unpack_method_callsz&optimize.unpack_method_calls_in_pyinitzoptimize.use_switchremove_unreachablezcontrol_flow.dot_outputzcontrol_flow.dot_annotate_defsr8   )r9   r<   r:   r;   formal_grammar)ry   rx   rz   )mapc                    ^ ^ UU 4S jnU$ )Nc                 j   > Tb  TR                  X5      nUT;  a  [        U < ST< SU< S35      eU$ )Nz directive must be one of z, got 'r#   )r0   
ValueError)rD   r5   argsr~   s     r   validateone_of.<locals>.validate%  s<    ?GGE)EdE# $ $r   r+   )r~   r   r   s   `` r   one_ofr   $  s     Or   utf8ascii)r   zutf-8defaultr   zus-asciic                     U(       d  g[        UR                  5       5      nUb  U$ SSKn UR                  U5      nS H  nUR                  U5      U:X  d  M  Us  $    U$ ! [         a    Us $ f = f)a;  
>>> normalise_encoding_name('c_string_encoding', 'ascii')
'ascii'
>>> normalise_encoding_name('c_string_encoding', 'AsCIi')
'ascii'
>>> normalise_encoding_name('c_string_encoding', 'us-ascii')
'ascii'
>>> normalise_encoding_name('c_string_encoding', 'utF8')
'utf8'
>>> normalise_encoding_name('c_string_encoding', 'utF-8')
'utf8'
>>> normalise_encoding_name('c_string_encoding', 'deFAuLT')
'utf8'
>>> normalise_encoding_name('c_string_encoding', 'default')
'utf8'
>>> normalise_encoding_name('c_string_encoding', 'SeriousLyNoSuch--Encoding')
'SeriousLyNoSuch--Encoding'
r_   Nr   )r   r   )_normalise_common_encoding_namelowercodecs
getdecoderLookupError)r3   encodingencoding_namer   decoderrD   s         r   normalise_encoding_namer   8  s    & 3HNN4DEM ##H- "T"g-K " O  s   A! !A0/A0c                       \ rS rSrSrg)DEFER_ANALYSIS_OF_ARGUMENTSi^  r+   N)r&   r'   r(   r)   r*   r+   r   r   r   r   ^  s    r   r   localsfinalcollection_typesequencemappingr=   internalcfuncccallufuncinlinestaticmethodcclassno_gc_clearno_gcreturns	exceptvalfreelist	bytearraystrunicodetrashcantotal_orderingdataclasses.dataclasszdataclasses.fieldclinicpython
shared_gilown_gilr<   )moduler   )r   function)r   )r   )r   with statementr   )r   )classr   r   )r   r   r   r9   r:   r;   )r   r}   )r   r   )r   r   )r   r   r   >   r   r   r   r   r   r   r   r   r   r   rb   r   rT   r   r   r   ro   r8   r9   r<   r   c                    [         R                  U 5      nU(       d  gUnU[        L aQ  [        U5      nUS:X  a  gUS:X  a  gU(       a  UR	                  5       nUS;   a  gUS;   a  g[        U < SU< S	35      eU[        L a   [        U5      $ U[        L a  [        U5      $ [        U5      (       a  U" X5      $  e! [
         a    [        U < S
U< S	35      ef = f)a  
Parses value as an option value for the given name and returns
the interpreted value. None is returned if the option does not exist.

>>> print(parse_directive_value('nonexisting', 'asdf asdfd'))
None
>>> parse_directive_value('boundscheck', 'True')
True
>>> parse_directive_value('boundscheck', 'true')
Traceback (most recent call last):
   ...
ValueError: boundscheck directive must be set to True or False, got 'true'

>>> parse_directive_value('c_string_encoding', 'us-ascii')
'ascii'
>>> parse_directive_value('c_string_type', 'str')
'str'
>>> parse_directive_value('c_string_type', 'bytes')
'bytes'
>>> parse_directive_value('c_string_type', 'bytearray')
'bytearray'
>>> parse_directive_value('c_string_type', 'unicode')
'str'
>>> parse_directive_value('c_string_type', 'unnicode')
Traceback (most recent call last):
ValueError: c_string_type directive must be one of ('bytes', 'bytearray', 'str', 'unicode'), got 'unnicode'
NTrueTFalseF)trueyes)falserP   z. directive must be set to True or False, got 'r#   z+ directive must be set to an integer, got ')directive_typesr0   boolr   r   r   intcallable)rD   r5   relaxed_booltype
orig_values        r   parse_directive_valuer     s    8 t$DJt|E
F?GKKME'/)*  			#u: 
5z	$D  u  	#j" # #	#s   
B= =Cc                    Uc  0 nOUnU R                  S5       GH:  nUR                  5       nU(       d  M  SU;  a  [        SU-  5      eUR                  5       R                  SS5       V s/ s H  o R                  5       PM     sn u  pgU[        ;  ar  SnUR	                  S5      (       a:  USS n	[         H+  n
U
R                  U	5      (       d  M  S	n[        XUS
9nXU
'   M-     U(       d  U(       d  [        SU-  5      eM  M  [        R                  U5      [        L a#  Xd;   a  XF   R                  U5        GM$  U/XF'   GM,  [        XgUS
9nXU'   GM=     U$ s  sn f )a  
Parses a comma-separated list of pragma options. Whitespace
is not considered.

>>> parse_directive_list('      ')
{}
>>> (parse_directive_list('boundscheck=True') ==
... {'boundscheck': True})
True
>>> parse_directive_list('  asdf')
Traceback (most recent call last):
   ...
ValueError: Expected "=" in option "asdf"
>>> parse_directive_list('boundscheck=hey')
Traceback (most recent call last):
   ...
ValueError: boundscheck directive must be set to True or False, got 'hey'
>>> parse_directive_list('unknown=True')
Traceback (most recent call last):
   ...
ValueError: Unknown option: "unknown"
>>> warnings = parse_directive_list('warn.all=True')
>>> len(warnings) > 1
True
>>> sum(warnings.values()) == len(warnings)  # all true.
True
N,=Expected "=" in option "%s"   Fz.allT)r   zUnknown option: "%s")splitstripr   r1   endswith
startswithr   r   r0   listr   )sr   ignore_unknowncurrent_settingsresultitemrD   r5   foundprefix	directiveparsed_values               r   parse_directive_listr     sK   : !zz|d?:TABB*.**,*<*<S!*DE*DQwwy*DE**E}}V$$cr!4I ++F33 $'<Y\h'i,8y)	 "5
  !7$!>?? "05  &$.~##E* %w0<XL'4L3 4 M) Fs   -Ec                     U S:X  a  gU S:X  a  gU S:X  a  gU R                  5       (       a  [        U 5      $  [        U 5      n U $ ! [         a     U $ f = f)aG  
Parses value as an option value for the given name and returns
the interpreted value.

>>> parse_variable_value('True')
True
>>> parse_variable_value('true')
'true'
>>> parse_variable_value('us-ascii')
'us-ascii'
>>> parse_variable_value('str')
'str'
>>> parse_variable_value('123')
123
>>> parse_variable_value('1.23')
1.23

r   Tr   FNoneN)isdigitr   float	Exception)r5   s    r   parse_variable_valuer   P  sf    & 	'		&	5z	%LE   		s   A 
AAc                 (   Uc  0 nOUnU R                  S5       Ho  nUR                  5       nU(       d  M  SU;  a  [        SU-  5      eUR                  SS5       V s/ s H  o R                  5       PM     sn u  pE[        U5      X$'   Mq     U$ s  sn f )a  
Parses a comma-separated list of pragma options. Whitespace
is not considered.

>>> parse_compile_time_env('      ')
{}
>>> (parse_compile_time_env('HAVE_OPENMP=True') ==
... {'HAVE_OPENMP': True})
True
>>> parse_compile_time_env('  asdf')
Traceback (most recent call last):
   ...
ValueError: Expected "=" in option "asdf"
>>> parse_compile_time_env('NUM_THREADS=4') == {'NUM_THREADS': 4}
True
>>> parse_compile_time_env('unknown=anything') == {'unknown': 'anything'}
True
r   r   r   r   )r   r   r   r   )r   r   r   r   rD   r5   s         r   parse_compile_time_envr   t  s    & !zz|d?:TABB*.**S!*<=*<Qwwy*<=+E2  M >s   Bc                   .    \ rS rSrSrSS jrS rS rSrg)	CompilationOptionsi  z
See default_options at the end of this module for a list of all possible
options and CmdLine.usage and CmdLine.parse_command_line() for their
meaning.
Nc                    / U l         U(       a"  [        U[        5      (       a  UR                  nO[        n[        U5      nUR                  U5        [        U5      [        [        5      -
  nUR                  S/5        U(       a5  S[        U5      S:  a  SOS< SSR                  U5      < 3n[        U5      e[        5       n[        US   5      n[        U5      [        U5      -
  nU(       a5  S	[        U5      S:  a  SOS< S
SR                  U5      < 3n[        U5      eXsS'   UR                  SS5      (       a$  US   (       d  SS Kn	U	R                  S5        SUS'   SU;  a  UR                  S5      (       a	  US   US'   O*UR                  S5      (       d  UR                  S5      US'   SU;   a  SU;  a  US   US'   U R                  R                  U5        g )Ninclude_pathzgot unknown compilation optionr   r   r_   z, please remove: z, compiler_directiveszgot unknown compiler directivez: rq   Fcplusr   z%C++ mode forced when in Pythran mode!Trg   r}   )r   r2   r   __dict__default_optionsr>   r@   setdifference_updatelenjoinr   r6   r0   warningsrw   )
r   defaultskwoptionsunknown_optionsmessagedirective_defaults
directivesunknown_directivesr   s
             r   r   CompilationOptions.__init__  s   ($677#,,&Hx.r g,_)==))>*:;?+a/R7		/*,G W%%35'"789
 _s3E/FF-.2:		,-/G W%%)3%&>>,..ww7GMMAB#GG2%*..9I*J*J(23C(DG$%-..(:(>(>?O(PG$%z).>b.H(23C(DG$%W%r   c                 j    US:X  a-  U R                   R                  S5      c  SU R                   S'   g g g )NpyrG   T)r   r0   )r   source_extensions     r   configure_language_defaults.CompilationOptions.configure_language_defaults  s;    t#''++I6>6:((3 ? $r   c                   ^ 0 nU R                   R                  5        H  u  p#US;   a  M  US;   a  M  US;   a  M  US;   a  M%  US;   a  M-  US;   a  M5  US;   a  M=  US;   a  ME  US	;   a  MM  US
;   a  MU  US;   a  X1U'   Ma  US;   a  X1U'   Mm  US;   a  X1U'   My  US;   a  X1U'   M  US;   a  U(       a  [        U S35      eM  X1U'   M     U4S jmT" U5      $ )zY
Return a string that contains all the options that are relevant for cache invalidation.
)show_versionerrors_to_stderrverbosequiet)output_file
output_dir)depfile)
timestamps)cache)r   r   )working_path)create_extension)	build_dir)use_listing_filegenerate_pxiannotateannotate_coverage_xml)r}   evaluate_tree_assertions)embedded_metadataemit_linenumsc_line_in_traceback	gdb_debug'relative_path_in_code_position_comments)r   rg   compile_time_envrq   )capi_reexport_cincludescommon_utility_include_dirz& is not compatible with Cython cachingc           
         > [        U [        5      (       a?  [        U R                  5        VVs/ s H  u  p[	        U5      T" U5      4PM     snn5      n [	        U 5      $ s  snnf )z\
Recursively turn item into a string, turning dicts into lists with
deterministic ordering.
)r2   r>   sorteditemsr    )r   keyr5   to_fingerprints      r   r  :CompilationOptions.get_fingerprint.<locals>.to_fingerprint  sW    
 $%%TXT^T^T`aT`jcS	>%+@AT`ab: bs   A!
)r   r  NotImplementedError)r   datar  r5   r  s       @r   get_fingerprint"CompilationOptions.get_fingerprint  s*   
 ----/JCNN55#&	!//(( (( ,, % aa "S	FF!S	 D D "S	UU!S	QQ-5[.\]]  "S	w 0z	 d##r   r  r	   )	r&   r'   r(   r)   __doc__r   r   r  r*   r+   r   r   r   r     s    
+&Z;
M$r   r   r   r  r   r   r   r   r  r
  r  r	  r  r  r  r   r   r   r  r  r  r  r  r  r  module_namer  r   r  r  r  shared_c_file_pathshared_utility_qualified_name)F)FFNr	   r+   )4osr_   r   r   
docstringsembed_pos_in_docstring
pre_importgenerate_cleanup_codeclear_to_noner
  r  	fast_failwarning_errorserror_on_unknown_nameserror_on_uninitializedconvert_rangecache_builtinsgcc_branch_hintslookup_module_cpdefembedembed_modulesr,   cimport_from_pyxbuffer_max_dimsclosure_freelist_sizer6   rE   rJ   r1   extra_warningsr   r0   r   r   r   r   r   r>   r   r   r   r  r  valdirective_scopesimmediate_decorator_directivesr   r   r   r   r   r   r+   r   r   <module>r:     sG   
 4 40 
   
       	            	  **=>   
   "	XtXDX %X 	X
 X !$X eX SX %X 4X X %X DX 5X  U!X" $#X$ T%X& $T'X( 4)X* +X, -X. e/X0 
E1X2 3X4 u5X6 7X8 $9X: ;X< 4=X> 5?X@ DAXB CXD EXF dGXH EIXJ %KXL %eMXN %OXP WQXR SXT UXV TWXX YXZ %[X\ ]X^ %_X` aXb rcXh iXl DmXn uoXp qXr sXt 5uXv uwXx %yXz  {X| 5}X~ $X@ dAXF $TGXH #DIXJ -eKXL 4MXR $SXX rYXZ %e[X` aXb "$+/! " oX x !%   # #  !L	 	9; #c#4# d# d	#
 vj)4# )# 
'# 4# # # D# # d# d# T#  T!#" t##$ T%#& t'#( D)#* d+#, -#. /#0 1#2 3#4 VG[%TYHZ[5#6 07#8 9#: d;#< 8=#> 4?#@ VC8<A#B !&|Y"GC#D )$E#J $))+HC
/!#Cy ,8'8 $8 	8
 {8 ,8 
8 8 68 }8 ,8 ,8 8 -8 }8  ]!8" K#8$ k%8& '8( 4)8* [+8, -8. +/80 182  ?384 !@586 {788 98: )+>;8< =8> k?8@ +A8D [E8F G8H ,I8J kK8P Q8R +S8T %kU8V W8X 0Y8Z [8\ )]8^ 1_8` 2a8b ]c8d e8f }g8h {i8j %kk8l m8n !+o8 z
" 9x @E*.;|!HLE$ E$\  ### # 	#
 # # # # # # # # # # #  !#" ###$ %#& -1'#( )#* +#, -#. /#0 1#2 3#4  $5#6 7#8 9#: ;#< =#> ?#@ "A#B C#D %)E#r   