+
                                a  R t0 t ^ RIHt ^ RIt^RIHtHtHtHt ^RI	H
t
Ht Rt] ^ k  ! R R]P                  ]P                  4      tR# )	    )IterableN)mixins	policyrepqueryutil)CriteriaDescriptorCriteriaSetDescriptor	UserQueryc                     a  ] tR t^t o Rt]]P                  ,          ! RR7      tRt	Rt
Rt]]P                  ,          ! RR7      tRtRtRtRt]]P&                  ,          ! RR4      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 SELinux policy users.

Parameter:
policy            The policy to query.

Keyword Parameters/Class attributes:
name            The user name to match.
name_regex      If true, regular expression matching
                will be used on the user names.
roles           The attribute to match.
roles_equal     If true, only types with role sets
                that are equal to the criteria will
                match.  Otherwise, any intersection
                will match.
roles_regex     If true, regular expression matching
                will be used on the role names instead
                of set logic.
level           The criteria to match the user's default level.
level_dom       If true, the criteria will match if it dominates
                the user's default level.
level_domby     If true, the criteria will match if it is dominated
                by the user's default level.
level_incomp    If true, the criteria will match if it is incomparable
                to the user's default level.
range_          The criteria to match the user's range.
range_subset    If true, the criteria will match if it is a subset
                of the user's range.
range_overlap   If true, the criteria will match if it overlaps
                any of the user's range.
range_superset  If true, the criteria will match if it is a superset
                of the user's range.
range_proper    If true, use proper superset/subset operations.
                No effect if not using set operations.
lookup_level)lookup_functionFlookup_rangeroles_regexlookup_rolec                D   < V ^8  d   QhRS[ S[P                  ,          /# )   return)r   r   User)format__classdict__s   "8/usr/lib64/python3.14/site-packages/setools/userquery.py__annotate__UserQuery.__annotate__A   s     & &)..1 &    c              #  l  "   V P                   P                  RV P                   24       V P                  V P                   4       V P                   P	                  RV 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	                  R	V P                  : R
V P                  : RV P                  : RV P                  : RV P                   : 2
4       V P                  P#                  4        EFT  pV P%                  V4      '       g   K  V P
                  '       dJ   \&        P(                  ! VP
                  V P
                  V P                  V P                  4      '       g   Kx  V P                  '       dU   \&        P*                  ! VP,                  V P                  V P                  V P                  V P                  4      '       g   K  V P                  '       da   \&        P.                  ! VP0                  V P                  V P                  V P                  V P                  V P                   4      '       g   EKP  Vx  EKW  	  R# 5i)z*Generator which yields all matching users.zGenerating user results from zself.roles=z, self.roles_regex=z, self.roles_equal=zself.level=z, self.level_dom=z, self.level_domby=z, self.level_incomp=zself.range_=z, self.range_subset=z, self.range_overlap=z, self.range_superset=z, self.range_proper=N)loginfopolicy_match_name_debugdebugrolesr   roles_equallevel	level_domlevel_dombylevel_incomprange_range_subsetrange_overlaprange_supersetrange_properusers_match_namer   match_regex_or_setmatch_level	mls_levelmatch_range	mls_range)selfusers   & r   resultsUserQuery.resultsA   s    5dkk]CDtxx(+$**&:)9)9(;;Od>N>N=PQR+$**&8(99MD<L<L;N O-++-/ 	0,$++'<$*;*;)==S@R@R?T U/--//D$2C2C1EG 	H KK%%'D##D))zzz$"9"9JJJJ$$$$	#& #&
 zzz$"2"2NNJJNN$$%%#' #' {{{4#3#3NNKK%%&&''%%$' $' J9 (s-   FJ4AJ4J4#AJ45J4	AJ4&J4c                   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R	&   # )
r   r$   r%   r&   r)   r(   r*   r+   r"   r   )bool)r   r   s   "r   r   r      s     N O P Q R S V W X Y Z  [ \ ] ` a b c r    N)__name__
__module____qualname____firstlineno____doc__r   r   Levelr#   r$   r%   r&   Ranger'   r)   r(   r*   r+   r	   Roler!   r"   r   r5   __annotate_func____static_attributes____classdictcell__)r   s   @r   r
   r
      s     "H y/OEIKL	0PFML NL!)..1-OEKK& &g  r   c                    V ^8  d   Qh/ ^ \         9   d,   \        P                  \        \        R3,          ,          ;R&   # )r   .__all__)__conditional_annotations__typingFinaltuplestr)r   s   "r   r   r      s+     $ $ 8 7eCHo	& 7 %r   )r
   )rG   collections.abcr   rH    r   r   r   r   descriptorsr   r	   rF   	MatchNamePolicyQueryr
   r   )rG   s   @r   <module>rQ      s>   
 % $  , , B)7 7Y  %"3"3 Yr   