PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/opt/alt/python311/lib64/python3.11/__pycache__/
Upload File :
Current File : //opt/alt/python311/lib64/python3.11/__pycache__/configparser.cpython-311.opt-2.pyc
�

�fl����	ddlmZddlmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZgd�Ze
ZdZdZGd�de��ZGd	�d
e��ZGd�de��ZGd
�de��ZGd�de��ZGd�de��ZGd�de��ZGd�de��ZGd�de��ZGd�de��ZGd�de��Ze��ZGd�d��ZGd�d e��Z Gd!�d"e��Z!Gd#�d$e��Z"Gd%�d&e��Z#Gd'�d(e#��Z$Gd)�d*e$��Z%Gd+�d,e��Z&Gd-�d.e��Z'dS)/�)�MutableMapping)�ChainMapN)�NoSectionError�DuplicateOptionError�DuplicateSectionError�
NoOptionError�InterpolationError�InterpolationDepthError�InterpolationMissingOptionError�InterpolationSyntaxError�ParsingError�MissingSectionHeaderError�ConfigParser�SafeConfigParser�RawConfigParser�
Interpolation�BasicInterpolation�ExtendedInterpolation�LegacyInterpolation�SectionProxy�ConverterMapping�DEFAULTSECT�MAX_INTERPOLATION_DEPTH�DEFAULT�
c�"�eZdZ	dd�Zd�ZeZdS)�Error�c�J�||_t�||��dS�N)�message�	Exception�__init__)�self�msgs  �3/opt/alt/python311/lib64/python3.11/configparser.pyr#zError.__init__�s%��������4��%�%�%�%�%�c��|jSr )r!�r$s r&�__repr__zError.__repr__�s
���|�r'N)r)�__name__�
__module__�__qualname__r#r*�__str__�r'r&rr�s;������1�&�&�&�&�����G�G�Gr'rc��eZdZ	d�ZdS)rc�`�t�|d|����||_|f|_dS)NzNo section: )rr#�section�args�r$r2s  r&r#zNoSectionError.__init__�s1��
���t�t���:�;�;�;�����K��	�	�	r'N�r+r,r-r#r/r'r&rr�s&������<� � � � � r'rc��eZdZ	dd�ZdS)rNc���t|��dg}|�hdt|��g}|�(|�d�|����|�d��|�|��|}n|�dd��t
�|d�|����||_||_	||_
|||f|_dS)N� already exists�While reading from � [line {0:2d}]z
: section rzSection r)�repr�append�format�extend�insertrr#�joinr2�source�linenor3)r$r2rArBr%r!s      r&r#zDuplicateSectionError.__init__�s����G�}�}�/�0����,�d�6�l�l�;�G��!����/�6�6�v�>�>�?�?�?��N�N�<�(�(�(��N�N�3�����C�C��J�J�q�*�%�%�%�
���t�R�W�W�S�\�\�*�*�*�����������f�f�-��	�	�	r'�NNr5r/r'r&rr�s-�������.�.�.�.�.�.r'rc��eZdZ	dd�ZdS)rNc���t|��dt|��dg}|�hdt|��g}|�(|�d�|����|�d��|�|��|}n|�dd��t
�|d�|����||_||_	||_
||_||||f|_dS)	Nz in section r8r9r:z	: option rzOption r)
r;r<r=r>r?rr#r@r2�optionrArBr3)r$r2rFrArBr%r!s       r&r#zDuplicateOptionError.__init__�s����F�|�|�^�T�'�]�]� �"����,�d�6�l�l�;�G��!����/�6�6�v�>�>�?�?�?��N�N�;�'�'�'��N�N�3�����C�C��J�J�q�)�$�$�$�
���t�R�W�W�S�\�\�*�*�*��������������f�f�f�5��	�	�	r'rCr5r/r'r&rr�s-�������6�6�6�6�6�6r'rc��eZdZ	d�ZdS)rc�v�t�|d|�d|����||_||_||f|_dS)Nz
No option z
 in section: �rr#rFr2r3)r$rFr2s   r&r#zNoOptionError.__init__�sJ��
���t�t������)�	*�	*�	*��������W�%��	�	�	r'Nr5r/r'r&rr�s&������+�&�&�&�&�&r'rc��eZdZ	d�ZdS)r	c�l�t�||��||_||_|||f|_dSr rI)r$rFr2r%s    r&r#zInterpolationError.__init__s6��
���t�S�!�!�!��������W�c�*��	�	�	r'Nr5r/r'r&r	r	�s&������:�+�+�+�+�+r'r	c��eZdZ	d�ZdS)rc��d�||||��}t�||||��||_||||f|_dS)Nz�Bad value substitution: option {!r} in section {!r} contains an interpolation key {!r} which is not a valid option name. Raw value: {!r})r=r	r#�	referencer3)r$rFr2�rawvalrNr%s      r&r#z(InterpolationMissingOptionError.__init__sV��!�!'�����F�!K�!K�	�	�#�#�D�&�'�3�?�?�?�"����W�f�i�8��	�	�	r'Nr5r/r'r&rr	s&������K�9�9�9�9�9r'rc��eZdZdS)rN)r+r,r-r/r'r&rrs�������r'rc��eZdZ	d�ZdS)r
c��d�||t|��}t�||||��|||f|_dS)Nz�Recursion limit exceeded in value substitution: option {!r} in section {!r} contains an interpolation key which cannot be substituted in {} steps. Raw value: {!r})r=rr	r#r3)r$rFr2rOr%s     r&r#z InterpolationDepthError.__init__ sU����&���*A��!�!�	�
	�#�#�D�&�'�3�?�?�?��W�f�-��	�	�	r'Nr5r/r'r&r
r
s&������:�.�.�.�.�.r'r
c�T�eZdZ	dd�Zed���Zejd���Zd�ZdS)r
Nc���|r|rtd���|s|std���|r|}t�|d|z��||_g|_|f|_dS)Nz:Cannot specify both `filename' and `source'. Use `source'.z%Required argument `source' not given.z"Source contains parsing errors: %r)�
ValueErrorrr#rA�errorsr3)r$rA�filenames   r&r#zParsingError.__init__-s����	��	��-�.�.�
.��	�&�	��D�E�E�E�
�	��F�
���t�A�F�J�K�K�K��������J��	�	�	r'c�J�	tjdtd���|jS�NzNThe 'filename' attribute will be removed in Python 3.12. Use 'source' instead.���
stacklevel��warnings�warn�DeprecationWarningrAr)s r&rWzParsingError.filename<s2��'��
�
$��1�	
�	
�	
�	
�
�{�r'c�N�	tjdtd���||_dSrYr]�r$�values  r&rWzParsingError.filenameFs5��(��
�
$��1�	
�	
�	
�	
�
����r'c�h�|j�||f��|xjd||fzz
c_dS)Nz
	[line %2d]: %s)rVr<r!)r$rB�lines   r&r<zParsingError.appendPs:������F�D�>�*�*�*����,���~�=�=����r'rC)r+r,r-r#�propertyrW�setterr<r/r'r&r
r
*sr������H�
�
�
�
�����X���_����_��>�>�>�>�>r'r
c��eZdZ	d�ZdS)rc��t�|d|||fz��||_||_||_|||f|_dS)Nz7File contains no section headers.
file: %r, line: %d
%r)rr#rArBrer3)r$rWrBres    r&r#z"MissingSectionHeaderError.__init__XsV��
����G�
�v�t�$�
%�	&�	&�	&���������	��v�t�,��	�	�	r'Nr5r/r'r&rrUs&������J�-�-�-�-�-r'rc�(�eZdZ	d�Zd�Zd�Zd�ZdS)rc��|Sr r/)r$�parserr2rFrc�defaultss      r&�
before_getzInterpolation.before_getl����r'c��|Sr r/�r$rlr2rFrcs     r&�
before_setzInterpolation.before_setoror'c��|Sr r/rqs     r&�before_readzInterpolation.before_readrror'c��|Sr r/rqs     r&�before_writezInterpolation.before_writeuror'N)r+r,r-rnrrrtrvr/r'r&rrisS������L��������������r'rc�B�eZdZ	ejd��Zd�Zd�Zd�ZdS)rz
%\(([^)]+)\)sc	�f�g}|�||||||d��d�|��S�N�r��_interpolate_somer@�r$rlr2rFrcrm�Ls       r&rnzBasicInterpolation.before_get��7�������v�v�q�%��(�A�N�N�N��w�w�q�z�z�r'c��|�dd��}|j�d|��}d|vr'td||�d��fz���|S)Nz%%r�%�1invalid interpolation syntax in %r at position %d��replace�_KEYCRE�subrU�find�r$rlr2rFrc�	tmp_values      r&rrzBasicInterpolation.before_set��p���M�M�$��+�+�	��L�$�$�R��3�3�	��)����+�.3�Y�^�^�C�5H�5H�-I�J�K�K�
K��r'c
��|�||d|���}|tkrt|||���|�r�|�d��}	|	dkr|�|��dS|	dkr'|�|d|	���||	d�}|dd�}
|
dkr |�d��|dd�}n�|
dkr�|j�|��}|�t||d|z���|�|�	d����}||�
��d�}	||}
n!#t$rt||||��d�wxYwd|
vr|�
||||
|||dz��n*|�|
��nt||d	|�����|���dSdS)
NT��raw�fallbackr�rrzrZ�(�'bad interpolation variable reference %rz+'%' must be followed by '%' or '(', found: )�getrr
r�r<r��matchr�optionxform�group�end�KeyErrorrr|)r$rlrF�accum�restr2�map�depthrO�p�c�m�var�vs              r&r|z$BasicInterpolation._interpolate_some�s/�����G�V����E�E���*�*�*�)�&�'�6�B�B�B��"	+��	�	�#���A��1�u�u����T�"�"�"����1�u�u����T�"�1�"�X�&�&�&��A�B�B�x���Q�q�S�	�A��C�x�x����S�!�!�!��A�B�B�x����c����L�&�&�t�,�,���9�2�6�7�A�D�H�J�J�J��(�(�������4�4���A�E�E�G�G�H�H�~��@��C��A�A���@�@�@�9�����6�6�;?�@�@�����!�8�8��*�*�6�6�5�!�+2�C����D�D�D�D��L�L��O�O�O�O�.��G�G�#'�4�*�+�+�+�?�"	+�"	+�"	+�"	+�"	+s�E�E*N�	r+r,r-�re�compiler�rnrrr|r/r'r&rrys[������I��b�j�)�*�*�G����
���'+�'+�'+�'+�'+r'rc�B�eZdZ	ejd��Zd�Zd�Zd�ZdS)rz
\$\{([^}]+)\}c	�f�g}|�||||||d��d�|��Sryr{r}s       r&rnz ExtendedInterpolation.before_get�rr'c��|�dd��}|j�d|��}d|vr'td||�d��fz���|S)Nz$$r�$r�r�r�s      r&rrz ExtendedInterpolation.before_set�r�r'c
�6�|�||d|���}|tkrt|||���|�r`|�d��}	|	dkr|�|��dS|	dkr'|�|d|	���||	d�}|dd�}
|
dkr!|�d��|dd�}�n�|
dk�r�|j�|��}|�t||d|z���|�d���	d	��}||�
��d�}|}
|}	t|��dkr$|�|d��}||}nct|��dkr<|d}
|�|d��}|�|
|d�
��}nt||d|�����nA#tttf$r't!|||d	�|����d�wxYwd|vrA|�|||||
t'|�|
d�
����|dz��n*|�|��nt||d|�����|��^dSdS)
NTr�r�rrzrZ�{r��:)r�zMore than one ':' found: z+'$' must be followed by '$' or '{', found: )r�rr
r�r<r�r�rr��splitr��lenr�r�rrrr@r|�dict�items)r$rlrFr�r�r2r�r�rOr�r�r��path�sect�optr�s                r&r|z'ExtendedInterpolation._interpolate_some�s������G�V����E�E���*�*�*�)�&�'�6�B�B�B��/	+��	�	�#���A��1�u�u����T�"�"�"����1�u�u����T�"�1�"�X�&�&�&��A�B�B�x���Q�q�S�	�A��C�x�x����S�!�!�!��A�B�B�x����c����L�&�&�t�,�,���9�2�6�7�A�D�H�J�J�J��w�w�q�z�z�'�'��,�,���A�E�E�G�G�H�H�~������K��4�y�y�A�~�~�$�0�0��a��9�9����H����T���a���#�A�w��$�0�0��a��9�9��"�J�J�t�S�d�J�;�;���6�"�G�G�=A�T�C�E�E�E���!�.�-�@�K�K�K�9�������$���A�A�FJ�K�K�����!�8�8��*�*�6�3��q�$�+/����T�t��0L�0L�+M�+M�+0�1�9�6�6�6�6��L�L��O�O�O�O�.��G�G�#'�4�*�+�+�+�Y�/	+�/	+�/	+�/	+�/	+s
�	BG$�$>H"Nr�r/r'r&rr�sZ������>��b�j�)�*�*�G����
���4+�4+�4+�4+�4+r'rc�b��eZdZ	ejd��Z�fd�Zd�Zd�Ze	d���Z
�xZS)rz%\(([^)]*)\)s|.c�r��t��j|i|��tjdtd���dS)Nz�LegacyInterpolation has been deprecated since Python 3.2 and will be removed from the configparser module in Python 3.13. Use BasicInterpolation or ExtendedInterpolation instead.rZr[��superr#r^r_r`�r$r3�kwargs�	__class__s   �r&r#zLegacyInterpolation.__init__sO��������$�)�&�)�)�)��
�
G�
�1�		
�	
�	
�	
�	
�	
r'c�@�|}t}|r{|dz}|rqd|vrmtj|j|���}|j�||��}	||z}n1#t$r#}	t||||	jd��d�d}	~	wwxYwn|�{|rd|vrt|||���|S)Nrzz%()rlr)
r�	functools�partial�_interpolation_replacer�r�r�rr3r
)
r$rlr2rFrc�varsrOr�r��es
          r&rnzLegacyInterpolation.before_gets�����'���	��Q�J�E��

�����#�+�D�,G�39�;�;�;����(�(��%�8�8��F�!�D�L�E�E���F�F�F�9��������<�<�AE�F�����F������	��	C�T�U�]�]�)�&�'�6�B�B�B��s�A�
B�A<�<Bc��|Sr r/rqs     r&rrzLegacyInterpolation.before_set.ror'c��|�d��}|�|���Sd|�|��zS)Nrzz%%(%s)s)r�r�)r�rl�ss   r&r�z*LegacyInterpolation._interpolation_replace1s=���K�K��N�N���9��;�;�=�=� ��v�1�1�!�4�4�4�4r')r+r,r-r�r�r�r#rnrr�staticmethodr��
__classcell__�r�s@r&rrs��������@��b�j�+�,�,�G�
�
�
�
�
����(����5�5��\�5�5�5�5�5r'rc
���eZdZ	dZdZdZe��Zej	eej
��Zej	e�d���ej
��Z
ej	e�d���ej
��Zej	d��Zddddddddd	�Zd
edfddd
ddeeed
�d�Zd�Zd�Zd�Zd�Zd�Zd;d�Zd;d�Zd<d�Zd=d�Zd;d�Zdd
ed�d�Zd�Z dd
ed�d�Z!dd
ed�d�Z"dd
ed�d �Z#dd
ed�d!�Z$edd
f�fd"�	Z%d#�Z&d$�Z'd%�Z(d;d&�Z)d>d'�Z*d(�Z+d)�Z,d*�Z-d+�Z.d,�Z/d-�Z0d.�Z1d/�Z2d0�Z3d1�Z4d2�Z5d3�Z6d4�Z7d5�Z8d6�Z9d7d7d7d8�d9�Z:e;d:���Z<�xZ=S)?rz�
        \[                                 # [
        (?P<header>.+)                     # very permissive!
        \]                                 # ]
        a�
        (?P<option>.*?)                    # very permissive!
        \s*(?P<vi>{delim})\s*              # any number of space/tab,
                                           # followed by any of the
                                           # allowed delimiters,
                                           # followed by any space/tab
        (?P<value>.*)$                     # everything up to eol
        a�
        (?P<option>.*?)                    # very permissive!
        \s*(?:                             # any number of space/tab,
        (?P<vi>{delim})\s*                 # optionally followed by
                                           # any of the allowed
                                           # delimiters, followed by any
                                           # space/tab
        (?P<value>.*))?$                   # everything up to eol
        z=|:��delimz\STF)�1�yes�true�on�0�no�false�offN��=r�)�#�;)�
delimiters�comment_prefixes�inline_comment_prefixes�strict�empty_lines_in_values�default_section�
interpolation�
convertersc��||_|���|_|���|_t|��|_|���|_t
||	��|j|	<t|��|_|dkr|r|j	n|j
|_n�d�d�|D����}|r>tj|j�|���tj��|_n=tj|j�|���tj��|_t|pd��|_t|pd��|_||_||_||_|	|_|
|_|jt4ur|j|_|j�t9��|_t;|jt8��s$t=dt?|j�������|t4ur|j� |��|r|�!|��dSdS)Nr��|c3�>K�|]}tj|��V��dSr )r��escape)�.0�ds  r&�	<genexpr>z+RawConfigParser.__init__.<locals>.<genexpr>ts*����:�:�!���1���:�:�:�:�:�:r'r�r/zSinterpolation= must be None or an instance of Interpolation; got an object of type )"�_dict�	_sections�	_defaultsr�_converters�_proxiesr�tuple�_delimiters�	OPTCRE_NV�OPTCRE�_optcrer@r�r��_OPT_NV_TMPLr=�VERBOSE�	_OPT_TMPL�_comment_prefixes�_inline_comment_prefixes�_strict�_allow_no_value�_empty_lines_in_valuesr��_interpolation�_UNSET�_DEFAULT_INTERPOLATIONr�
isinstance�	TypeError�type�update�_read_defaults)
r$rm�	dict_type�allow_no_valuer�r�r�r�r�r�r�r�r�s
             r&r#zRawConfigParser.__init__cs.����
���������������+�D�1�1����
�
����
�)5�d�O�)L�)L��
�o�&� ��,�,�����#�#�-;�L�4�>�>���D�L�L����:�:�z�:�:�:�:�:�A��
6�!�z�$�*;�*B�*B��*B�*K�*K�*,�*� 6� 6���� "�z�$�.�*?�*?�a�*?�*H�*H�*,�*� 6� 6���!&�'7�'=�2�!>�!>���(-�.E�.K��(L�(L��%����-���&;��#�,���+�����&�(�(�"&�"=�D����&�"/�/�/�D���$�-�}�=�=�	��F�*.�t�/B�*C�*C�F�F���
��V�#�#���#�#�J�/�/�/��	*�����)�)�)�)�)�	*�	*r'c��|jSr )r�r)s r&rmzRawConfigParser.defaults�s
���~�r'c�P�	t|j�����Sr )�listr��keysr)s r&�sectionszRawConfigParser.sections�s!��A��D�N�'�'�)�)�*�*�*r'c���	||jkrtd|z���||jvrt|���|���|j|<t||��|j|<dS)NzInvalid section name: %r)r�rUr�rr�rr�r4s  r&�add_sectionzRawConfigParser.add_section�sv��	�
�d�*�*�*��7�'�A�B�B�B��d�n�$�$�'��0�0�0�"&�*�*�,�,���w��!-�d�G�!<�!<��
�g���r'c��	||jvSr )r�r4s  r&�has_sectionzRawConfigParser.has_section�s��	��$�.�(�(r'c��		|j|���}n#t$rt|��d�wxYw|�|j��t
|�����Sr )r��copyr�rr�r�rr)r$r2�optss   r&�optionszRawConfigParser.options�sy��G�	4��>�'�*�/�/�1�1�D�D���	4�	4�	4� ��)�)�t�3�	4�������D�N�#�#�#��D�I�I�K�K� � � s�#�>c��	t|tttjf��r|g}tj|��}g}|D]�}	t||���5}|�||��ddd��n#1swxYwYn#t$rY�OwxYwt|tj��rtj
|��}|�|����|S)N)�encoding)r��str�bytes�os�PathLike�io�
text_encoding�open�_read�OSError�fspathr<)r$�	filenamesr�read_okrW�fps      r&�readzRawConfigParser.read�s+��
	��i�#�u�b�k�!:�;�;�	$�"��I��#�H�-�-����!�	%�	%�H�
��(�X�6�6�6�-�"��J�J�r�8�,�,�,�-�-�-�-�-�-�-�-�-�-�-����-�-�-�-����
�
�
���
�����(�B�K�0�0�
/��9�X�.�.���N�N�8�$�$�$�$��s6�B�A;�/B�;A?	�?B�A?	�B�
B�Bc�n�	|�	|j}n#t$rd}YnwxYw|�||��dS)Nz<???>)�name�AttributeErrorr)r$�frAs   r&�	read_filezRawConfigParser.read_file�sZ��	��>�
!������!�
!�
!�
!� ����
!�����
�
�1�f�����s�
���<string>c�\�	tj|��}|�||��dSr )r�StringIOr)r$�stringrA�sfiles    r&�read_stringzRawConfigParser.read_string�s.��5���F�#�#�����u�f�%�%�%�%�%r'�<dict>c�F�	t��}|���D]�\}}t|��}	|�|��n##tt
f$r|jr||vr�YnwxYw|�|��|���D]�\}}|�t|����}|�t|��}|jr||f|vrt|||���|�||f��|�|||������dSr )
�setr�r
rrrUr��addr�r)r$�
dictionaryrA�elements_addedr2r�keyrcs        r&�	read_dictzRawConfigParser.read_dict�sW��	�����'�-�-�/�/�	.�	.�M�G�T��'�l�l�G�
�� � ��)�)�)�)��)�:�6�
�
�
��<��G�~�$=�$=����
����
���w�'�'�'�"�j�j�l�l�
.�
.�
��U��&�&�s�3�x�x�0�0���$���J�J�E��<�E�W�c�N�n�$D�$D�.�w��V�D�D�D��"�"�G�S�>�2�2�2�����#�u�-�-�-�-�
.�	.�	.s�A�A/�.A/c�n�	tjdtd���|�||���dS)NzMThis method will be removed in Python 3.12. Use 'parser.read_file()' instead.rZr[)rA)r^r_r`r)r$rrWs   r&�readfpzRawConfigParser.readfpsF��0��
�
0��1�	
�	
�	
�	
�
	
���r�(��+�+�+�+�+r'�r�r�r�c�H�		|�||��}n#t$r|tur�|cYSwxYw|�|��}	||}n+#t$r|turt||���|cYSwxYw|s|�|S|j�|||||��Sr )�
_unify_valuesrr�r�r�rr�rn)r$r2rFr�r�r�r�rcs        r&r�zRawConfigParser.get
s���
	�	 ��"�"�7�D�1�1�A�A���	 �	 �	 ��6�!�!������		 ����
�!�!�&�)�)��	 ��f�I�E�E���	 �	 �	 ��6�!�!�#�F�G�4�4�4�����		 �����	5�%�-��L��&�1�1�$����23�5�5�
5s��3�3�A�%A=�<A=c�2�||j||fi|����Sr )r�)r$r2�convrFr�s     r&�_getzRawConfigParser._get2s(���t�H�D�H�W�f�7�7��7�7�8�8�8r'c�p�	|j|||f||d�|��S#ttf$r|tur�|cYSwxYw)N)r�r�)r5rrr�)r$r2rFr4r�r�r�r�s        r&�	_get_convzRawConfigParser._get_conv5sp��	��4�9�W�d�F�'��$�'�'�%�'�'�
'���
�.�	�	�	��6�!�!���O�O�O�	���s��5�5c�4�|j||tf|||d�|��S�Nr0)r7�int�r$r2rFr�r�r�r�s       r&�getintzRawConfigParser.getint@s7���t�~�g�v�s�;��$�'/�;�;�39�;�;�	;r'c�4�|j||tf|||d�|��Sr9)r7�floatr;s       r&�getfloatzRawConfigParser.getfloatEs7���t�~�g�v�u�;�#�D�'/�;�;�39�;�;�	;r'c�4�|j|||jf|||d�|��Sr9)r7�_convert_to_booleanr;s       r&�
getbooleanzRawConfigParser.getbooleanJs@���t�~�g�v�t�/G�O�"%�D�8�O�O�GM�O�O�	Or'c�������	�tur t�����S�j����	���j���n*#t$r��jkrt����YnwxYwt������}|r2|���D]\}}|���|��<����fd��|r�fd���fd�|D��S)Nc�L���j���|�|���Sr )r�rn)rFr�r2r$s ���r&�<lambda>z'RawConfigParser.items.<locals>.<lambda>gs)���d�&9�&D�&D�T��V�Q�v�Y��'+�'+�r'c����|Sr r/)rFr�s �r&rEz'RawConfigParser.items.<locals>.<lambda>js���!�F�)�r'c�*��g|]}|�|��f��Sr/r/)r�rF�value_getters  �r&�
<listcomp>z)RawConfigParser.items.<locals>.<listcomp>ks(���G�G�G�6����f�-�-�.�G�G�Gr')
r�r�r�r�rr�r�r�r�rrrr�)
r$r2r�r��	orig_keysr,rcr�rHr�s
``     @@�r&r�zRawConfigParser.itemsOsA�������		��f����7�7�=�=�?�?�"��N���!�!��	.�
�H�H�T�^�G�,�-�-�-�-���	.�	.�	.��$�.�.�.�$�W�-�-�-�/�.�	.����������N�N�	��	1�"�j�j�l�l�
1�
1�
��U�+0��$�"�"�3�'�'�(�(�+�+�+�+�+�+���	4�3�3�3�3�L�G�G�G�G�Y�G�G�G�Gs�
 A+�+$B�Bc�`�	|���D]}||}||=||fcSt�r )rr��r$r,rcs   r&�popitemzRawConfigParser.popitemmsE��	��=�=�?�?�	�	�C���I�E��S�	���:�����r'c�*�|���Sr )�lower)r$�	optionstrs  r&r�zRawConfigParser.optionxformzs����� � � r'c���	|r||jkr|�|��}||jvS||jvrdS|�|��}||j|vp||jvS)NF)r�r�r�r�)r$r2rFs   r&�
has_optionzRawConfigParser.has_option}s���	N��	1�'�T�%9�9�9��%�%�f�-�-�F��T�^�+�+�
�D�N�
*�
*��5��%�%�f�-�-�F��d�n�W�5�5�0����/�
1r'c��	|r|j�||||��}|r||jkr|j}n-	|j|}n#t
$rt
|��d�wxYw|||�|��<dSr )r�rrr�r�r�r�rr�)r$r2rFrc�sectdicts     r&r(zRawConfigParser.set�s�����	:��'�2�2�4��&�38�:�:�E��	8�'�T�%9�9�9��~�H�H�
8��>�'�2�����
8�
8�
8�$�W�-�-�4�7�
8����-2���!�!�&�)�)�*�*�*s�
A�A c�\�	|r!d�|jd��}n
|jd}|jr4|�||j|j���|��|jD]7}|�|||j|���|���8dS)Nz {} r)r=r�r��_write_sectionr�r�r�)r$r�space_around_delimitersr�r2s     r&�writezRawConfigParser.write�s���	�#�	$��
�
�d�.�q�1�2�2�A�A�� ��#�A��>�	?�����D�$8�$(�N�$8�$8�$:�$:�A�
?�
?�
?��~�	D�	D�G�����G� $��w� 7� =� =� ?� ?��
D�
D�
D�
D�	D�	Dr'c��	|�d�|����|D]}\}}|j�||||��}|�|js'|t|���dd��z}nd}|�d�||�����~|�d��dS)Nz[{}]
�
z
	rz{}{}
)rXr=r�rvr�r
r�)r$r�section_name�
section_items�	delimiterr,rcs       r&rVzRawConfigParser._write_section�s���;�
�������.�.�/�/�/�'�	2�	2�J�C���'�4�4�T�<��5:�<�<�E�� ��(<� �!�C��J�J�$6�$6�t�V�$D�$D�D������H�H�X�_�_�S�%�0�0�1�1�1�1�
��������r'c���	|r||jkr|j}n-	|j|}n#t$rt	|��d�wxYw|�|��}||v}|r||=|Sr )r�r�r�r�rr�)r$r2rFrT�existeds     r&�
remove_optionzRawConfigParser.remove_option�s�����	8�'�T�%9�9�9��~�H�H�
8��>�'�2�����
8�
8�
8�$�W�-�-�4�7�
8�����!�!�&�)�)���H�$���	!��� ��s	�
&�Ac�>�	||jv}|r|j|=|j|=|Sr )r�r�)r$r2r_s   r&�remove_sectionzRawConfigParser.remove_section�s2��$��T�^�+���	'���w�'��
�g�&��r'c�z�||jkr$|�|��st|���|j|Sr )r�rr�r��r$r,s  r&�__getitem__zRawConfigParser.__getitem__�s<���$�&�&�&�t�/?�/?��/D�/D�&��3�-�-���}�S�!�!r'c���||vr|||urdS||jkr|j���n(||jvr|j|���|�||i��dSr )r�r��clearr�r-rLs   r&�__setitem__zRawConfigParser.__setitem__�s����$�;�;�4��9��-�-��F��$�&�&�&��N� � �"�"�"�"�
�D�N�
"�
"��N�3��%�%�'�'�'�����U�|�$�$�$�$�$r'c��||jkrtd���|�|��st|���|�|��dS)Nz"Cannot remove the default section.)r�rUrr�rbrds  r&�__delitem__zRawConfigParser.__delitem__�s[���$�&�&�&��A�B�B�B�����$�$�	 ��3�-�-�����C� � � � � r'c�B�||jkp|�|��Sr )r�rrds  r&�__contains__zRawConfigParser.__contains__�s#���d�*�*�C�d�.>�.>�s�.C�.C�Cr'c�0�t|j��dzS)Nrz)r�r�r)s r&�__len__zRawConfigParser.__len__�s���4�>�"�"�Q�&�&r'c�f�tj|jf|j�����Sr )�	itertools�chainr�r�rr)s r&�__iter__zRawConfigParser.__iter__�s(����� 4�6���8K�8K�8M�8M�N�N�Nr'c��	t��}d}d}d}d}d}d}		t|d���D�]�\}}
tj}d�|jD��}|tjkr�|r�i}
|���D]c\}}|
�||dz��}|dkr�%||
|<|dks#|dkr-|
|dz
���rt||��}�d|
}|tjkr|��|j	D]-}|
�
���|��rd}n�.|tjkrd}|
d|��
��}|s?|jr*|�'|�%|r#||�||�
d��ntj}��g|j�|
��}|r|���nd}|�%|r#||kr||�
|�����|}|j�|��}|r�|�d��}||jvr?|jr||vrt-|||���|j|}|�|��n^||jkr|j}nK|���}||j|<t7||��|j|<|�|��d}���|�t;|||
���|j�|��}|r�|�dd	d
��\}}}|s|�|	|||
��}	|� |�!����}|jr||f|vrtE||||���|�||f��|�|�
��}|g||<��|d||<���|�|	|||
��}	���	|�#��n#|�#��wxYw|	r|	�dS)Nrrz)�startc��i|]}|d��S)���r/)r�r�s  r&�
<dictcomp>z)RawConfigParser._read.<locals>.<dictcomp>s��"P�"P�"P�Q�1�b�"P�"P�"Pr'rvr�headerrF�virc)$r(�	enumerate�sys�maxsizer�r�r��isspace�minr��strip�
startswithr�r<�NONSPACECRE�searchrt�SECTCREr�r�r�r�rr)r�r�r�rr�rr��
_handle_errorr��rstripr�_join_multiline_values)r$r�fpnamer+�cursect�sectname�optnamerB�indent_levelr�re�
comment_start�inline_prefixes�
next_prefixes�prefix�indexrc�first_nonspace�cur_indent_level�mory�optvals                      r&rzRawConfigParser._read�s���	� ����������������_	*� )�"�A� 6� 6� 6�\
L�\
L���� #��
�"P�"P�$�2O�"P�"P�"P��#�s�{�2�2��2�$&�M�)8�)>�)>�)@�)@�F�F�
��� $�	�	�&�%��'� :� :�� �B�;�;�$�05�
�f�-� �A�:�:�%�!�)�)��U�1�W�
�8M�8M�8O�8O�)�,/�
�u�,E�,E�M��&3�O�$�s�{�2�2��2�#�4���F��z�z�|�|�.�.�v�6�6��()�
����!�C�K�/�/�$(�M��^�m�^�,�2�2�4�4�����2�
3�*�1�#�/�#�0�#�G�,�8�#�G�,�3�3�B�7�7�7��(+�{���!%�!1�!8�!8��!>�!>��=K�#R�>�#7�#7�#9�#9�#9�QR� ��'�G�'�$�|�3�3��G�$�+�+�E�2�2�2�2�$4�L���+�+�E�2�2�B��.L�#%�8�8�H�#5�#5��#�t�~�5�5�#�|�D��N�0J�0J�&;�H�f�<B�'D�'D�!D�&*�n�X�&>�G�*�.�.�x�8�8�8�8�%��)=�=�=�&*�n�G�G�&*�j�j�l�l�G�7>�D�N�8�4�6B�4��6R�6R�D�M�(�3�*�.�.�x�8�8�8�"&��� ��7����M�M�M�"�\�/�/��6�6���L�24�(�(�8�T�7�2S�2S�/�G�R��#*�P�$(�$6�$6�q�&�&�$�$O�$O��&*�&6�&6�w�~�~�7G�7G�&H�&H�G� $��K�!)�7� 3�~� E� E�&:�8�W�;A�6�'K�'K�!K�*�.�.��'�/B�C�C�C� &�1�)/������4:�8��� 0� 0�48��� 0� 0�!%� 2� 2�1�f�f�d� K� K�A�A�y\
L�|
�'�'�)�)�)�)��D�'�'�)�)�)�)�����	��G�	�	s�N.O!�!O7c�x�|j|jf}tj|f|j�����}|D]{\}}|���D]a\}}t
|t��r'd�|���	��}|j
�||||��||<�b�|dS)NrZ)r�r�rprqr�r�r�rr@r�r�rt)r$rm�all_sectionsr2r
r�vals       r&r�z&RawConfigParser._join_multiline_valuesps����'���7�� ���{�'+�~�';�';�'=�'=�?�?�� ,�	K�	K��G�W�$�]�]�_�_�
K�
K�	��c��c�4�(�(�2��)�)�C�.�.�/�/�1�1�C� $� 3� ?� ?��@G�@D�c�!K�!K���
�
�
K�	K�	Kr'c�v�	|���D]"\}}||j|�|��<�#dSr )r�r�r�)r$rmr,rcs    r&r�zRawConfigParser._read_defaults|sK��	+�"�.�.�*�*�	:�	:�J�C��49�D�N�4�+�+�C�0�0�1�1�	:�	:r'c�n�|st|��}|�|t|����|Sr )r
r<r;)r$�excr�rBres     r&r�zRawConfigParser._handle_error�s6���	'��v�&�&�C��
�
�6�4��:�:�&�&�&��
r'c�6�	i}	|j|}n+#t$r||jkrt|��d�YnwxYwi}|rC|���D].\}}|�t|��}|||�|��<�/t|||j��Sr )	r�r�r�rr�r
r��	_ChainMapr�)r$r2r��sectiondict�vardictr,rcs       r&r2zRawConfigParser._unify_values�s���	���	8��.��1�K�K���	8�	8�	8��$�.�.�.�$�W�-�-�4�7�/�.�	8�������	7�"�j�j�l�l�
7�
7�
��U��$���J�J�E�16���(�(��-�-�.�.���+�t�~�>�>�>s�
�%;�;c��	|���|jvrtd|z���|j|���S)NzNot a boolean: %s)rO�BOOLEAN_STATESrUrbs  r&rAz#RawConfigParser._convert_to_boolean�sG��	��;�;�=�=�� 3�3�3��0�5�8�9�9�9��"�5�;�;�=�=�1�1r'r)r2rFrcc��	t|t��std���t|t��std���|jr|r&t|t��std���dSdS)Nzsection names must be stringszoption keys must be stringszoption values must be strings)r�r
r�r�)r$r2rFrcs    r&�_validate_value_typesz%RawConfigParser._validate_value_types�s���	��'�3�'�'�	=��;�<�<�<��&�#�&�&�	;��9�:�:�:��#�	A�u�	A��e�S�)�)�
A�� ?�@�@�@�
A�
A�	A�	Ar'c��|jSr )r�r)s r&r�zRawConfigParser.converters�s����r'r )r )r&)T)>r+r,r-�
_SECT_TMPLr�r�rr�r�r�r�r�r=r�r�r�r��
_default_dictrr�r#rmrrrr
rrr%r-r/r�r5r7r<r?rBr�rMr�rRr(rXrVr`rbrerhrjrlrnrrrr�r�r�r2rAr�rfr�r�r�s@r&rr:s?�������6��J�
�I��L�+�]�_�_���b�j��R�Z�0�0�G�
�R�Z�	�(�(�u�(�5�5�r�z�
B�
B�F���
�<�.�.�U�.�;�;�R�Z�H�H�I��"�*�U�#�#�K���d�$� ���e�M�M�N�!%�
� %�+*�5?�",�d��D�!,�%�&�+*�+*�+*�+*�+*�Z���+�+�+�
=�=�=�)�)�)�!�!�!�����6
�
�
�
�&�&�&�&�
.�.�.�.�>,�,�,�,�+0�d�V�#5�#5�#5�#5�#5�J9�9�9�7<�$�!������.3���;�;�;�;�;�
05�4� �;�;�;�;�;�
27�T�"�O�O�O�O�O�
#��D�H�H�H�H�H�H�<���!�!�!�1�1�1�3�3�3�3�D�D�D�D�(���
�
�
����"�"�"�
%�%�%�!�!�!�D�D�D�'�'�'�O�O�O�z�z�z�x
K�
K�
K�:�:�:����?�?�?�(2�2�2�02�"�B�A�A�A�A�A�*� � ��X� � � � � r'rc�F��eZdZ	e��Zd�fd�	Z�fd�Zd�Z�xZS)rNc�~��	|�||���t���|||��dS�N)rFrc)r�r�r()r$r2rFrcr�s    �r&r(zConfigParser.set�sA���	.��"�"�&��"�>�>�>�
�����G�V�U�+�+�+�+�+r'c�x��	|�|���t���|��dS)N)r2)r�r�r)r$r2r�s  �r&rzConfigParser.add_section�s?���	�	
�"�"�7�"�3�3�3�
�����G�$�$�$�$�$r'c��		|j}t��|_|�|j|i��||_dS#||_wxYwr )r�rr-r�)r$rm�hold_interpolations   r&r�zConfigParser._read_defaults�s^��	�
	5�!%�!4��"/�/�/�D���N�N�D�0�(�;�<�<�<�"4�D�����"4�D��4�4�4�4s�6A�	Ar )	r+r,r-rr�r(rr�r�r�s@r&rr�sw�������2�/�/�1�1��,�,�,�,�,�,�%�%�%�%�%�5�5�5�5�5�5�5r'rc� ��eZdZ	�fd�Z�xZS)rc�r��t��j|i|��tjdtd���dS)Nz�The SafeConfigParser class has been renamed to ConfigParser in Python 3.2. This alias will be removed in Python 3.12. Use ConfigParser directly instead.rZr[r�r�s   �r&r#zSafeConfigParser.__init__�sN��������$�)�&�)�)�)��
�
2�
�1�		
�	
�	
�	
�	
�	
r')r+r,r-r#r�r�s@r&rr�s;�������B�
�
�
�
�
�
�
�
�
r'rc��eZdZ	d�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zed
���Z
ed���Zdd
ddd�d�ZdS)rc��	||_||_|jD]A}d|z}tj|jt
||�����}t|||���BdS)Nr���_impl)�_parser�_namer�r�r�r��getattr�setattr)r$rlrr4r,�getters      r&r#zSectionProxy.__init__�sn��N������
��%�	'�	'�D��$�,�C��&�t�x�w�v�s�7K�7K�L�L�L�F��D�#�v�&�&�&�&�	'�	'r'c�6�d�|j��S)Nz
<Section: {}>)r=r�r)s r&r*zSectionProxy.__repr__�s���%�%�d�j�1�1�1r'c��|j�|j|��st|���|j�|j|��Sr )r�rRr�r�r�rds  r&rezSectionProxy.__getitem__�sD���|�&�&�t�z�3�7�7�	 ��3�-�-���|����
�C�0�0�0r'c�|�|j�||���|j�|j||��Sr�)r�r�r(r�rLs   r&rhzSectionProxy.__setitem__�s9����*�*�#�U�*�C�C�C��|����
�C��7�7�7r'c��|j�|j|��r |j�|j|��st	|���dSr )r�rRr�r`r�rds  r&rjzSectionProxy.__delitem__sP����'�'��
�C�8�8�	 ���*�*�4�:�s�;�;�	 ��3�-�-��	 �	 r'c�B�|j�|j|��Sr )r�rRr�rds  r&rlzSectionProxy.__contains__s���|�&�&�t�z�3�7�7�7r'c�D�t|�����Sr )r��_optionsr)s r&rnzSectionProxy.__len__
s���4�=�=�?�?�#�#�#r'c�N�|������Sr )r�rrr)s r&rrzSectionProxy.__iter__
s���}�}���'�'�)�)�)r'c��|j|jjkr|j�|j��S|j���Sr )r�r�r�r
rmr)s r&r�zSectionProxy._optionss@���:���5�5�5��<�'�'��
�3�3�3��<�(�(�*�*�*r'c��|jSr )r�r)s r&rlzSectionProxy.parsers���|�r'c��|jSr )r�r)s r&rzSectionProxy.names���z�r'NF)r�r�r�c�F�	|s|jj}||j|f|||d�|��Sr9)r�r�r�)r$rFr�r�r�r�r�s       r&r�zSectionProxy.get sN��	��	%��L�$�E��u�T�Z��2�S�t�&�2�2�*0�2�2�	2r'r )r+r,r-r#r*rerhrjrlrnrrr�rfrlrr�r/r'r&rr�s�������5�'�'�'�2�2�2�1�1�1�
8�8�8� � � �
8�8�8�$�$�$�*�*�*�+�+�+�����X������X��
2��D��
2�
2�
2�
2�
2�
2�
2r'rc�T�eZdZ	ejd��Zd�Zd�Zd�Zd�Z	d�Z
d�ZdS)	rz^get(?P<name>.+)$c��||_i|_t|j��D]^}|j�|��}|r"tt
|j|����s�Ad|j|�d��<�_dS)Nr)r��_data�dir�	GETTERCREr��callabler�r�)r$rlr�r�s    r&r#zConverterMapping.__init__:s��������
��$�,�'�'�	/�	/�F���$�$�V�,�,�A��
�H�W�T�\�6�%B�%B�C�C�
��*.�D�J�q�w�w�v���'�'�		/�	/r'c��|j|Sr )r�rds  r&rezConverterMapping.__getitem__Cs���z�#��r'c	���	d|z}n>#t$r1td�|t|�������wxYw|dkrtd���||j|<tj|jj|���}||_	t|j||��|j���D].}tj|j|���}t|||���/dS)Nr�zIncompatible key: {} (type: {})z)Incompatible key: cannot use "" as a name)r4r�)
r�rUr=r�r�r�r�r�r7�	converterr��valuesr�)r$r,rc�k�func�proxyr�s       r&rhzConverterMapping.__setitem__Fs��	8����A�A���	8�	8�	8�� � &��s�D��I�I� 6� 6�8�8�
8�	8����
��:�:��H�I�I�I���
�3��� ���!7�e�D�D�D��������a��&�&�&��\�(�(�*�*�	&�	&�E��&�u�y��=�=�=�F��E�1�f�%�%�%�%�	&�	&s	��;Ac��	d|pdz}n#t$rt|���wxYw|j|=tj|jf|j�����D]#}	t||���#t$rY� wxYwdS)Nr�)	r�r�r�rprqr�r��delattrr)r$r,r��insts    r&rjzConverterMapping.__delitem__Vs���	 �����%�A�A���	 �	 �	 ��3�-�-��	 �����J�s�O��O�T�\�O�T�\�5H�5H�5J�5J�K�K�	�	�D�
���a� � � � ��!�
�
�
���
����	�	s�
�$�$A5�5
B�Bc�*�t|j��Sr )�iterr�r)s r&rrzConverterMapping.__iter__ds���D�J���r'c�*�t|j��Sr )r�r�r)s r&rnzConverterMapping.__len__gs���4�:���r'N)r+r,r-r�r�r�r#rerhrjrrrnr/r'r&rr0s����������
�/�0�0�I�/�/�/����&�&�&� ��� � � �����r'r)(�collections.abcr�collectionsrr�r�rrprr�r{r^�__all__r�r�rrr"rrrrrr	rrr
r
r�objectr�rrrrrrrrrr/r'r&�<module>r�s!��K�Z+�*�*�*�*�*�-�-�-�-�-�-�����	�	�	�	�����	�	�	�	�	�	�	�	�
�
�
�
�����5�5�5���
�����

�
�
�
�
�I�
�
�
� � � � � �U� � � �.�.�.�.�.�E�.�.�.�46�6�6�6�6�5�6�6�6�6&�&�&�&�&�E�&�&�&�+�+�+�+�+��+�+�+�	9�	9�	9�	9�	9�&8�	9�	9�	9������1����
.�
.�
.�
.�
.�0�
.�
.�
.�(>�(>�(>�(>�(>�5�(>�(>�(>�V-�-�-�-�-��-�-�-�"
�����
�
�
�
�
�
�
�
� E+�E+�E+�E+�E+��E+�E+�E+�PG+�G+�G+�G+�G+�M�G+�G+�G+�T,5�,5�,5�,5�,5�-�,5�,5�,5�^@
 �@
 �@
 �@
 �@
 �n�@
 �@
 �@
 �F5�5�5�5�5�?�5�5�5�@

�

�

�

�

�|�

�

�

�C2�C2�C2�C2�C2�>�C2�C2�C2�L8�8�8�8�8�~�8�8�8�8�8r'