Ë Ÿµý88…è÷ãóT—ddlZddlZddlmZddlmZddlmZmZm Z Gd„d«Z y)éNé)Ú_)Úgetattr)ÚencodingÚerrorÚutilcóŽ—eZdZdd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z dd „Z d „Z d „Zd„Zd„Zd„Zdd„Zd„Zd„Zdd„Zdd„Zy)ÚconfigNcó¾—d|_i|_g|_|rF|jD]"}||j«|j|<Œ$|jdz|_yy)Nrr)Ú_current_source_levelÚ_dataÚ_unsetÚcopy)ÚselfÚdataÚks ú4usr/lib/python3.12/site-packages/mercurial/config.pyÚ__init__zconfig.__init__sX€Ø%&ˆÔ"؈Œ ؈Œ Ù Ø—Z”Z�Ø $ Q¡§ ¡ £�— ‘ ˜1’ ð à)-×)CÑ)CÀaÑ)GˆDÕ &ð ócó.—|xjdz c_y)zYincrement the source counter This is used to define source priority when readingrN)r ©rs rÚ new_sourcezconfig.new_sources€ð ×"Ò" aÑ'Ö"rcó—t|«S©N)r rs rrz config.copy%s €Ü�d‹|Ðrcó—||jvSr)r ©rÚsections rÚ __contains__zconfig.__contains__(s€Ø˜$Ÿ*™*Ð$Ð$rcó>—||jj|i«vSr©r Úget©rrÚitems rÚhasitemzconfig.hasitem+s€Ø�t—z‘z—~‘~ g¨rÓ2Ð2Ð2rcó:—|jj|i«Srr rs rÚ __getitem__zconfig.__getitem__.s€Ø�z‰z�~‰~˜g rÓ*Ð*rc#ó>K—|j«D]}|–—Œy­wr)Úsections)rÚds rÚ__iter__zconfig.__iter__1sèø€Ø—‘–ˆAØ‹Gñ!ùs‚có€—|j}|dz }|j}|jD]V\}}|jj|d«}|€Œ%||vsŒ*|j «|j|<|j||=ŒX|D]°}|jj|d«}|r|j «|j|<n!t j «|j|<|j|j«D]1\}}|\} } } | |z } t| |«}| | | f|j||<Œ3Œ²||_y)Nr) r rr r!Ú preparewriterÚ cowsortdictÚitemsÚmax) rÚsrcÚ current_levelÚ max_levelÚsÚnÚdsrÚvÚvalueÚsourceÚlevels rÚupdatez config.update5s(€Ø×2Ñ2ˆ ؘш Ø×.Ñ.ˆ Ø—J”J‰DˆAˆqØ—‘—‘  4Ó(ˆB؉~ ! r¢'Ø "§¡Ó 1�— ‘ ˜1‘ Ø—J‘J˜q‘M !Ñ$ð ó ˆAØ—‘—‘  4Ó(ˆBÙØ "§¡Ó 1�— ‘ ˜1’ ä $× 0Ñ 0Ó 2�— ‘ ˜1‘ ØŸ ™  !™ ×*Ñ*Ö,‘��1Ø'(Ñ$��v˜uؘÑ&�Ü  }Ó5� Ø$)¨6°5Ð#9�— ‘ ˜1‘ ˜aÒ ñ -ð ð&/ˆÕ"rcóX—|jj|i«j|«Srr r"s rÚ_getz config._getKs"€Ø�z‰z�~‰~˜g rÓ*×.Ñ.¨tÓ4Ð4rcó8—|j||«}|€|S|dS©Nr©r<)rrr#ÚdefaultÚresults rr!z config.getNs&€Ø—‘˜7 DÓ)ˆØ ˆ>؈NØ�a‰yÐrcó\— |j||}||f|zS#t$r||fcYSwxYw)z”return a tuple allowing restore to reinstall a previous value The main reason we need it is because it handles the "no data" case. )r ÚKeyError)rrÚkeyr#s rÚbackupz config.backupTsF€ð  )Ø—:‘:˜gÑ& sÑ+ˆDð˜S�> DÑ(Ð (øôò "ؘS�>Ò !ð "ús ‚› +ª+có6—|j||«}|€y|dS)Nrrr?©rrr#rAs rr8z config.source`s$€Ø—‘˜7 DÓ)ˆØ ˆ>ØØ�a‰yÐrcó6—|j||«}|€y|dS)Nér?rGs rr9z config.levelfs$€Ø—‘˜7 DÓ)ˆØ ˆ>ØØ�a‰yÐrcóH—t|jj««Sr)Úsortedr Úkeysrs rr(zconfig.sectionsls€Ü�d—j‘j—o‘oÓ'Ó(Ð(rcó–—|jj|i«j«}|D��cgc] \}}||df‘Œc}}Scc}}wr>)r r!r.)rrr.rr6s rr.z config.itemsosC€Ø— ‘ —‘˜w¨Ó+×1Ñ1Ó3ˆÙ(-Ô.©™f˜q !��A�a‘D’ ¨Ò.Ð.ùÓ.s°Acól—t|t«rJd«‚t|t«rJd«‚t|t«rJd«‚||vr"tj«|j|<n*|j|j «|j|<|||j f|j||<y)Ns5config section may not be unicode strings on Python 3s2config item may not be unicode strings on Python 3s4config values may not be unicode strings on Python 3)Ú isinstanceÚstrrr-r r,r )rrr#r7r8s rÚsetz config.setssÊ€ÜØ ”Sô ð Dà Có Dð ôØ ”#ô ð Aà @ó Að ôØ ”3ô ð Cà Bó Cð ð ˜$Ñ Ü"&×"2Ñ"2Ó"4ˆD�J‰J�wÒ à"&§*¡*¨WÑ"5×"BÑ"BÓ"DˆD�J‰J�wÑ Ø%*¨F°D×4NÑ4NÐ$Oˆ� ‰ �7јDÒ!rcó”—|j||}t|«}|f|ddz}t|«|k(sJ‚||j||<y)zsalter a value without altering its source or level This method is meant to be used by `ui.fixconfig` only.rN)r Úlen)rrrDÚ new_valuer#ÚsizeÚnew_items rÚalterz config.alterƒsW€ð�z‰z˜'Ñ" 3Ñ'ˆÜ�4‹yˆØ�< $ q r (Ñ*ˆÜ�8‹} Ò$Ð$Ð$Ø#+ˆ� ‰ �7јCÒ rcó—t|«dk7rJ|dd\}}|dd}|j|j«|j|<||j||<y|\}}||jvr |j|j|d«yy)z$restore data returned by self.backuprIN)rSr r,Úpop)rrrrDr#s rÚrestorezconfig.restore�s�€ä ˆt‹9˜Š>à  ˜8‰LˆG�Sؘ˜�8ˆDØ"&§*¡*¨WÑ"5×"BÑ"BÓ"DˆD�J‰J�wÑ Ø'+ˆD�J‰J�wÑ  Ò $ð!‰MˆG�Tؘ$Ÿ*™*Ñ$Ø— ‘ ˜7Ñ#×'Ñ'¨¨dÕ3ð%rc ó—tjjd«}tjjd«}tjjd«}tjjd«} tjjd«} tjjd«} tjjd«} d} d}d }d }|r|j| | «} |j d «D�]{}|d z }|d k(r|j d «r|dd}|rq| j |«rŒ8|j |«}|rH|r| |vrŒR|j| |«dz|jd «z}|j| ||d||fz«Œ“d}d }| j |«}|r3|r1tj|jd ««} ||||¬«ŒÝ| j |«rŒï|j |«}|rL|jd «} |r|j| | «} | |vr!tj&«|j(| <�ŒN|j |«}|rE|jd «}d }|r| |vr�Œ||j| ||jd«d||fz«�Œ¦| j |«}|r„|jd «}|r| |vr�ŒÒ|j| |«�:|j(| j+«|j(| <|j(| |=|j,j/| |f«�Œ=|j1«}|j d«rd|z}tj|d||fz«‚y#t$rn}|jtjk7rFtjtd«|t!j"|j$«fzd||fz«‚Yd}~�Œd}~wwxYw)Ns \[([^\[]+)\]s([^=\s][^=]*?)\s*=\s*(.*\S|)s\s+(\S|\S.*\S)\s*$s (;|#|\s*$)s(;|#)s%unset\s+(\S+)s%include\s+(\S|\S.*\S)\s*$rrFTrséó s%s:%d©Úremapr(scannot include %s (%s)rIó s!unexpected leading whitespace: %s)rÚreÚcompiler!Ú splitlinesÚ startswithÚmatchÚgrouprQÚ expandpathÚIOErrorÚerrnoÚENOENTrÚ ConfigErrorrrÚ strtolocalÚstrerrorr-r r,rÚappendÚrstrip)rr0rr(r_ÚincludeÚ sectionreÚitemreÚcontreÚemptyreÚ commentreÚunsetreÚ includererr#ÚlineÚcontÚlÚmr6ÚexpandedÚinstÚnameÚmessages rÚparsez config.parse›s„€Ü—G‘G—O‘OÐ$4Ó5ˆ Ü—‘—‘Ð!AÓBˆÜ—‘—‘Ð!7Ó8ˆÜ—'‘'—/‘/ .Ó1ˆÜ—G‘G—O‘O IÓ.ˆ Ü—'‘'—/‘/Ð"4Ó5ˆÜ—G‘G—O‘OÐ$BÓCˆ ØˆØˆØˆØˆá Ø—i‘i ¨Ó1ˆGà—‘ ×&ˆAØ �A‰IˆDØ�qŠy˜QŸ\™\¨/Ô:à�a�b�E�ÙØ—?‘? 1Ô%ØØ—L‘L “O�ÙÙ G°8Ñ$;Ø ØŸ™ ¨$Ó/°%Ñ7¸!¿'¹'À!»*ÑD�AØ—H‘H˜W d¨A¨x¸3À¸+Ñ/EÔFØØ�Ø�Ø—‘ Ó"ˆAá‘WÜŸ?™?¨1¯7©7°1«:Ó6�ðÙ˜H¨E¸HÕEðØ�}‰}˜QÔØØ—‘ Ó"ˆAÙØŸ'™' !›*�ÙØ#Ÿi™i¨°Ó9�GØ $Ñ&Ü*.×*:Ñ*:Ó*<�D—J‘J˜wÑ'ÙØ— ‘ ˜Q“ˆAÙØ—w‘w˜q“z�Ø�Ù ¨xÑ 7ÙØ—‘˜ $¨¯©°« °HÀÀT¸{Ñ4JÔKÙØ— ‘ ˜aÓ ˆAÙØ—w‘w˜q“z�Ù ¨xÑ 7ÙØ—8‘8˜G TÓ*Ð6Ø*.¯*©*°WÑ*=×*JÑ*JÓ*L�D—J‘J˜wÑ'ØŸ ™  7Ñ+¨DÐ1Ø— ‘ ×"Ñ" G¨T ?Ô3Ùà—h‘h“jˆGØ�|‰|˜DÔ!Ø>ÀÑH�Ü×#Ñ# G¨h¸#¸t¸Ñ.DÓFÐ Fñ'øô.òØ—z‘z¤U§\¡\Ò1Ü#×/Ñ/ÜÐ7Ó8Ø'¬×)<Ñ)<¸T¿]¹]Ó)KÐLñMà$¨¨T {Ñ2óðõ2ûðúsÇ NÎ O>ÎA#O9Ï9O>có6‡‡—‰j«|stj|d«}t|dd«dk(sJd||jfz«‚t j j|«Šˆˆfd„}‰j||j«|||¬«y)NsrbÚmodeÚrbs=config files must be opened in binary mode, got fp=%r mode=%rcóÈ•—tjjtjj‰|««}‰j |||¬«‰j «y)Nr^)ÚosÚpathÚnormpathÚjoinÚreadr)Úrelr_r(ÚabsÚdirrs €€rrpzconfig.read..includeùsBø€Ü—'‘'×"Ñ"¤2§7¡7§<¡<°°SÓ#9Ó:ˆCØ �I‰I�c °ˆIÔ :à �O‰OÕ r)r(r_rp) rrÚ posixfilerr‚r…r†Údirnamer€r‰)rr†Úfpr(r_rprŒs` @rr‰z config.readìs“ù€Ø �‰ÔÙÜ—‘  eÓ,ˆBä �B˜ Ó %¨Ò -ð à KØ Ø �G‰GðO ñ ó Ø -ô �g‰g�o‰o˜dÓ#ˆõ ð � ‰ Ø �"—'‘'“) h°eÀWð õ rr)r)NNN)Ú__name__Ú __module__Ú __qualname__rrrrr$r&r*r:r<r!rEr8r9r(r.rQrWrZr€r‰©rrr r sk„óHò(ò ò%ò3ò+òò/ò,5óò )òò ò )ò/óPò ,ò 4óOGôb rr ) rir…Úi18nrÚpycompatrÚrrrr r“rrÚr—s)ðó Û åÝ÷ñ÷l òl r