ó
    ““,j¤1  ã                   óÚ   • S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
SSKJr  S r\(       a  S SKrS rOS rSrS rS rS	 rS
 r " S S5      rS r\S:X  a  \" 5         gg)é    Né   )Úkeycodesc                  ó‚   • [         R                  R                  SR                  [	        [
        U 5      5      S-   5        g )NÚ Ú
)ÚsysÚstderrÚwriteÚjoinÚmapÚstr©Úargss    Ú®C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\pythonwin/pywin/scintilla/config.pyÚtracer      s(   € Ü�
‰
×Ñ˜Ÿ™¤#¤c¨4£.Ó1°DÑ8Õ9ó    c                  ó   • g ©N© r   s    r   Ú<lambda>r   !   s   € ˜$r   é   c                 ó  • U R                  S5      nUS:¼  a  U S U n U R                  S5      nUS:X  a*  U R                  5       (       a  [        SU SU < S35        gg	U S U R                  5       XS
-   S  R                  5       4$ )NÚ#r   Ú=éÿÿÿÿzWarning: Line ú: z is an invalid entry©NN)Ú r   r   )ÚfindÚrfindÚstripÚprint)ÚlineÚlinenoÚcomment_posÚsep_poss       r   Ú
split_liner'   &   sŒ   € Ø—)‘)˜C“.€KØ�aÓØ�L�[Ð!ˆØ�j‰j˜‹o€GØ�"ƒ}Ø�:‰:�<‰<Ü�N 6 (¨"¨T©HÐ4HÐIÔJØØØ��ˆ>×ÑÓ! 4°!©¨Ð#6×#<Ñ#<Ó#>Ð>Ð>r   c                 óä   • U S   S:X  aS  U R                  S5      nUS:X  a  [        U 5      nU SU R                  5       n UR                  S5      nUS U X#S-   S  4$ g! [         a    US4s $ f = f)	Nr   Ú[Ú]r   r   Ú:r   r   )r   ÚlenÚlowerÚindexÚ
ValueError)r#   ÚendÚrcÚis       r   Úget_section_headerr3   3   sˆ   € àˆA�w�#ƒ~Ø�i‰i˜‹nˆØ�"‹9Ü�d“)ˆCØ�!�Cˆ[×ÑÓ ˆð	Ø—‘˜“ˆAØ�b�q�6˜2 !™e˜g˜;Ð&Ð&ð øô ó 	Ø�r�6ŠMð	ús   Á A ÁA/Á.A/c                 óˆ   • [         R                  R                  [        [	        [
        R                  5      5      U S-   5      $ )Nz.cfg)ÚosÚpathr   ÚnextÚiterÚpywinÚ__path__)Úfs    r   Úfind_config_filer<   B   s)   € Ü�7‰7�<‰<œœT¤%§.¡.Ó1Ó2°A¸±JÓ?Ð?r   c            	      ó‚  • [         R                   " [        R                  R                  [	        [        [        R                  5      5      S5      5       V s/ s H%  n [        R                  R                  U 5      S   PM'     sn  V s/ s H%  n [        R                  R                  U 5      S   PM'     sn $ s  sn f s  sn f )Nz*.cfgr   r   )
Úglobr5   r6   r   r7   r8   r9   r:   ÚsplitextÚsplit)Úxs    r   Úfind_config_filesrB   F   s–   € ô
 —Y’YœrŸw™wŸ|™|¬D´´e·n±nÓ1EÓ,FÈÓPÔQó
âQ�ô �G‰G×Ñ˜QÓ Ô"ÙQò
óò
ˆAô 	�‰�‰�aÓ˜Ôñ
ñð ùò
ùòs   Á,B7Â,B<c                   ól   • \ rS rSrS rSS jrSS jrS rS rSS jr	SS	 jr
S
 rS rS rS rS rSrg)ÚConfigManageréP   c                 óÔ	  • SU l         S U l        0 U l        Sn[        US5      (       a  UnSU l         S nGOÎ [	        U5      n[
        R                  " U5      nXl         [
        R                  R                  U5      U l
        [        SU R                  5        [
        R                  R                  U5      S   S-   n [        US	5      n [        R                  " U5      n[         U:H  nU(       aö  [        R                  " U5      n	[        R                  " U5      n
[        R                  " U5      n[        R                  " U5      nU
["        R$                  R&                  :X  a€  [(        R*                  " 5       U	:X  ag  U[        R,                     U:X  aP  U[        R.                     U:X  a9  [        R                  " U5      U l        [        S
U5         UR3                  5         g UR3                  5         [        U5      nSn0 U l        SnUR7                  5       nU(       aù  [9        U5      u  nnU(       a:  Uc7  UR7                  5       nU(       d  OUS-  n[9        U5      u  nnU(       a  Uc  M7  U(       d  O¢US:X  a  U R;                  UX=5      u  píO~US:X  a  U R=                  UX=5      u  píOcUS:X  a  U R?                  UX=5      u  píOHUS:X  a  U RA                  UX=5      u  píO-U R                  SU SU S35        UR7                  5       nUS-  nU(       a  Mù  U(       a  UR3                  5         U R0                  RC                  S5      (       d  U R                  S5        U R                  (       Gd  U(       Ga   [        US5      n[        RD                  " [         U5        [        RD                  " [(        R*                  " 5       U5        [        RD                  " ["        R$                  R&                  U5        [        RD                  " W[        R.                     U5        [        RD                  " U[        R,                     U5        [        RD                  " U R0                  U5        UR3                  5         g g g ! [         a    U R                  SU-  5         g f = f! UR3                  5         f = f! [        [4        4 a     GNÙf = f! [        [4        4 a     g f = f)NÚunknownFÚreadlinez<config string>zConfig file '%s' not foundzLoading configurationr   z.cfcÚrbzConfiguration loaded cachedTr   ÚkeysÚ
extensionsúidle extensionsÚgeneralzUnrecognised section header 'r+   Ú'z#No keyboard definitions were loadedÚwb)#ÚfilenameÚ
last_errorÚkey_to_eventsÚhasattrr<   r5   ÚstatÚOSErrorÚreport_errorr6   Úbasenamer   r?   ÚopenÚmarshalÚloadÚcompiled_config_versionÚ	importlibÚutilÚMAGIC_NUMBERÚwin32apiÚGetKeyboardLayoutNameÚST_MTIMEÚST_SIZEÚcacheÚcloseÚEOFErrorrH   r3   Ú
_load_keysÚ_load_extensionsÚ_load_idle_extensionsÚ_load_generalÚgetÚdump)Úselfr;   Úb_closeÚfpÚcompiled_nameÚsrc_statÚcfÚverÚokÚkblayoutnameÚmagicÚsizeÚmtimer$   r#   ÚsectionÚ
subsections                    r   Ú__init__ÚConfigManager.__init__Q   sê  € Ø!ˆŒØˆŒØˆÔØˆÜ�1�j×!Ñ!ØˆBØ-ˆDŒMØ ŠMðÜ$ QÓ'�ÜŸ7š7 1›:�ð ŒMÜŸG™G×,Ñ,¨QÓ/ˆDŒMÜÐ)¨4¯=©=Ô9ÜŸG™G×,Ñ,¨QÓ/°Ñ2°VÑ;ˆMðÜ˜-¨Ó.�ðÜ!Ÿ,š, rÓ*�CÜ0°CÑ7�BÞÜ'.§|¢|°BÓ'7˜Ü '§¢¨RÓ 0˜Ü&Ÿ|š|¨BÓ/˜Ü '§¢¨RÓ 0˜à!¤Y§^¡^×%@Ñ%@Ó@Ü (× >Ò >Ó @ÀLÓ PØ (¬¯©Ñ 7¸5Ó @Ø (¬¯©Ñ 6¸$Ó >ä)0¯ª°bÓ)9˜DœJÜ!Ð"?ÀÔOØ"à—H‘H•J�B—H‘H”Jô �a“ˆBØˆGØˆŒ
ØˆØ�{‰{‹}ˆÞä"4°TÓ":ÑˆG�ZÞ˜7™?Ø—{‘{“}�ÞØØ˜!‘�Ü&8¸Ó&>Ñ#�˜ö ˜7›?ö Øà˜&Ó Ø#Ÿ™¨z¸2ÓF‘��fØ˜LÓ(Ø#×4Ñ4°ZÀÓL‘��fØÐ-Ó-Ø#×9Ñ9¸*ÀbÓQ‘��fØ˜IÓ%Ø#×1Ñ1°*¸bÓI‘��fà×!Ñ!Ø3°G°9¸A¸j¸\ÈÐKôð —{‘{“}�Ø˜!‘�÷3 ˆdö4 Ø�H‰HŒJà�z‰z�~‰~˜f×%Ñ%Ø×ÑÐCÔDØ��ˆ§=ð
Ü˜-¨Ó.�Ü—’Ô4°bÔ9Ü—’œX×;Ò;Ó=¸rÔBÜ—’œYŸ^™^×8Ñ8¸"Ô=Ü—’˜X¤d§l¡lÑ3°RÔ8Ü—’˜X¤d§m¡mÑ4°bÔ9Ü—’˜TŸZ™Z¨Ô,Ø—‘•
ð $1ˆøôE ó Ø×!Ñ!Ð">ÀÑ"BÔCÙðûð6 —H‘H•JûÜœXÐ&ó Úðûô` œXÐ&ó ÙðúsU   ·!R Â>R= ÃD
R( ÇR= Ç'R= Î DS ÒR%Ò$R%Ò(R:Ò:R= Ò=SÓSÓS'Ó&S'Nc                 óx  • Uc  / nS/U-   nU R                  S5      nU(       ax  UR                  S/ 5      nU H`  n[        SUS5        U R                  U5      nUR	                  X5        UR
                  (       d  ME  U R                  UR
                  5        Mb     UR                  nU R                  S5      nUb  0 n [        Xx5        U(       aj  Sn	UR                  5        HG  u  p«[        U[        R                  5      (       d  M&  U
S S	 S
:w  d  M1  UR                  X«5        U	S	-  n	MI     [        SU	S5        U HT  nU R                  S0 5      R                  U/ 5       H+  n UR                   R#                  U5        [        SU5        M-     MV     U R                  S5      nSnU H4  nUR                  U0 5      nUR%                  U5        U['        U5      -  nM6     [        SUS5        g !   [        R                  " 5         U R                  S5        S n GNS= f!   U R                  SU-  5         M×  = f)Nr   rM   zbased onzConfiguration based onz
- loading.úextension codezExecuting extension code failedr   r   Ú_z#Configuration Extension code loadedÚeventsrL   zLoaded IDLE extensionz$Can not load the IDLE extension '%s'rJ   zConfiguration bound)Úget_datarj   r   Ú	__class__Ú	configurerQ   rV   ÚbindingsÚexecÚ	tracebackÚ	print_excÚitemsÚ
isinstanceÚtypesÚFunctionTypeÚbindÚidleÚIDLEExtensionÚupdate_keymapr,   )rl   ÚeditorÚsubsectionsrM   ÚparentsÚparentrƒ   ÚcodeobÚnsÚnumÚnameÚfuncry   ÚextÚsubsection_keymapÚ	num_boundÚkeymaps                    r   r‚   ÚConfigManager.configure­   s  € ð ÑØˆKØ�d˜[Ñ(ˆØ—-‘- 	Ó*ˆÞØ—k‘k *¨bÓ1ˆGÛ!�ÜÐ.°¸ÔEØŸ™¨Ó/�Ø× Ñ  Ô5Ø×$×$Ñ$Ø×%Ñ% f×&7Ñ&7Ö8ñ "ð —?‘?ˆØ—‘Ð/Ó0ˆØÑØˆBðÜ�VÔ ö
 Ø�Ø"$§(¡(¦*‘J�DÜ! $¬×(:Ñ(:×;Ó;ÀÀRÀaÀÈCÅØ Ÿ™ dÔ1Ø˜q™šñ #-ô Ð;¸SÀ(ÔKã%ˆJØ—}‘}Ð%6¸Ó;×?Ñ?À
ÈBÖO�ðTØ—K‘K×-Ñ-¨cÔ2ÜÐ1°3Ö7ó Pñ &ð !ŸM™M¨&Ó1ÐØˆ	Û%ˆJØ&×*Ñ*¨:°rÓ:ˆFØ×"Ñ" 6Ô*Øœ˜V›Ñ$ŠIñ &ô 	Ð# Y°Õ7øð7Ü×#Ò#Ô%Ø×!Ñ!Ð"CÔDØ“ûðTØ×%Ñ%Ð&LÈsÑ&R×Sús   Â?G0 Å&'H Ç0*HÈ H9c                 ó„  • Uc  / nS/U-   nU R                  S5      nU H˜  nU R                  R                  U5      nUcD  UR                  U0 5      nUR                  5        VVs0 s H  u  pxX‡_M	     nnnXPR                  U'   UR                  U5      n	U	c  M{  [        R
                  " U	S   U	S   5      s  $    g s  snnf )Nr   rJ   r   r   )r€   rR   rj   r‡   r   Úmake_key_name)
rl   Úeventr�   r™   ry   r   r›   Úkey_infoÚ	map_eventÚinfos
             r   Úget_key_bindingÚConfigManager.get_key_bindingà   sÆ   € ØÑØˆKØ�d˜[Ñ(ˆà ŸM™M¨&Ó1ÐÛ%ˆJØ×$Ñ$×(Ñ(¨Ó4ˆCØ‰{Ø*×.Ñ.¨z¸2Ó>�ØFLÇlÁlÄnÔUÂnÑ/B¨x�yÒ*Án�ÑUØ14×"Ñ" :Ñ.à—7‘7˜5“>ˆDØÓÜ×-Ò-¨d°1©g°t¸A±wÓ?Ò?ñ &ð ùó Vs   Á%B<c                 óF   • Xl         [        SU R                   SU 35        g )Nz	Error in r   )rQ   r"   rP   ©rl   Úmsgs     r   rV   ÚConfigManager.report_errorò   s    € ØŒÜ�	˜$Ÿ-™-˜¨¨3¨%Ð0Õ1r   c                 ó:   • [        SU R                   SU 35        g )NzWarning in r   )r"   rP   r¦   s     r   Úreport_warningÚConfigManager.report_warningö   s   € Ü�˜DŸM™M˜?¨"¨S¨EÐ2Õ3r   c                 óÂ   • UR                  5       nUS-  nU(       a>  [        U5      S   S LnU(       a&  U(       d  UR                  S5      nUS:¼  a  US U S-   nOSnXBU4$ )Nr   r   r   r   )rH   r3   r   )rl   rn   r$   ÚbStripCommentsr#   ÚbBreakÚposs          r   Ú	_readlineÚConfigManager._readlineù   sl   € Ø�{‰{‹}ˆØ�!‰ˆÞä" 4Ó(¨Ñ+°4Ð7ð ö ¦fØ—i‘i “n�Ø˜!“8Ø  ˜:¨Ñ,�DøàˆFØ˜VÐ#Ð#r   c                 ó8   • U R                   R                  X5      $ r   )rc   rj   )rl   r–   Údefaults      r   r€   ÚConfigManager.get_data  s   € Ø�z‰z�~‰~˜dÓ,Ð,r   c                 ó"   • X R                   U'   U$ r   )rc   )rl   r–   Údatas      r   Ú
_save_dataÚConfigManager._save_data  s   € Ø�
‰
�4ÑØˆr   c                 ó  • 0 n U R                  X#5      u  pSnU(       a  OO[        XS5      u  pxU(       d  M3  UR                  5       nUR                  U/ 5      n	U	R	                  U5        X”U'   Mk  U R                  SU5        XS4$ )NrM   )r°   r'   r-   rj   Úappendr·   )
rl   Úsub_sectionrn   r$   r   r#   r®   ÚkeyÚvalÚls
             r   ri   ÚConfigManager._load_general  s   € ØˆØØ#'§>¡>°"Ó#=Ñ ˆD˜&ÞØä! $Ó/‰HˆCÞÙØ—)‘)“+ˆCØ—‘˜˜RÓ ˆAØ�H‰H�SŒMØ�‰Hñ ð 	�‰˜	 3Ô'Øˆ|Ðr   c                 óR  • U R                  S0 5      nUR                  U0 5      n U R                  X#5      u  pcnU(       a  ON[        Xc5      u  p‰U	(       d  M3  [        R
                  " U5      u  p«U
c  U R                  SX84-  5        OX•X«4'   Mj  XTU'   U R                  SU5        Xc4$ )NrJ   zLine %d: Invalid key name '%s')r€   rj   r°   r'   r   Úparse_key_namerª   r·   )rl   r»   rn   r$   Úmain_mapr   r#   r®   r¼   rŸ   ÚscÚflags               r   rf   ÚConfigManager._load_keys   s­   € ð —=‘= ¨Ó,ˆØ�l‰l˜;¨Ó+ˆØØ#'§>¡>°"Ó#=Ñ ˆD˜&ÞØä# DÓ1‰JˆCÞÙÜ×.Ò.¨sÓ3‰HˆBØ‰zØ×#Ñ#Ð$DÈÀ}Ñ$TÕUà %�B�H‘ñ ð !$�ÑØ�‰˜ Ô)Øˆ|Ðr   c                 ó”  • Un/ n U R                  X#S5      u  pcnU(       a  OUR                  U5        M0   [        SU-  SR                  U5      -   U R                  S5      nU R                  SU5        Xc4$ ! [         aE  n	U	R                  U-   n
U R                  SU	R                  X©R                  4-  5         S n	A	Xc4$ S n	A	ff = f)Nr   r   r   r„   r}   z7Compiling extension code failed:
File: %s
Line %d
%s)
r°   rº   Úcompiler   rP   r·   ÚSyntaxErrorr$   rV   r§   )rl   r»   rn   r$   Ústart_linenoÚlinesr#   r®   ÚcÚdetailsÚ	errlinenos              r   rg   ÚConfigManager._load_extensions6  sÛ   € ØˆØˆØØ#'§>¡>°"¸aÓ#@Ñ ˆD˜&ÞØØ�L‰L˜Ôñ	 ð
	ÜØ�|Ñ# b§g¡g¨e£nÑ4Ø—‘ØóˆAð
 �O‰OÐ,¨aÔ0ð ˆ|Ðøô ó 	ØŸ™¨Ñ5ˆIà×ÑØOØ×#Ñ# Y·±Ð<ñ=÷ð ð ˆ|Ðûð	ús   ·>A8 Á8
CÂ9CÃCc                 óò   • U R                  S5      nUc  0 n/ n U R                  X#5      u  pcnU(       a  O*UR                  5       nU(       a  UR                  U5        MF  XTU'   U R	                  SU5        Xc4$ )NrL   )r€   r°   r!   rº   r·   )rl   r»   rn   r$   Úextension_maprK   r#   r®   s           r   rh   Ú#ConfigManager._load_idle_extensionsN  s   € ØŸ™Ð&7Ó8ˆØÑ ØˆMØˆ
ØØ#'§>¡>°"Ó#=Ñ ˆD˜&ÞØØ—:‘:“<ˆDÞØ×!Ñ! $Ô'ñ ð &0�kÑ"Ø�‰Ð)¨=Ô9Øˆ|Ðr   )rW   rc   rP   rR   rQ   r   )r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rz   r‚   r£   rV   rª   r°   r€   r·   ri   rf   rg   rh   Ú__static_attributes__r   r   r   rD   rD   P   sA   † òZôx18ôfò$2ò4ô$ô-òòò"ò,õ0r   rD   c                  óÆ   • SS K n U R                  5       nSn[        U5      nUR                  S5      nU R                  5       U-
  n[	        S[        U5       SUS S35        g )Nr   r³   rJ   zLoaded z
 items in z.4fz secs)ÚtimeÚclockrD   r€   r"   r,   )rØ   Ústartr;   Úcmr   Útooks         r   ÚtestrÝ   _  sZ   € Ûà�J‰J‹L€EØ€AÜ	�qÓ	€BØ
�+‰+�fÓ
€CØ�:‰:‹<˜%Ñ€DÜ	ˆG”C˜“H�:˜Z¨¨S z°Ð
7Õ8r   Ú__main__)r>   Úimportlib.utilr\   rY   r5   rT   r   r…   r‰   r9   r_   r   r   Ú	debuggingÚwin32traceutilr   r[   r'   r3   r<   rB   rD   rÝ   rÒ   r   r   r   Ú<module>râ      s€   ðó Û Û Û 	Û Û 
Û Û ã Û å à€	ÞÛó:ñ €EàÐ ò
?òò@ò÷Lñ Lò^9ð ˆzÓÙ…Fð r   