!f`dZddlZddlZejGddZdefdZy)z"Functions around users and groups.NcBeZdZUdZeed<eed<defdZedZ y) UserGroupIDzPair of user and group ID.uidgidreturncB|jdk(xs|jdk(S)z&Check if the user or group ID is root.r)rr)selfs 3/usr/lib/python3/dist-packages/apport/user_group.pyis_rootzUserGroupID.is_rootsxx1}-A -c|jd}t|tsJ|jd}t|tsJ|||S)z8Extract user and group from systemd-coredump dictionary. COREDUMP_UID COREDUMP_GID)get isinstanceint)clscoredumprrs r from_systemd_coredumpz!UserGroupID.from_systemd_coredumpsLll>*#s###ll>*#s###3}r N) __name__ __module__ __qualname____doc__r__annotations__boolr classmethodrr r rr s/$ H H..r rrcbttjtjS)u3Return the current process’s real user and group.)rosgetuidgetgidrr r get_process_user_and_groupr" s ryy{BIIK 00r )r dataclassesr dataclassrr"rr r r%s@ ) (1K1r