+
        _                         ^ RI Ht ^RIHtHtHtHt ^RIHt ^RI	H
t
HtHtHt ]! RRR7       ! R R]4      4       t ! R	 R
]
4      t ! R R]],          4      tR# )    )	dataclass)
AnyDefaultDefaultDefaultValueDefaultRangeValue)DiffResultDescriptor)
DifferenceDifferenceResultSymbolWrapperWrapperT)frozenorderc                   0   a  ] tR t^t o RtV 3R ltRtV tR# )ModifiedDefaultz,Difference details for a modified default_*.c                   < V ^8  d   Qh/ S[ ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   # )   ruleNadded_defaultremoved_defaultadded_default_rangeremoved_default_range)r   r   r   )format__classdict__s   ";/usr/lib64/python3.14/site-packages/setools/diff/default.py__annotate__ModifiedDefault.__annotate__   sY     
 M   $&&  "D((  +T11  -t33      N)__name__
__module____qualname____firstlineno____doc____annotate_func____static_attributes____classdictcell__r   s   @r   r   r      s      7  r   r   c                      a  ] tR t^t o RtV 3R lR lt]],          ! ]4      t]],          ! ]4      t	]]
,          ! ]4      tV 3R lR ltRtV tR# )DefaultsDifferencez;Determine the difference in default_* between two policies.c                   < V ^8  d   QhRR/# r   returnNr   )r   r   s   "r   r   DefaultsDifference.__annotate__   s     )< )<t )<r   c           
        V P                   P                  RV P                   RV P                   24       V P	                  R V P                  P                  4        4       R V P                  P                  4        4       4      w  V n        V n        p\        \        ,          ! 4       V n
        V F  w  r#VP                  VP                  8w  d   VP                  pVP                  pMRpRp VP                  VP                  8w  d   VP                  pVP                  pMRpRp V'       g   V'       g   K  V P                  P                  \        VVVVV4      4       K  	  R#   \         d    RpRp LQi ; i)z>Generate the difference in type defaults between the policies.z&Generating default_* differences from z to c              3   8   "   T F  p\        V4      x  K  	  R # 5iNDefaultWrapper.0ds   & r   	<genexpr>3DefaultsDifference.diff_defaults.<locals>.<genexpr>$   s     D(C1^A(C   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir0   r1   r3   s   & r   r6   r7   %   s     E(D1^A(Dr8   N)loginfoleft_policyright_policy	_set_diffdefaultsadded_defaultsremoved_defaultslistr   modified_defaultsdefaultdefault_rangeAttributeErrorappend)selfmatched_defaultsleft_defaultright_defaultr   r   r   r   s   &       r   diff_defaults DefaultsDifference.diff_defaults   sg    	4T5E5E4Fd4K\K\J]^	` HL~~D(8(8(A(A(CDE(9(9(B(B(DEHGDT24D "&o!6!8+;'L
 ##}'<'<<"."6"6 - 5 5"& $	+--1L1LL,8,F,F)*7*E*E',0)*.'
 "7"7&&--#L$1$3$7$9	;<1 ,<& " +(,%&*#+s   /3E(#E((E:9E:c                   < V ^8  d   QhRR/# r+   r   )r   r   s   "r   r   r-   O   s     # #T #r   c                H    V P                   P                  R4       V =V =V =R# )z%Reset diff results on policy changes.zResetting default_* differencesN)r:   debugr@   rA   rC   rH   s   &r   _reset_diffDefaultsDifference._reset_diffO   s%    89!"r   )r@   rC   rA   N)r   r    r!   r"   r#   rL   r   r   r@   rA   r   rC   rR   r%   r&   r'   s   @r   r)   r)      sN     E)< )<V **5mDN+J7F,_=mL
# #r   r)   c                   L   a  ] tR t^Wt o RtR	tV 3R lR ltR tR tR t	Rt
V tR# )
r2   z$Wrap default_* to allow comparisons.c                $   < V ^8  d   QhRS[ RR/# )r   rD   r,   N)r   )r   r   s   "r   r   DefaultWrapper.__annotate__]   s     ! ! !D !r   c                    Wn         VP                  V n        \        VP                  4      V n        \	        V4      V n        R # r0   )originruletyper   tclasshashkey)rH   rD   s   &&r   __init__DefaultWrapper.__init__]   s/    ((#GNN3=r   c                    V P                   # r0   r\   rQ   s   &r   __hash__DefaultWrapper.__hash__c   s    xxr   c                4    V P                   VP                   8  # r0   r`   rH   others   &&r   __lt__DefaultWrapper.__lt__f   s    xx%))##r   c                v    V P                   VP                   8H  ;'       d    V P                  VP                  8H  # r0   rY   rZ   rd   s   &&r   __eq__DefaultWrapper.__eq__i   s1    }}. ( (KK5<<'	(r   )r\   rX   rY   rZ   Nri   )r   r    r!   r"   r#   	__slots__r]   ra   rf   rj   r%   r&   r'   s   @r   r2   r2   W   s+     .&I! !$( (r   r2   N)dataclassesr   	policyrepr   r   r   r   descriptorsr   
differencer	   r
   r   r   r   r)   r2   r   r   r   <module>rq      sZ   
 " L L - L L $d#4& 4 $4;# ;#|(WW% (r   