python-portend-3.1.0-2.oe2203sp40>    fQN ;G|`u` : $2x?h3!lU))p!ѱ;1$Xٻf4oڴ-,DNEc`!TIYU'bXTBD ^Y* X291l1+3NZY9ԵQݿom%qjʜ\s(%74! (z뤦_<9&>Z CqenCG_1j$ep@y -)?@a-S YiQݒ;T &6a&ᝉACܟfn56cfb6f9ed1c9d7ee40334ad2c96cfb6e202ddca30f6bbef455f0af6f2cdcd5f3066e528c5d17afee4b31da7e65ac3155207d70e;_5{W$>f;^~>7 ? d # ELPdhl    (   (L`(89:A F #G @H LI XR \X `Y h\ ] ^ d e f     L PCpython-portend3.1.02.oe2203sp4TCP port monitoring and discoveryUse portend to monitor TCP ports for bound or unbound states. For example, to wait for a port to be occupied, timing out after 3 seconds:: portend.occupied('www.google.com', 80, timeout=3) Or to wait for a port to be free, timing out after 5 seconds:: portend.free('::1', 80, timeout=5) The portend may also be executed directly. If the function succeeds, it returns nothing and exits with a status of 0. If it fails, it prints a message and exits with a status of 1. For example:: python -m portend localhost:31923 free (exits immediately) python -m portend -t 1 localhost:31923 occupied (one second passes) Port 31923 not bound on localhost. Portend also exposes a ``find_available_local_port`` for identifying a suitable port for binding locally:: port = portend.find_available_local_port() print(port, "is available for binding") Portend additionally exposes the lower-level port checking functionality in the ``Checker`` class, which currently exposes only one public method, ``assert_free``:: portend.Checker().assert_free('localhost', 31923) If assert_free is passed a host/port combination that is occupied by a bound listener (i.e. a TCP connection is established to that host/port), assert_free will raise a ``PortNotFree`` exception.fQNdc-64g.compass-ci?$MIThttp://openeuler.orgUnspecifiedportend-3.1.0.tar.gzAdd-version-fix-no-version-in-build-product.patchhttps://pypi.org/project/portendlinuxnoarch $0fQNfQNfQN5a54aaac8a5c662572736c60fdc226bbe40cb6ef380530fc0beb31605eee8795239e3116045ea823f6df87d6168107ad75ccc0590e37242af0cc1e98c5d224e4ec0bec1cd4be798a363472cec814221d9bf37cc94f9217803bfb2a4ce7736796 rootrootrootrootrootrootpython3-portendpython-portend-help  python3-develpython3-setuptoolspython3-setuptools_scmrpmlib(CompressedFileNames)rpmlib(FileDigests)3.0.4-14.6.0-14.17.0by@b_i_ixu_ping - 3.1.0-2houyingchao - 3.1.0-1zhanghua - 2.6-2Python_Bot - 2.6-1- Add version fixes no version in build product- Upgrade to version 3.1.0- fix random build failed- Package initnoarchdc-64g.compass-ci 17166046493.1.0-2.oe2203sp43.1.0-2.oe2203sp4Add-version-fix-no-version-in-build-product.patchportend-3.1.0.tar.gzpython-portend.speccpiogzip9utf-8bdfbab284c198872b56c080f1f3168b90da8493b23b0a9f919bac90dae04236e34d1600b58ea3ad71398addc2e5a95426b201a05d9977f6d9fa8914d2fec0e6a?wXS?LS B*$AAB HB,Q@QzU ҥ"Kٿx=~}~UgdTT}*Jd%E*KWϖE(,`^Q x8#((0"ax$ wq;0?XtFBRg"쌼, &"%.kjvH #@`  V{aq$a,K*0G8Ó̠`,s C0 c=A`ǡ%Z){b1(¸añd c%Jb%%iȞP u@A{p q^czi1iC9Ec?ۘ 0S޶{8t7͟kwވl*,}Pt3| =fl51b0(Лb[7>>Rr)}BXxQmJdsկq]7ɲ{ڻSN,?׏/[ UwK<ڡp"a%edH <$|0h& +?Ԛ\Et>=.1 $bm[{`u@uiNc 93X[G^ϓY9Y7ֹ04VdVfi>1GwQlFֱ:Ŵp)qϛg#_]؜@8>y%`{iRYe1r~'ong8,)7O6$u<#tEYȕ mQi5tlbN|Y-K*V[n0do"E6MwEr͊2Dp #;V[izVb*I#u?vY7auhjOBڣO^Ϳ{veTx0 &xm !Fqu". .ID) =֞gcM BvFo2!:KI%:V<uk5LK4!g>5&f7$j=UJG7ZUKq }D8tns)iaa*LG)e0=0d8S: ͛[wRPBj#8:1 0h{P ɗI#=c7Dr,SSox!hBWkM2JA UdeTQ~-$/ ߄>lhdJv*%Α1L=@QM-#t #GUZ8ݲEj_*ۗ½0}vO)^2|a6m46#"8>PD}nc5raZKգ:GQN}7lߝ$XH=I8yy.#R;.伛~×&}i!JuG西A1/?Ǣ˲, 6sa9Xw멼hQ-+Q0COR9\9Bҹ+6jC7ޱӃb]{ayqa>eDnU1sh(0a{W݈{>덧\!gt|yjߍ{rr9gO|Ͻo]n|W@tTG$$vRwa+OlTkCS7ibl}^dOMmM694}8(yj2Z+}ݕnYu7 -+64 ̗!O ! ߎ]볶ZS5?jq1/<@VNiʡ9_Z2},,,]SSs$u}8oY>r GzPwYC*U֋4fJOMO-,;9aԁ5ǕP/&wCbG)WCT(i بܱ]"[:~j\nl+`|$d7mece5iQBx2g26"}HJ 7|pݓljlڙ^Uӛ[A}O@{WR7^QWږa@P Kb]!鞯K=2LƝDuMlwmvOaxrɋ2eo[&/ƞYLV)} {eBcӫVgöGLCU؍ح>TQka|=kŵ!B"Cь{E%{p\\gWd=Yh'3:r΍A1a"2?j~*,z*`Ѩ`PmGOK:WIM~eGbFہ$͑ eAY鱣P*vUS.7@Es+S%`Rf5xBt-i,xˀjRRlg0趱\sj3 ''\{V$yVWhJ8)ZLv'O7JGf9 \aF} + s5b֊XGʂy6 _mT:^>|TkݼVaϹ:sSf5FznogItۤFБ5ODn-~*Dֱ*g7%ٓ;ӎϤa. IR j2vcUinT}znO(rMb\M`?6XhWvjzU$|I1)dr)X[bn|{[dIߕgkrE@o.@"n<} T,YToR敐3E0T> YaG"ϫQNg"Gr-H.+`. uukMd|,Cm {B[߼S@c &aruOBx/ J"op*A0J1t=ef.IHR`zSG3栟$'+4=5L (ʸC^3g>]zӒ }~B5jA_pw8=6e+(PG>SMUUnP, t:3'H0ܩMz 4) ˝lR!ۣ~\fFꜻ'Ԋ 9Z:%W牏s/]\;Ba^xZzyI3!X M髏1F%i-o؝AnYjԳ%YE u5\+}%ַE;Wֽo6 y|6@oXX8J@ppg*ua0QUz/_W=y߰ȵ2gCXc;}MQ<IN)5n9w&؟{R\O@~G)#\Xs lIщz.<}iM`14wёpQ,;v/iÇb32$Mx<¬a,f/[MrN.T|(M̼T \w&Cl9e#N5UN@p\cRej.gZ0rl5_ń -4C}1</0\vd',CAY]tAM\U?p.ȓ q-fBF&d1KW|Z/=h/osf'Ggvkud:wIRPĝ}%s; ܛSǣ=Exl giaqiZ݈^|%_dI"1m9J$"(Ǚ-省ԕMTJeE<#`~0(}ZLaqA^$;-V!o2(-OyiM9rM|OCs+=3{=E諼[l( J"BW} ؼb\o׌{M {y ীFVZ|pr F׌jT#GUu ਢ(w%j+V =Jl萠@τ:K,GҾʢKfͯ^(_ʷ ..P=,X'Bzl^ 1Iqm f&+XS]CCn g_Q;nDkeM;qFP_wA\7- 6/H{)z:"J>徘T͌vշS1ڸu˄5p'o[20X}hFў^'i6/хlFgIRٷV>D+]^<D+eD.R{4vY*7Ħ6P)#GXE\ ٷ(YWg6 Mxk gA * >$\pn{S'GgE(&FOL6j:n7K}=; z֎C/!׍I$Xfd &+;o5`_Jk׸E  q 2| `j)U9fprw}DvDd's-^:{,[hr‘kP^HrY34={`"(^cK_YNi/űGh}POo[8J owl(7P<`uVZJl2״NODs`Se~QWS۱& I*<*\_qpϮ_#w^>hO]OAxk6vEӔ(sy+Bk {(ZB#IwFf+v.s*v¾:;Thf~S)@ږ?{2 "6*ЮN+4^]n1Kq]cG\:5/8uM?$A~r¾iGtbϖH[Tݸ_˓4!_g8T?ٚ3޳\=*ۜzz@RX>Y偺}fG7"NY4>P#.5a`탤o Bj ;7LR_'*{}V9}n `M'E'3lgOZI5͗L^4D.E\2ܰN ap04R>Ұ2*IO-.J*R0/h!.oTڶS@閛HE]/ Su+qL]}ǩL&L.03{ץh*8[o,ߓ.LVIxv5WYڱ21QNe%xB-MlPi{oNL^La߷e0n9k2j.wEtQ:{iCHJ)6.U4'Nz氓 DJ ?RD)JVt)ba{3ԟ9r-ŵ}S}xAMSdyc>mV ಞ({d L/;[5-e caOD.1Qh;~[/YVlu(7X3o凫pZOOti &A6ŌO4z`|=d7M?ƗVN ׊<9&|jS#If T}B”'"$B:jTqD{!'eSSz%lD4aل~o5ښHΎ+ u~ǟO^ߦiw6ޏYѣ:ӺwBp.Po&)'%5 G9ywmy#u-VqZv^ 'x;Ya  smOKYD=~x|v`U.GA%З&47K6Cwh(?g=j(HJL;V O'(*Dצ> N.=,;q3ϹmJ]ܠ陉Zzmjqf氳J‘ |fw򱇲8Vmz/Er~0=qlP7ƒnJ:uWClz\a\I Zo 7J?ݵ_ZI)Hw~ a1Wx/$BuHO/B' rA ${7 #'Rgy ~Q]!H>i' ?_I3@d[, ~F x%$PP,U uG ?3HIepAxw_ܰx"H I3WRPUS#22.rH%i%g%$ D aRrR.22RpY)_]rLvE~/نc==ɺw/Cܐh/`` {dAd.oWS`e rJ`q{0;L$'ݐpO.hR?Q9Ɂx (  vCdG &`Ń]oX0ut}H)C8`3cp/A&Ayf;և ,Ɠ#>eО?j'uE#ww % BdDAƸWC"B(%VV-r ?{Hŋ#: w.>TD"`C|p<9} n?"ϳF~wf}` XrOԮ[0zE 2) .4C€ޔ푊|"WE6:@oD@`3ea1sHwY&NOiCdCބ#dfNN.( K3k^"H @ey^|P]ٱd1~K?&CVȏ n8E6'*E@&Ů_f AH_$ {(k ۫(RA.,ϰ @Cza>FvoA%E&;"S|?#w0d?_~|!T XB`+ɠ Bv `bp0^߳]P &g&wr=^>x7ğ~$(矢AB"9TUttGE -/Rw wߥ>d O?qTko4B]/Pb O?6n"ŗJ0> s,#E^P'~ ;JrFH=B JއNɘs KKJK}v1ZgSFF ݭ!O! X ss?rwG?Adu>H: XZ:7rF VoJZz`.VC,$®n>0ϖ&S4T~d\ ?ݣi7]&֋>h$nw5%F7qٰ078eGA~:mHA