(module (expression_statement (string (string_start) (string_content) (string_end))) (import_from_statement module_name: (dotted_name (identifier)) name: (dotted_name (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_from_statement module_name: (dotted_name (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (relative_import (import_prefix) (dotted_name (identifier) (identifier))) name: (dotted_name (identifier)) name: (dotted_name (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (relative_import (import_prefix) (dotted_name (identifier))) name: (dotted_name (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (relative_import (import_prefix) (dotted_name (identifier) (identifier))) name: (dotted_name (identifier))) (function_definition name: (identifier) parameters: (parameters (identifier) (identifier)) body: (block (expression_statement (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: (string (string_start) (string_content) (string_end))))))) (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: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))))))) (return_statement (identifier)))) (decorated_definition (decorator (identifier)) definition: (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier)) body: (block (expression_statement (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)) (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))))) (expression_statement (assignment left: (identifier) right: (none))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (unary_operator argument: (integer))))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (keyword_argument name: (identifier) value: (identifier)))))) (comment) (for_statement left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) (comment) (comment) body: (block (if_statement condition: (comparison_operator (identifier) (identifier)) consequence: (block (expression_statement (assignment left: (identifier) right: (binary_operator left: (binary_operator left: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) right: (string (string_start) (string_content) (string_end))) right: (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))))) (comment) (if_statement condition: (comparison_operator (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (unary_operator argument: (integer))))) (attribute object: (identifier) attribute: (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)))))))) (comment) (if_statement condition: (comparison_operator (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)))))))) alternative: (elif_clause condition: (comparison_operator (identifier) (identifier)) consequence: (block (expression_statement (assignment left: (identifier) right: (binary_operator left: (binary_operator left: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) right: (string (string_start) (string_content) (string_end))) right: (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))))) (comment) (if_statement condition: (comparison_operator (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (unary_operator argument: (integer))))) (attribute object: (identifier) attribute: (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)))))))) (comment) (if_statement condition: (comparison_operator (string (string_start) (string_content) (string_end)) (identifier)) 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))))))))) alternative: (else_clause body: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end))))) (raise_statement (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))) (keyword_argument name: (identifier) value: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))) (keyword_argument name: (identifier) value: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (list (identifier) (string (string_start) (string_content) (string_end))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (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 (identifier)))))) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list (identifier) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))) (keyword_argument name: (identifier) value: (integer))))))))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (comment) (expression_statement (assignment left: (subscript value: (identifier) subscript: (binary_operator left: (identifier) right: (string (string_start) (string_content) (string_end)))) right: (call function: (attribute object: (subscript value: (identifier) subscript: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier))))) (comment) (if_statement condition: (comparison_operator (identifier) (string (string_start) (string_content) (string_end))) consequence: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (call function: (attribute object: (subscript value: (identifier) subscript: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier))))))) (return_statement (identifier))))) (decorated_definition (decorator (identifier)) definition: (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: (none))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (unary_operator argument: (integer))))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)) (keyword_argument name: (identifier) value: (identifier)))))) (comment) (for_statement left: (identifier) right: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) (comment) body: (block (if_statement condition: (comparison_operator (identifier) (list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)))) consequence: (block (expression_statement (assignment left: (identifier) right: (binary_operator left: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) right: (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))))) (comment) (if_statement condition: (comparison_operator (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (unary_operator argument: (integer))))) (attribute object: (identifier) attribute: (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)))))))) (comment) (if_statement condition: (comparison_operator (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)))))))) (comment) alternative: (elif_clause condition: (comparison_operator (identifier) (list (string (string_start) (string_content) (string_end)) (string (string_start) (string_content) (string_end)))) consequence: (block (expression_statement (assignment left: (identifier) right: (binary_operator left: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) right: (string (string_start) (string_content) (string_end))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (keyword_argument name: (identifier) value: (identifier)) (keyword_argument name: (identifier) value: (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end)))))))) (comment) (if_statement condition: (comparison_operator (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (unary_operator argument: (integer))))) (attribute object: (identifier) attribute: (identifier))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (keyword_argument name: (identifier) value: (identifier)))))))) (comment) (if_statement condition: (comparison_operator (string (string_start) (string_content) (string_end)) (identifier)) 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))))))))) alternative: (else_clause body: (block (expression_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (string (string_start) (string_content) (string_end))))) (raise_statement (identifier))))) (comment) (if_statement condition: (comparison_operator (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))) (integer)) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (identifier) arguments: (argument_list (identifier) (subscript value: (identifier) subscript: (string (string_start) (string_content) (string_end))))) (keyword_argument name: (identifier) value: (unary_operator argument: (integer))))))))) (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))) (keyword_argument name: (identifier) value: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))) (keyword_argument name: (identifier) value: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (attribute object: (identifier) attribute: (identifier))))))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (call function: (attribute object: (attribute object: (identifier) attribute: (identifier)) attribute: (identifier)) arguments: (argument_list (list (identifier) (string (string_start) (string_content) (string_end))))))) (expression_statement (assignment left: (attribute object: (identifier) attribute: (identifier)) right: (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 (identifier)))))) alternative: (else_clause body: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list (identifier) (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier)))) (keyword_argument name: (identifier) value: (integer))))))))))) (comment) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list)))) (comment) (expression_statement (assignment left: (subscript value: (identifier) subscript: (binary_operator left: (identifier) right: (string (string_start) (string_content) (string_end)))) right: (call function: (attribute object: (subscript value: (identifier) subscript: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier))))) (comment) (if_statement condition: (comparison_operator (identifier) (string (string_start) (string_content) (string_end))) consequence: (block (expression_statement (assignment left: (subscript value: (identifier) subscript: (identifier)) right: (call function: (attribute object: (subscript value: (identifier) subscript: (identifier)) attribute: (identifier)) arguments: (argument_list (identifier))))))) (return_statement (identifier))))))