L i2 ddlmZddlmZddlmZddlZddlZejdZ dZ dZ dZ d Z d Zd Zd Zd ZdZdZdZGddeZGddeZGddeZy) timestampNow) DefaultTable)reduceNzfontTools.mergect|}t|}t|tfd|Ds Jd|zS)Nc3(K|] }|k( ywN).0itemfirsts Z/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/fontTools/merge/util.py zequal..s+tu}+sz"Expected all items to be equal: %s)listiternextall)lsttr s @requalrsC s)C S A GE ++ +W-QTW-WW + Lc*tt|Sr )rrrs rr r s S ?rctSr NotImplementedrs r recalculaters rctSr rrs r current_timer"s >rc6ttj|Sr )roperatorand_rs r bitwise_andr#&s (-- %%rc6ttj|Sr )rr!or_rs r bitwise_orr&*s (,, $$rcFt|}t|t|zSr )rsumlenrs ravg_intr*.s s)C s8s3x rcfd}|S)zReturns a filter func that when called with a list, only calls func on the non-NotImplemented items of the list, and only so if there's at least one item remaining. Otherwise returns NotImplemented.c^|Dcgc] }|tus |}}|r|StScc}wr r)rr itemsfuncs rwrapperzonlyExisting..wrapper9s4"%D$^)CDD#tE{77Es **r )r.r/s` r onlyExistingr03s 8 Nrc:g}|D]}|j||Sr )extend)rlr s rsumListsr4@& A  Hrc:i}|D]}|j||Sr )update)rdr s rsumDictsr9Gr5rcfd}|S)Nct|}d}tdD]&} |}d|z|fd|D}|||zz}(|S#t$r% d}n#t$rtd|zwxYwYOwxYw)Nrsize*zDon't know how to merge bit %sc3:K|]}t|zywr )bool)r r shiftedBits rrz-mergeBits..wrapper..[s$MT$*;%<$Ms)rrangeKeyError Exception)r returnValue bitNumber mergeLogic mergedValuerAbitmaps @rr/zmergeBits..wrapperOs3i vf~. 4I R#I. iJ$$M$MMK ;)3 3K 4 RR!'JR#$Dy$PQQR Rs)A  A7AA7A11A76A7r )rIr/s` r mergeBitsrJNs NrceZdZdZdZdZy)AttendanceRecordingIdentityDictzYA dictionary-like object that records indices of items actually accessed from a list.c||_t|Dcic]\}}t||c}}|_t |_ycc}}wr )r3 enumerateidr8sets)selfrivs r__init__z(AttendanceRecordingIdentityDict.__init__fs9'0~6tq!"Q%(67sAch|jj|jt||Sr )rQaddr8rOrRrTs r __getitem__z+AttendanceRecordingIdentityDict.__getitem__ks#  466"Q%=!rN__name__ __module__ __qualname____doc__rUrYr rrrLrLbs rrLceZdZdZdZdZy)GregariousIdentityDictzrA dictionary-like object that welcomes guests without reservations and adds them to the end of the guest list.c@||_td|D|_y)Nc32K|]}t|ywr )rO)r rTs rrz2GregariousIdentityDict.__init__..vs(qRU(s)r3rPrQ)rRrs rrUzGregariousIdentityDict.__init__ts(C((rct||jvr?|jjt||jj ||Sr )rOrQrWr3appendrXs rrYz"GregariousIdentityDict.__getitem__xs; a5  FFJJr!u  FFMM! rNrZr rrr`r`ps/)rr`c*eZdZdZddZdZdZdZy)NonhashableDictz3A dictionary-like object mapping objects to values.Nc|.t|Dcic]\}}t||c}}|_yt||Dcic]\}}t||c}}|_ycc}}wcc}}wr )rNrOr8zip)rRkeysvaluesrSrTks rrUzNonhashableDict.__init__sV >+4T?;41abeQh;DF+.tV+<=41abeQh=DF<=s A A&c2|jt|Sr r8rOrRrks rrYzNonhashableDict.__getitem__svvbe}rc4||jt|<yr rm)rRrkrTs r __setitem__zNonhashableDict.__setitem__sr!u rc0|jt|=yr rmrns r __delitem__zNonhashableDict.__delitem__s FF2a5Mrr )r[r\r]r^rUrYrprrr rrrfrfs=> rrf)fontTools.misc.timeToolsr#fontTools.ttLib.tables.DefaultTabler functoolsrr!logging getLoggerlogrr rrr#r&r*r0r4r9rJobjectrLr`rfr rrrzs 2<g)* &%   ( f  V fr