mς TγΈEc@sχdkZdklZdklZlZdklZdkl Z dk l Z ei dƒZ dZdefd „ƒYZhZeiZd „Zd d „Zd fd„ƒYZdfd„ƒYZd„ZhZd d„Zdfd„ƒYZdS(N(sStringIO(s UnpicklersPickler(s PicklingError(s ConflictError(sBLATHERsZODB.ConflictResolutiontrst BadClassNamecBstZRS(N(t__name__t __module__(((t6/data/zmath/zope/lib/python/ZODB/ConflictResolution.pyRscGsΔt|dƒ}|djo‡y t|dhhdgƒ}Wntj o d}nXt||ddƒ}|t|<|djoti t ddt ƒq£n|djot |Œ‚n|S(NitcluckisUnable to load classtexc_info( t_class_cache_gettargstclst __import__tmodulet ImportErrortgetattrt _class_cachetloggertlogtBLATHERtTrueR(RR R ((Rt find_global s      tcCsZ|p|i||ƒ}t|ƒ}t|ƒ}t |_ |i |_ |i ƒ|i ƒS(N( tptselft loadSerialtoidtserialtStringIOtfilet Unpicklert unpicklerRt prfactorytpersistent_loadtload(RRRRRRR((Rtstate4s     tPersistentReferencecBstZd„Zd„ZRS(NcCsdt|ƒ|ifS(Ns PR(%s %s)(tidRtdata(R((Rt__repr__?scCstdƒ‚dS(Ns Can't pickle PersistentReference(t PicklingError(R((Rt __getstate__Bs(RRR%R'(((RR"=s tPersistentReferenceFactorycBstZdZd„ZRS(NcCsf|idjo h|_n|ii|dƒ}|djo#tƒ}||_||i|R<R/R?R=R0RR@RCRR3RAR8R4R:R6R((RttryToResolveConflict[sJ                tConflictResolvingStoragecBstZdZeZRS(sDMix-in class that provides conflict resolution handling for storages(RRt__doc__RH(((RRIs (tloggingt cStringIORtcPickleRRBtpickleR&tZODB.POSExceptionRFtZODB.loglevelsRt getLoggerRtResolvedSerialt ExceptionRRR*RRR!R"R(R.R5RHRI(RIRR&RRKR"RRR.RRRFR!R(R5RRBRRRHR((Rt?s$          5