+
        O                        a  R t0 t ^ RIHt ^ RIHt ^ RIt^RIHtHtH	t	H
t
Ht ^RIHtHt R	t] ^ k  ! R R]P                   ]
P"                  4      tR# )
    )Iterable)suppressN)	exceptionmixins	policyrepqueryutil)CriteriaDescriptorCriteriaSetDescriptorObjClassQueryc                      a  ] tR t^t o Rt]]P                  ,          ! RR4      tRt	]
],          ! R4      tRtRtRtV 3R lR ltV 3R	 ltR
tV tR# )r   a  
Query object classes.

Parameter:
policy          The policy to query.

Keyword Parameters/Class attributes:
name            The name of the object set to match.
name_regex      If true, regular expression matching will
                be used for matching the name.
common          The name of the inherited common to match.
common_regex    If true, regular expression matching will
                be used for matching the common name.
perms           The permissions to match.
perms_equal     If true, only commons with permission sets
                that are equal to the criteria will
                match.  Otherwise, any intersection
                will match.
perms_regex     If true, regular expression matching
                will be used on the permission names instead
                of set logic.
                comparison will not be used.
perms_indirect  If false, permissions inherited from a common
                permission set not will be evaluated.  Default
                is true.
common_regexlookup_commonFperms_regexTc                D   < V ^8  d   QhRS[ S[P                  ,          /# )   return)r   r   ObjClass)format__classdict__s   "</usr/lib64/python3.14/site-packages/setools/objclassquery.py__annotate__ObjClassQuery.__annotate__3   s     $ $)"4"45 $    c           
   #    "   V P                   P                  RV P                   24       V P                  V P                   4       V P                   P	                  RV P
                  : RV P                  : 24       V P                   P	                  RV P                  : RV P                  : RV P                  : RV P                  : 24       V P                  P                  4        EF)  pV P                  V4      '       g   K  V P
                  '       dA    \        P                  ! VP
                  V P
                  V P                  4      '       g   Kn   V P                  '       d   VP                  pV P                  '       dG   \#        \        P                   4      ;_uu_ 4        W!P
                  P                  ,          pRRR4       \        P$                  ! VV P                  V P                  V P                  4      '       g   EK%  Vx  EK,  	  R#   \        P                    d     EKI  i ; i  + '       g   i     Lx; i5i)	z3Generator which yields all matching object classes.z%Generating object class results from zself.common=z, self.common_regex=zself.perms=z, self.perms_regex=z, self.perms_equal=z, self.perms_indirect=N)loginfopolicy_match_name_debugdebugcommonr   permsr   perms_equalperms_indirectclasses_match_namer	   match_regexr   NoCommonr   match_regex_or_set)selfclass_r"   s   &  r   resultsObjClassQuery.results3   s    =dkk]KLtxx(,$++'<$*;*;)=>?+$**&:)9)9(;;Od>N>N=P Q/--/1 	2 kk))+F##F++{{{++"MM KK --/ / !	/ zzz&&&!)"4"455!4!44 6 ..

((((	* *
 L9 , !))  65sU   DI
;HI
+I
	!I
*H7AI
I
H4/I
3H44I
7II
c                J   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   # )r   r   r#   r$   r   )bool)r   r   s   "r   r   r      s?     < = @ A B C D E r    N)__name__
__module____qualname____firstlineno____doc__r
   r   Commonr!   r   r   strr"   r#   r$   r   r,   __annotate_func____static_attributes____classdictcell__)r   s   @r   r   r      sX     6  	 0 01./RFL!#&}5EKNK$ $I  r   c                    V ^8  d   Qh/ ^ \         9   d,   \        P                  \        \        R3,          ,          ;R&   # )r   .__all__)__conditional_annotations__typingFinaltupler7   )r   s   "r   r   r      s+     $ $ < ;eCHo	& ; %r   )r   )r=   collections.abcr   
contextlibr   r>    r   r   r   r   r	   descriptorsr
   r   r<   	MatchNamePolicyQueryr   r   )r=   s   @r   <module>rG      sA   
 % $   7 7 B); ;HF$$e&7&7 Hr   