grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a XC?h#ã@s>ddlmZddlmZdgZGdd„dƒZGdd„dƒZdS)é©Úref)Ú GenericAliasÚWeakSetc@s$eZdZdd„Zdd„Zdd„ZdS)Ú_IterationGuardcCst|ƒ|_dS©N)rÚ weakcontainer)Úselfr©r ú0/opt/alt/python39/lib64/python3.9/_weakrefset.pyÚ__init__sz_IterationGuard.__init__cCs | ¡}|dur|j |¡|Sr)rÚ _iteratingÚadd)r Úwr r r Ú __enter__s z_IterationGuard.__enter__cCs0| ¡}|dur,|j}| |¡|s,| ¡dSr)rr ÚremoveÚ_commit_removals)r ÚeÚtÚbrÚsr r r Ú__exit__s  z_IterationGuard.__exit__N)Ú__name__Ú __module__Ú __qualname__r rrr r r r r src@s&eZdZd@dd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„ZeZd d!„Zd"d#„Zd$d%„ZeZd&d'„Zd(d)„Zd*d+„ZeZd,d-„Zd.d/„ZeZd0d1„Zd2d3„Zd4d5„Z e Z!d6d7„Z"d8d9„Z#d:d;„Z$e$Z%dd?„Z'e(e)ƒZ*dS)ArNcCsBtƒ|_t|ƒfdd„}||_g|_tƒ|_|dur>| |¡dS)NcSs2|ƒ}|dur.|jr"|j |¡n |j |¡dSr)r Ú_pending_removalsÚappendÚdataÚdiscard)ÚitemZselfrefr r r r Ú_remove's z!WeakSet.__init__.._remove)Úsetrrr rr Úupdate)r rr r r r r %szWeakSet.__init__cCs>|jj}|jj}z |ƒ}Wnty.YdS0||ƒqdSr)rÚpoprrÚ IndexError)r r#rrr r r r5s  zWeakSet._commit_removalsccsLt|ƒ�0|jD]}|ƒ}|dur|VqWdƒn1s>0YdSr)rr©r Zitemrefrr r r Ú__iter__?s   zWeakSet.__iter__cCst|jƒt|jƒSr)Úlenrr©r r r r Ú__len__HszWeakSet.__len__cCs,z t|ƒ}Wnty YdS0||jvS)NF)rÚ TypeErrorr)r rZwrr r r Ú __contains__Ks   zWeakSet.__contains__cCs|jt|ƒft|ddƒfS)NÚ__dict__)Ú __class__ÚlistÚgetattrr(r r r Ú __reduce__Rs  ÿzWeakSet.__reduce__cCs&|jr| ¡|j t||jƒ¡dSr)rrrrrr ©r rr r r rVsz WeakSet.addcCs|jr| ¡|j ¡dSr)rrrÚclearr(r r r r2[sz WeakSet.clearcCs | |¡Sr©r-r(r r r Úcopy`sz WeakSet.copycCsR|jr| ¡z|j ¡}Wnty8tdƒd‚Yn0|ƒ}|dur|SqdS)Nzpop from empty WeakSet)rrrr#ÚKeyErrorr%r r r r#cs z WeakSet.popcCs"|jr| ¡|j t|ƒ¡dSr)rrrrrr1r r r roszWeakSet.removecCs"|jr| ¡|j t|ƒ¡dSr)rrrrrr1r r r rtszWeakSet.discardcCs&|jr| ¡|D]}| |¡qdSr)rrr)r ÚotherZelementr r r r"yszWeakSet.updatecCs| |¡|Sr)r"©r r6r r r Ú__ior__s zWeakSet.__ior__cCs| ¡}| |¡|Sr)r4Údifference_update©r r6Znewsetr r r Ú differenceƒs zWeakSet.differencecCs| |¡dSr)Ú__isub__r7r r r r9‰szWeakSet.difference_updatecCs<|jr| ¡||ur"|j ¡n|j dd„|Dƒ¡|S)Ncss|]}t|ƒVqdSrr©Ú.0rr r r Ú ‘óz#WeakSet.__isub__..)rrrr2r9r7r r r r<‹s  zWeakSet.__isub__csˆ ‡fdd„|Dƒ¡S)Nc3s|]}|ˆvr|VqdSrr r=r(r r r?•r@z'WeakSet.intersection..r3r7r r(r Ú intersection”szWeakSet.intersectioncCs| |¡dSr)Ú__iand__r7r r r Úintersection_update˜szWeakSet.intersection_updatecCs(|jr| ¡|j dd„|Dƒ¡|S)Ncss|]}t|ƒVqdSrrr=r r r r?�r@z#WeakSet.__iand__..)rrrrCr7r r r rBšszWeakSet.__iand__cCs|j dd„|Dƒ¡S)Ncss|]}t|ƒVqdSrrr=r r r r?¡r@z#WeakSet.issubset..)rÚissubsetr7r r r rD szWeakSet.issubsetcCs|jttt|ƒƒkSr©rr!Úmaprr7r r r Ú__lt__¤szWeakSet.__lt__cCs|j dd„|Dƒ¡S)Ncss|]}t|ƒVqdSrrr=r r r r?¨r@z%WeakSet.issuperset..)rÚ issupersetr7r r r rH§szWeakSet.issupersetcCs|jttt|ƒƒkSrrEr7r r r Ú__gt__«szWeakSet.__gt__cCs$t||jƒstS|jttt|ƒƒkSr)Ú isinstancer-ÚNotImplementedrr!rFrr7r r r Ú__eq__®s zWeakSet.__eq__cCs| ¡}| |¡|Sr)r4Úsymmetric_difference_updater:r r r Úsymmetric_difference³s zWeakSet.symmetric_differencecCs| |¡dSr)Ú__ixor__r7r r r rM¹sz#WeakSet.symmetric_difference_updatecs@ˆjrˆ ¡ˆ|ur"ˆj ¡nˆj ‡fdd„|Dƒ¡ˆS)Nc3s|]}t|ˆjƒVqdSr)rr r=r(r r r?Ár@z#WeakSet.__ixor__..)rrrr2rMr7r r(r rO»s  zWeakSet.__ixor__cCs| dd„||fDƒ¡S)Ncss|]}|D] }|Vq qdSrr )r>rrr r r r?År@z WeakSet.union..r3r7r r r ÚunionÄsz WeakSet.unioncCst| |¡ƒdkS)Nr)r'rAr7r r r Ú isdisjointÈszWeakSet.isdisjointcCs t|jƒSr)Úreprrr(r r r Ú__repr__ËszWeakSet.__repr__)N)+rrrr rr&r)r+r0rr2r4r#rrr"r8r;Ú__sub__r9r<rAÚ__and__rCrBrDÚ__le__rGrHÚ__ge__rIrLrNÚ__xor__rMrOrPÚ__or__rQrSÚ classmethodrÚ__class_getitem__r r r r r$sL      N)Ú_weakrefrÚtypesrÚ__all__rrr r r r Ús