Module ImportFrom alias alias alias Assign NameStore Str Import alias identifier Import alias Import alias identifier ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam defaults body Expr Str Pass decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam defaults body Expr Str decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Pass decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Expr Str Pass decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body If Call NameLoad NameLoad NameLoad body Return Call NameLoad NameLoad NameLoad orelse If Call NameLoad NameLoad NameLoad body Return Call NameLoad NameLoad NameLoad Raise Call NameLoad Call AttributeLoad Str attr AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam defaults body If Call NameLoad NameLoad NameLoad body Return Call NameLoad NameLoad NameLoad orelse If Call NameLoad NameLoad NameLoad body Return Call NameLoad NameLoad NameLoad Raise Call NameLoad Call AttributeLoad Str attr AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Return CompareLtE Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Return CompareLtE Call NameLoad BinOpSub AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore AttributeLoad NameLoad attr Return BoolOpAnd CompareLtELtE BinOpAdd SubscriptLoad NameLoad Index Num NameLoad SubscriptLoad AttributeLoad NameLoad attr Index Num BinOpSub SubscriptLoad NameLoad Index Num NameLoad CompareLtELtE BinOpAdd SubscriptLoad NameLoad Index Num NameLoad SubscriptLoad AttributeLoad NameLoad attr Index Num BinOpSub SubscriptLoad NameLoad Index Num NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore AttributeLoad NameLoad attr Return TupleLoad BinOpSub SubscriptLoad AttributeLoad NameLoad attr Index Num NameLoad BinOpAdd SubscriptLoad AttributeLoad NameLoad attr Index Num NameLoad BinOpSub SubscriptLoad AttributeLoad NameLoad attr Index Num NameLoad BinOpAdd SubscriptLoad AttributeLoad NameLoad attr Index Num NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return Call NameLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body If Call NameLoad NameLoad NameLoad body Return Call NameLoad NameLoad NameLoad orelse If Call NameLoad NameLoad NameLoad body Return Call NameLoad NameLoad NameLoad Raise Call NameLoad Call AttributeLoad Str attr AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam defaults body If Call NameLoad NameLoad NameLoad body Return Call NameLoad NameLoad NameLoad orelse If Call NameLoad NameLoad NameLoad body Return Call NameLoad NameLoad NameLoad Raise Call NameLoad Call AttributeLoad Str attr AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Return CompareLtE Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Return BoolOpAnd CompareLt Call NameLoad BinOpSub SubscriptLoad AttributeLoad NameLoad attr Index Num NameLoad AttributeLoad NameLoad attr CompareLt Call NameLoad BinOpSub SubscriptLoad AttributeLoad NameLoad attr Index Num NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return BoolOpAnd CompareLtELtE BinOpAdd SubscriptLoad NameLoad Index Num AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Num BinOpSub SubscriptLoad NameLoad Index Num AttributeLoad NameLoad attr CompareLtELtE BinOpAdd SubscriptLoad NameLoad Index Num AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Num BinOpSub SubscriptLoad NameLoad Index Num AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Return TupleLoad BinOpSub SubscriptLoad AttributeLoad NameLoad attr Index Num AttributeLoad NameLoad attr BinOpAdd SubscriptLoad AttributeLoad NameLoad attr Index Num AttributeLoad NameLoad attr BinOpSub SubscriptLoad AttributeLoad NameLoad attr Index Num AttributeLoad NameLoad attr BinOpAdd SubscriptLoad AttributeLoad NameLoad attr Index Num AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Return Call NameLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Return Call NameLoad Call NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Return BoolOpAnd CompareLt Call NameLoad BinOpSub SubscriptLoad AttributeLoad NameLoad attr Index Num SubscriptLoad AttributeLoad NameLoad attr Index Num BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr CompareLt Call NameLoad BinOpSub SubscriptLoad AttributeLoad NameLoad attr Index Num SubscriptLoad AttributeLoad NameLoad attr Index Num BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Return CompareLt Call AttributeLoad BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr attr BinOpPow BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr UnaryOpUSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr UnaryOpUSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return CompareLt Call AttributeLoad BinOpSub NameLoad NameLoad attr BinOpPow AttributeLoad NameLoad attr Num decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore BinOpSub BinOpSub Call NameLoad BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareLt NameLoad Num body Assign NameStore Num Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr UnaryOpUSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr UnaryOpUSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore BinOpSub Call NameLoad BinOpSub NameLoad NameLoad AttributeLoad NameLoad attr If CompareLt NameLoad Num body Assign NameStore Num Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad TupleLoad BinOpSub BinOpSub Call NameLoad BinOpSub SubscriptLoad AttributeLoad NameLoad attr Index Num SubscriptLoad AttributeLoad NameLoad attr Index Num AttributeLoad NameLoad attr AttributeLoad NameLoad attr BinOpSub BinOpSub Call NameLoad BinOpSub SubscriptLoad AttributeLoad NameLoad attr Index Num SubscriptLoad AttributeLoad NameLoad attr Index Num AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareLt NameLoad Num body Assign NameStore Num Return NameLoad decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Assign AttributeStore NameLoad attr Call NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Return Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Return ListComp NameLoad comprehension NameStore AttributeLoad NameLoad attr BoolOpAnd CompareIsNot NameLoad NameLoad Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr For NameStore AttributeLoad NameLoad attr body If BoolOpAnd CompareIsNot NameLoad NameLoad Call NameLoad AttributeLoad NameLoad attr body Expr Yield NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr For NameStore AttributeLoad NameLoad attr body If BoolOpAnd CompareIsNot NameLoad NameLoad Call NameLoad AttributeLoad NameLoad attr NameLoad body Return NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Return ListComp NameLoad comprehension NameStore AttributeLoad NameLoad attr BoolOpAnd CompareIsNot NameLoad NameLoad Call NameLoad AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore ListLoad For NameStore AttributeLoad NameLoad attr body If CompareIs NameLoad NameLoad body Continue Assign NameStore Call NameLoad AttributeLoad NameLoad attr If CompareLtE NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr keyword Call AttributeLoad NameLoad attr Num Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body For TupleStore NameStore NameStore Call NameLoad AttributeLoad NameLoad attr body Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr For TupleStore NameStore NameStore Call NameLoad AttributeLoad NameLoad attr body If CompareGtE NameLoad NameLoad body Break If Call NameLoad AttributeLoad NameLoad attr body Expr Yield TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return CompareIn NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call NameLoad For NameStore AttributeLoad NameLoad attr body If Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Assign NameStore Call NameLoad Assign NameStore TupleLoad NameLoad NameLoad NameLoad NameLoad For NameStore AttributeLoad NameLoad attr body If Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr BinOpDiv BinOpSub NameLoad NameLoad NameLoad Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr BinOpDiv BinOpSub NameLoad NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign NameStore BinOpMult NameLoad NameLoad Assign AttributeStore NameLoad attr ListComp Call NameLoad comprehension NameStore Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body For NameStore Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr body Expr Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body For NameStore Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr body Expr Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body For NameStore AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Return Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr NameLoad For NameStore Call AttributeLoad NameLoad attr NameLoad body For NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad body If BoolOpAnd CompareNotIn NameLoad NameLoad Call NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr NameLoad For NameStore Call AttributeLoad NameLoad attr NameLoad body For NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad body If BoolOpAnd CompareNotIn NameLoad NameLoad Call NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Expr Yield NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign TupleStore NameStore NameStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AugAssignSub NameStore NameLoad AugAssignAdd NameStore NameLoad AugAssignSub NameStore NameLoad AugAssignAdd NameStore NameLoad Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr For NameStore Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad NameLoad NameLoad body For NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad body If BoolOpAnd CompareIsNot NameLoad NameLoad CompareLt Call NameLoad AttributeLoad NameLoad attr NameLoad body Return NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign TupleStore NameStore NameStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AugAssignSub NameStore NameLoad AugAssignAdd NameStore NameLoad AugAssignSub NameStore NameLoad AugAssignAdd NameStore NameLoad Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call NameLoad For NameStore Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad NameLoad NameLoad body For NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad body If BoolOpAnd CompareNotIn NameLoad NameLoad CompareLt Call NameLoad AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign TupleStore NameStore NameStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AugAssignSub NameStore NameLoad AugAssignAdd NameStore NameLoad AugAssignSub NameStore NameLoad AugAssignAdd NameStore NameLoad Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Dict Assign SubscriptStore NameLoad Index NameLoad Num For NameStore Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad NameLoad NameLoad body For NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad body If CompareNotIn NameLoad NameLoad body Assign NameStore Call NameLoad AttributeLoad NameLoad attr If CompareLtE NameLoad NameLoad body Assign SubscriptStore NameLoad Index NameLoad NameLoad Delete SubscriptDel NameLoad Index NameLoad Return ListComp TupleLoad NameLoad SubscriptLoad NameLoad Index NameLoad comprehension NameStore NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr keyword Call AttributeLoad NameLoad attr Num Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call NameLoad For NameStore AttributeLoad NameLoad attr body For TupleStore NameStore NameStore Call NameLoad NameLoad body Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr For TupleStore NameStore NameStore Call NameLoad NameLoad body If CompareGtE NameLoad NameLoad body Break If Call NameLoad AttributeLoad NameLoad attr body If CompareLt Call NameLoad NameLoad Call NameLoad NameLoad body Assign NameStore TupleLoad Call NameLoad NameLoad Call NameLoad NameLoad orelse Assign NameStore TupleLoad Call NameLoad NameLoad Call NameLoad NameLoad If CompareNotIn NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Expr Yield TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body For NameStore AttributeLoad NameLoad attr body If CompareIn NameLoad NameLoad body Return NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call NameLoad For NameStore AttributeLoad NameLoad attr body AugAssignBitOr NameStore NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call NameLoad For NameStore Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad NameLoad NameLoad body For NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad body If Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Assign NameStore Call NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore TupleLoad NameLoad NameLoad NameLoad NameLoad For NameStore Call AttributeLoad NameLoad attr NameLoad body For NameStore SubscriptLoad NameLoad Index NameLoad body If BoolOpAnd CompareNotIn NameLoad NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign TupleStore NameStore NameStore NameStore NameStore NameLoad Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr BinOpDiv BinOpSub NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr BinOpDiv BinOpSub NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr BinOpDiv BinOpSub NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr BinOpDiv BinOpSub NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareLt NameLoad Num body Assign NameStore Num If CompareGt NameLoad AttributeLoad NameLoad attr body Assign NameStore AttributeLoad NameLoad attr If CompareLt NameLoad Num body Assign NameStore Num If CompareGt NameLoad AttributeLoad NameLoad attr body Assign NameStore AttributeLoad NameLoad attr For NameStore Call NameLoad NameLoad NameLoad body Assign NameStore BinOpMult NameLoad AttributeLoad NameLoad attr For NameStore Call NameLoad NameLoad NameLoad body Assign NameStore BinOpAdd NameLoad NameLoad Expr Yield NameLoad decorator_list decorator_list
N/A __future__ division print_function unicode_literals N/A __docformat__ restructuredtext N/A operator op N/A math N/A cocos.euclid eu Cshape N/A object N/A N/A 
    Represents an abstract geometric shape in the 2D space, and can
    answer questions about proximity or intersection with other shapes.

    Implementations are free to restrict the type of geometrical shapes
    that will accept, by example circles or axis aligned rectangles.
     overlaps N/A N/A self other N/A N/A N/A 
        Returns True if overlapping other, False otherwise

        :rtype: bool
         N/A N/A distance N/A N/A self other N/A N/A N/A 
        Returns a float, distance from itself to other;

        Not necessarily  euclidean distance.
        It is distances between boundaries.

        :rtype: float
         N/A N/A near_than N/A N/A self other near_distance N/A N/A N/A 
        Returns a boolean, True if distance(self, other)<=near_distance

        :rtype: bool
         N/A N/A touches_point N/A N/A self x y N/A N/A N/A 
        Returns True if the point (x,y) overlaps the shape, False otherwise

        :rtype: bool
         N/A N/A fits_in_box N/A N/A self packed_box N/A N/A N/A 
        Returns a boolean, True if the shape fully fits into the axis aligned
        rectangle defined by packed_box, False otherwise.

        :Parameters:
            `packed_box` : 4-tuple floats
                An axis aligned rectangle expressed as (minx, maxx, miny, maxy)
        :rtype: bool
         N/A N/A minmax N/A N/A self N/A N/A N/A 
        Returns the smallest axis aligned rectangle that contains all shape points.

        The rectangle is expressed as a 4-tuple of floats (minx, maxx, miny, maxy)
        Such a rectangle is also know as the Axis Aligned Bounding Box for shape;
        AABB for short.

        :rtype: 4-tuple of floats

         N/A N/A copy N/A N/A self N/A N/A N/A 
        Returns a copy of itself

        :rtype: Cshape
         N/A N/A N/A CollisionManager N/A object N/A N/A 
    Answers questions about proximity or collision with known objects.

    After instantiation or after calling its 'clear' method the instance
    don't knows any object.

    An object is made known to the CollisionManager instance by calling its
    'add' method with the object instance.

    Example questions are:

        - which known objects collides with <this object> ?
        - which known objects are near than 6.0 from <this object> ?

    Note that explicit objects in the question (call) don't need to be known to
    the collision manager answering the question.
    If the explicit object indeed is known, then it is omitted in the answer as a
    trivial case.

    There can be multiple CollisionManager instances in the same scope, and
    an object can be known to many collision managers at the same time.

    Objects that can be known or can be presented to a Collision Manager in
    a question must comply with:

        - obj has a member called cshape
        - obj.cshape supports the interface Cshape

    Such an object can be called 'a collidable' in the documentation, and when
    'obj' or 'other' is seen in the code you can assume it means collidable.

    While usually all collidables in a collision manager are of the same class
    (CircleShape or AARectShape) it is allowed to use both types into the same
    collision manager.

    The known objects collective for each CollisionManager instance is
    manipulated by calling the methods

        - clean() \: forgets all objects and empties internal data structures
        - add(obj) \: remember obj as a known object
        - remove_tricky(obj) \: forgets obj

    When objects are made known to a collision manager, internal data structures
    are updated based on the obj.cshape value at the 'add' moment.
    In particular, the obj.cshape indirectly tells where in the internal
    structures certain info will be stored.
    Later, the internal data structures are used to accelerate answers.

    This  means that modifying obj.cshape after an 'add' can produce a memory
    leak in the next 'remove_tricky', and that in the same situation some
    answers can be partially wrong.
    What type of wrong ? It can sometimes miss a collision with a know
    object that changed it cshape.

    It is user code responsibility to drive the know objects update when
    obj.cshape values changes.

    Common use patterns that are safe and efficient:

    When most of the known objects update cshape each frame

    You do::

        # updating collision info
        collision_manager.clear() # fast, no leaks even if changed cshapes
        for actor in moving_actors:
            collision_manager.add(actor)

        # game logic
        # do what you need, but defer changes in cshape to next block
        # by example
        for actor in moving_actors:
            actor.new_pos = actor.cshape.center + dt * vel
            #other logic that potentially needs collision info;
            #it will be accurate because you have not changed cshapes
            ...

        # update cshapes for next frame
        for actor in moving actors:
            actor.cshape.center = actor.new_pos

    Example actors for this case are player, enemies, soldiers.

    All of the known objects don't change Cshapes

        - At level start you add all objects
        - When an actor reaches end of life use 'remove_tricky' to make it not known, no problem because his cshape has not changed

    Examples actors for this case are food, coins, trees, rocks.
     add N/A N/A self obj N/A N/A N/A 
        Makes obj a know entity
         N/A N/A remove_tricky N/A N/A self obj N/A N/A N/A 
        *(obj should have the same .cshape value that when added)*
        Makes collision manager forget about obj, thus no further query will
        return obj.
        obj is required to be a known object.
         N/A clear N/A N/A self N/A N/A N/A 
        Empties the known set
         N/A N/A they_collide N/A N/A self obj1 obj2 N/A N/A N/A 
        Returns a boolean, True if obj1 overlaps objs2
        obj1, obj2 are not required to be known objects
         N/A N/A objs_colliding N/A N/A self obj N/A N/A N/A 
        Returns a container with known objects that overlaps obj,
        excluding obj itself
        obj is not required to be a known object
         N/A N/A iter_colliding N/A N/A self obj N/A N/A N/A 
        A lazy iterator over objects colliding with obj, allows to spare some
        CPU when the loop processing the collisions breaks before exhausting
        the collisions.
        obj is not required to be a known object

        Usage::

            for other in collision_manager.iter_colliding(obj):
                # process event 'obj touches other'

         N/A N/A any_near N/A N/A self obj near_distance N/A N/A N/A 
        Returns None if no know object (except itself) is near than
        near_distance, else an arbitrary known object with distance
        less than near_distance
        obj is not required to be a known object
         N/A N/A objs_near N/A N/A self obj near_distance N/A N/A N/A 
        Returns a container with the objects known by collision manager that
        are at distance to obj less or equal than near_distance, excluding
        itself.
        Notice that it includes the ones colliding with obj.
        obj is not required to be a known object
         N/A N/A objs_near_wdistance N/A N/A self obj near_distance N/A N/A N/A 
        Returns a list with the (other, distance) pairs that with all the
        known objects at distance less or equal than near_distance to obj,
        except obj itself.
        Notice that it includes the ones colliding with obj.
        obj is not required to be a known object
        If the game logic wants the list ordered by ascending distances, use
        ranked_objs_near instead.
         N/A N/A ranked_objs_near N/A N/A self obj near_distance N/A N/A N/A 
        Same as objs_near_wdistance but the list is ordered in increasing distance
        obj is not required to be a known object
         N/A N/A iter_all_collisions N/A N/A self N/A N/A N/A 
        Iterator that exposes all collisions between known objects.
        At each step it will yield a pair (obj, other).
        If (obj1, obj2) is seen when consuming the iterator, then (obj2, obj1)
        will not be seen.
        In other worlds, 'obj1 collides with obj2' means (obj1, obj2) or
        (obj2, obj1) will appear in the iterator output but not both.
         N/A knows N/A N/A self obj N/A N/A N/A Returns True if obj was added to the collision manager, false otherwise
        Used for debug and testing.
         N/A N/A known_objs N/A N/A self N/A N/A N/A Returns a set with all the objects known by the CollisionManager
        Used for debug and testing.
         N/A N/A objs_touching_point N/A N/A self x y N/A N/A N/A Returns a container with known objects touching point (x, y)

        Useful for mouse pick
         N/A N/A objs_into_box N/A N/A self minx maxx miny maxy N/A N/A N/A Returns a container with know objects that fully fits into the axis
        aligned rectangle defined by params

        Useful for elastic box selection
         N/A N/A N/A CircleShape N/A object N/A N/A 
    Implements the Cshape interface that uses discs as geometric shape.

    Distance is the euclidean distance.

    Look at Cshape for other class and methods documentation.
     __init__ N/A N/A self center r N/A N/A N/A 
        :Parameters:
            `center` : euclid.Vector2
                rectangle center
            `r` : float
                disc radius
         N/A N/A self center center N/A N/A self r r N/A overlaps N/A N/A self other N/A N/A N/A N/A isinstance other CircleShape N/A N/A N/A circle_overlaps_circle self other N/A N/A N/A isinstance other AARectShape N/A N/A N/A aa_rect_overlaps_circle other self N/A N/A NotImplementedError N/A N/A Collision between CircleShape and {0} is not implemented format N/A N/A other __class__ __name__ N/A distance N/A N/A self other N/A N/A N/A N/A isinstance other CircleShape N/A N/A N/A circle_distance_circle self other N/A N/A N/A isinstance other AARectShape N/A N/A N/A aa_rect_distance_circle other self N/A N/A NotImplementedError N/A N/A Distance between CircleShape and {0} is not implemented format N/A N/A other __class__ __name__ N/A near_than N/A N/A self other near_distance N/A N/A N/A N/A N/A N/A self distance other near_distance N/A touches_point N/A N/A self x y N/A N/A N/A N/A N/A abs N/A N/A self center N/A x y N/A self r N/A fits_in_box N/A N/A self packed_box N/A N/A N/A r N/A self r N/A N/A N/A N/A N/A packed_box N/A 0 r N/A N/A self center N/A 0 N/A N/A packed_box N/A 1 r N/A N/A N/A packed_box N/A 2 r N/A N/A self center N/A 1 N/A N/A packed_box N/A 3 r N/A minmax N/A N/A self N/A N/A N/A r N/A self r N/A N/A N/A N/A N/A self center N/A 0 r N/A N/A N/A self center N/A 0 r N/A N/A N/A self center N/A 1 r N/A N/A N/A self center N/A 1 r N/A copy N/A N/A self N/A N/A N/A N/A CircleShape N/A N/A eu Vector2 N/A self center N/A self r N/A N/A AARectShape N/A object N/A N/A 
    Implements the Cshape interface that uses rectangles with sides
    parallel to the coordinate axis as geometric shape.

    Distance is not the euclidean distance but the rectangular or max-min
    distance, max( min(x0 - x1), min(y0 - y1) : (xi, yi) in recti )

    Good if actors don't rotate.

    Look at Cshape for other class and methods documentation.
     __init__ N/A N/A self center half_width half_height N/A N/A N/A 
        :Parameters:
            `center` : euclid.Vector2
                rectangle center
            `half_width` : float
                half width of rectangle
            `half_height` : float
                half height of rectangle
         N/A N/A self center center N/A N/A self rx half_width N/A N/A self ry half_height N/A overlaps N/A N/A self other N/A N/A N/A N/A isinstance other AARectShape N/A N/A N/A aa_rect_overlaps_aa_rect self other N/A N/A N/A isinstance other CircleShape N/A N/A N/A aa_rect_overlaps_circle self other N/A N/A NotImplementedError N/A N/A Collision between AARectShape and {0} is not implemented format N/A N/A other __class__ __name__ N/A distance N/A N/A self other N/A N/A N/A N/A isinstance other AARectShape N/A N/A N/A aa_rect_distance_aa_rect self other N/A N/A N/A isinstance other CircleShape N/A N/A N/A aa_rect_distance_circle self other N/A N/A NotImplementedError N/A N/A Distance between AARectShape and {0} is not implemented format N/A N/A other __class__ __name__ N/A near_than N/A N/A self other near_distance N/A N/A N/A N/A N/A N/A self distance other near_distance N/A touches_point N/A N/A self x y N/A N/A N/A N/A N/A N/A abs N/A N/A N/A self center N/A 0 x N/A self rx N/A N/A abs N/A N/A N/A self center N/A 1 y N/A self ry N/A fits_in_box N/A N/A self packed_box N/A N/A N/A N/A N/A N/A N/A packed_box N/A 0 N/A self rx N/A N/A self center N/A 0 N/A N/A packed_box N/A 1 N/A self rx N/A N/A N/A packed_box N/A 2 N/A self ry N/A N/A self center N/A 1 N/A N/A packed_box N/A 3 N/A self ry N/A minmax N/A N/A self N/A N/A N/A N/A N/A N/A N/A self center N/A 0 N/A self rx N/A N/A N/A self center N/A 0 N/A self rx N/A N/A N/A self center N/A 1 N/A self ry N/A N/A N/A self center N/A 1 N/A self ry N/A copy N/A N/A self N/A N/A N/A N/A AARectShape N/A N/A eu Vector2 N/A self center N/A self rx N/A self ry N/A N/A clamp N/A N/A value minimum maximum N/A N/A N/A N/A max N/A min value maximum minimum N/A aa_rect_overlaps_aa_rect N/A N/A aa_rect other N/A N/A N/A 
    Tells if two axis aligned rectangles overlap.

    The rects must have members 'center', 'rx', 'ry' where the latest two are
    the rect half_width and half_height.
     N/A N/A N/A N/A abs N/A N/A N/A aa_rect center N/A 0 N/A N/A other center N/A 0 N/A N/A aa_rect rx N/A other rx N/A N/A abs N/A N/A N/A aa_rect center N/A 1 N/A N/A other center N/A 1 N/A N/A aa_rect ry N/A other ry N/A circle_overlaps_circle N/A N/A circle other N/A N/A N/A 
    Tells if two circles overlap.

    The circles must have members 'center', 'r', where the latest is the radius.
     N/A N/A N/A N/A N/A N/A circle center N/A other center magnitude_squared N/A N/A N/A circle r N/A other r 2 N/A aa_rect_overlaps_circle N/A N/A aa_rect circle N/A N/A N/A 
    Tells if an axis aligned rectangle and a circle overlap.

    The rect must have members 'center', 'rx', 'ry' where the latest two are
    the rect half_width and half_height.
    The circle must have members 'center', 'r', where the latest is the radius.
     N/A d N/A N/A circle center N/A aa_rect center N/A d_clamped N/A N/A eu Vector2 N/A clamp N/A d x N/A N/A aa_rect rx N/A aa_rect rx N/A clamp N/A d y N/A N/A aa_rect ry N/A aa_rect ry N/A N/A N/A N/A N/A d d_clamped magnitude_squared N/A N/A circle r 2 N/A circle_distance_circle N/A N/A circle other N/A N/A N/A 
    Give the distance between two circles.

    The circles must have members 'center', 'r', where the latest is the radius.
     N/A d N/A N/A N/A abs N/A N/A circle center N/A other center N/A circle r N/A other r N/A N/A d 0.0 N/A N/A d 0.0 N/A d N/A aa_rect_distance_circle N/A N/A aa_rect circle N/A N/A N/A 
    Give the distance between an axis-aligned rectangle and a circle.

    The rect must have members 'center', 'rx', 'ry' where the latest two are
    the rect half_width and half_height.
    The circle must have members 'center', 'r', where the latest is the radius.
     N/A d N/A N/A circle center N/A aa_rect center N/A d_clamped N/A N/A eu Vector2 N/A clamp N/A d x N/A N/A aa_rect rx N/A aa_rect rx N/A clamp N/A d y N/A N/A aa_rect ry N/A aa_rect ry N/A d N/A N/A abs N/A d d_clamped N/A circle r N/A N/A d 0.0 N/A N/A d 0.0 N/A d N/A aa_rect_distance_aa_rect N/A N/A aa_rect other N/A N/A N/A 
    Give the distance between two axis-aligned rectangles.

    The rect must have members 'center', 'rx', 'ry' where the latest two are
    the rect half_width and half_height.
     N/A d N/A max N/A N/A N/A N/A abs N/A N/A N/A aa_rect center N/A 0 N/A N/A other center N/A 0 N/A aa_rect rx N/A other rx N/A N/A N/A abs N/A N/A N/A aa_rect center N/A 1 N/A N/A other center N/A 1 N/A aa_rect ry N/A other ry N/A N/A d 0.0 N/A N/A d 0.0 N/A d N/A CollisionManagerBruteForce N/A object N/A N/A 
    Implements the CollisionManager interface with with the simpler code possible.

    Intended for reference and debugging, it has very bad performance.

    Look at CollisionManager for other class and methods documentation.
     __init__ N/A N/A self N/A N/A N/A N/A self objs N/A set N/A add N/A N/A self obj N/A N/A N/A N/A N/A N/A self objs add obj N/A remove_tricky N/A N/A self obj N/A N/A N/A N/A N/A N/A self objs remove obj N/A clear N/A N/A self N/A N/A N/A N/A N/A N/A self objs clear N/A they_collide N/A N/A self obj1 obj2 N/A N/A N/A N/A N/A N/A obj1 cshape overlaps N/A obj2 cshape N/A objs_colliding N/A N/A self obj N/A N/A N/A f_overlaps N/A N/A obj cshape overlaps N/A N/A other N/A other N/A self objs N/A N/A other obj N/A f_overlaps N/A other cshape N/A iter_colliding N/A N/A self obj N/A N/A N/A f_overlaps N/A N/A obj cshape overlaps N/A other N/A self objs N/A N/A N/A N/A other obj N/A f_overlaps N/A other cshape N/A N/A N/A other N/A any_near N/A N/A self obj near_distance N/A N/A N/A f_near_than N/A N/A obj cshape near_than N/A other N/A self objs N/A N/A N/A N/A other obj N/A f_near_than N/A other cshape near_distance N/A N/A other N/A None N/A objs_near N/A N/A self obj near_distance N/A N/A N/A f_near_than N/A N/A obj cshape near_than N/A N/A other N/A other N/A self objs N/A N/A other obj N/A f_near_than N/A other cshape near_distance N/A objs_near_wdistance N/A N/A self obj near_distance N/A N/A N/A f_distance N/A N/A obj cshape distance N/A res N/A N/A other N/A self objs N/A N/A N/A other obj N/A N/A N/A d N/A f_distance N/A other cshape N/A N/A d near_distance N/A N/A N/A N/A res append N/A other d N/A res N/A ranked_objs_near N/A N/A self obj near_distance N/A N/A N/A tmp N/A N/A self objs_near_wdistance obj near_distance N/A N/A N/A tmp sort key N/A N/A op itemgetter 1 N/A tmp N/A iter_all_collisions N/A N/A self N/A N/A N/A N/A i obj N/A enumerate N/A self objs N/A N/A f_overlaps N/A N/A obj cshape overlaps N/A N/A j other N/A enumerate N/A self objs N/A N/A N/A j i N/A N/A N/A N/A f_overlaps N/A other cshape N/A N/A N/A N/A obj other N/A knows N/A N/A self obj N/A N/A N/A N/A obj N/A self objs N/A known_objs N/A N/A self N/A N/A N/A N/A self objs N/A objs_touching_point N/A N/A self x y N/A N/A N/A touching N/A set N/A obj N/A self objs N/A N/A N/A N/A N/A obj cshape touches_point x y N/A N/A N/A N/A touching add obj N/A touching N/A objs_into_box N/A N/A self minx maxx miny maxy N/A N/A N/A into N/A set N/A packed_box N/A minx maxx miny maxy N/A obj N/A self objs N/A N/A N/A N/A N/A obj cshape fits_in_box packed_box N/A N/A N/A N/A into add obj N/A into N/A N/A CollisionManagerGrid N/A object N/A N/A 
    Implements the CollisionManager interface based on the scheme
    known as spatial hashing.

    The idea behind is to divide the space in rectangles with a given width and
    height, and have a table telling which objects overlaps each rectangle.

    Later, when the question 'which know objects has such and such spatial
    relation with <some object>' arrives, only the objects in rectangles
    overlapping <some object> (or nearby ones) needs to be examined for the
    condition.

    Look at CollisionManager for other class and methods documentation.
     __init__ N/A N/A self xmin xmax ymin ymax cell_width cell_height N/A N/A N/A 
        Cell width and height have impact on performance.
        For objects with same with, and with width==height, a good value
        is 1.25 * (object width).
        For mixed widths, a good guess can be
        ~ 1.25 * { width(object): all objects not exceptionlly big}

        :Parameters:
            `xmin` : float
                minimum x coordinate for a point in world
            `xmax` : float
                maximum x coordinate for a point in world
            `ymin` : float
                minimum y coordinate for a point in world
            `ymax` : float
                maximum y coordinate for a point in world
            `cell_width` : float
                width for the rectangles the space will be broken
            `cell_height` : float
                height for the rectangles the space will be broken
         N/A N/A self xmin xmin N/A N/A self xmax xmax N/A N/A self ymin ymin N/A N/A self ymax ymax N/A N/A self cell_width cell_width N/A N/A self cell_height cell_height N/A cols N/A int N/A N/A math ceil N/A N/A xmax xmin cell_width N/A rows N/A int N/A N/A math ceil N/A N/A ymax ymin cell_height N/A N/A self cols cols N/A N/A self rows rows N/A numbuckets N/A cols rows N/A N/A self buckets N/A N/A set N/A k N/A range numbuckets N/A add N/A N/A self obj N/A N/A N/A cell_idx N/A N/A self _iter_cells_for_aabb N/A N/A N/A obj cshape minmax N/A N/A N/A N/A N/A N/A self buckets N/A cell_idx add obj N/A remove_tricky N/A N/A self obj N/A N/A N/A cell_idx N/A N/A self _iter_cells_for_aabb N/A N/A N/A obj cshape minmax N/A N/A N/A N/A N/A N/A self buckets N/A cell_idx remove obj N/A clear N/A N/A self N/A N/A N/A bucket N/A self buckets N/A N/A N/A N/A bucket clear N/A they_collide N/A N/A self obj1 obj2 N/A N/A N/A N/A N/A N/A obj1 cshape overlaps N/A obj2 cshape N/A objs_colliding N/A N/A self obj N/A N/A N/A aabb N/A N/A N/A obj cshape minmax N/A f_overlaps N/A N/A obj cshape overlaps N/A collides N/A set N/A N/A N/A collides add obj N/A cell_id N/A N/A self _iter_cells_for_aabb aabb N/A N/A other N/A N/A self buckets N/A cell_id N/A N/A N/A N/A other collides N/A f_overlaps N/A other cshape N/A N/A N/A N/A collides add other N/A N/A N/A collides remove obj N/A collides N/A iter_colliding N/A N/A self obj N/A N/A N/A aabb N/A N/A N/A obj cshape minmax N/A f_overlaps N/A N/A obj cshape overlaps N/A collides N/A set N/A N/A N/A collides add obj N/A cell_id N/A N/A self _iter_cells_for_aabb aabb N/A N/A other N/A N/A self buckets N/A cell_id N/A N/A N/A N/A other collides N/A f_overlaps N/A other cshape N/A N/A N/A N/A collides add other N/A N/A other N/A any_near N/A N/A self obj near_distance N/A N/A N/A N/A minx maxx miny maxy N/A N/A N/A obj cshape minmax N/A minx near_distance N/A maxx near_distance N/A miny near_distance N/A maxy near_distance N/A f_distance N/A N/A obj cshape distance N/A cell_id N/A N/A self _iter_cells_for_aabb N/A minx maxx miny maxy N/A N/A other N/A N/A self buckets N/A cell_id N/A N/A N/A N/A other obj N/A N/A f_distance N/A other cshape near_distance N/A N/A other N/A None N/A objs_near N/A N/A self obj near_distance N/A N/A N/A N/A minx maxx miny maxy N/A N/A N/A obj cshape minmax N/A minx near_distance N/A maxx near_distance N/A miny near_distance N/A maxy near_distance N/A f_distance N/A N/A obj cshape distance N/A collides N/A set N/A cell_id N/A N/A self _iter_cells_for_aabb N/A minx maxx miny maxy N/A N/A other N/A N/A self buckets N/A cell_id N/A N/A N/A N/A other collides N/A N/A f_distance N/A other cshape near_distance N/A N/A N/A N/A collides add other N/A N/A N/A collides remove obj N/A collides N/A objs_near_wdistance N/A N/A self obj near_distance N/A N/A N/A N/A minx maxx miny maxy N/A N/A N/A obj cshape minmax N/A minx near_distance N/A maxx near_distance N/A miny near_distance N/A maxy near_distance N/A f_distance N/A N/A obj cshape distance N/A collides N/A N/A N/A collides N/A obj 0.0 N/A cell_id N/A N/A self _iter_cells_for_aabb N/A minx maxx miny maxy N/A N/A other N/A N/A self buckets N/A cell_id N/A N/A N/A other collides N/A N/A d N/A f_distance N/A other cshape N/A N/A d near_distance N/A N/A N/A collides N/A other d N/A N/A collides N/A obj N/A N/A N/A other N/A collides N/A other N/A other collides N/A ranked_objs_near N/A N/A self obj near_distance N/A N/A N/A tmp N/A N/A self objs_near_wdistance obj near_distance N/A N/A N/A tmp sort key N/A N/A op itemgetter 1 N/A tmp N/A iter_all_collisions N/A N/A self N/A N/A N/A known_collisions N/A set N/A bucket N/A self buckets N/A N/A N/A i obj N/A enumerate bucket N/A N/A f_overlaps N/A N/A obj cshape overlaps N/A N/A j other N/A enumerate bucket N/A N/A N/A j i N/A N/A N/A N/A f_overlaps N/A other cshape N/A N/A N/A N/A id obj N/A id other N/A N/A coll_id N/A N/A id obj N/A id other N/A N/A coll_id N/A N/A id other N/A id obj N/A N/A coll_id known_collisions N/A N/A N/A N/A known_collisions add coll_id N/A N/A N/A obj other N/A knows N/A N/A self obj N/A N/A N/A bucket N/A self buckets N/A N/A N/A obj bucket N/A N/A True N/A False N/A known_objs N/A N/A self N/A N/A N/A objs N/A set N/A bucket N/A self buckets N/A N/A objs bucket N/A objs N/A objs_touching_point N/A N/A self x y N/A N/A N/A touching N/A set N/A cell_id N/A N/A self _iter_cells_for_aabb N/A x x y y N/A N/A obj N/A N/A self buckets N/A cell_id N/A N/A N/A N/A N/A obj cshape touches_point x y N/A N/A N/A N/A touching add obj N/A touching N/A objs_into_box N/A N/A self minx maxx miny maxy N/A N/A N/A into N/A set N/A buckets N/A self buckets N/A packed_box N/A minx maxx miny maxy N/A cell_idx N/A N/A self _iter_cells_for_aabb packed_box N/A N/A obj N/A buckets N/A cell_idx N/A N/A N/A N/A obj into N/A N/A N/A obj cshape fits_in_box packed_box N/A N/A N/A N/A into add obj N/A into N/A _iter_cells_for_aabb N/A N/A self aabb N/A N/A N/A N/A minx maxx miny maxy aabb N/A ix_lo N/A int N/A N/A math floor N/A N/A minx N/A self xmin N/A self cell_width N/A ix_sup N/A int N/A N/A math ceil N/A N/A maxx N/A self xmin N/A self cell_width N/A iy_lo N/A int N/A N/A math floor N/A N/A miny N/A self ymin N/A self cell_height N/A iy_sup N/A int N/A N/A math ceil N/A N/A maxy N/A self ymin N/A self cell_height N/A N/A ix_lo 0 N/A N/A ix_lo 0 N/A N/A ix_sup N/A self cols N/A N/A ix_sup N/A self cols N/A N/A iy_lo 0 N/A N/A iy_lo 0 N/A N/A iy_sup N/A self rows N/A N/A iy_sup N/A self rows N/A iy N/A range iy_lo iy_sup N/A N/A contrib_y N/A iy N/A self cols N/A ix N/A range ix_lo ix_sup N/A N/A cell_id N/A ix contrib_y N/A N/A cell_id N/A N/A