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/imunify360/venv/lib64/python3.11/site-packages/docutils/__pycache__/
Upload File :
Current File : //opt/imunify360/venv/lib64/python3.11/site-packages/docutils/__pycache__/frontend.cpython-311.pyc
�

ʺhB�����dZdZddlZddlZddlZddlmZddlZddlZddlZddl	Z	ddl
Z
ddl
mZmZd�Z
d�Z	d#d�Z	d#d	�Z	d#d
�Z	d#d�Z	d#d�Z	d#d
�Z	d#d�Z	d#d�Z	d#d�Z	d#d�Z	d#d�Z	d#d�Z	d#d�Zd$d�Zd�Zd�ZGd�dej��ZGd�dej ��Z Gd�dej!e
j"��Z!Gd�dej#��Z$Gd �d!e%��Z&d"�Z'dS)%a
Command-line and common processing for Docutils front-end tools.

This module is provisional.
Major changes will happen with the switch from the deprecated
"optparse" module to "arparse".

Applications should use the high-level API provided by `docutils.core`.
See https://docutils.sourceforge.io/docs/api/runtime-settings.html.

Exports the following classes:

* `OptionParser`: Standard Docutils command-line processing.
  Deprecated. Will be replaced by an ArgumentParser.
* `Option`: Customized version of `optparse.Option`; validation support.
  Deprecated. Will be removed.
* `Values`: Runtime settings; objects are simple structs
  (``object.attribute``).  Supports cumulative list settings (attributes).
  Deprecated. Will be removed.
* `ConfigParser`: Standard Docutils config file processing.
  Provisional. Details will change.

Also exports the following functions:

Interface function:
   `get_default_settings()`.  New in 0.19.

Option callbacks:
   `store_multiple()`, `read_config_file()`. Deprecated.

Setting validators:
  `validate_encoding()`, `validate_encoding_error_handler()`,
  `validate_encoding_and_error_handler()`,
  `validate_boolean()`, `validate_ternary()`,
  `validate_nonnegative_int()`, `validate_threshold()`,
  `validate_colon_separated_string_list()`,
  `validate_comma_separated_list()`,
  `validate_url_trailing_slash()`,
  `validate_dependency_file()`,
  `validate_strip_class()`
  `validate_smartquotes_locales()`.

  Provisional.

Misc:
  `make_paths_absolute()`, `filter_settings_spec()`. Provisional.
�reStructuredText�N)�
SUPPRESS_HELP)�io�utilsc��|D]}t|j|d���|���D]\}}t|j||���dS)z�
    Store multiple values in `parser.values`.  (Option callback.)

    Store `None` for each attribute named in `args`, and store the value for
    each key (attribute name) in `kwargs`.
    N)�setattr�values�items)�option�opt�value�parser�args�kwargs�	attribute�keys        �q/builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib/python3.11/site-packages/docutils/frontend.py�store_multiplerEsf���0�0�	���
�y�$�/�/�/�/��l�l�n�n�+�+�
��U���
�s�E�*�*�*�*�+�+�c���	|�|��}n,#t$r}|�|��Yd}~nd}~wwxYw|j�||��dS)zQ
    Read a configuration file during option processing.  (Option callback.)
    N)�get_config_file_settings�
ValueError�errorr	�update)rrr
r�new_settings�errs      r�read_config_filerRsz����6�6�u�=�=�����������S�����������������
�M����v�.�.�.�.�.s��
A�<�Ac��|dkrdS	tj|��n$#t$rtd|�d|�d����wxYw|S)N�z	setting "z": unknown encoding: "�")�codecs�lookup�LookupError��settingr
�
option_parser�
config_parser�config_sections     r�validate_encodingr)]sp����{�{��t�.��
�e�������.�.�.��k�$�W�W�e�e�e�-�.�.�	.�.�����Ls	��!Ac�r�	tj|��n #t$rtd|z���wxYw|S)Nz�unknown encoding error handler: "%s" (choices: "strict", "ignore", "replace", "backslashreplace", "xmlcharrefreplace", and possibly others; see documentation for the Python ``codecs`` module))r!�lookup_errorr#r$s     r�validate_encoding_error_handlerr,is^��5���E�"�"�"�"���5�5�5��
,�/4�
4�5�5�	5�5�����Ls��4c��d|vre|�d��\}}t|dz||||��|r|�||dz|��nt|j|dz|��n|}t|||||��|S)z�
    Side-effect: if an error handler is included in the value, it is inserted
    into the appropriate place as if it was a separate setting/option.
    �:�_error_handler)�splitr,�setrr	r))r%r
r&r'r(�encoding�handlers       r�#validate_encoding_and_error_handlerr4vs����e�|�|�!�K�K��,�,���'�'��&�&����>�	+�	+�	+��	O����n�g�8H�.H�%�
'�
'�
'�
'�
�M�(�'�4D�*D�g�N�N�N�N����g�x��#�^�5�5�5��Orc���t|t��r|S	|j|������S#t
$rt
d|z���wxYw)z|Check/normalize boolean settings:
         True:  '1', 'on', 'yes', 'true'
         False: '0', 'off', 'no','false', ''
    zunknown boolean value: "%s")�
isinstance�bool�booleans�strip�lower�KeyErrorr#r$s     r�validate_booleanr<�sv���%�������A��%�e�k�k�m�m�&9�&9�&;�&;�<�<���A�A�A��7�%�?�@�@�@�A���s�0A
�
A'c��t|t��s|�|S	|j|������S#t
$r|cYSwxYw)z�Check/normalize three-value settings:
         True:  '1', 'on', 'yes', 'true'
         False: '0', 'off', 'no','false', ''
         any other value: returned as-is.
    )r6r7r8r9r:r;r$s     r�validate_ternaryr>�sj���%�����%�-�����%�e�k�k�m�m�&9�&9�&;�&;�<�<�������������s�0A�A�Ac�N�t|��}|dkrtd���|S)Nrz(negative value; must be positive or zero)�intrr$s     r�validate_nonnegative_intrA�s*����J�J�E��q�y�y��C�D�D�D��Lrc���	t|��S#t$rJ	|j|���cYS#tt
f$rt
d|z���wxYwwxYw)Nzunknown threshold: %r.)r@r�
thresholdsr:r;�AttributeErrorr#r$s     r�validate_thresholdrE�s���@��5�z�z����@�@�@�	@� �+�E�K�K�M�M�:�:�:�:���.�)�	@�	@�	@��6��>�?�?�?�	@����@���s��
A%�=�A%�$A!�!A%c���t|t��s|�d��}n<|���}|�|�d����|S)Nr.)r6�listr0�pop�extend)r%r
r&r'r(�lasts      r�$validate_colon_separated_string_listrK�sU���e�T�"�"�&����C� � ����y�y�{�{��
���T�Z�Z��_�_�%�%�%��Lrc���t|t��s|g}|���}d�|�d��D��}|�|��|S)zHCheck/normalize list arguments (split at "," and strip whitespace).
    c�b�g|],}|�d���|�d����-S)z 	
)r9)�.0�is  r�
<listcomp>z1validate_comma_separated_list.<locals>.<listcomp>�s5��K�K�K�!�!�'�'�'�:J�:J�K�Q�W�W�W�
�
�K�K�Kr�,)r6rGrHr0rI)r%r
r&r'r(rJr
s       r�validate_comma_separated_listrR�s`���e�T�"�"������9�9�;�;�D�K�K�t�z�z�#���K�K�K�E�	�L�L������Lrc�B�|sdS|�d��r|S|dzS)Nz./�/)�endswithr$s     r�validate_url_trailing_slashrV�s2�����t�	����	�	�����s�{�rc�t�	tj|��S#t$rtjd��cYSwxYw�N)r�DependencyList�OSErrorr$s     r�validate_dependency_filer[�sJ��*��#�E�*�*�*���*�*�*��#�D�)�)�)�)�)�*���s��7�7c��t|||||��}|D]=}tj�|��}||krt	d|�d|�d�����>|S)NzInvalid class value z
 (perhaps z?))rR�docutils�nodes�make_idr)r%r
r&r'r(�cls�
normalizeds       r�validate_strip_classrb�s���
*�'�5�-�*7��
I�
I�E��2�2���^�+�+�C�0�0�
��*����*� #���Z�Z�Z�1�2�2�
2���Lrc	�:�t|||||��}g}|D�]}	|�dd��\}}nT#t$r|�|��Y�?t$r't	d|�dd��z���wxYw|���}|�d��}	t|	��dkr|	}n9t|��dkr&t	d|�dd��z���|�||f����|S)z~Check/normalize a comma separated list of smart quote definitions.

    Return a list of (language-tag, quotes) string tuples.r.�z4Invalid value "%s". Format is "<language>:<quotes>".�ascii�backslashreplace�z[Invalid value "%s". Please specify 4 quotes
    (primary open/close; secondary open/close).)rRr0rD�appendr�encoder9�len)
r%r
r&r'r(�	lc_quotes�item�lang�quotes�multichar_quotess
          r�validate_smartquotes_localesrp�sw��
*�'�5�-�*7��
I�
I�E��I��)�)��
	I��:�:�c�1�-�-�L�D�&�&���	�	�	�
���T�"�"�"��H��	I�	I�	I��A�#�{�{�7�4F�G�G�H�I�I�
I�	I����
������!�<�<��,�,���� � �A�%�%�%�F�F�
��[�[�A�
�
��O�#�{�{�7�4F�G�G�H�I�I�
I�	���$���(�(�(�(��s�6�B�0Bc������tj���|D]I}||vrC||}t|t��r�fd�|D��}n|rt	�|��}|||<�JdS)z�
    Interpret filesystem path settings relative to the `base_path` given.

    Paths are values in `pathdict` whose keys are in `keys`.  Get `keys` from
    `OptionParser.relative_path_settings`.
    Nc�0��g|]}t�|����S�)�make_one_path_absolute)rN�path�	base_paths  �rrPz'make_paths_absolute.<locals>.<listcomp>)s3���,�,�,�!�0�	�4�@�@�,�,�,r)�os�getcwdr6rGrt)�pathdict�keysrvrr
s  `  r�make_paths_absoluter{s�������I�K�K�	��"�"���(�?�?��S�M�E��%��&�&�
A�,�,�,�,�%*�,�,�,����
A�.�y�%�@�@��!�H�S�M��"�"rc�|�tj�tj�||����SrX)rwru�abspath�join)rvrus  rrtrt0s&��
�7�?�?�2�7�<�<�	�4�8�8�9�9�9rc��t|��}tdt|��d��D]�}g}||D]f}d�|dD��d}||vr�||���vr|�||���Q|�|���gt|��||<��t|��S)ajReturn a copy of `settings_spec` excluding/replacing some settings.

    `settings_spec` is a tuple of configuration settings
    (cf. `docutils.SettingsSpec.settings_spec`).

    Optional positional arguments are names of to-be-excluded settings.
    Keyword arguments are option specification replacements.
    (See the html4strict writer for an example.)
    ��c�t�g|]5}|�d���|dd��dd����6S)z--r�N�-�_)�
startswith�replace)rN�
opt_strings  rrPz(filter_settings_spec.<locals>.<listcomp>DsS��8�8�8�&�%�0�0��6�6�8�
�1�2�2��.�.�s�C�8�8�8�8�8rrdr)rG�rangerjrzrh�tuple)�
settings_spec�excluder��settingsrO�newopts�opt_spec�opt_names        r�filter_settings_specr�4s����M�"�"�H�
�1�c�(�m�m�Q�
'�
'�
%�
%���� ���
	)�
	)�H�8�8�*2�1�+�8�8�8�89�;�H��7�"�"���7�<�<�>�>�)�)����w�x�0�1�1�1�1����x�(�(�(�(��G�n�n�������?�?�rc�4��eZdZdZ�fd�Zd�Zd�Zd�Z�xZS)�Valuesz�Storage for option values.

    Updates list attributes by extension rather than by replacement.
    Works in conjunction with the `OptionParser.lists` instance attribute.

    Deprecated. Will be removed.
    c����tjdtd���t��j|i|��t|dd���t
j��|_dSdS)Nz@frontend.Values class will be removed in Docutils 0.21 or later.r���
stacklevel�record_dependencies)	�warnings�warn�DeprecationWarning�super�__init__�getattrrrYr���selfrr�	__class__s   �rr�zValues.__init__Zsv����
�3�(�Q�	8�	8�	8�	8�	�����$�)�&�)�)�)��4�.��5�5�=�',�';�'=�'=�D�$�$�$�>�=rc�&�t|t��r|j}t|��}|j���D]6}t
||��r$||vr t||��}|r|||z
}||=�7|�|��dSrX)	r6r��__dict__�dict�listsrz�hasattrr��
_update_loose)r��
other_dictr&r%r
s     rrz
Values.updatecs����j�&�)�)�	-�#�,�J��*�%�%�
�$�*�/�/�1�1�	,�	,�G��t�W�%�%�
,�'�Z�*?�*?���g�.�.���,��Z��0�0�E�"�7�+�����:�&�&�&�&�&rc���tj��5tjdt���|�|j���cddd��S#1swxYwYdS)z Return a shallow copy of `self`.�ignore��category)�defaultsN)r��catch_warnings�filterwarningsr�r�r�)r�s r�copyzValues.copyos���
�
$�
&�
&�	:�	:��#�H�7I�J�J�J�J��>�>�4�=�>�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�	:�	:s�6A�A�Ac�f�t||d���t|||��t||��S)znReturn ``self.name`` or ``default``.

        If ``self.name`` is unset, set ``self.name = default``.
        N)r�r)r��name�defaults   r�
setdefaultzValues.setdefaultus8��
�4��t�$�$�,��D�$��(�(�(��t�T�"�"�"r)	�__name__�
__module__�__qualname__�__doc__r�rr�r��
__classcell__�r�s@rr�r�Qso���������>�>�>�>�>�
'�
'�
'�:�:�:�#�#�#�#�#�#�#rr�c�N��eZdZdZejjddgzZ�fd�Z�fd�Z�xZ	S)�Optionz`Add validation and override support to `optparse.Option`.

    Deprecated. Will be removed.
    �	validator�	overridesc�r��tjdtd���t��j|i|��dS)NzDThe frontend.Option class will be removed in Docutils 0.21 or later.r�r�)r�r�r�r�r�r�s   �rr�zOption.__init__�sJ����
�3�(�Q�	8�	8�	8�	8�	�����$�)�&�)�)�)�)�)rc	���t���||||��}|j}|r�|jrxt	||��}	|�|||��}n>#t
$r1}t
jd|�dtj	|�������d}~wwxYwt|||��|jrt||jd��|S)z�
        Call the validator function on applicable settings and
        evaluate the 'overrides' option.
        Extends `optparse.Option.process`.
        zError in option "z":
    N)r��process�destr�r��	Exception�optparse�OptionValueErrorr�error_stringrr�)
r�rr
r	r�resultr%�	new_valuerr�s
         �rr�zOption.process�s����������e�V�V�<�<���)���	6��~�
4����0�0��7� $���w��v� F� F�I�I�� �7�7�7�"�3�3��3�3���� 4� 4� 4�6�7�7�7�����7��������3�3�3��~�
6������5�5�5��
s�A�
B�),B�B)
r�r�r�r�r�r��ATTRSr�r�r�r�s@rr�r�sq���������

�O�!�[�+�$>�>�E�*�*�*�*�*���������rr�c���eZdZdZgd�Z	d���Z	dddddd	�Z	d
d
d
d
dddddd�	Z	e	e
jd
d��pej
pdZdZddgddgddif�ddgddif�dddgded�f�ddgd d!d"�f�d#d$d%gd&d'd(d)�f�d*d+d,gd&d-d(d)�f�d.d/gd&dd(d)�f�d0d1d2gded�f�d3d4gdd5if�d6d7gd8ed9d:�f�d;d<gd=d&d>d>d?�f�d@dAgd=d&dBdC�f�dDdEgd=d dF�f�dGdHgddedI�f�dJdKgdLd dF�f�dMdNgddOdedP�f�dQdRgd dOd"�f�dSdTgded�f�dUdVgd dWd"�f�dXdYgdZd[d\ed]�f�d^d_gdZd`d\ed]�f�dadbdcgeddddeedf�f�dgdhdigd&dddd)�f�djdkdlgd&dddd)�f�dmdngedoddeedp�f�dqdrgd&ddod)�f�dsdtgeduddeedp�f�dvdwgded�f�dxdygd dzd"�f�d{d|gd}d~d�f�d�d�gddedI�f�d�d�gd�d dF�f�d�d�d�gd�ed��f�d�d�gd�ed��f�d�d�d�gd�d�ed��f�d�d�gd�ed��f�d�e�d�e�d��d�d�gd�eed��f�d�ezd�geed��f�d�d�d�gd�d�d�d��f�d�d�gd~edd��f�d�d�gd~d�d8ed��f�d�d�d�gd�d�if�d�d�d�gd�d�if�ed�gd�d�if�ed�gd�d�if�ed�gd�dif�ed�gd�dif�ed�gd�dif�ed�gd�dif�ed�gdZd�ed��f�ed�gd�dif�RfZ	ddddd��Z	d�Zd�ej�ejr
d�ejzpd��d�e
j ���d��d�e
j!�dǝZ"	dӈfdɄ	Z#dʄZ$e%d˄��Z&d̄Z'd̈́Z(d΄Z)dτZ*dЄZ+dфZ,d҄Z-�xZ.S)��OptionParsera
    Settings parser for command-line and library use.

    The `settings_spec` specification here and in other Docutils components
    are merged to build the set of command-line options and runtime settings
    for this process.

    Common settings (defined below) and component-specific settings must not
    conflict.  Short options are reserved for common settings, and components
    are restricted to using long options.

    Deprecated.
    Will be replaced by a subclass of `argparse.ArgumentParser`.
    )z/etc/docutils.confz./docutils.confz~/.docutilsz(info 1 warning 2 error 3 severe 4 none 5rdr�r�rg�)�info�warningr�severe�noneTF)	�1�on�yes�true�0�off�no�falserr2NrerfzGeneral Docutils OptionszaOutput destination name. Obsoletes the <destination> positional argument. Default: None (stdout).z--output�metavarz
<destination>z'Specify the document title as metadata.z--titlez<title>z2Include a "Generated by Docutils" credit and link.z--generatorz-g�
store_true)�actionr�z"Do not include a generator credit.z--no-generator�store_false�	generator)r�r�z2Include the date at the end of the document (UTC).z--datez-d�store_constz%Y-%m-%d�	datestamp)r��constr�zInclude the time & date (UTC).z--timez-tz%Y-%m-%d %H:%M UTCz'Do not include a datestamp of any kind.z--no-datestampz&Include a "View document source" link.z
--source-linkz-sz3Use <URL> for a source link; implies --source-link.z--source-urlz<URL>z-Do not include a "View document source" link.z--no-source-link�callback)�source_link�
source_url)r�r��
callback_argsz4Link from section headers to TOC entries.  (default)z--toc-entry-backlinks�
toc_backlinks�entry)r�r�r�r�z0Link from section headers to the top of the TOC.z--toc-top-backlinks�top)r�r�r�z+Disable backlinks to the table of contents.z--no-toc-backlinks)r�r�z6Link from footnotes/citations to references. (default)z--footnote-backlinks)r�r�r�z/Disable backlinks from footnotes and citations.z--no-footnote-backlinks�footnote_backlinksz0Enable section numbering by Docutils.  (default)z--section-numbering�
sectnum_xform)r�r�r�r�z&Disable section numbering by Docutils.z--no-section-numberingz/Remove comment elements from the document tree.z--strip-commentsz6Leave comment elements in the document tree. (default)z--leave-comments�strip_commentsz�Remove all elements with classes="<class>" from the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)z--strip-elements-with-classrh�strip_elements_with_classesz<class>)r�r�r�r�z�Remove all classes="<class>" attributes from elements in the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)z
--strip-class�
strip_classeszReport system messages at or higher than <level>: "info" or "1", "warning"/"2" (default), "error"/"3", "severe"/"4", "none"/"5"z--reportz-r�report_levelz<level>)�choicesr�r�r�r�z4Report all system messages.  (Same as "--report=1".)z	--verbosez-vz3Report no system messages.  (Same as "--report=5".)z--quietz-qzdHalt execution at system messages at or above <level>.  Levels as in --report.  Default: 4 (severe).z--halt�
halt_level)r�r�r�r�r�z6Halt at the slightest problem.  Same as "--halt=info".z--strictzjEnable a non-zero exit status for non-halting system messages at or above <level>.  Default: 5 (disabled).z
--exit-status�exit_status_levelz3Enable debug-level system messages and diagnostics.z--debugz Disable debug output.  (default)z
--no-debug�debugz-Send the output of system messages to <file>.z
--warnings�warning_streamz<file>)r�r�z1Enable Python tracebacks when Docutils is halted.z--tracebackz%Disable Python tracebacks.  (default)z--no-traceback�	tracebackzdSpecify the encoding and optionally the error handler of input text.  Default: <auto-detect>:strict.z--input-encodingz-iz<name[:handler]>)r�r�zlSpecify the error handler for undecodable characters.  Choices: "strict" (default), "ignore", and "replace".z--input-encoding-error-handler�strict)r�r�z^Specify the text encoding and optionally the error handler for output.  Default: utf-8:strict.z--output-encodingz-o�utf-8)r�r�r�z�Specify error handler for unencodable output characters; "strict" (default), "ignore", "replace", "xmlcharrefreplace", "backslashreplace".z--output-encoding-error-handlerzOSpecify text encoding and optionally error handler for error output.  Default: r.�.z--error-encodingz-ezSSpecify the error handler for unencodable characters in error output.  Default: %s.z--error-encoding-error-handlerz<Specify the language (as BCP 47 language tag).  Default: en.z
--languagez-l�
language_code�enz<name>)r�r�r�z)Write output file dependencies to <file>.z--record-dependencies)r�r�r�z6Read configuration settings from <file>, if it exists.z--config�string)r��typer�r�z,Show this program's version number and exit.z	--versionz-Vr��versionz Show this help message and exit.z--helpz-h�helpz--id-prefixr�rz--auto-id-prefix�%z--dump-settingsz--dump-internalsz--dump-transformsz--dump-pseudo-xmlz--expose-internal-attribute�expose_internals)r�r�r�z--strict-visitor)�_disable_config�_source�_destination�
_config_files�generalz%prog (Docutils z [%s]z	, Python rz, on �)rsc�j��i|_	g|_	dg|_tjdt
d���t
��j|tdtj
d���d�|��|js|j|_|g|�R|_
|�|j
��|j�|pi��|rp|jd	se	|���}n,#t$$r}|�|��Yd}~nd}~wwxYw|j�|j��dSdSdS)
z�Set up OptionParser instance.

        `components` is a list of Docutils components each containing a
        ``.settings_spec`` attribute.
        `defaults` is a mapping of setting default overrides.
        r�ztThe frontend.OptionParser class will be replaced by a subclass of argparse.ArgumentParser in Docutils 0.21 or later.r�r�N�N)�width)�option_class�add_help_option�	formatterr�)r��config_files�relative_path_settingsr�r�r�r�r�r�r��TitledHelpFormatterr��version_template�
components�populate_from_componentsr�r�get_standard_config_settingsrrr�)	r�r
r��read_config_filesrr�config_settingsrr�s	        �rr�zOptionParser.__init__�s������
�(����;�'7�&8��#��
�3�)�Q�	8�	8�	8�	8�	������'-�d�#+�#?�b�#I�#I�#I�	*�	*�"(�	*�	*�	*��|�	1��0�D�L��-�*�-�-����%�%�d�o�6�6�6��
���X�^��,�,�,��	;�T�]�3D�%E�	;�
 �"&�"C�"C�"E�"E�����
 �
 �
 ��
�
�3�������������
 �����M� � ��!9�:�:�:�:�:�	;�	;�	;�	;s�C$�$
D
�.D�D
c�L�|D]�}|��|j}|j�|j��tdt	|��d��D]�}|||dz�\}}}|r,tj|||��}|�|��n|}|D]=\}	}
}|j|
d|	i|��}|�	d��dkrd|j
|j<�>|jr|j
�|j������|D]*}|r&|jr|j
�|j���+dS)aoCollect settings specification from components.

        For each component, populate from the `SettingsSpec.settings_spec`
        structure, then from the `SettingsSpec.settings_defaults` dictionary.
        After all components have been processed, check for and populate from
        each component's `SettingsSpec.settings_default_overrides` dictionary.
        Nrr�r�r�rhT)r�r
rIr�rjr��OptionGroup�add_option_group�
add_option�getr�r��settings_defaultsr�r�settings_default_overrides)
r�r
�	componentr�rO�title�description�option_spec�group�	help_text�option_stringsrrs
             rrz%OptionParser.populate_from_components�s���$�	F�	F�I�� ��%�3�M��'�.�.��0�
2�
2�
2��1�c�-�0�0�!�4�4�

F�

F��2?��!�A�#��2F�/��{�K��!�$�0��u�k�J�J�E��)�)�%�0�0�0�0� �E�;F�7�7�7�Y���-�U�-�~�8�9�8�06�8�8�F��z�z�(�+�+�x�7�7�26��
�6�;�/���.�F��M�(�(��)D�E�E�E��

F�$�	K�	K�I��
K�Y�A�
K��
�$�$�Y�%I�J�J�J��	K�	Krc��dtjvr0tjd�tj��}n|j}d�|D��S)z:Return list of config files, from environment or standard.�DOCUTILSCONFIGc�t�g|]5}|����tj�|����6Srs)r9rwru�
expanduser)rN�fs  rrPz:OptionParser.get_standard_config_files.<locals>.<listcomp>�s5��I�I�I�!�q�w�w�y�y�I���"�"�1�%�%�I�I�Ir)rw�environr0�pathsep�standard_config_files)r`r	s  r�get_standard_config_filesz&OptionParser.get_standard_config_files�sL���r�z�)�)��:�&6�7�=�=�b�j�I�I�L�L��4�L�I�I�|�I�I�I�Irc�.�tj��5tjdt���t	��}ddd��n#1swxYwY|���D]+}|�|�|��|���,|S)Nr�r�)r�r�r�r�r�r(rr)r�r��filenames   rrz)OptionParser.get_standard_config_settings�s���
�
$�
&�
&�	 �	 ��#�H�7I�J�J�J�J��x�x�H�	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 ��6�6�8�8�	K�	K�H��O�O�D�9�9�(�C�C�T�J�J�J�J��s�*A
�
A�Ac��t��}t��}tj��5tjdt
���|xj|�||��z
c_t��}ddd��n#1swxYwY|j	D]r}|s�t|jpd��|jfzD]M}||vr�|�
|��|�|��r|�|||���N�st!|j|jt&j�|����|jS)zAReturns a dictionary containing appropriate config file settings.r�r�Nrs)�ConfigParserr1r�r�r�r�r	�readr�r
r��config_section_dependenciesr(�add�has_sectionrr{r�r
rwru�dirname)r��config_filer'�appliedr�r�sections       rrz%OptionParser.get_config_file_settings�s���$���
��%�%��
�
$�
&�
&�	 �	 ��#�H�7I�J�J�J�J�����!3�!3�K��!F�!F�F����x�x�H�	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 ���		B�		B�I��
��!�)�"G�"M�2�N�N�(�7�9�:�
B�
B���g�%�%�����G�$�$�$� �,�,�W�5�5�B��O�O�M�'�$:�D�A�A�A��

B�	�H�-� �7��G�O�O�K�8�8�	:�	:�	:�� � s�AB
�
B�Bc��|�|��\|_|_t|j|j��|j|_|S)z/Store positional arguments as runtime settings.)�
check_argsr�r�r{r�r
r	r)r�r	rs   r�check_valueszOptionParser.check_values�sB��.2�o�o�d�.C�.C�+����+��F�O�T�-H�I�I�I�#�0����
rc��dx}}|r|�d��}|dkrd}|r|�d��}|dkrd}|r|�d��|r||kr|�d��||fS)Nrr�zMaximum 2 arguments allowed.z_Do not specify the same file for both source and destination.  It will clobber the source file.)rHr)r�r�source�destinations    rr6zOptionParser.check_argss���#�#����	��X�X�a�[�[�F���}�}����	#��(�(�1�+�+�K��c�!�!�"���	7��J�J�5�6�6�6��	I�f��+�+��J�J�H�
I�
I�
I��{�"�"rc�:�|j�|��dSrX)r�r�r�r�s  r�set_defaults_from_dictz#OptionParser.set_defaults_from_dicts���
���X�&�&�&�&�&rc���tj��5tjdt���t	|j��}ddd��n#1swxYwY|j|_|S)z(Needed to get custom `Values` instances.r�r�N)r�r�r�r�r�r�r	rr<s  r�get_default_valueszOptionParser.get_default_valuess���
�
$�
&�
&�	-�	-��#�H�7I�J�J�J�J��d�m�,�,�H�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�"&�!2����s�0A�A�Ac�x�|j|gzD]}|jD]}|j|kr|ccS��td|z���)a
        Get an option by its dest.

        If you're supplying a dest which is shared by several options,
        it is undefined which option of those is returned.

        A KeyError is raised if there is no option with the supplied
        dest.
        zNo option with dest == %r.)�
option_groups�option_listr�r;)r�r�rrs    r�get_option_by_destzOptionParser.get_option_by_destsi���'�4�&�0�	"�	"�E��+�
"�
"���;�$�&�&�!�M�M�M�M�M�'�
"��3�d�:�;�;�;r)rsNF)/r�r�r�r�r'r0�threshold_choicesrCr8r��sys�stderrr�_locale_encoding�default_error_encoding�$default_error_encoding_error_handlerr<rrbrEr4r,r[rrrKr�rr(r]�__version__�__version_details__r��platformrr�r�classmethodr(rrr7r6r=r?rCr�r�s@rr�r��s	
�������
�
������
C�H�H�J�J��G���A��A�N�N�J�@���d�D�u��E�E�u�F�F�H�?�%�g�c�j�*�d�C�C�)�!#�!4�)�!(��,>�(�	#��e	�9��,��O�4�
6�e	�4��+�	�9�-�
/�e	�
?��$�
�L�/?�"A�"A�
B�e	�/��
���L�L�
N�e	�?��T�
�}�z�%0�2�2�
3�e	�+��T�
�}�&:�%0�2�2�
3�e	�"4��
���'2�4�4�
5�#e	�(3��D�
!�l�1A�$C�$C�
D�)e	�.@��
�Y��0�
2�/e	�2:��
��^�9�;�;�
<�3e	�:A�"�
#�"�m�g����
 �;e	�B=� �
!�"�m�e�
L�
L�
N�Ce	�H8��
 �"�m�
<�
<�
>�Ie	�NC�!�
"�!�a�(�*�*�
+�Oe	�V<�$�
%�'�=�
A�
A�
C�We	�\=� �
!�!�?��&6�8�8�
9�]e	�d3�#�
$�"�O�
<�
<�
>�ee	�j<��
�!�0@�
A�
A�
C�ke	�pC��
�"�,<�
=�
=�
?�qe	�v#�)�
)��'D��.B�D�D�	
E�we	�B#��
����.B�D�D�	
E�Ce	�NK��t�
�*;��'5�)�,>�@�@�
A�Oe	�XA���
�-�!�(6� 8� 8�
9�Ye	�^@��d�
�
��&4�6�6�
7�_e	�d9��*�"3�\�"#�	�$6�8�8�
9�ee	�nC��,�=�1�!-�/�/�
0�oe	�t6��
�):�&9�)*�y�+=�?�?�
@�ue	�@@��+�,�%5�7�7�
8�Ae	�F-��.�]�G�D�D�
F�Ge	�J:��.�#3��I�I�
K�Ke	�N>��/�l�t�)9�;�;�
<�Oe	�T2��
�{�m�L�L�
N�Ue	�XI��t�
$�(�;�=�=�
>�Ye	�bB�+�
,��-L�
M�
M�
O�ce	�j,���
%�(�W�;�=�=�
>�ke	�t5�-�
-��-L�
M�
M�	
O�ue	�e	�B$�
#�
#�%I�%I�%I�K��t�
$�(�5K�;�=�=�	
>�e	�J(�0�1�,�
,�:�7�9�9�	
:�Ke	�VI���
��T�,4�!6�!6�
7�We	�\6�"�
#��-E����
�]e	�dC��,�H�h�#-�;K�M�M�
N�ee	�j9���
��)�4�
6�ke	�n-��T�
�X�v�.�
0�oe	�t�-��9�b�/�	:�ue	�v�,�-�	�3�/?�	@�we	�z�+�,�x��.F�	G�{e	�|�,�-��,�/G�	H�}e	�~�-�.��<�0H�	I�e	�@�-�.��<�0H�	I�Ae	�B�7�8��'9�<�>�>�
?�Ce	�H�,�-��,�/G�	H�Ie	�e	�h�M�R0�-1�$(�)-�*.�0�0���
�N�N�$�/�/�#�7�D�&�x�'C�C�J�GI�J�J��;�,�,�.�.�q�1�1�1�3�<�<�<�	A��
#�";�";�";�";�";�";�HK�K�K�@�J�J��[�J����!�!�!�0���#�#�#�"'�'�'����<�<�<�<�<�<�<rr�c�R��eZdZdZdddd�Z	dZdZd�fd	�	Zd
�Zd�Z	d�Z
d
�Z�xZS)r,aZParser for Docutils configuration files.

    See https://docutils.sourceforge.io/docs/user/config.html.

    Option key normalization includes conversion of '-' to '_'.

    Config file encoding is "utf-8". Encoding errors are reported
    and the affected file(s) skipped.

    This class is provisional and will change in future versions.
    )�pep_html writer�
stylesheet)rO�stylesheet_path)rO�template)�pep_stylesheet�pep_stylesheet_path�pep_templateaThe "[option]" section is deprecated.
Support for old-format configuration files will be removed in Docutils 0.21 or later.  Please revise your configuration files.  See <https://docutils.sourceforge.io/docs/user/config.html>, section "Old-Format Configuration Files".zhUnable to read configuration file "%s": content not encoded as UTF-8.
Skipping "%s" configuration file.
Nc���|�tjdtd���g}t|t��r|g}|D]�}	|t���|d���z
}n9#t$r,tj	�
|j||fz��Y�_wxYwd|vr|�|��|�|�
||����|S)Nzbfrontend.ConfigParser.read(): parameter "option_parser" will be removed in Docutils 0.21 or later.r�r�r�)r2�options)r�r�r�r6�strr�r-�UnicodeDecodeErrorrErF�write�not_utf8_error�handle_old_config�validate_settings)r��	filenamesr&�read_okr*r�s     �rr-zConfigParser.readOs����$��M�7�-��
<�
<�
<�
<����i��%�%�	$�"��I�!�
	@�
	@�H�
��5�7�7�<�<��7�<�C�C�C����%�
�
�
��
� � ��!4��(�7K�!K�L�L�L���
�����D� � ��&�&�x�0�0�0��(��&�&�x��?�?�?���s�&A&�&3B�Bc��tj|jt|d��|�d��}|�d��s|�d��|���D]z\}}||jvr;|j|\}}|�|��s|�|��nd}|}|�	||��s|�
|||���{|�d��dS)NrrWr)r��
warn_explicit�old_warning�ConfigDeprecationWarning�get_sectionr0�add_sectionr
�old_settings�
has_optionr1�remove_section)r�r*rWrr
r4r%s       rr\zConfigParser.handle_old_configgs����t�/�1I�'��	,�	,�	,��"�"�9�-�-�����	�*�*�	(����Y�'�'�'�!�-�-�/�/�		2�		2�J�C���d�'�'�'�#'�#4�S�#9� ����'�'��0�0�.��$�$�W�-�-�-��#�����?�?�7�G�4�4�
2�����'�5�1�1�1�����I�&�&�&�&�&rc��|���D]�}|�|��D]�}	|�|��}n#t$rY�%wxYw|jr�|�||��}	|�|||||���}nB#t$r5}td|�d|�dtj	|���d|�d|��
���d}~wwxYw|�
|||��|jr|�
||jd���ߌ�dS)zi
        Call the validator function and implement overrides on all applicable
        settings.
        )r'r(zError in config file "z
", section "[z]":
    z	
        z = N)�sectionsrWrCr;r�rr�rrr�r1r�)	r�r*r&r4r%rr
r�rs	         rr]zConfigParser.validate_settingsys���
�}�}���	>�	>�G��<�<��0�0�
>�
>���*�=�=�g�F�F�F�F�������H������#�:� �H�H�W�g�6�6�E�I�$*�$4�$4�#�U�M�*.�w�%5�%H�%H�	�	��%�I�I�I�(�*H�(�*H�*H�6=�*H�*H�02���0D�0D�*H�*H�5<�*H�*H�AF�*H�*H�I�I�I�����I����
�H�H�W�g�y�9�9�9��#�>��H�H�W�f�&6��=�=�=��%
>�	>�	>s)�A�
A�A�3B�
C
�0C�C
c�R�|����dd��S)z
        Lowercase and transform '-' to '_'.

        So the cmdline form of option names can be used in config files.
        r�r�)r:r�)r��	optionstrs  r�optionxformzConfigParser.optionxform�s$����� � �(�(��c�2�2�2rc��tjdtd���	t||��S#t$ricYSwxYw)z�
        Return a given section as a dictionary.

        Return empty dictionary if the section doesn't exist.

        Deprecated. Use the configparser "Mapping Protocol Access" and
        catch KeyError.
        zNfrontend.OptionParser.get_section() will be removed in Docutils 0.21 or later.r�r�)r�r�r�r�r;)r�r4s  rrdzConfigParser.get_section�sc��	�
�C�(�Q�	8�	8�	8�	8�	���W�
�&�&�&���	�	�	��I�I�I�	���s�3�A�ArX)
r�r�r�r�rfrbr[r-r\r]rmrdr�r�s@rr,r,.s��������
�
�<�E�7�9�9�L��
	4���N�
������0'�'�'�$>�>�>�43�3�3�������rr,c��eZdZdZdS)rcz3Warning for deprecated configuration file features.N)r�r�r�r�rsrrrcrc�s������=�=�=�=rrcc���tj��5tjdt���t	|�����cddd��S#1swxYwYdS)a|Return default runtime settings for `components`.

    Return a `frontend.Values` instance with defaults for generic Docutils
    settings and settings from the `components` (`SettingsSpec` instances).

    This corresponds to steps 1 and 2 in the `runtime settings priority`__.

    __ https://docutils.sourceforge.io/docs/api/runtime-settings.html
       #settings-priority
    r�r�N)r�r�r�r�r�r?)r
s r�get_default_settingsrq�s���
�	 �	"�	"�=�=����3E�F�F�F�F��J�'�'�:�:�<�<�=�=�=�=�=�=�=�=�=�=�=�=����=�=�=�=�=�=s�<A�A!�$A!)NNrX)(r��
__docformat__r!�configparserr�rrw�os.pathrEr�r]rrrrr)r,r4r<r>rArErKrRrVr[rbrpr{rtr�r�r�r��SettingsSpec�RawConfigParserr,�
FutureWarningrcrqrsrr�<module>rxsK��
.�.�`#�
��
�
�
���������"�"�"�"�"�"�	�	�	�	�����
�
�
�
�����������������
+�
+�
+�/�/�/�:>�	�	�	�	�HL�
�
�
�
�GK�����09=�A�A�A�A�9=����� AE�����;?�@�@�@�@�GK�����FJ�
�
�
�
�"GK�����AE�*�*�*�*�=A�����EI�!�!�!�!�H"�"�"�"�(:�:�:����:+#�+#�+#�+#�+#�X�_�+#�+#�+#�\"�"�"�"�"�X�_�"�"�"�JG<�G<�G<�G<�G<�8�(�(�*?�G<�G<�G<�T|�|�|�|�|�<�/�|�|�|�~>�>�>�>�>�}�>�>�>�
=�
=�
=�
=�
=r