
    Vh                        d Z ddlmZ d Zy)z
Modules in _utils are waiting to find a better home.  If you need to use them, be prepared for them
to move to a different location in the future.
    )annotationsc                    t        | j                               }t        |      }|rW|D ]O  }|j                  |       |j                         D ])  }||vs|j	                  |       |j                  |       + Q |rW|S )a  
    Recursively search and find all subclasses of a given class

    :arg cls: A python class
    :rtype: set
    :returns: The set of python classes which are the subclasses of `cls`.

    In python, you can use a class's :py:meth:`__subclasses__` method to determine what subclasses
    of a class exist.  However, `__subclasses__` only goes one level deep.  This function searches
    each child class's `__subclasses__` method to find all of the descendent classes.  It then
    returns an iterable of the descendent classes.
    )set__subclasses__listremoveappendadd)cls
subclassesto_visitscsscs        R/home/dcms/DCMS/lib/python3.12/site-packages/ansible/module_utils/common/_utils.pyget_all_subclassesr      s     S'')*JJH
 	(BOOB((* (j(OOC(NN3'(		(      N)__doc__
__future__r   r    r   r   <module>r      s   
 #r   