(module (expression_statement (string (string_start) (string_content) (string_end))) (future_import_statement name: (dotted_name (identifier))) (import_statement name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_from_statement module_name: (dotted_name (identifier)) name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_from_statement module_name: (dotted_name (identifier) (identifier) (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier) (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier) (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier) (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier) (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier) (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier) (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier) (identifier) (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (dotted_name (identifier)) name: (dotted_name (identifier))) (comment) (comment) (comment) (comment) (comment) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence)) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (integer)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (attribute object: (identifier) attribute: (identifier))) (default_parameter name: (identifier) value: (unary_operator argument: (float))) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (float)) (comment) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (unary_operator argument: (float))) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (float))) (default_parameter name: (identifier) value: (float)) (comment) (default_parameter name: (identifier) value: (unary_operator argument: (float))) (comment) (dictionary_splat_pattern (identifier))) (comment) (comment) body: (block (if_statement condition: (comparison_operator (string (string_start) (string_content) (string_end)) (identifier)) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)))))) (expression_statement (assignment left: (identifier) right: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (identifier)) (pair key: (string (string_start) (string_content) (string_end)) value: (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (identifier)))))))))) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (dictionary_splat (identifier))))) (expression_statement (assignment left: (identifier) right: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))) (dictionary_splat (attribute object: (identifier) attribute: (identifier))))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (dictionary_splat (attribute object: (identifier) attribute: (identifier))))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))) (dictionary_splat (attribute object: (identifier) attribute: (identifier))))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))) (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))) (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))) (dictionary_splat (attribute object: (identifier) attribute: (identifier))))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))) (keyword_argument name: (identifier) value: (false)) (dictionary_splat (attribute object: (identifier) attribute: (identifier))))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (identifier)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (identifier)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (identifier)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (identifier)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (identifier)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (false))) (comment) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (binary_operator left: (float) right: (attribute object: (identifier) attribute: (identifier)))))))) (decorated_definition (decorator (identifier)) definition: (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (return_statement (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)))))) (decorated_definition (decorator (attribute object: (identifier) attribute: (identifier))) definition: (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (expression_statement (assignment left: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) right: (identifier)))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) right: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier))))) (return_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) attribute: (identifier)) arguments: (argument_list))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (return_statement (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content (escape_sequence) (escape_sequence) (escape_sequence)) (string_end))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))) (return_statement (parenthesized_expression (binary_operator left: (binary_operator left: (binary_operator left: (binary_operator left: (float) right: (integer)) right: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))) right: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (integer))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) right: (identifier)) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (float))))))))) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence) (escape_sequence)) (string_end))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (float))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (integer) (float))))) (return_statement (parenthesized_expression (binary_operator left: (binary_operator left: (binary_operator left: (binary_operator left: (binary_operator left: (binary_operator left: (float) right: (unary_operator argument: (integer))) right: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))) right: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (integer))) right: (identifier)) right: (identifier)))))) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (none)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (string (string_start) (string_content (escape_sequence) (escape_sequence)) (string_end))) (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (true))) (expression_statement (assignment left: (identifier) right: (float))) (comment)) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (false)))))) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)) (dictionary_splat (identifier))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (dictionary_splat (attribute object: (identifier) attribute: (identifier))))))) (if_statement condition: (identifier) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (dictionary_splat (attribute object: (identifier) attribute: (identifier)))))))) alternative: (else_clause body: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))) (dictionary_splat (attribute object: (identifier) attribute: (identifier)))))))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))) (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))) (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))) (dictionary_splat (attribute object: (identifier) attribute: (identifier))))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (identifier)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (identifier)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (identifier)))))))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (function_definition name: (identifier) parameters: (parameters (identifier) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (string (string_start) (string_content (escape_sequence) (escape_sequence)) (string_end))) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier))))) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (dictionary_splat (attribute object: (identifier) attribute: (identifier))))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (identifier)))) (expression_statement (assignment left: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))))))) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment) (comment))