(module (expression_statement (string (string_start) (string_content) (string_end))) (import_statement name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_statement name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_statement name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_statement name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_statement name: (dotted_name (identifier))) (import_statement name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_from_statement module_name: (relative_import (import_prefix)) name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_from_statement module_name: (relative_import (import_prefix)) name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_from_statement module_name: (relative_import (import_prefix)) name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_from_statement module_name: (relative_import (import_prefix)) name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_from_statement module_name: (relative_import (import_prefix)) name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (import_from_statement module_name: (relative_import (import_prefix)) name: (aliased_import name: (dotted_name (identifier)) alias: (identifier))) (comment) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (string (string_start) (string_content) (string_end)))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment left: (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 (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)))))) (if_statement condition: (boolean_operator left: (comparison_operator (call function: (identifier) arguments: (argument_list (identifier))) (integer)) right: (comparison_operator (identifier) (string (string_start) (string_content) (string_end)))) consequence: (block (expression_statement (assignment left: (identifier) right: (identifier)))) alternative: (elif_clause condition: (comparison_operator (identifier) (string (string_start) (string_content) (string_end))) consequence: (block (expression_statement (assignment left: (identifier) right: (list (subscript value: (identifier) subscript: (integer))))))) alternative: (elif_clause condition: (comparison_operator (identifier) (string (string_start) (string_content) (string_end))) consequence: (block (expression_statement (assignment left: (identifier) right: (list (subscript value: (identifier) subscript: (unary_operator argument: (integer)))))))) alternative: (else_clause (comment) body: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (identifier)) (string_content) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier))))))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) (comment) consequence: (block (return_statement (identifier)) (comment)) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (comment)))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) (comment) consequence: (block (return_statement (call function: (identifier) arguments: (argument_list (identifier) (identifier)))) (comment)) alternative: (else_clause body: (block (return_statement (identifier)) (comment)))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (default_parameter name: (identifier) value: (false))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (return_statement (identifier)))) (if_statement condition: (boolean_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) right: (not_operator argument: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier))) body: (block (if_statement condition: (comparison_operator (identifier) (list (string (string_start) (string_content) (string_end)) (unary_operator argument: (integer)))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier) (identifier))))) (comment))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) (comment) (if_statement condition: (identifier) consequence: (block (expression_statement (assignment left: (identifier) right: (list_comprehension body: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) (for_in_clause left: (identifier) right: (identifier))))) (comment) (return_statement (expression_list (identifier) (identifier)))) alternative: (else_clause body: (block (return_statement (identifier))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (if_statement condition: (boolean_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) right: (comparison_operator (call function: (identifier) arguments: (argument_list (identifier))) (call function: (identifier) arguments: (argument_list (identifier))))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (call function: (identifier) arguments: (argument_list (identifier)))) (string_content) (interpolation expression: (call function: (identifier) arguments: (argument_list (identifier)))) (string_content) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier)))))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier) (default_parameter name: (identifier) value: (false))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (comment) (if_statement condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) consequence: (block (if_statement condition: (comparison_operator (identifier) (string (string_start) (string_content) (string_end))) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))))) (comment)) alternative: (else_clause (comment) body: (block (try_statement body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier))))) (except_clause (as_pattern (identifier) alias: (as_pattern_target (identifier))) (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (identifier)) (string_content) (interpolation expression: (call function: (identifier) arguments: (argument_list (identifier)))) (string_content (escape_sequence)) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier))) cause: (identifier)))))))))) (comment) (if_statement condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) (comment) consequence: (block (if_statement condition: (identifier) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))))) (comment))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (list (identifier)) right: (attribute object: (identifier) attribute: (identifier)))))))) alternative: (elif_clause condition: (call function: (identifier) arguments: (argument_list (identifier) (tuple (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))))) consequence: (block (expression_statement (assignment left: (identifier) right: (binary_operator left: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier))))))) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (unary_operator argument: (integer))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (integer)))) attribute: (identifier)) arguments: (argument_list))))))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (comment) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))))))) (if_statement condition: (comparison_operator (string (string_start) (string_content) (string_end)) (identifier)) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (identifier)) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier)))))) (comment) (if_statement condition: (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) arguments: (argument_list (identifier))))) (comment)) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (comment)))) (comment) (if_statement condition: (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) arguments: (argument_list (identifier))))) (comment)) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (comment)))) (if_statement condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) consequence: (block (if_statement condition: (comparison_operator (call function: (identifier) arguments: (argument_list (identifier))) (call function: (identifier) arguments: (argument_list (identifier)))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (call function: (identifier) arguments: (argument_list (identifier)))) (string_content) (interpolation expression: (call function: (identifier) arguments: (argument_list (identifier)))) (string_content) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier)))))))) (return_statement (expression_list (identifier) (identifier))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (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)) (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)) (keyword_argument name: (identifier) value: (identifier)))))) (try_statement body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (identifier))))) (except_clause (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (string (string_start) (string_content) (string_end)) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))))) (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (identifier)) (string_content) (interpolation expression: (identifier)) (string_content) (string_end)))) (raise_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (dictionary_splat (identifier)))))) (return_statement (identifier)))) (comment) (expression_statement (assignment left: (identifier) right: (list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end))))) (class_definition name: (identifier) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (false)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none))) body: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))) (comment) (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))) (comment))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (conditional_expression (identifier) (comparison_operator (identifier) (none)) (true)))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (string (string_start) (string_content) (string_end))) (keyword_argument name: (identifier) value: (string (string_start) (string_content) (string_end))) (keyword_argument name: (identifier) value: (float)))) (identifier))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (list))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (false))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (false))) (comment) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (false))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (boolean_operator left: (comparison_operator (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) (identifier)) right: (identifier)) consequence: (block (try_statement body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (string (string_start) (string_content) (string_end)) attribute: (identifier)) arguments: (argument_list (list_comprehension body: (string (string_start) (interpolation expression: (identifier)) (string_content) (interpolation expression: (identifier)) (string_end)) (for_in_clause left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))))))) (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (identifier)) (string_content) (interpolation expression: (identifier)) (string_content) (string_end))))) (except_clause (as_pattern (identifier) alias: (as_pattern_target (identifier))) (block (expression_statement (assignment left: (identifier) right: (string (string_start) (interpolation expression: (call function: (identifier) arguments: (argument_list (identifier)))) (string_content) (interpolation expression: (call function: (identifier) arguments: (argument_list (identifier)))) (string_content) (string_end)))) (comment)))) (return_statement (identifier))) alternative: (else_clause body: (block (return_statement (string (string_start) (interpolation expression: (attribute object: (identifier) attribute: (identifier))) (string_content) (interpolation expression: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))) (string_content) (string_end)))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (list_splat_pattern (identifier)) (dictionary_splat_pattern (identifier))) (comment) body: (block (if_statement condition: (not_operator argument: (attribute object: (identifier) attribute: (identifier))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (attribute object: (identifier) attribute: (identifier))) (string_content) (interpolation expression: (call function: (identifier) arguments: (argument_list (identifier)))) (string_content) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier)))))) (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list_splat (identifier)) (dictionary_splat (identifier))))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (dictionary))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (comment) (expression_statement (assignment left: (identifier) right: (attribute object: (subscript value: (identifier) subscript: (integer)) attribute: (identifier)))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (comment) (for_statement left: (identifier) right: (attribute object: (identifier) attribute: (identifier)) body: (block (if_statement condition: (comparison_operator (identifier) (string (string_start) (string_content) (string_end))) (comment) consequence: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))) (comment))))) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) arguments: (argument_list)) (comment) body: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (identifier))))))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (none))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (true))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (false))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (none))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (attribute object: (identifier) attribute: (identifier)) (comment) consequence: (block (raise_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (string_end))))) (comment))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (true))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (raise_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (false))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (identifier) (comment) consequence: (block (return_statement (identifier))) alternative: (else_clause body: (block (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (default_parameter name: (identifier) value: (none)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (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)) (identifier))))) (if_statement condition: (boolean_operator left: (attribute object: (identifier) attribute: (identifier)) right: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none))) consequence: (block (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier) (string (string_start) (string_content) (string_end)))) consequence: (block (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier))))) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier))))))) (if_statement condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (false))) (comment) (for_statement left: (identifier) right: (identifier) body: (block (if_statement condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) consequence: (block (if_statement condition: (boolean_operator left: (attribute object: (identifier) attribute: (identifier)) right: (not_operator argument: (identifier))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))) (expression_statement (assignment left: (identifier) right: (true)))) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (none)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (identifier)) (dictionary_splat (identifier))))))))))))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (identifier) right: (attribute object: (attribute object: (identifier) attribute: (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: (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)))))) (return_statement (identifier)))))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (none)) (dictionary_splat_pattern (identifier))) (comment) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (call function: (attribute object: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list)))))) (comment) (expression_statement (assignment left: (identifier) right: (list_comprehension body: (identifier) (for_in_clause left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))) (if_clause (comparison_operator (identifier) (identifier)))))) (for_statement left: (identifier) right: (identifier) body: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) (comment) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier))))) (comment) (comment) (expression_statement (assignment left: (identifier) right: (list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end))))) (for_statement left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)) body: (block (for_statement left: (identifier) right: (identifier) body: (block (if_statement condition: (comparison_operator (identifier) (call function: (attribute object: (subscript value: (identifier) subscript: (identifier)) attribute: (identifier)) arguments: (argument_list))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (identifier)) (string_content) (interpolation expression: (identifier)) (string_end)))) (raise_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))))) (if_statement condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (subscript value: (identifier) subscript: (identifier)) subscript: (identifier)))) (comment) consequence: (block (expression_statement (assignment left: (subscript value: (subscript value: (identifier) subscript: (identifier)) subscript: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (subscript value: (identifier) subscript: (identifier)) subscript: (identifier)))))))))) (expression_statement (assignment left: (identifier) right: (subscript value: (subscript value: (identifier) subscript: (identifier)) subscript: (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (identifier) right: (subscript value: (subscript value: (identifier) subscript: (identifier)) subscript: (string (string_start) (string_content) (string_end))))) (if_statement condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (comparison_operator (identifier) (identifier)) (comment) consequence: (block (raise_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (interpolation expression: (identifier)) (string_content) (interpolation expression: (identifier)) (string_content) (interpolation expression: (identifier)) (string_end))))))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)) body: (block (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) (identifier) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)))) body: (block (expression_statement (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier)))) (expression_statement (assignment left: (identifier) right: (subscript value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) consequence: (block (expression_statement (call function: (attribute object: (subscript value: (identifier) subscript: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier)))) (comment)) alternative: (else_clause body: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (comment)))))))) (return_statement))))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier))))) (comment) (if_statement condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) consequence: (block (assert_statement (comparison_operator (call function: (identifier) arguments: (argument_list (identifier))) (call function: (identifier) arguments: (argument_list (identifier))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (list_comprehension body: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) (for_in_clause left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (list (attribute object: (identifier) attribute: (identifier)))))))) (for_statement left: (identifier) right: (attribute object: (identifier) attribute: (identifier)) body: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (comparison_operator (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))) (keyword_argument name: (identifier) value: (string (string_start) (string_content) (string_end))))))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (return_statement (call function: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (subscript value: (identifier) subscript: (integer))) attribute: (identifier)) arguments: (argument_list (identifier)))))))))) (comment) (expression_statement (augmented_assignment left: (identifier) right: (list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end))))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier) (default_parameter name: (identifier) value: (none)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (keyword_argument name: (identifier) value: (true)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (dictionary))) (for_statement left: (identifier) right: (attribute object: (identifier) attribute: (identifier)) body: (block (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))) alternative: (else_clause body: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (subscript value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier))))))))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) (comment) body: (block (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)))) body: (block (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)) body: (block (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier))))) (if_statement condition: (comparison_operator (identifier) (string (string_start) (string_content) (string_end))) consequence: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) right: (identifier)))) alternative: (else_clause body: (block (expression_statement (assignment left: (subscript value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)) right: (identifier)))))))))) (return_statement))))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier) (default_parameter name: (identifier) value: (none)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)))))) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))))) alternative: (else_clause body: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))))))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) (comment) body: (block (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)))) (comment) body: (block (for_statement left: (identifier) right: (attribute object: (identifier) attribute: (identifier)) body: (block (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier)))) (comment) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))))) (comment) (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (identifier)))) (comment) (if_statement condition: (identifier) consequence: (block (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (identifier)))) (comment) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))) (comment) (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (identifier)))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (binary_operator left: (identifier) right: (identifier)))))) (comment) (expression_statement (assignment left: (identifier) right: (parenthesized_expression (comparison_operator (identifier) (integer))))) (comment) (if_statement condition: (identifier) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) alternative: (else_clause (comment) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (call function: (identifier) arguments: (argument_list (identifier)))))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))))))) alternative: (else_clause (comment) body: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (identifier)) (string_content) (interpolation expression: (identifier)) (string_content) (string_end)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))))))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (comment) (return_statement))))) (comment) (expression_statement (augmented_assignment left: (identifier) right: (list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))) (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list)))))) alternative: (elif_clause condition: (comparison_operator (identifier) (string (string_start) (string_content) (string_end))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) (binary_operator left: (identifier) right: (integer))))))) (comment))) alternative: (elif_clause condition: (comparison_operator (identifier) (string (string_start) (string_content) (string_end))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) (binary_operator left: (identifier) right: (integer))))))) (comment))) alternative: (elif_clause condition: (comparison_operator (identifier) (string (string_start) (string_content) (string_end))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) (binary_operator left: (identifier) right: (integer))))) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) (binary_operator left: (identifier) right: (integer)))))))))))) alternative: (elif_clause condition: (comparison_operator (identifier) (string (string_start) (string_content) (string_end))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))))))) alternative: (elif_clause condition: (boolean_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) right: (parenthesized_expression (boolean_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) right: (not_operator argument: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) consequence: (block (expression_statement (assignment left: (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 (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list_comprehension body: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) (binary_operator left: (binary_operator left: (identifier) right: (integer)) right: (identifier))))) (for_in_clause left: (identifier) right: (identifier))))))))))) alternative: (elif_clause condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))))))) alternative: (else_clause (comment) body: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (identifier)) (string_content) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier))))))) (return_statement (identifier)))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (integer)) (default_parameter name: (identifier) value: (integer)) (default_parameter name: (identifier) value: (integer)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (conditional_expression (identifier) (identifier) (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (dictionary_splat (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))))))) (comment) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (comment) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (list (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier) (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier) (attribute object: (identifier) attribute: (identifier)))))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (comment) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier) (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier) (identifier))))) (if_statement condition: (comparison_operator (identifier) (identifier)) consequence: (block (return_statement)) alternative: (elif_clause condition: (boolean_operator left: (comparison_operator (identifier) (none)) right: (comparison_operator (identifier) (identifier))) consequence: (block (return_statement)))) (comment) (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (identifier)))) (if_statement condition: (comparison_operator (identifier) (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier))))))) (comment) (if_statement condition: (not_operator argument: (parenthesized_expression (boolean_operator left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))))) (comment) consequence: (block (return_statement)) alternative: (else_clause body: (block (expression_statement (augmented_assignment left: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)) right: (identifier))))))) alternative: (else_clause body: (block (return_statement)))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))) (comment) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))))) (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))) (if_statement condition: (attribute object: (identifier) attribute: (identifier)) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (identifier) right: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier))))))) (comment) (expression_statement (assignment left: (identifier) right: (parenthesized_expression (binary_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) right: (call function: (identifier) arguments: (argument_list (identifier))))))) (comment) (expression_statement (assignment left: (identifier) right: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))) (comment) (expression_statement (assignment left: (subscript value: (identifier) subscript: (comparison_operator (identifier) (integer))) right: (binary_operator left: (integer) right: (subscript value: (identifier) subscript: (comparison_operator (identifier) (integer)))))) (comment) (expression_statement (augmented_assignment left: (identifier) right: (binary_operator left: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier))) right: (subscript value: (identifier) subscript: (identifier))))) (comment))) (expression_statement (augmented_assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (comment) (comment) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (if_statement condition: (comparison_operator (identifier) (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (binary_operator left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) (identifier))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier))))) (expression_statement (augmented_assignment left: (subscript value: (identifier) subscript: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (augmented_assignment left: (subscript value: (identifier) subscript: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (comment) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (pattern_list (identifier) (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (binary_operator left: (subscript value: (identifier) subscript: (identifier)) right: (identifier)))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (float))) (comment) (if_statement condition: (comparison_operator (binary_operator left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))) (integer)) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (binary_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier))))) (comment) (expression_statement (assignment left: (identifier) right: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))))) (comment) (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (parenthesized_expression (binary_operator left: (identifier) right: (identifier)))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (identifier) right: (identifier)))))) (comment))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier) (call function: (attribute object: (parenthesized_expression (comparison_operator (identifier) (integer))) attribute: (identifier)) arguments: (argument_list)))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (true)))))) (comment) (expression_statement (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier) (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)))))) (return_statement (identifier)))))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (integer)) (default_parameter name: (identifier) value: (integer)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (conditional_expression (identifier) (comparison_operator (identifier) (none)) (identifier)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (conditional_expression (identifier) (comparison_operator (identifier) (none)) (identifier)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (conditional_expression (identifier) (identifier) (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (dictionary_splat (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))))))) (comment) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (list (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier) (attribute object: (identifier) attribute: (identifier)))))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (comment) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier) (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier) (identifier))))) (if_statement condition: (comparison_operator (identifier) (identifier)) consequence: (block (return_statement)) alternative: (elif_clause condition: (boolean_operator left: (comparison_operator (identifier) (none)) right: (comparison_operator (identifier) (identifier))) consequence: (block (return_statement)))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))))) (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))) (if_statement condition: (attribute object: (identifier) attribute: (identifier)) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (identifier) right: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier))))))) (comment) (expression_statement (assignment left: (identifier) right: (parenthesized_expression (binary_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) right: (call function: (identifier) arguments: (argument_list (identifier))))))) (comment) (expression_statement (assignment left: (identifier) right: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (comparison_operator (identifier) (integer))) right: (binary_operator left: (integer) right: (subscript value: (identifier) subscript: (comparison_operator (identifier) (integer)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (identifier) arguments: (argument_list (identifier))))))) (expression_statement (assignment left: (identifier) right: (comparison_operator (integer) (parenthesized_expression (binary_operator left: (identifier) right: (attribute object: (identifier) attribute: (identifier))))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (parenthesized_expression (binary_operator left: (integer) right: (binary_operator left: (subscript value: (identifier) subscript: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))))))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (binary_operator left: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier))) right: (identifier)) right: (subscript value: (identifier) subscript: (identifier))))))) (comment) (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (identifier) right: (list))) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (identifier)))) (if_statement condition: (comparison_operator (identifier) (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (binary_operator left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (identifier)))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier))))))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) (identifier))) (identifier))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))))) (comment) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (comment) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (comment) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (comment) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (comment) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (comment) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (pattern_list (identifier) (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (comment))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (float))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) (comment) (comment) (expression_statement (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier) (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)))))) (comment) (expression_statement (augmented_assignment left: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)) right: (binary_operator left: (binary_operator left: (call function: (identifier) arguments: (argument_list (identifier))) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier))))) (comment) (return_statement (identifier)))))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (integer)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (false)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (comment) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (list (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))))) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (float))))) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (float))))) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))))) (if_statement condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))) consequence: (block (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (dictionary_comprehension body: (pair key: (identifier) value: (identifier)) (for_in_clause left: (identifier) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)))))))) (if_statement condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))) consequence: (block (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (dictionary_comprehension body: (pair key: (identifier) value: (identifier)) (for_in_clause left: (identifier) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)))))))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier) (identifier))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier) (identifier))))) (if_statement condition: (comparison_operator (identifier) (identifier)) consequence: (block (return_statement)) alternative: (elif_clause condition: (boolean_operator left: (comparison_operator (identifier) (none)) right: (comparison_operator (identifier) (identifier))) consequence: (block (return_statement)))) (expression_statement (assignment left: (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) (identifier))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier)))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (not_operator argument: (attribute object: (identifier) attribute: (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))))))) (comment)) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier))))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) (identifier))))) (comment)))) (comment) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier)))))))) (comment) (if_statement condition: (comparison_operator (call function: (identifier) arguments: (argument_list (identifier))) (identifier)) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier) (identifier) (keyword_argument name: (identifier) value: (false)))))))))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (not_operator argument: (call function: (identifier) arguments: (argument_list (identifier)))) consequence: (block (return_statement (dictionary)))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)) body: (block (if_statement condition: (comparison_operator (identifier) (integer)) consequence: (block (continue_statement))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier))))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (expression_statement (call function: (attribute object: (subscript value: (identifier) subscript: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier))) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier)))))) (comment))))) (expression_statement (assignment left: (identifier) right: (dictionary))) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)) body: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))))))))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier)) body: (block (expression_statement (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: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))))) (comment) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier))))) (comment) (expression_statement (assignment left: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier)) right: (true))) (expression_statement (assignment left: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier)) (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)))))) (expression_statement (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (keyword_argument name: (identifier) value: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)))))) (comment))) (return_statement))))) (comment) (expression_statement (augmented_assignment left: (identifier) right: (list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end))))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (false)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (if_statement condition: (comparison_operator (identifier) (list (integer) (false))) consequence: (block (expression_statement (assignment left: (identifier) right: (list (integer) (integer)))) (comment)) alternative: (elif_clause condition: (comparison_operator (identifier) (list (integer) (true))) consequence: (block (expression_statement (assignment left: (identifier) right: (list (integer)))) (comment)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))))))) (comment) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (list (list)) right: (attribute object: (identifier) attribute: (identifier))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (comment) (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)))) (comment) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)))))) (comment) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (pattern_list (identifier) (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (comment))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) (comment) (comment) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (binary_operator left: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))) right: (integer)))))) (comment) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))) (comment) (expression_statement (assignment left: (identifier) right: (binary_operator left: (parenthesized_expression (binary_operator left: (float) right: (identifier))) right: (binary_operator left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (parenthesized_expression (binary_operator left: (float) right: (identifier))) right: (binary_operator left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))))) (comment) (expression_statement (augmented_assignment left: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier)) right: (identifier))) (expression_statement (augmented_assignment left: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier)) right: (identifier))) (comment) (expression_statement (augmented_assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (identifier))) (expression_statement (augmented_assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (identifier))) (expression_statement (augmented_assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (integer))) (for_statement left: (identifier) right: (identifier) body: (block (expression_statement (call function: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))) (comment) (expression_statement (assignment left: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier)) right: (true))) (expression_statement (augmented_assignment left: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier)) right: (integer))))) (return_statement))))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (default_parameter name: (identifier) value: (none)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (comment) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier))))) (comment) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (none))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (comment) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) consequence: (block (expression_statement (assignment left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (for_statement left: (identifier) right: (list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end))) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (string (string_start) (string_end)))))))) (if_statement condition: (comparison_operator (identifier) (identifier)) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (identifier)))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (identifier)) (subscript value: (identifier) subscript: (identifier))))))) alternative: (else_clause (comment) body: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (identifier)) (string_content (escape_sequence)) (interpolation expression: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (false))))) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier))))))) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)))))) (comment) alternative: (elif_clause condition: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (identifier))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (none))))) (comment) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) (comment) consequence: (block (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (string (string_start) (string_content) (string_end))))) alternative: (else_clause body: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier)))))))))) alternative: (else_clause (comment) body: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (call function: (identifier) arguments: (argument_list (identifier)))) (string_content) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier))))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list))) (comment) (if_statement condition: (not_operator argument: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))) (string_content) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier)))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (true)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (true)))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (call function: (attribute object: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) arguments: (argument_list)))))) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))))) (comment) (for_statement left: (identifier) right: (identifier) body: (block (if_statement condition: (comparison_operator (identifier) (attribute object: (identifier) attribute: (identifier))) consequence: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (subscript value: (identifier) subscript: (identifier)))))))) (comment) (for_statement left: (identifier) right: (identifier) body: (block (if_statement condition: (comparison_operator (identifier) (attribute object: (identifier) attribute: (identifier))) consequence: (block (if_statement condition: (comparison_operator (identifier) (identifier)) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (identifier))))) alternative: (else_clause (comment) body: (block (expression_statement (assignment left: (identifier) right: (float))) (if_statement condition: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) consequence: (block (expression_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (interpolation expression: (attribute object: (identifier) attribute: (identifier))) (string_content) (interpolation expression: (identifier)) (string_content) (string_end)))))))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (identifier))))))) (comment) (if_statement condition: (comparison_operator (string (string_start) (string_content) (string_end)) (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list))) (comment) consequence: (block (if_statement condition: (comparison_operator (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) (call function: (identifier) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (unary_operator argument: (integer)) (integer) (float))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (integer) right: (identifier)) (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))))))) (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (identifier) (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (integer)))))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (call function: (identifier) arguments: (argument_list (keyword_argument name: (identifier) value: (string (string_start) (string_content) (string_end))) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (integer)))))) (if_statement condition: (comparison_operator (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) (integer)) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (identifier) (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (integer)))))))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (parenthesized_expression (binary_operator left: (integer) right: (identifier))) right: (parenthesized_expression (binary_operator left: (integer) right: (identifier)))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (identifier)))))) alternative: (else_clause (comment) body: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier))))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (list_comprehension body: (list) (for_in_clause left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))))) (comment) (expression_statement (assignment left: (subscript value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) subscript: (attribute object: (identifier) attribute: (identifier))) right: (attribute object: (identifier) attribute: (identifier)))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (call function: (identifier) arguments: (argument_list (call function: (attribute object: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) arguments: (argument_list)))) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))) (comment) (expression_statement (assignment left: (subscript value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) subscript: (attribute object: (identifier) attribute: (identifier))) right: (attribute object: (identifier) attribute: (identifier)))) (comment) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (comment) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (raise_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier) (default_parameter name: (identifier) value: (none))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier))))) alternative: (else_clause (comment) body: (block (assert_statement (comparison_operator (identifier) (attribute object: (identifier) attribute: (identifier))) (string (string_start) (string_content) (string_end))) (comment)))) (comment) (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (unary_operator argument: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier)))))) (comment) (comment) (comment) (comment) (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (comparison_operator (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (expression_statement (augmented_assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (integer))) (for_statement left: (identifier) right: (identifier) body: (block (expression_statement (call function: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier)))))) (expression_statement (assignment left: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier)) right: (true))) (expression_statement (assignment left: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (expression_statement (augmented_assignment left: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier)) right: (integer))) (expression_statement (assignment left: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier)) right: (identifier))) (comment) (expression_statement (assignment left: (identifier) right: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))) (expression_statement (assignment left: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) right: (identifier))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier) (attribute object: (identifier) attribute: (identifier))))) (expression_statement (assignment left: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) right: (identifier))) (if_statement condition: (comparison_operator (identifier) (integer)) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (binary_operator left: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier))))) (comment) (expression_statement (augmented_assignment left: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (binary_operator left: (call function: (identifier) arguments: (argument_list (identifier))) right: (identifier)))) (comment) (expression_statement (augmented_assignment left: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (binary_operator left: (call function: (identifier) arguments: (argument_list (identifier))) right: (identifier)))) (comment))))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier))))))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (default_parameter name: (identifier) value: (true))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier) (string (string_start) (string_content) (string_end)))) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))))) (return_statement (identifier)))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (comment) (if_statement condition: (not_operator argument: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier)))) consequence: (block (raise_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (interpolation expression: (identifier)) (string_content) (string_end))))))) (if_statement condition: (boolean_operator left: (comparison_operator (identifier) (none)) right: (not_operator argument: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) consequence: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (identifier)) (string_content) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier)))))) (comment) (if_statement condition: (boolean_operator left: (comparison_operator (identifier) (integer)) right: (comparison_operator (identifier) (none))) consequence: (block (raise_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (string_end)))))) alternative: (elif_clause condition: (boolean_operator left: (comparison_operator (identifier) (integer)) right: (comparison_operator (identifier) (none))) consequence: (block (raise_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (string_end))))))) alternative: (elif_clause condition: (comparison_operator (identifier) (integer)) consequence: (block (raise_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (string_end)))))))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (identifier)))) alternative: (elif_clause condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))))))) alternative: (elif_clause condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (identifier)) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (attribute object: (identifier) attribute: (identifier))))))) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (integer)))))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))) alternative: (elif_clause condition: (comparison_operator (identifier) (string (string_start) (string_content) (string_end))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (unary_operator argument: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))))))))) alternative: (elif_clause condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))))) alternative: (elif_clause condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (string (string_start) (string_content) (string_end)))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (call function: (identifier) arguments: (argument_list (identifier)))) (string_content) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier))))))) (return_statement (identifier)))) (function_definition name: (identifier) parameters: (parameters (list_splat_pattern (identifier)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (comparison_operator (string (string_start) (string_content) (string_end)) (identifier)) consequence: (block (return_statement (call function: (identifier) arguments: (argument_list (list_splat (identifier)) (dictionary_splat (identifier)))))) alternative: (else_clause body: (block (return_statement (call function: (identifier) arguments: (argument_list (list_splat (identifier)) (dictionary_splat (identifier)))))))))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (false)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (identifier)) (dictionary_splat (identifier))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (if_statement condition: (comparison_operator (identifier) (none)) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (conditional_expression (float) (comparison_operator (identifier) (none)) (float)))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (none))) (comment) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (identifier)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier)))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (list (none)) right: (attribute object: (identifier) attribute: (identifier))))) (comment) (expression_statement (call function: (identifier) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list) (keyword_argument name: (identifier) value: (identifier)))))) (comment) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))) (comment) consequence: (block (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (attribute object: (identifier) attribute: (identifier)) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)))) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))))) (comment) (expression_statement (augmented_assignment left: (subscript value: (identifier) subscript: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))))) right: (float))) (comment) (comment) (comment) (if_statement condition: (attribute object: (identifier) attribute: (identifier)) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))))))) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (unary_operator argument: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))))))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (comment) (comment) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (pattern_list (identifier) (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (comment))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) (comment) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (if_statement condition: (comparison_operator (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) (none)) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))))) (if_statement condition: (comparison_operator (identifier) (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))) consequence: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (identifier))))))))))) (comment) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier))))) (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (tuple (identifier) (identifier)) (keyword_argument name: (identifier) value: (none)))))))))) (return_statement (identifier)))))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier) (default_parameter name: (identifier) value: (false)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (identifier) (dictionary_splat (identifier))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (comment) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (identifier)))) (comment) (if_statement condition: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))) (comment) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (dictionary_comprehension body: (pair key: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) value: (identifier)) (for_in_clause left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (call function: (identifier) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) (comment) body: (block (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (if_statement condition: (comparison_operator (identifier) (integer)) consequence: (block (expression_statement (call function: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (integer))) attribute: (identifier)) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier)))))) (comment) (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))))) (comment) (if_statement condition: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (attribute object: (identifier) attribute: (identifier))) (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier))))))) (comment) (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (binary_operator left: (parenthesized_expression (comparison_operator (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))))) right: (unary_operator argument: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier))))))) (comment) (comment) (comment) (comment) (comment) (comment) (if_statement condition: (comparison_operator (call function: (identifier) arguments: (argument_list (identifier))) (identifier)) consequence: (block (expression_statement (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier)))) (comment) (expression_statement (call function: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (integer))) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (slice (identifier)))))) (comment) (return_statement (subscript value: (identifier) subscript: (slice (identifier))))))) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list) (keyword_argument name: (identifier) value: (attribute object: (identifier) attribute: (identifier)))))))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))) (comment) (expression_statement (assignment left: (subscript value: (identifier) subscript: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))))) right: (float))) (comment) (comment) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (pattern_list (identifier) (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (binary_operator left: (subscript value: (identifier) subscript: (identifier)) right: (identifier)))))) (comment) (if_statement condition: (attribute object: (identifier) attribute: (identifier)) consequence: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))))) right: (float)))) alternative: (else_clause body: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))))) right: (float))) (comment)))) (comment) (comment) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (attribute object: (identifier) attribute: (identifier)))))))) (if_statement condition: (comparison_operator (call function: (identifier) arguments: (argument_list (identifier))) (integer)) consequence: (block (return_statement (identifier)) (comment)) alternative: (elif_clause condition: (comparison_operator (call function: (identifier) arguments: (argument_list (identifier))) (identifier)) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (slice (identifier))))) (comment)))) (comment) (comment) (comment) (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (unary_operator argument: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier))))))) (if_statement condition: (comparison_operator (parenthesized_expression (binary_operator left: (call function: (identifier) arguments: (argument_list (identifier))) right: (call function: (identifier) arguments: (argument_list (identifier))))) (identifier)) consequence: (block (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (slice (parenthesized_expression (binary_operator left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier)))))))))) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (identifier)))))) (comment) (comment) (if_statement condition: (comparison_operator (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) (integer)) consequence: (block (expression_statement (call function: (attribute object: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))) attribute: (identifier)) arguments: (argument_list (identifier)))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list (identifier) (identifier)))))) (return_statement (identifier)))))) (comment) (expression_statement (augmented_assignment left: (identifier) right: (list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end))))) (function_definition name: (identifier) parameters: (parameters (list_splat_pattern (identifier)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (comparison_operator (string (string_start) (string_content) (string_end)) (identifier)) consequence: (block (return_statement (call function: (identifier) arguments: (argument_list (list_splat (identifier)) (dictionary_splat (identifier)))))) alternative: (else_clause body: (block (return_statement (call function: (identifier) arguments: (argument_list (list_splat (identifier)) (dictionary_splat (identifier)))))))))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (float)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (float)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (identifier)) (dictionary_splat (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (identifier)))) (if_statement condition: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (tuple (identifier) (identifier)))) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (integer) right: (list (attribute object: (identifier) attribute: (identifier))))))) alternative: (else_clause body: (block (if_statement condition: (comparison_operator (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))) (integer)) consequence: (block (raise_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (string_end)))))))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier))))) (if_statement condition: (comparison_operator (identifier) (call function: (identifier) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))))) consequence: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))))) (if_statement condition: (attribute object: (identifier) attribute: (identifier)) consequence: (block (expression_statement (assignment left: (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (attribute object: (identifier) attribute: (identifier)))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (list (none)) right: (identifier)))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (list (none)) right: (identifier)))) (comment) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) (integer)))))) (expression_statement (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier)))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))) (integer))))) (for_statement left: (identifier) right: (identifier) (comment) body: (block (expression_statement (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier) (keyword_argument name: (identifier) value: (identifier)))))) (expression_statement (augmented_assignment left: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (integer)) right: (call function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (augmented_assignment left: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (integer)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (subscript value: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) subscript: (identifier)) (integer)))))))) (comment) (comment) (expression_statement (assignment left: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (attribute object: (identifier) attribute: (identifier)) (integer)))))) (comment) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (keyword_argument name: (identifier) value: (identifier))))))))) (comment) (expression_statement (assignment left: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) right: (integer))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))) (comment) (expression_statement (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (string (string_start) (string_content) (string_end)))))) (comment) (expression_statement (assignment left: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (return_statement))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (default_parameter name: (identifier) value: (none))) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list) (keyword_argument name: (identifier) value: (identifier)))))) (comment) (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))))) (comment) (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (attribute object: (identifier) attribute: (identifier))))) (if_statement condition: (comparison_operator (identifier) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))) (comment) consequence: (block (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (identifier)))) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (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 (unary_operator argument: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))))))) (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (pattern_list (identifier) (identifier)) right: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (comment)) alternative: (else_clause body: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (attribute object: (identifier) attribute: (identifier)))) (comment)))) (expression_statement (augmented_assignment left: (subscript value: (identifier) subscript: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))))) right: (float))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) (comment) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (integer)) (identifier))))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (if_statement condition: (comparison_operator (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier))))) (if_statement condition: (comparison_operator (identifier) (parenthesized_expression (binary_operator left: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) right: (attribute object: (identifier) attribute: (identifier))))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (integer)) (identifier))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) right: (identifier))))))))))) (comment) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))) (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (tuple (identifier) (identifier)) (keyword_argument name: (identifier) value: (none)))))))))) (return_statement (identifier)))) (decorated_definition (decorator (identifier)) definition: (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (default_parameter name: (identifier) value: (false))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (return_statement (identifier)))) (if_statement condition: (boolean_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) right: (not_operator argument: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier))) body: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (call function: (identifier) arguments: (argument_list (identifier) (identifier))))) (comment))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) (comment) (if_statement condition: (identifier) consequence: (block (expression_statement (assignment left: (identifier) right: (list_comprehension body: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) (for_in_clause left: (identifier) right: (identifier))))) (comment) (return_statement (expression_list (identifier) (identifier)))) alternative: (else_clause body: (block (return_statement (identifier)))))))) (decorated_definition (decorator (identifier)) definition: (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (import_from_statement module_name: (dotted_name (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier))) (comment) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (default_parameter name: (identifier) value: (integer))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (return_statement (binary_operator left: (integer) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (binary_operator left: (identifier) right: (integer)) (identifier) (identifier))))))) (comment) (comment) (comment) (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (integer)))) (comment) (comment) (function_definition name: (identifier) parameters: (parameters (identifier)) body: (block (return_statement (binary_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) right: (parenthesized_expression (binary_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) right: (integer))))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (lambda parameters: (lambda_parameters (identifier)) body: (binary_operator left: (call function: (identifier) arguments: (argument_list (identifier) (call function: (identifier) arguments: (argument_list (identifier))))) right: (identifier))) (integer) (keyword_argument name: (identifier) value: (integer)))))) (comment) (return_statement (binary_operator left: (integer) right: (call function: (identifier) arguments: (argument_list (identifier)))))))))) (class_definition name: (identifier) superclasses: (argument_list (identifier)) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (default_parameter name: (identifier) value: (none)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (call function: (attribute object: (call function: (identifier) arguments: (argument_list)) attribute: (identifier)) arguments: (argument_list (dictionary_splat (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (conditional_expression (dictionary (pair key: (string (string_start) (string_content) (string_end)) value: (string (string_start) (string_content) (string_end))) (pair key: (string (string_start) (string_content) (string_end)) value: (integer)) (pair key: (string (string_start) (string_content) (string_end)) value: (binary_operator left: (binary_operator left: (integer) right: (integer)) right: (float)))) (comparison_operator (identifier) (none)) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (conditional_expression (string (string_start) (string_content) (string_end)) (comparison_operator (identifier) (none)) (identifier)))))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (if_statement condition: (comparison_operator (attribute object: (identifier) attribute: (identifier)) (integer)) consequence: (block (return_statement))) (comment) (if_statement condition: (not_operator argument: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (boolean_operator left: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) right: (comparison_operator (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) (integer))) consequence: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier)))))) (comment) (if_statement condition: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (tuple (identifier) (identifier) (identifier)))) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (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: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))))) (if_statement condition: (not_operator argument: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier)))) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (identifier) right: (list (attribute object: (identifier) attribute: (identifier)))))))) (if_statement condition: (not_operator argument: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier)))) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (identifier) right: (list (attribute object: (identifier) attribute: (identifier)))))))) (if_statement condition: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (identifier) right: (list (attribute object: (identifier) attribute: (identifier)))))))) (if_statement condition: (call function: (identifier) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (identifier))) consequence: (block (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (binary_operator left: (identifier) right: (list (attribute object: (identifier) attribute: (identifier)))))))) (comment) (expression_statement (assignment left: (identifier) right: (attribute object: (identifier) attribute: (identifier)))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) (integer)))))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))) (comment) (expression_statement (assignment left: (identifier) right: (list))) (expression_statement (assignment left: (identifier) right: (dictionary_comprehension body: (pair key: (identifier) value: (identifier)) (for_in_clause left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) arguments: (argument_list)))))) (comment) (for_statement left: (identifier) right: (attribute object: (identifier) attribute: (identifier)) body: (block (if_statement condition: (comparison_operator (identifier) (identifier)) consequence: (block (expression_statement (augmented_assignment left: (identifier) right: (list (subscript value: (identifier) subscript: (identifier)))))) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (identifier)) (string_content) (interpolation expression: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list))))) (string_end)))) (raise_statement (call function: (identifier) arguments: (argument_list (identifier))))))))) (comment) (expression_statement (assignment left: (identifier) right: (list))) (expression_statement (assignment left: (identifier) right: (list))) (expression_statement (assignment left: (identifier) right: (list))) (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))) (comment) body: (block (expression_statement (assignment left: (identifier) right: (binary_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier))))) (if_statement condition: (comparison_operator (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) (none)) consequence: (block (expression_statement (assignment left: (pattern_list (identifier) (identifier)) right: (call function: (identifier) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) (identifier))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (identifier))) (comment))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))))) (comment) (expression_statement (assignment left: (identifier) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier) (identifier))) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))))))) (comment) (expression_statement (assignment left: (identifier) right: (binary_operator left: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (dictionary_splat (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier))) (keyword_argument name: (identifier) value: (call function: (identifier) arguments: (argument_list (identifier)))))) right: (identifier)))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (identifier) (integer)))))) (if_statement condition: (comparison_operator (call function: (identifier) arguments: (argument_list (identifier))) (integer)) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (interpolation expression: (identifier)) (string_content) (interpolation expression: (attribute object: (identifier) attribute: (identifier))) (string_content) (string_end)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))) (continue_statement))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (call function: (attribute object: (subscript value: (identifier) subscript: (identifier)) attribute: (identifier)) arguments: (argument_list))))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (call function: (attribute object: (call function: (attribute object: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (identifier)))) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)))) attribute: (identifier)) arguments: (argument_list))))) (expression_statement (augmented_assignment left: (identifier) right: (binary_operator left: (call function: (identifier) arguments: (argument_list (identifier))) right: (list (identifier))))))) (if_statement condition: (comparison_operator (call function: (identifier) arguments: (argument_list (identifier))) (integer)) (comment) consequence: (block (expression_statement (assignment left: (identifier) right: (string (string_start) (string_content) (string_end)))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))) (return_statement))) (expression_statement (assignment left: (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))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) (if_statement condition: (comparison_operator (call function: (identifier) arguments: (argument_list (identifier))) (call function: (identifier) arguments: (argument_list (identifier)))) (comment) consequence: (block (raise_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (interpolation expression: (call function: (identifier) arguments: (argument_list (identifier)))) (string_content) (interpolation expression: (call function: (identifier) arguments: (argument_list (identifier)))) (string_end))))))) (comment) (expression_statement (assignment left: (identifier) right: (binary_operator left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))))) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))) (if_statement condition: (comparison_operator (identifier) (call function: (identifier) arguments: (argument_list (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end)))))) consequence: (block (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))))) (expression_statement (assignment left: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))))) (comment) (expression_statement (assignment left: (identifier) right: (list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (identifier) right: (list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (for_statement left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier))) (integer))) body: (block (expression_statement (assignment left: (identifier) right: (dictionary_comprehension body: (pair key: (identifier) value: (integer)) (for_in_clause left: (identifier) right: (identifier))))) (expression_statement (assignment left: (identifier) right: (dictionary_comprehension body: (pair key: (identifier) value: (list_comprehension body: (integer) (for_in_clause left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier)))))) (for_in_clause left: (identifier) right: (identifier))))) (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))) body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (identifier) (identifier)) (comparison_operator (identifier) (identifier)))))))) (comment) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (identifier))) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (identifier)) (keyword_argument name: (identifier) value: (string (string_start) (string_content) (string_end))) (keyword_argument name: (identifier) value: (subscript value: (identifier) subscript: (identifier)))))))) (for_statement left: (identifier) right: (identifier) body: (block (expression_statement (augmented_assignment left: (subscript value: (identifier) subscript: (identifier)) right: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)))))) (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))) body: (block (for_statement left: (identifier) right: (identifier) body: (block (expression_statement (augmented_assignment left: (subscript value: (subscript value: (identifier) subscript: (identifier)) subscript: (identifier)) right: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) subscript: (identifier)))))))) (comment) (comment) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier))))) (comment) (comment) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)) body: (block (expression_statement (augmented_assignment left: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) subscript: (integer)) right: (identifier))))) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list)) body: (block (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))) body: (block (expression_statement (augmented_assignment left: (subscript value: (subscript value: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)) subscript: (identifier)) subscript: (integer)) right: (subscript value: (identifier) subscript: (identifier)))))))) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)) body: (block (expression_statement (augmented_assignment left: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (identifier)) subscript: (integer)) right: (identifier))))) (for_statement left: (pattern_list (identifier) (identifier)) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)) body: (block (for_statement left: (identifier) right: (call function: (identifier) arguments: (argument_list (identifier))) body: (block (expression_statement (augmented_assignment left: (subscript value: (subscript value: (subscript value: (subscript value: (attribute object: (identifier) attribute: (identifier)) subscript: (string (string_start) (string_content) (string_end))) subscript: (identifier)) subscript: (identifier)) subscript: (integer)) right: (subscript value: (identifier) subscript: (identifier)))))))) (comment) (comment) (expression_statement (assignment left: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) right: (identifier))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)))))) (if_statement condition: (call function: (identifier) arguments: (argument_list (identifier))) consequence: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier)) (keyword_argument name: (identifier) value: (identifier))))))))) (comment) (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (integer))))) (comment) (expression_statement (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (string (string_start) (string_content) (string_end)))))) (return_statement))))))