6hESrSSKJr SSKrSSKJr SSKJr SSKJ r J r J r J r J r \ Rr\ RrSrS=q=qq0r\ R*"\5r\"SS S S 9 \"SS S S 9 \"SSSS 9 SrSrSr\"\5S5rSrg)ahttp authentication with factotum This extension allows the factotum(4) facility on Plan 9 from Bell Labs platforms to provide authentication information for HTTP access. Configuration entries specified in the auth section as well as authentication information provided in the repository URL are fully supported. If no prefix is specified, a value of "*" will be assumed. By default, keys are specified as:: proto=pass service=hg prefix= user= !password= If the factotum extension is unable to read the required key, one will be requested interactively. A configuration section is available to customize runtime behavior. By default, these entries are:: [factotum] executable = /bin/auth/factotum mountpoint = /mnt/factotum service = hg The executable entry defines the full path to the factotum binary. The mountpoint entry defines the path to the factotum file service. Lastly, the service entry controls the service name used when reading keys. ) annotationsN)_)procutil)errorhttpconnection registrarurlutilfactotum executables/bin/auth/factotum)default mountpoints /mnt/factotumserviceshgcURR5(d[R"[ S55eSU;aSU-nSU-n[ R "[R"S[U4-55 g)Nsfactotum not interactivesuser=s%s user?s %s !password?s %s -g '%s') ui interactiverAbortrossystemr tonativestr _executable)selfparamss 0/usr/lib/python3/dist-packages/hgext/factotum.py auth_getkeyrXsg 77   kk!7899vv%  &FIIh""=K3H#HIJc\SU-n[R"S[-[R5n[R"USU-5 [R "U[ 5R5nUSS:Xa[R"US5 [R "U[ 5RSS5upVnUS:XazURS5(aKURS5(aUS S RS S5nO[R"[S 55eXg4[R"U5 $[R"U5 U"X5 GM_![a [R"[S 55ef=f![R"U5 f=f)Ns proto=pass %ss%s/rpcsstart %srsoksread's''smalformed password stringsfactotum not responding)ropen _mountpointO_RDWRwritereadERRMAXsplit startswithendswithreplacerrrcloseOSError)rgetkeyrfdlstatususerpasswds rauth_getuserpasswdr5asE  &F  WWY,bii 8  HHRv- .F#))+Atu}W%')wwr6':'@'@q'I$fU?((..!??400%+Ab\%9%9%%FF"'++a0L.M"NN > HHRLBHHRLt'  =++a :;< < = HHRLsC:E&&*FFF+c^U4SjnU$)Nc6>[TURU5 U$)N)setattr__name__)funcclss r decorator%monkeypatch_method..decoratorzsT]]D) r)r;r<s` rmonkeypatch_methodr?ys rcPURRX5up4U(aU(aURX45 X44$Sn[R"UR X#5nU(a6UupxUR S5nUR S5UR S5pCU(aU(dTU(d"URS5SR5nS[U4-n U(aSX4-n [U[U 5up4URXX45 URX45 X44$) Nrsprefixsusernamespassword rsservice=%s prefix=%ss %s user=%s) passwddbfind_user_password _writedebugrreadauthforurirgetr)lower_servicer5r add_password) rrealmauthurir3r4prefixresrauthrs rrCrCs==33ECLD  &~ F  ' ' ?C )$xx ,dhh{.Cf v[[&q)//1F(Hf+== "f^3F)$ VD ed3T" >rcpURSS5qURSS5qURSS5qg)Nr r rr)configrr$rH)rs ruisetuprQs2))K7K))K7Kyyj1Hr)__doc__ __future__rrmercurial.i18nrmercurial.utilsr mercurialrrrr r urlreq passwordmgrr(rr$rH configtable configitemrr5r?rCrQr>rrr[s&:# $ oo '++ +kH  ! !+ .  !      K0K !22r