All classes:
- jinja2.utils._MissingType
- jinja2.utils._PassArg
- jinja2.async_utils._IteratorToAsyncIterator
- jinja2.exceptions.TemplateError
- jinja2.exceptions.TemplateNotFound
- jinja2.exceptions.TemplatesNotFound
- jinja2.exceptions.TemplateSyntaxError
- jinja2.exceptions.TemplateAssertionError
- jinja2.exceptions.TemplateRuntimeError
- jinja2.exceptions.UndefinedError
- jinja2.exceptions.SecurityError
- jinja2.exceptions.FilterArgumentError
- jinja2.runtime.LoopRenderFunc
- jinja2.runtime.TemplateReference
- jinja2.runtime.Context
- jinja2.runtime.BlockReference
- jinja2.runtime.LoopContext
- jinja2.runtime.AsyncLoopContext
- jinja2.runtime.Macro
- jinja2.runtime.Undefined
- jinja2.runtime.make_logging_undefined.LoggingUndefined
- jinja2.runtime.ChainableUndefined
- jinja2.runtime.DebugUndefined
- jinja2.runtime.StrictUndefined
- jinja2.lexer.Failure
- jinja2.lexer.Token
- jinja2.lexer.TokenStreamIterator
- jinja2.lexer.TokenStream
- jinja2.lexer.OptionalLStrip
- jinja2.lexer._Rule
- jinja2.lexer.Lexer
- jinja2.utils.LRUCache
- jinja2.utils.Cycler
- jinja2.utils.Joiner
- jinja2.utils.Namespace
- jinja2.nodes.Impossible
- jinja2.nodes.NodeType
- jinja2.nodes.EvalContext
- jinja2.nodes.Node
- jinja2.nodes.Stmt
- jinja2.nodes.Helper
- jinja2.nodes.Template
- jinja2.nodes.Output
- jinja2.nodes.Extends
- jinja2.nodes.For
- jinja2.nodes.If
- jinja2.nodes.Macro
- jinja2.nodes.CallBlock
- jinja2.nodes.FilterBlock
- jinja2.nodes.With
- jinja2.nodes.Block
- jinja2.nodes.Include
- jinja2.nodes.Import
- jinja2.nodes.FromImport
- jinja2.nodes.ExprStmt
- jinja2.nodes.Assign
- jinja2.nodes.AssignBlock
- jinja2.nodes.Expr
- jinja2.nodes.BinExpr
- jinja2.nodes.UnaryExpr
- jinja2.nodes.Name
- jinja2.nodes.NSRef
- jinja2.nodes.Literal
- jinja2.nodes.Const
- jinja2.visitor.VisitCallable
- jinja2.visitor.NodeVisitor
- jinja2.visitor.NodeTransformer
- jinja2.idtracking.Symbols
- jinja2.idtracking.RootVisitor
- jinja2.idtracking.FrameSymbolVisitor
- jinja2.optimizer.Optimizer
- jinja2.compiler.MacroRef
- jinja2.compiler.Frame
- jinja2.compiler.VisitorExit
- jinja2.compiler.DependencyFinderVisitor
- jinja2.compiler.UndeclaredNameVisitor
- jinja2.compiler.CompilerExit
- jinja2.compiler.CodeGenerator
- jinja2.compiler.CodeGenerator._FinalizeInfo
- jinja2.nodes.TemplateData
- jinja2.nodes.Tuple
- jinja2.nodes.List
- jinja2.nodes.Dict
- jinja2.nodes.Pair
- jinja2.nodes.Keyword
- jinja2.nodes.CondExpr
- jinja2.nodes._FilterTestCommon
- jinja2.nodes.Filter
- jinja2.nodes.Test
- jinja2.nodes.Call
- jinja2.nodes.Getitem
- jinja2.nodes.Getattr
- jinja2.nodes.Slice
- jinja2.nodes.Concat
- jinja2.nodes.Compare
- jinja2.nodes.Operand
- jinja2.nodes.Mul
- jinja2.nodes.Div
- jinja2.nodes.FloorDiv
- jinja2.nodes.Add
- jinja2.nodes.Sub
- jinja2.nodes.Mod
- jinja2.nodes.Pow
- jinja2.nodes.And
- jinja2.nodes.Or
- jinja2.nodes.Not
- jinja2.nodes.Neg
- jinja2.nodes.Pos
- jinja2.nodes.EnvironmentAttribute
- jinja2.nodes.ExtensionAttribute
- jinja2.nodes.ImportedName
- jinja2.nodes.InternalName
- jinja2.nodes.MarkSafe
- jinja2.nodes.MarkSafeIfAutoescape
- jinja2.nodes.ContextReference
- jinja2.nodes.DerivedContextReference
- jinja2.nodes.Continue
- jinja2.nodes.Break
- jinja2.nodes.Scope
- jinja2.nodes.OverlayScope
- jinja2.nodes.EvalContextModifier
- jinja2.nodes.ScopedEvalContextModifier
- jinja2.sandbox.SandboxedEnvironment
- jinja2.sandbox.ImmutableSandboxedEnvironment
- jinja2.sandbox.SandboxedFormatter
- jinja2.sandbox.SandboxedEscapeFormatter
- jinja2.filters.HasHTML
- jinja2.filters._GroupTuple
- jinja2.parser.Parser
- jinja2.ext._TranslationsBasic
- jinja2.ext._TranslationsContext
- jinja2.ext.Extension
- jinja2.ext.InternationalizationExtension
- jinja2.ext.ExprStmtExtension
- jinja2.ext.LoopControlExtension
- jinja2.ext.DebugExtension
- jinja2.ext._CommentFinder
- jinja2.loaders.BaseLoader
- jinja2.loaders.FileSystemLoader
- jinja2.loaders.PackageLoader
- jinja2.loaders.DictLoader
- jinja2.loaders.FunctionLoader
- jinja2.loaders.PrefixLoader
- jinja2.loaders.ChoiceLoader
- jinja2.loaders._TemplateModule
- jinja2.loaders.ModuleLoader
- jinja2.environment.Environment
- jinja2.environment.Template
- jinja2.environment.TemplateModule
- jinja2.environment.TemplateExpression
- jinja2.environment.TemplateStream
- jinja2.bccache._MemcachedClient
- jinja2.bccache.Bucket
- jinja2.bccache.BytecodeCache
- jinja2.bccache.FileSystemBytecodeCache
- jinja2.bccache.MemcachedBytecodeCache
- jinja2.meta.TrackingCodeGenerator
- jinja2.nativetypes.NativeCodeGenerator
- jinja2.nativetypes.NativeEnvironment
- jinja2.nativetypes.NativeTemplate
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_env_jinja_lexer'
    functionSourceFile: '...fuzz_env_jinja_lexer'
    functionUses: 0
    functionsReached:
    - atheris.instrument_imports
    - atheris.Setup
    - '...fuzz_env_jinja_lexer.main'
    - atheris.Fuzz
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_imports
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 25
    functionLinenumber: 22
    functionName: '...fuzz_env_jinja_lexer.TestOneInput'
    functionSourceFile: '...fuzz_env_jinja_lexer'
    functionUses: 0
    functionsReached:
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - generator.visit
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - cls.from_code
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - traceback.format_exc
    - jinja2.nodes.Node.set_environment
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.TokenStream.__init__
    - atheris.FuzzedDataProvider
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - jinja2.parser.Parser.parse
    - generator.stream.getvalue
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.str
    - <builtin>.set
    - jinja2.environment.Environment._parse
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - collections.ChainMap
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - functools.reduce
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - fdp.ConsumeString
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - ext.filter_stream
    - v1.render
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.environment.Environment.preprocess
    - jinja2.environment.Environment.make_globals
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - jinja2.environment.Environment._compile
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - jinja2.environment.Environment.iter_extensions
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - jinja2.environment.Environment.compile
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.environment.Environment._generate
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.environment.Environment.from_string
    - typing.NamedTuple.__init__
    - jinja2.parser.Parser.subparse
    - collections.deque.popleft
    - environment.code_generator_class
    - jinja2.parser.Parser._fail_ut_eof
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.environment.Environment._tokenize
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.compiler.generate
    - jinja2.parser.Parser.fail_eof
    - <builtin>.iter
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.FuzzedDataProvider
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeString
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b827c15b0>
    - <ast.Constant object at 0x7f3b827c1a00>
    argNames:
    - self
    - source
    - globals
    - template_class
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 24
    functionLinenumber: 1089
    functionName: jinja2.environment.Environment.from_string
    functionSourceFile: jinja2.environment
    functionUses: 2
    functionsReached:
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - generator.visit
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - cls.from_code
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.nodes.Node.set_environment
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.TokenStream.__init__
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - jinja2.parser.Parser.parse
    - generator.stream.getvalue
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.str
    - <builtin>.set
    - jinja2.environment.Environment._parse
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - collections.ChainMap
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - functools.reduce
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.environment.Environment.preprocess
    - jinja2.environment.Environment.make_globals
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - jinja2.environment.Environment._compile
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - jinja2.environment.Environment.iter_extensions
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - jinja2.environment.Environment.compile
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.environment.Environment._generate
    - jinja2.parser.Parser.parse_condexpr
    - typing.NamedTuple.__init__
    - jinja2.parser.Parser.subparse
    - collections.deque.popleft
    - environment.code_generator_class
    - jinja2.parser.Parser._fail_ut_eof
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.environment.Environment._tokenize
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.compiler.generate
    - jinja2.parser.Parser.fail_eof
    - <builtin>.iter
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: v1.render
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traceback.format_exc
    functionSourceFile: traceback
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: '...fuzz_env_jinja_lexer.main'
    functionSourceFile: '...fuzz_env_jinja_lexer'
    functionUses: 1
    functionsReached:
    - atheris.Setup
    - atheris.Fuzz
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2
    functionSourceFile: jinja2
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: jinja2.__getattr__
    functionSourceFile: jinja2
    functionUses: 0
    functionsReached:
    - warnings.warn
    - importlib.metadata.version
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.warn
    functionSourceFile: warnings
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib.metadata.version
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.bccache
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - pickle.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: jinja2.bccache._MemcachedClient.get
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b828e3b50>
    argNames:
    - self
    - key
    - value
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    functionName: jinja2.bccache._MemcachedClient.set
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pickle.dumps
    functionSourceFile: pickle
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - environment
    - key
    - checksum
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 53
    functionName: jinja2.bccache.Bucket.__init__
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached:
    - jinja2.bccache.Bucket.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 59
    functionName: jinja2.bccache.Bucket.reset
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: jinja2.bccache.Bucket.load_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached:
    - io.BytesIO.read
    - jinja2.bccache.Bucket.reset
    - pickle.load
    - marshal.load
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 177
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO.read
    functionSourceFile: io
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pickle.load
    functionSourceFile: pickle
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: marshal.load
    functionSourceFile: marshal
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: jinja2.bccache.Bucket.write_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached:
    - pickle.dump
    - marshal.dump
    - io.BytesIO.write
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO.write
    functionSourceFile: io
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pickle.dump
    functionSourceFile: pickle
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: marshal.dump
    functionSourceFile: marshal
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 90
    functionName: jinja2.bccache.Bucket.bytecode_from_string
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - io.BytesIO.read
    - jinja2.bccache.Bucket.reset
    - <builtin>.len
    - pickle.load
    - marshal.load
    - io.BytesIO
    - jinja2.bccache.Bucket.load_bytecode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO
    functionSourceFile: io
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 94
    functionName: jinja2.bccache.Bucket.bytecode_to_string
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - pickle.dump
    - jinja2.bccache.Bucket.write_bytecode
    - io.BytesIO
    - io.BytesIO.getvalue
    - marshal.dump
    - io.BytesIO.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO.getvalue
    functionSourceFile: io
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 130
    functionName: jinja2.bccache.BytecodeCache.load_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 137
    functionName: jinja2.bccache.BytecodeCache.dump_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 144
    functionName: jinja2.bccache.BytecodeCache.clear
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8263d400>
    argNames:
    - self
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 150
    functionName: jinja2.bccache.BytecodeCache.get_cache_key
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached:
    - name.encode
    - hashlib.sha1.update
    - hashlib.sha1.hexdigest
    - hashlib.sha1
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.encode
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashlib.sha1
    functionSourceFile: hashlib
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashlib.sha1.update
    functionSourceFile: hashlib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashlib.sha1.hexdigest
    functionSourceFile: hashlib
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - source
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 159
    functionName: jinja2.bccache.BytecodeCache.get_source_checksum
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached:
    - source.encode
    - hashlib.sha1.hexdigest
    - hashlib.sha1
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: source.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - environment
    - name
    - filename
    - source
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 163
    functionName: jinja2.bccache.BytecodeCache.get_bucket
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - source.encode
    - jinja2.bccache.Bucket.reset
    - hashlib.sha1
    - name.encode
    - jinja2.bccache.BytecodeCache.get_source_checksum
    - jinja2.bccache.BytecodeCache.load_bytecode
    - hashlib.sha1.hexdigest
    - hashlib.sha1.update
    - jinja2.bccache.Bucket.__init__
    - jinja2.bccache.BytecodeCache.get_cache_key
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 179
    functionName: jinja2.bccache.BytecodeCache.set_bucket
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - jinja2.bccache.BytecodeCache.dump_bytecode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8256e9a0>
    - <ast.Constant object at 0x7f3b8256e490>
    argNames:
    - self
    - directory
    - pattern
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 202
    functionName: jinja2.bccache.FileSystemBytecodeCache.__init__
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - tempfile.gettempdir
    - os.mkdir
    - stat.S_IMODE
    - os.chmod
    - os.lstat
    - <builtin>.hasattr
    - jinja2.bccache.FileSystemBytecodeCache._get_default_cache_dir
    - os.path.join
    - stat.S_ISDIR
    - os.getuid
    - jinja2.bccache.FileSystemBytecodeCache._get_default_cache_dir._unsafe_dir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 210
    functionName: jinja2.bccache.FileSystemBytecodeCache._get_default_cache_dir
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached:
    - tempfile.gettempdir
    - os.mkdir
    - stat.S_IMODE
    - os.chmod
    - os.lstat
    - <builtin>.hasattr
    - os.path.join
    - stat.S_ISDIR
    - os.getuid
    - jinja2.bccache.FileSystemBytecodeCache._get_default_cache_dir._unsafe_dir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 211
    functionName: jinja2.bccache.FileSystemBytecodeCache._get_default_cache_dir._unsafe_dir
    functionSourceFile: jinja2.bccache
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tempfile.gettempdir
    functionSourceFile: tempfile
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 52
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.getuid
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.join
    functionSourceFile: os
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.mkdir
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.chmod
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.lstat
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stat.S_ISDIR
    functionSourceFile: stat
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stat.S_IMODE
    functionSourceFile: stat
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 257
    functionName: jinja2.bccache.FileSystemBytecodeCache._get_cache_filename
    functionSourceFile: jinja2.bccache
    functionUses: 2
    functionsReached:
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 260
    functionName: jinja2.bccache.FileSystemBytecodeCache.load_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - os.path.join
    - bucket.load_bytecode
    - <builtin>.open
    - jinja2.bccache.FileSystemBytecodeCache._get_cache_filename
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.open
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bucket.load_bytecode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 275
    functionName: jinja2.bccache.FileSystemBytecodeCache.dump_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - tempfile.NamedTemporaryFile
    - os.path.basename
    - os.replace
    - jinja2.bccache.FileSystemBytecodeCache.dump_bytecode.remove_silent
    - os.remove
    - os.path.join
    - bucket.write_bytecode
    - os.path.dirname
    - jinja2.bccache.FileSystemBytecodeCache._get_cache_filename
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.dirname
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.basename
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tempfile.NamedTemporaryFile
    functionSourceFile: tempfile
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 288
    functionName: jinja2.bccache.FileSystemBytecodeCache.dump_bytecode.remove_silent
    functionSourceFile: jinja2.bccache
    functionUses: 1
    functionsReached:
    - os.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.remove
    functionSourceFile: os
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bucket.write_bytecode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.replace
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 313
    functionName: jinja2.bccache.FileSystemBytecodeCache.clear
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - os.listdir
    - fnmatch.filter
    - os.remove
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.listdir
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fnmatch.filter
    functionSourceFile: fnmatch
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3b824ef490>
    - <ast.Constant object at 0x7f3b824efca0>
    - <ast.Constant object at 0x7f3b824ef280>
    argNames:
    - self
    - client
    - prefix
    - timeout
    - ignore_memcache_errors
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 372
    functionName: jinja2.bccache.MemcachedBytecodeCache.__init__
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 384
    functionName: jinja2.bccache.MemcachedBytecodeCache.load_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - bucket.bytecode_from_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bucket.bytecode_from_string
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bucket
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 393
    functionName: jinja2.bccache.MemcachedBytecodeCache.dump_bytecode
    functionSourceFile: jinja2.bccache
    functionUses: 0
    functionsReached:
    - bucket.bytecode_to_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bucket.bytecode_to_string
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.environment
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - functools.lru_cache
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.TypeVar
    functionSourceFile: typing
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.lru_cache
    functionSourceFile: functools
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 70
    functionName: jinja2.environment.get_spontaneous_environment
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - size
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 83
    functionName: jinja2.environment.create_cache
    functionSourceFile: jinja2.environment
    functionUses: 3
    functionsReached:
    - collections.deque
    - threading.Lock
    - jinja2.utils.LRUCache.__init__
    - jinja2.utils.LRUCache._postinit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - capacity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 439
    functionName: jinja2.utils.LRUCache.__init__
    functionSourceFile: jinja2.utils
    functionUses: 6
    functionsReached:
    - collections.deque
    - threading.Lock
    - jinja2.utils.LRUCache._postinit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - cache
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 96
    functionName: jinja2.environment.copy_cache
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - threading.Lock
    - <builtin>.type
    - jinja2.utils.LRUCache.__init__
    - jinja2.utils.LRUCache._postinit
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.type
    functionSourceFile: <builtin>
    functionUses: 131
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - environment
    - extensions
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 109
    functionName: jinja2.environment.load_extensions
    functionSourceFile: jinja2.environment
    functionUses: 4
    functionsReached:
    - jinja2.utils.import_string
    - import_name.split
    - <builtin>.getattr
    - <builtin>.isinstance
    - typing.cast
    - import_name.rpartition
    - <builtin>.__import__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 195
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b828054f0>
    argNames:
    - import_name
    - silent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 140
    functionName: jinja2.utils.import_string
    functionSourceFile: jinja2.utils
    functionUses: 5
    functionsReached:
    - import_name.rpartition
    - import_name.split
    - <builtin>.__import__
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast
    functionSourceFile: typing
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - environment
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 127
    functionName: jinja2.environment._environment_config_check
    functionSourceFile: jinja2.environment
    functionUses: 3
    functionsReached:
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.issubclass
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 23
    argDefaultValues:
    - <ast.Name object at 0x7f3b8255d4f0>
    - <ast.Name object at 0x7f3b8255d310>
    - <ast.Name object at 0x7f3b8255d9d0>
    - <ast.Name object at 0x7f3b8255d0a0>
    - <ast.Name object at 0x7f3b8255db50>
    - <ast.Name object at 0x7f3b8255dee0>
    - <ast.Name object at 0x7f3b8255d1f0>
    - <ast.Name object at 0x7f3b8255d160>
    - <ast.Name object at 0x7f3b8255d700>
    - <ast.Name object at 0x7f3b8255dd30>
    - <ast.Name object at 0x7f3b8255d3d0>
    - <ast.Name object at 0x7f3b8255df10>
    - <ast.Tuple object at 0x7f3b8255d400>
    - <ast.Constant object at 0x7f3b8255ddf0>
    - <ast.Name object at 0x7f3b8255dc40>
    - <ast.Constant object at 0x7f3b8255dcd0>
    - <ast.Constant object at 0x7f3b8255d190>
    - <ast.Constant object at 0x7f3b8255db80>
    - <ast.Constant object at 0x7f3b8255d640>
    - <ast.Constant object at 0x7f3b8255d250>
    - <ast.Constant object at 0x7f3b8255d100>
    - <ast.Constant object at 0x7f3b8255dfd0>
    argNames:
    - self
    - block_start_string
    - block_end_string
    - variable_start_string
    - variable_end_string
    - comment_start_string
    - comment_end_string
    - line_statement_prefix
    - line_comment_prefix
    - trim_blocks
    - lstrip_blocks
    - newline_sequence
    - keep_trailing_newline
    - extensions
    - optimized
    - undefined
    - finalize
    - autoescape
    - loader
    - cache_size
    - auto_reload
    - bytecode_cache
    - enable_async
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 295
    functionName: jinja2.environment.Environment.__init__
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - threading.Lock
    - DEFAULT_TESTS.copy
    - DEFAULT_POLICIES.copy
    - jinja2.utils.LRUCache.__init__
    - <builtin>.isinstance
    - collections.deque
    - <builtin>.issubclass
    - <builtin>.__import__
    - jinja2.environment.create_cache
    - jinja2.utils.LRUCache._postinit
    - typing.cast
    - DEFAULT_NAMESPACE.copy
    - jinja2.environment.load_extensions
    - jinja2.utils.import_string
    - import_name.split
    - <builtin>.getattr
    - jinja2.environment._environment_config_check
    - DEFAULT_FILTERS.copy
    - import_name.rpartition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: DEFAULT_FILTERS.copy
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: DEFAULT_TESTS.copy
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: DEFAULT_NAMESPACE.copy
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: DEFAULT_POLICIES.copy
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - extension
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 371
    functionName: jinja2.environment.Environment.add_extension
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.utils.import_string
    - import_name.split
    - <builtin>.getattr
    - <builtin>.isinstance
    - typing.cast
    - import_name.rpartition
    - <builtin>.__import__
    - jinja2.environment.load_extensions
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - attributes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 378
    functionName: jinja2.environment.Environment.extend
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - attributes.items
    - <builtin>.hasattr
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attributes.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.setattr
    functionSourceFile: <builtin>
    functionUses: 138
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 23
    argDefaultValues:
    - <ast.Name object at 0x7f3b828112b0>
    - <ast.Name object at 0x7f3b82811490>
    - <ast.Name object at 0x7f3b82811940>
    - <ast.Name object at 0x7f3b82811130>
    - <ast.Name object at 0x7f3b82811d60>
    - <ast.Name object at 0x7f3b82811b50>
    - <ast.Name object at 0x7f3b828117f0>
    - <ast.Name object at 0x7f3b82811430>
    - <ast.Name object at 0x7f3b828118b0>
    - <ast.Name object at 0x7f3b82811790>
    - <ast.Name object at 0x7f3b82811040>
    - <ast.Name object at 0x7f3b82811190>
    - <ast.Name object at 0x7f3b82811f40>
    - <ast.Name object at 0x7f3b82811d00>
    - <ast.Name object at 0x7f3b828113d0>
    - <ast.Name object at 0x7f3b82811b20>
    - <ast.Name object at 0x7f3b82811580>
    - <ast.Name object at 0x7f3b828111c0>
    - <ast.Name object at 0x7f3b82811b80>
    - <ast.Name object at 0x7f3b828113a0>
    - <ast.Name object at 0x7f3b82811dc0>
    - <ast.Name object at 0x7f3b82811310>
    argNames:
    - self
    - block_start_string
    - block_end_string
    - variable_start_string
    - variable_end_string
    - comment_start_string
    - comment_end_string
    - line_statement_prefix
    - line_comment_prefix
    - trim_blocks
    - lstrip_blocks
    - newline_sequence
    - keep_trailing_newline
    - extensions
    - optimized
    - undefined
    - finalize
    - autoescape
    - loader
    - cache_size
    - auto_reload
    - bytecode_cache
    - enable_async
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 387
    functionName: jinja2.environment.Environment.overlay
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - threading.Lock
    - value.bind
    - <builtin>.type
    - object.__new__
    - <builtin>.setattr
    - jinja2.utils.LRUCache.__init__
    - <builtin>.isinstance
    - <builtin>.issubclass
    - <builtin>.__import__
    - jinja2.environment.copy_cache
    - <builtin>.dict
    - jinja2.environment.create_cache
    - jinja2.utils.LRUCache._postinit
    - typing.cast
    - jinja2.environment.load_extensions
    - jinja2.utils.import_string
    - <builtin>.locals
    - import_name.split
    - rv.__dict__.update
    - import_name.rpartition
    - <builtin>.getattr
    - jinja2.environment._environment_config_check
    - rv.extensions.update
    - args.items
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.locals
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.dict
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: object.__new__
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.__dict__.update
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: args.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.bind
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.extensions.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 459
    functionName: jinja2.environment.Environment.lexer
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.lexer.compile_rules
    - re.compile
    - typing.NamedTuple.__init__
    - rules.append
    - re.escape
    - <builtin>.len
    - jinja2.lexer.Lexer.__init__.c
    - jinja2.lexer.Failure.__init__
    - _lexer_cache.get
    - <builtin>.sorted
    - jinja2.lexer.Lexer.__init__
    - jinja2.lexer.get_lexer
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - environment
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 428
    functionName: jinja2.lexer.get_lexer
    functionSourceFile: jinja2.lexer
    functionUses: 1
    functionsReached:
    - jinja2.lexer.compile_rules
    - re.compile
    - typing.NamedTuple.__init__
    - rules.append
    - re.escape
    - jinja2.lexer.Lexer.__init__.c
    - jinja2.lexer.Failure.__init__
    - _lexer_cache.get
    - <builtin>.sorted
    - jinja2.lexer.Lexer.__init__
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 463
    functionName: jinja2.environment.Environment.iter_extensions
    functionSourceFile: jinja2.environment
    functionUses: 12
    functionsReached:
    - <builtin>.sorted
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.environment.Environment.iter_extensions.<lambda1>
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sorted
    functionSourceFile: <builtin>
    functionUses: 33
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.iter
    functionSourceFile: <builtin>
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - argument
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 467
    functionName: jinja2.environment.Environment.getitem
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - jinja2.environment.Environment.getattr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 484
    functionName: jinja2.environment.Environment.getattr
    functionSourceFile: jinja2.environment
    functionUses: 3
    functionsReached:
    - jinja2.environment.Environment.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 4
    IfCount: 9
    argCount: 8
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    - args
    - kwargs
    - context
    - eval_ctx
    - is_filter
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 497
    functionName: jinja2.environment.Environment._filter_test_common
    functionSourceFile: jinja2.environment
    functionUses: 2
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - <builtin>.callable
    - jinja2.utils._PassArg.from_obj
    - <builtin>.isinstance
    - args.insert
    - <builtin>.hasattr
    - env_map.get
    - name._fail_with_undefined_error
    linkageType: pythonLinkage
    raised:
    - TemplateRuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: env_map.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name._fail_with_undefined_error
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: jinja2.utils._PassArg.from_obj
    functionSourceFile: jinja2.utils
    functionUses: 15
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: args.insert
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8262b310>
    argNames:
    - self
    - environment
    - template_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 76
    functionName: jinja2.nodes.EvalContext.__init__
    functionSourceFile: jinja2.nodes
    functionUses: 25
    functionsReached:
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82a07dc0>
    - <ast.Constant object at 0x7f3b82a07e50>
    - <ast.Constant object at 0x7f3b82a07ac0>
    - <ast.Constant object at 0x7f3b82a077c0>
    argNames:
    - self
    - name
    - value
    - args
    - kwargs
    - context
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 551
    functionName: jinja2.environment.Environment.call_filter
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - <builtin>.callable
    - jinja2.utils._PassArg.from_obj
    - <builtin>.isinstance
    - args.insert
    - <builtin>.hasattr
    - env_map.get
    - name._fail_with_undefined_error
    - jinja2.environment.Environment._filter_test_common
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f3b827ae3a0>
    - <ast.Constant object at 0x7f3b827aed30>
    - <ast.Constant object at 0x7f3b827aed00>
    - <ast.Constant object at 0x7f3b827ae2b0>
    argNames:
    - self
    - name
    - value
    - args
    - kwargs
    - context
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 572
    functionName: jinja2.environment.Environment.call_test
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - <builtin>.callable
    - jinja2.utils._PassArg.from_obj
    - <builtin>.isinstance
    - args.insert
    - <builtin>.hasattr
    - env_map.get
    - name._fail_with_undefined_error
    - jinja2.environment.Environment._filter_test_common
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.environment.Environment
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.utils.internalcode
    - internal_code.add
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 98
    functionName: jinja2.utils.internalcode
    functionSourceFile: jinja2.utils
    functionUses: 11
    functionsReached:
    - internal_code.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b827ae6a0>
    - <ast.Constant object at 0x7f3b827aec10>
    argNames:
    - self
    - source
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 23
    functionLinenumber: 598
    functionName: jinja2.environment.Environment.parse
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.nodes.Node.set_environment
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.TokenStream.__init__
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - jinja2.parser.Parser.parse
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.str
    - <builtin>.set
    - jinja2.environment.Environment._parse
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - functools.reduce
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.environment.Environment.preprocess
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - jinja2.environment.Environment.iter_extensions
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - typing.NamedTuple.__init__
    - jinja2.parser.Parser.subparse
    - collections.deque.popleft
    - jinja2.parser.Parser._fail_ut_eof
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.environment.Environment._tokenize
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - <builtin>.iter
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - source
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 617
    functionName: jinja2.environment.Environment._parse
    functionSourceFile: jinja2.environment
    functionUses: 8
    functionsReached:
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.nodes.Node.set_environment
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.TokenStream.__init__
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - jinja2.parser.Parser.parse
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.str
    - <builtin>.set
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - functools.reduce
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.environment.Environment.preprocess
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - jinja2.environment.Environment.iter_extensions
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - typing.NamedTuple.__init__
    - jinja2.parser.Parser.subparse
    - collections.deque.popleft
    - jinja2.parser.Parser._fail_ut_eof
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.environment.Environment._tokenize
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - <builtin>.iter
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82582490>
    argNames:
    - self
    - source
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 935
    functionName: jinja2.environment.Environment.handle_exception
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - rewrite_traceback_stack
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f3b827ae6a0>
    - <ast.Constant object at 0x7f3b827c1640>
    - <ast.Constant object at 0x7f3b827c1790>
    argNames:
    - self
    - environment
    - source
    - name
    - filename
    - state
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 53
    functionName: jinja2.parser.Parser.__init__
    functionSourceFile: jinja2.parser
    functionUses: 9
    functionsReached:
    - jinja2.environment.Environment.preprocess
    - typing.NamedTuple.__init__
    - jinja2.environment.Environment._tokenize
    - jinja2.environment.Environment.iter_extensions
    - <builtin>.next
    - <builtin>.isinstance
    - <builtin>.str
    - collections.deque
    - <builtin>.iter
    - <builtin>.sorted
    - ext.filter_stream
    - functools.reduce
    - jinja2.lexer.TokenStream.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 21
    functionLinenumber: 1037
    functionName: jinja2.parser.Parser.parse
    functionSourceFile: jinja2.parser
    functionUses: 9
    functionsReached:
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.nodes.Node.set_environment
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.set
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.nodes.Tuple.can_assign
    - expected.update
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.parser.Parser.subparse
    - collections.deque.popleft
    - jinja2.parser.Parser._fail_ut_eof
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82968970>
    - <ast.Constant object at 0x7f3b82968c70>
    argNames:
    - self
    - source
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 623
    functionName: jinja2.environment.Environment.lex
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - jinja2.environment.Environment.handle_exception
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b83271d90>
    - <ast.Constant object at 0x7f3b83271bb0>
    argNames:
    - self
    - source
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 644
    functionName: jinja2.environment.Environment.preprocess
    functionSourceFile: jinja2.environment
    functionUses: 11
    functionsReached:
    - jinja2.environment.Environment.iter_extensions
    - <builtin>.str
    - <builtin>.iter
    - <builtin>.sorted
    - functools.reduce
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.environment.Environment.preprocess.<lambda1>
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - e.preprocess
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.preprocess
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.reduce
    functionSourceFile: functools
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3b827035e0>
    - <ast.Constant object at 0x7f3b827033a0>
    argNames:
    - self
    - source
    - name
    - filename
    - state
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 660
    functionName: jinja2.environment.Environment._tokenize
    functionSourceFile: jinja2.environment
    functionUses: 10
    functionsReached:
    - jinja2.environment.Environment.preprocess
    - typing.NamedTuple.__init__
    - <builtin>.sorted
    - jinja2.environment.Environment.iter_extensions
    - <builtin>.next
    - <builtin>.str
    - <builtin>.isinstance
    - <builtin>.iter
    - collections.deque
    - ext.filter_stream
    - functools.reduce
    - jinja2.lexer.TokenStream.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ext.filter_stream
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - generator
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 325
    functionName: jinja2.lexer.TokenStream.__init__
    functionSourceFile: jinja2.lexer
    functionUses: 12
    functionsReached:
    - collections.deque
    - typing.NamedTuple.__init__
    - <builtin>.iter
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3b828c2fd0>
    argNames:
    - self
    - source
    - name
    - filename
    - defer_init
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 681
    functionName: jinja2.environment.Environment._generate
    functionSourceFile: jinja2.environment
    functionUses: 6
    functionsReached:
    - generator.visit
    - environment.code_generator_class
    - jinja2.compiler.generate
    - <builtin>.isinstance
    - generator.stream.getvalue
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82e43280>
    - <ast.Constant object at 0x7f3b82e43d30>
    - <ast.Constant object at 0x7f3b82e43070>
    argNames:
    - node
    - environment
    - name
    - filename
    - stream
    - defer_init
    - optimized
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 101
    functionName: jinja2.compiler.generate
    functionSourceFile: jinja2.compiler
    functionUses: 7
    functionsReached:
    - generator.stream.getvalue
    - environment.code_generator_class
    - <builtin>.isinstance
    - generator.visit
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - source
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 24
    functionLinenumber: 702
    functionName: jinja2.environment.Environment._compile
    functionSourceFile: jinja2.environment
    functionUses: 5
    functionsReached:
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - generator.visit
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.nodes.Node.set_environment
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.TokenStream.__init__
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - jinja2.parser.Parser.parse
    - generator.stream.getvalue
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.str
    - <builtin>.set
    - jinja2.environment.Environment._parse
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - functools.reduce
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.environment.Environment.preprocess
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - jinja2.environment.Environment._compile
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - jinja2.environment.Environment.iter_extensions
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - jinja2.environment.Environment.compile
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.environment.Environment._generate
    - jinja2.parser.Parser.parse_condexpr
    - typing.NamedTuple.__init__
    - jinja2.parser.Parser.subparse
    - environment.code_generator_class
    - collections.deque.popleft
    - jinja2.parser.Parser._fail_ut_eof
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.environment.Environment._tokenize
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.compiler.generate
    - jinja2.parser.Parser.fail_eof
    - <builtin>.iter
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f3b829dbcd0>
    - <ast.Constant object at 0x7f3b829db430>
    - <ast.Constant object at 0x7f3b829dbd30>
    - <ast.Constant object at 0x7f3b829db9d0>
    argNames:
    - self
    - source
    - name
    - filename
    - raw
    - defer_init
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 23
    functionLinenumber: 731
    functionName: jinja2.environment.Environment.compile
    functionSourceFile: jinja2.environment
    functionUses: 5
    functionsReached:
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - generator.visit
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.nodes.Node.set_environment
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.TokenStream.__init__
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - jinja2.parser.Parser.parse
    - generator.stream.getvalue
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.str
    - <builtin>.set
    - jinja2.environment.Environment._parse
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - functools.reduce
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.environment.Environment.preprocess
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - jinja2.environment.Environment._compile
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - jinja2.environment.Environment.iter_extensions
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - jinja2.environment.Environment.compile
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.environment.Environment._generate
    - jinja2.parser.Parser.parse_condexpr
    - typing.NamedTuple.__init__
    - jinja2.parser.Parser.subparse
    - collections.deque.popleft
    - environment.code_generator_class
    - jinja2.parser.Parser._fail_ut_eof
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.environment.Environment._tokenize
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.compiler.generate
    - jinja2.parser.Parser.fail_eof
    - <builtin>.iter
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.overload
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8256bf40>
    argNames:
    - self
    - source
    - undefined_to_none
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 772
    functionName: jinja2.environment.Environment.compile_expression
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - generator.visit
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - cls.from_code
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.nodes.Node.set_environment
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.TokenStream.__init__
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - jinja2.parser.Parser.parse
    - generator.stream.getvalue
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.str
    - <builtin>.set
    - jinja2.environment.Environment._parse
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - collections.ChainMap
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - functools.reduce
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.environment.Environment.preprocess
    - jinja2.environment.Environment.make_globals
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - jinja2.environment.Environment._compile
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - jinja2.environment.Environment.iter_extensions
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - jinja2.environment.Environment.compile
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.environment.Environment._generate
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.environment.Environment.from_string
    - typing.NamedTuple.__init__
    - jinja2.parser.Parser.subparse
    - collections.deque.popleft
    - environment.code_generator_class
    - jinja2.parser.Parser._fail_ut_eof
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.environment.Environment._tokenize
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - jinja2.environment.TemplateExpression.__init__
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.compiler.generate
    - jinja2.parser.Parser.fail_eof
    - <builtin>.iter
    - collections.deque
    linkageType: pythonLinkage
    raised:
    - TemplateSyntaxError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b83003880>
    argNames:
    - self
    - with_condexpr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 508
    functionName: jinja2.parser.Parser.parse_expression
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - buf.append
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 231
    functionName: jinja2.nodes.Node.set_environment
    functionSourceFile: jinja2.nodes
    functionUses: 10
    functionsReached:
    - collections.deque
    - collections.deque.popleft
    - collections.deque.extend
    - node.iter_child_nodes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - fields
    - attributes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 129
    functionName: jinja2.nodes.Node.__init__
    functionSourceFile: jinja2.nodes
    functionUses: 135
    functionsReached:
    - <builtin>.zip
    - <builtin>.len
    - attributes.pop
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - template
    - undefined_to_none
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1557
    functionName: jinja2.environment.TemplateExpression.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 9
    IfCount: 5
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8261c1c0>
    - <ast.Constant object at 0x7f3b8261c9a0>
    - <ast.Constant object at 0x7f3b8261c8e0>
    - <ast.Constant object at 0x7f3b8261cdc0>
    - <ast.Constant object at 0x7f3b8261c220>
    argNames:
    - self
    - target
    - extensions
    - filter_func
    - zip
    - log_function
    - ignore_errors
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 24
    functionLinenumber: 817
    functionName: jinja2.environment.Environment.compile_templates
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.environment.Environment.list_templates.filter_func
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - os.makedirs
    - hashlib.sha1.hexdigest
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - generator.visit
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.environment.Environment.list_templates
    - jinja2.parser.Parser.parse_statement
    - x.rsplit
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - zipfile.ZipInfo
    - jinja2.nodes.Node.set_environment
    - zipfile.ZipFile
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - data.encode
    - collections.deque.extend
    - <builtin>.sorted
    - jinja2.parser.Parser.fail_unknown_tag
    - <builtin>.open
    - jinja2.lexer.TokenStream.__init__
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - jinja2.parser.Parser.parse
    - generator.stream.getvalue
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.loaders.ModuleLoader.get_template_key
    - jinja2.parser.Parser.parse_statements
    - zipfile.ZipFile.close
    - f.write
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.str
    - <builtin>.set
    - jinja2.environment.Environment._parse
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - name.encode
    - os.path.join
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - functools.reduce
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - os.path.isdir
    - <builtin>.dict
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - ext.filter_stream
    - zipfile.ZipFile.writestr
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.environment.Environment.preprocess
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - jinja2.environment.Environment._compile
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - jinja2.environment.Environment.iter_extensions
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - jinja2.environment.Environment.compile
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.loaders.ModuleLoader.get_module_filename
    - jinja2.parser.Parser.parse_concat
    - jinja2.environment.Environment._generate
    - jinja2.parser.Parser.parse_condexpr
    - typing.NamedTuple.__init__
    - jinja2.parser.Parser.subparse
    - environment.code_generator_class
    - collections.deque.popleft
    - jinja2.parser.Parser._fail_ut_eof
    - hashlib.sha1
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.environment.Environment._tokenize
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - jinja2.environment.Environment.compile_templates.log_function
    - args.append
    - attributes.pop
    - jinja2.environment.Environment.compile_templates.write_file
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.compiler.generate
    - jinja2.parser.Parser.fail_eof
    - <builtin>.iter
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 847
    functionName: jinja2.environment.Environment.compile_templates.log_function
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - filename
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 853
    functionName: jinja2.environment.Environment.compile_templates.write_file
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - zipfile.ZipInfo
    - f.write
    - data.encode
    - os.path.join
    - zipfile.ZipFile.writestr
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: zipfile.ZipInfo
    functionSourceFile: zipfile
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: zipfile.ZipFile.writestr
    functionSourceFile: zipfile
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.write
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: zipfile.ZipFile
    functionSourceFile: zipfile
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.isdir
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.makedirs
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8287d790>
    - <ast.Constant object at 0x7f3b8287d610>
    argNames:
    - self
    - extensions
    - filter_func
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 898
    functionName: jinja2.environment.Environment.list_templates
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - jinja2.environment.Environment.list_templates.filter_func
    - x.rsplit
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 656
    functionName: jinja2.loaders.ModuleLoader.get_module_filename
    functionSourceFile: jinja2.loaders
    functionUses: 1
    functionsReached:
    - name.encode
    - hashlib.sha1.hexdigest
    - hashlib.sha1
    - jinja2.loaders.ModuleLoader.get_template_key
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: zipfile.ZipFile.close
    functionSourceFile: zipfile
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 927
    functionName: jinja2.environment.Environment.list_templates.filter_func
    functionSourceFile: jinja2.environment
    functionUses: 2
    functionsReached:
    - x.rsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.rsplit
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - template
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 943
    functionName: jinja2.environment.Environment.join_path
    functionSourceFile: jinja2.environment
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 956
    functionName: jinja2.environment.Environment._load_template
    functionSourceFile: jinja2.environment
    functionUses: 3
    functionsReached:
    - jinja2.utils.LRUCache.get
    - jinja2.environment.Environment.make_globals
    - weakref.ref
    - template.globals.update
    - collections.ChainMap
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: weakref.ref
    functionSourceFile: weakref
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8300fc70>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 474
    functionName: jinja2.utils.LRUCache.get
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: template.globals.update
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - d
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1110
    functionName: jinja2.environment.Environment.make_globals
    functionSourceFile: jinja2.environment
    functionUses: 7
    functionsReached:
    - collections.ChainMap
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82253af0>
    - <ast.Constant object at 0x7f3b82253400>
    argNames:
    - self
    - name
    - parent
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 981
    functionName: jinja2.environment.Environment.get_template
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - jinja2.environment.Environment.join_path
    - jinja2.environment.Environment.make_globals
    - jinja2.utils.LRUCache.get
    - weakref.ref
    - jinja2.environment.Environment._load_template
    - template.globals.update
    - <builtin>.isinstance
    - collections.ChainMap
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8232fca0>
    - <ast.Constant object at 0x7f3b8232fbb0>
    argNames:
    - self
    - names
    - parent
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1018
    functionName: jinja2.environment.Environment.select_template
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - jinja2.environment.Environment.join_path
    - jinja2.environment.Environment.make_globals
    - jinja2.utils.LRUCache.get
    - weakref.ref
    - names._fail_with_undefined_error
    - jinja2.environment.Environment._load_template
    - template.globals.update
    - <builtin>.isinstance
    - collections.ChainMap
    linkageType: pythonLinkage
    raised:
    - TemplatesNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: names._fail_with_undefined_error
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b826e1ca0>
    - <ast.Constant object at 0x7f3b826e1160>
    argNames:
    - self
    - template_name_or_list
    - parent
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1072
    functionName: jinja2.environment.Environment.get_or_select_template
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.environment.Environment.get_template
    - jinja2.environment.Environment.select_template
    - jinja2.environment.Environment.join_path
    - jinja2.environment.Environment.make_globals
    - jinja2.utils.LRUCache.get
    - weakref.ref
    - names._fail_with_undefined_error
    - jinja2.environment.Environment._load_template
    - template.globals.update
    - <builtin>.isinstance
    - collections.ChainMap
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cls.from_code
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.ChainMap
    functionSourceFile: collections
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 20
    argDefaultValues:
    - <ast.Name object at 0x7f3b8252b0d0>
    - <ast.Name object at 0x7f3b8252b5e0>
    - <ast.Name object at 0x7f3b8252b970>
    - <ast.Name object at 0x7f3b8252b850>
    - <ast.Name object at 0x7f3b8252bb80>
    - <ast.Name object at 0x7f3b8252b070>
    - <ast.Name object at 0x7f3b8252b310>
    - <ast.Name object at 0x7f3b8252bd60>
    - <ast.Name object at 0x7f3b8252b490>
    - <ast.Name object at 0x7f3b8252b790>
    - <ast.Name object at 0x7f3b8252bac0>
    - <ast.Name object at 0x7f3b8252b550>
    - <ast.Tuple object at 0x7f3b8252bc40>
    - <ast.Constant object at 0x7f3b8252b820>
    - <ast.Name object at 0x7f3b8252b0a0>
    - <ast.Constant object at 0x7f3b8252bb20>
    - <ast.Constant object at 0x7f3b8252b3d0>
    - <ast.Constant object at 0x7f3b82963a30>
    argNames:
    - cls
    - source
    - block_start_string
    - block_end_string
    - variable_start_string
    - variable_end_string
    - comment_start_string
    - comment_end_string
    - line_statement_prefix
    - line_comment_prefix
    - trim_blocks
    - lstrip_blocks
    - newline_sequence
    - keep_trailing_newline
    - extensions
    - optimized
    - undefined
    - finalize
    - autoescape
    - enable_async
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1164
    functionName: jinja2.environment.Template.__new__
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.environment.get_spontaneous_environment
    - env.from_string
    - <builtin>.frozenset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.frozenset
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: env.from_string
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82dbcbb0>
    argNames:
    - cls
    - environment
    - code
    - globals
    - uptodate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1214
    functionName: jinja2.environment.Template.from_code
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.exec
    - object.__new__
    - jinja2.environment.Template._from_namespace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.exec
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - cls
    - environment
    - namespace
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1245
    functionName: jinja2.environment.Template._from_namespace
    functionSourceFile: jinja2.environment
    functionUses: 2
    functionsReached:
    - object.__new__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - cls
    - environment
    - module_dict
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1231
    functionName: jinja2.environment.Template.from_module_dict
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - object.__new__
    - jinja2.environment.Template._from_namespace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1272
    functionName: jinja2.environment.Template.render
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.environment.Template.new_context
    - <builtin>.dict
    - jinja2.environment.Template.render_async
    - asyncio.run
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1294
    functionName: jinja2.environment.Template.render_async
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - jinja2.environment.Template.new_context
    - <builtin>.dict
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.run
    functionSourceFile: asyncio
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8277b880>
    - <ast.Constant object at 0x7f3b8277b8e0>
    - <ast.Constant object at 0x7f3b8277b820>
    argNames:
    - self
    - vars
    - shared
    - locals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1369
    functionName: jinja2.environment.Template.new_context
    functionSourceFile: jinja2.environment
    functionUses: 13
    functionsReached:
    - jinja2.environment.Template.new_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1317
    functionName: jinja2.environment.Template.stream
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.environment.Template.generate.to_list
    - jinja2.environment.Template.generate
    - jinja2.environment.TemplateStream.disable_buffering
    - <builtin>.dict
    - asyncio.run
    - jinja2.environment.Template.new_context
    - jinja2.environment.Template.generate_async
    - jinja2.environment.TemplateStream.__init__
    - functools.partial
    - contextlib.aclosing
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1323
    functionName: jinja2.environment.Template.generate
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - jinja2.environment.Template.generate.to_list
    - <builtin>.dict
    - asyncio.run
    - jinja2.environment.Template.new_context
    - jinja2.environment.Template.generate_async
    - contextlib.aclosing
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - gen
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1581
    functionName: jinja2.environment.TemplateStream.__init__
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - jinja2.environment.TemplateStream.disable_buffering
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1334
    functionName: jinja2.environment.Template.generate.to_list
    functionSourceFile: jinja2.environment
    functionUses: 2
    functionsReached:
    - jinja2.environment.Template.new_context
    - jinja2.environment.Template.generate_async
    - contextlib.aclosing
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1347
    functionName: jinja2.environment.Template.generate_async
    functionSourceFile: jinja2.environment
    functionUses: 3
    functionsReached:
    - jinja2.environment.Template.new_context
    - contextlib.aclosing
    - <builtin>.dict
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contextlib.aclosing
    functionSourceFile: contextlib
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8272a550>
    - <ast.Constant object at 0x7f3b8272aa00>
    - <ast.Constant object at 0x7f3b8272ab20>
    argNames:
    - self
    - vars
    - shared
    - locals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1386
    functionName: jinja2.environment.Template.make_module
    functionSourceFile: jinja2.environment
    functionUses: 2
    functionsReached:
    - jinja2.environment.TemplateModule.__init__
    - template.root_render_func
    - <builtin>.list
    - jinja2.environment.Template.new_context
    - context.get_exported
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82731460>
    argNames:
    - self
    - template
    - context
    - body_stream
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1517
    functionName: jinja2.environment.TemplateModule.__init__
    functionSourceFile: jinja2.environment
    functionUses: 5
    functionsReached:
    - <builtin>.list
    - context.get_exported
    - template.root_render_func
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82a06fa0>
    - <ast.Constant object at 0x7f3b82a065e0>
    - <ast.Constant object at 0x7f3b82a06940>
    argNames:
    - self
    - vars
    - shared
    - locals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1401
    functionName: jinja2.environment.Template.make_module_async
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - jinja2.environment.TemplateModule.__init__
    - template.root_render_func
    - <builtin>.list
    - jinja2.environment.Template.new_context
    - context.get_exported
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.environment.Template
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.utils.internalcode
    - internal_code.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82a06d00>
    argNames:
    - self
    - ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1420
    functionName: jinja2.environment.Template._get_default_module
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - jinja2.environment.TemplateModule.__init__
    - template.root_render_func
    - <builtin>.list
    - jinja2.environment.Template.make_module
    - jinja2.environment.Template.new_context
    - context.get_exported
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82ef0910>
    argNames:
    - self
    - ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1446
    functionName: jinja2.environment.Template._get_default_module_async
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.environment.TemplateModule.__init__
    - template.root_render_func
    - <builtin>.list
    - jinja2.environment.Template.new_context
    - jinja2.environment.Template.make_module_async
    - context.get_exported
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1461
    functionName: jinja2.environment.Template.module
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - jinja2.environment.TemplateModule.__init__
    - template.root_render_func
    - jinja2.environment.Template._get_default_module
    - <builtin>.list
    - jinja2.environment.Template.make_module
    - jinja2.environment.Template.new_context
    - context.get_exported
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - lineno
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1476
    functionName: jinja2.environment.Template.get_corresponding_lineno
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.reversed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.reversed
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1486
    functionName: jinja2.environment.Template.is_up_to_date
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1493
    functionName: jinja2.environment.Template.debug_info
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.tuple
    - <builtin>.map
    - x.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.map
    functionSourceFile: <builtin>
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.tuple
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1503
    functionName: jinja2.environment.Template.__repr__
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.repr
    - <builtin>.id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.id
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.repr
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: template.root_render_func
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 45
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.get_exported
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1537
    functionName: jinja2.environment.TemplateModule.__html__
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - markupsafe.Markup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.Markup
    functionSourceFile: markupsafe
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1540
    functionName: jinja2.environment.TemplateModule.__str__
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1543
    functionName: jinja2.environment.TemplateModule.__repr__
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.repr
    - <builtin>.id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1561
    functionName: jinja2.environment.TemplateExpression.__call__
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.dict
    - jinja2.utils.consume
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - iterable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 121
    functionName: jinja2.utils.consume
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1625
    functionName: jinja2.environment.TemplateStream.disable_buffering
    functionSourceFile: jinja2.environment
    functionUses: 2
    functionsReached:
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b825ba730>
    - <ast.Constant object at 0x7f3b825ba4f0>
    argNames:
    - self
    - fp
    - encoding
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1585
    functionName: jinja2.environment.TemplateStream.dump
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - x.encode
    - jinja2.environment.TemplateStream.__next__
    - jinja2.environment.TemplateStream.__iter__
    - real_fp.close
    - <builtin>.isinstance
    - real_fp.writelines
    - real_fp.write
    - <builtin>.hasattr
    - functools.partial
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: real_fp.writelines
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1657
    functionName: jinja2.environment.TemplateStream.__iter__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1660
    functionName: jinja2.environment.TemplateStream.__next__
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: real_fp.write
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: real_fp.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.partial
    functionSourceFile: functools
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1630
    functionName: jinja2.environment.TemplateStream._buffered_generator
    functionSourceFile: jinja2.environment
    functionUses: 1
    functionsReached:
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.next
    functionSourceFile: <builtin>
    functionUses: 92
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8270f940>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1649
    functionName: jinja2.environment.TemplateStream.enable_buffering
    functionSourceFile: jinja2.environment
    functionUses: 0
    functionsReached:
    - functools.partial
    - jinja2.environment.TemplateStream._buffered_generator
    - <builtin>.next
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.ext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - re.compile
    - jinja2.utils.pass_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: jinja2.ext._TranslationsBasic.gettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - singular
    - plural
    - n
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    functionName: jinja2.ext._TranslationsBasic.ngettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - context
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 34
    functionName: jinja2.ext._TranslationsContext.pgettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - context
    - singular
    - plural
    - n
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 36
    functionName: jinja2.ext._TranslationsContext.npgettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.compile
    functionSourceFile: re
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 76
    functionName: jinja2.ext.Extension.__init_subclass__
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 60
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.ext.Extension
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 89
    functionName: jinja2.ext.Extension.__init__
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 92
    functionName: jinja2.ext.Extension.bind
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - rv.__dict__.update
    - object.__new__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8273f550>
    argNames:
    - self
    - source
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 99
    functionName: jinja2.ext.Extension.preprocess
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - stream
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 108
    functionName: jinja2.ext.Extension.filter_stream
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parser
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 118
    functionName: jinja2.ext.Extension.parse
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8263d640>
    argNames:
    - self
    - name
    - lineno
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 126
    functionName: jinja2.ext.Extension.attr
    functionSourceFile: jinja2.ext
    functionUses: 2
    functionsReached:
    - jinja2.nodes.Node.__init__
    - <builtin>.zip
    - <builtin>.setattr
    - <builtin>.len
    - attributes.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f3b83015040>
    - <ast.Constant object at 0x7f3b830153a0>
    - <ast.Constant object at 0x7f3b830150d0>
    - <ast.Constant object at 0x7f3b830159d0>
    - <ast.Constant object at 0x7f3b83015610>
    argNames:
    - self
    - name
    - args
    - kwargs
    - dyn_args
    - dyn_kwargs
    - lineno
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 136
    functionName: jinja2.ext.Extension.call_method
    functionSourceFile: jinja2.ext
    functionUses: 1
    functionsReached:
    - jinja2.nodes.Node.__init__
    - <builtin>.zip
    - <builtin>.setattr
    - jinja2.ext.Extension.attr
    - <builtin>.len
    - attributes.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 38
    functionName: jinja2.utils.pass_context
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - __context
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 163
    functionName: jinja2.ext._gettext_alias
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - __context.call
    - __context.resolve
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: __context.resolve
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: __context.call
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 169
    functionName: jinja2.ext._make_new_gettext
    functionSourceFile: jinja2.ext
    functionUses: 3
    functionsReached:
    - jinja2.utils.pass_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - __context
    - __string
    - variables
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: jinja2.ext._make_new_gettext.gettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - __context.call
    - markupsafe.Markup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 183
    functionName: jinja2.ext._make_new_ngettext
    functionSourceFile: jinja2.ext
    functionUses: 3
    functionsReached:
    - jinja2.utils.pass_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - __context
    - __singular
    - __plural
    - __num
    - variables
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 185
    functionName: jinja2.ext._make_new_ngettext.ngettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - __context.call
    - markupsafe.Markup
    - variables.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: variables.setdefault
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 202
    functionName: jinja2.ext._make_new_pgettext
    functionSourceFile: jinja2.ext
    functionUses: 3
    functionsReached:
    - jinja2.utils.pass_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - __context
    - __string_ctx
    - __string
    - variables
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 204
    functionName: jinja2.ext._make_new_pgettext.pgettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - __context.call
    - markupsafe.Markup
    - variables.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: jinja2.ext._make_new_npgettext
    functionSourceFile: jinja2.ext
    functionUses: 3
    functionsReached:
    - jinja2.utils.pass_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 6
    argDefaultValues: []
    argNames:
    - __context
    - __string_ctx
    - __singular
    - __plural
    - __num
    - variables
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 223
    functionName: jinja2.ext._make_new_npgettext.npgettext
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - __context.call
    - markupsafe.Markup
    - variables.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 256
    functionName: jinja2.ext.InternationalizationExtension.__init__
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - environment.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.super
    functionSourceFile: <builtin>
    functionUses: 93
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environment.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b826e6b50>
    argNames:
    - self
    - translations
    - newstyle
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 268
    functionName: jinja2.ext.InternationalizationExtension._install
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - jinja2.ext._make_new_gettext
    - jinja2.utils.pass_context
    - jinja2.ext._make_new_ngettext
    - <builtin>.getattr
    - jinja2.ext._make_new_npgettext
    - jinja2.ext._make_new_pgettext
    - jinja2.ext.InternationalizationExtension._install_callables
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 109
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82329700>
    - <ast.Constant object at 0x7f3b82329f70>
    - <ast.Constant object at 0x7f3b82329f10>
    argNames:
    - self
    - gettext
    - ngettext
    - newstyle
    - pgettext
    - npgettext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 298
    functionName: jinja2.ext.InternationalizationExtension._install_callables
    functionSourceFile: jinja2.ext
    functionUses: 2
    functionsReached:
    - jinja2.ext._make_new_gettext
    - jinja2.utils.pass_context
    - jinja2.ext._make_new_ngettext
    - jinja2.ext._make_new_npgettext
    - jinja2.ext._make_new_pgettext
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b824efc40>
    argNames:
    - self
    - newstyle
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 286
    functionName: jinja2.ext.InternationalizationExtension._install_null
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - jinja2.ext._make_new_gettext
    - jinja2.utils.pass_context
    - jinja2.ext._make_new_ngettext
    - jinja2.ext._make_new_npgettext
    - jinja2.ext._make_new_pgettext
    - jinja2.ext.InternationalizationExtension._install_callables
    - gettext.NullTranslations
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gettext.NullTranslations
    functionSourceFile: gettext
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - translations
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 322
    functionName: jinja2.ext.InternationalizationExtension._uninstall
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f3b831ef520>
    argNames:
    - self
    - source
    - gettext_functions
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 326
    functionName: jinja2.ext.InternationalizationExtension._extract
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - <builtin>.tuple
    - <builtin>.isinstance
    - jinja2.ext.extract_from_ast
    - strings.append
    - ast.find_all
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 7
    IfCount: 7
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f3b825371c0>
    - <ast.Constant object at 0x7f3b82537370>
    argNames:
    - ast
    - gettext_functions
    - babel_style
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 635
    functionName: jinja2.ext.extract_from_ast
    functionSourceFile: jinja2.ext
    functionUses: 2
    functionsReached:
    - <builtin>.tuple
    - <builtin>.isinstance
    - strings.append
    - ast.find_all
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 29
    ICount: 14
    IfCount: 20
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parser
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 335
    functionName: jinja2.ext.InternationalizationExtension.parse
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - parser.stream.current.value.replace
    - jinja2.ext.InternationalizationExtension._parse_block
    - <builtin>.setattr
    - parser.stream.current.test
    - <builtin>.isinstance
    - _ws_re.sub
    - <builtin>.len
    - buf.append
    - func_args.extend
    - parser.stream.next_if
    - parser.parse_expression
    - jinja2.ext.InternationalizationExtension._make_node
    - jinja2.nodes.Node.__init__
    - singular.replace
    - collections.deque.popleft
    - node.iter_child_nodes
    - referenced.append
    - <builtin>.zip
    - <builtin>.bool
    - parser.fail
    - node.kwargs.append
    - <builtin>.set
    - parser.stream.expect
    - attributes.pop
    - plural.replace
    - string.strip
    - referenced.update
    - jinja2.ext.InternationalizationExtension._trim_whitespace
    - <builtin>.next
    - jinja2.nodes.Node.set_lineno
    - collections.deque.extend
    - func_args.insert
    - collections.deque
    - parser.stream.skip_if
    - variables.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.stream.next_if
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.stream.expect
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.stream.skip_if
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.fail
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.parse_expression
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 12
    IfCount: 8
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - parser
    - allow_pluralize
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 460
    functionName: jinja2.ext.InternationalizationExtension._parse_block
    functionSourceFile: jinja2.ext
    functionUses: 1
    functionsReached:
    - parser.stream.current.value.replace
    - parser.fail
    - <builtin>.next
    - referenced.append
    - buf.append
    - parser.stream.expect
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: referenced.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.stream.current.test
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f3b8267bc40>
    argNames:
    - self
    - string
    - _ws_re
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 457
    functionName: jinja2.ext.InternationalizationExtension._trim_whitespace
    functionSourceFile: jinja2.ext
    functionUses: 1
    functionsReached:
    - _ws_re.sub
    - string.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 4
    IfCount: 7
    argCount: 8
    argDefaultValues: []
    argNames:
    - self
    - singular
    - plural
    - context
    - variables
    - plural_expr
    - vars_referenced
    - num_called_num
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 507
    functionName: jinja2.ext.InternationalizationExtension._make_node
    functionSourceFile: jinja2.ext
    functionUses: 1
    functionsReached:
    - plural.replace
    - jinja2.nodes.Node.__init__
    - <builtin>.zip
    - singular.replace
    - node.kwargs.append
    - <builtin>.setattr
    - func_args.insert
    - <builtin>.len
    - func_args.extend
    - attributes.pop
    - variables.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8274b1f0>
    argNames:
    - self
    - lineno
    - override
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 220
    functionName: jinja2.nodes.Node.set_lineno
    functionSourceFile: jinja2.nodes
    functionUses: 1
    functionsReached:
    - collections.deque
    - collections.deque.popleft
    - collections.deque.extend
    - node.iter_child_nodes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: string.strip
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _ws_re.sub
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.stream.current.value.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buf.append
    functionSourceFile: <builtin>
    functionUses: 58
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: referenced.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: singular.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: plural.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: func_args.insert
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: func_args.extend
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: variables.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.kwargs.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parser
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 577
    functionName: jinja2.ext.ExprStmtExtension.parse
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - jinja2.nodes.Node.__init__
    - <builtin>.zip
    - <builtin>.next
    - <builtin>.setattr
    - parser.parse_tuple
    - <builtin>.len
    - attributes.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.parse_tuple
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parser
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 588
    functionName: jinja2.ext.LoopControlExtension.parse
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - jinja2.nodes.Node.__init__
    - <builtin>.zip
    - <builtin>.setattr
    - <builtin>.next
    - <builtin>.len
    - attributes.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parser
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 618
    functionName: jinja2.ext.DebugExtension.parse
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - jinja2.nodes.Node.__init__
    - <builtin>.zip
    - <builtin>.setattr
    - jinja2.ext.Extension.call_method
    - jinja2.ext.Extension.attr
    - <builtin>.len
    - parser.stream.expect
    - attributes.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 624
    functionName: jinja2.ext.DebugExtension._render
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - pprint.pformat
    - context.get_all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.get_all
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pprint.pformat
    functionSourceFile: pprint
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.find_all
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: strings.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - tokens
    - comment_tags
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 719
    functionName: jinja2.ext._CommentFinder.__init__
    functionSourceFile: jinja2.ext
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - offset
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 727
    functionName: jinja2.ext._CommentFinder.find_backwards
    functionSourceFile: jinja2.ext
    functionUses: 2
    functionsReached:
    - <builtin>.reversed
    - comment.rstrip
    - token_value.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: token_value.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: comment.rstrip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - lineno
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 743
    functionName: jinja2.ext._CommentFinder.find_comments
    functionSourceFile: jinja2.ext
    functionUses: 1
    functionsReached:
    - <builtin>.reversed
    - jinja2.ext._CommentFinder.find_backwards
    - token_value.split
    - <builtin>.enumerate
    - comment.rstrip
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.enumerate
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - fileobj
    - keywords
    - comment_tags
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 24
    functionLinenumber: 752
    functionName: jinja2.ext.babel_extract
    functionSourceFile: jinja2.ext
    functionUses: 0
    functionsReached:
    - threading.Lock
    - jinja2.environment.Environment.handle_exception
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - <builtin>.enumerate
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.ext._CommentFinder.find_comments
    - jinja2.parser.Parser.parse_statement
    - jinja2.ext._CommentFinder.find_backwards
    - token_value.split
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.nodes.Node.set_environment
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - jinja2.environment.Environment.lex
    - collections.deque.extend
    - options.get
    - <builtin>.sorted
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.lexer.TokenStream.__init__
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - DEFAULT_POLICIES.copy
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - jinja2.utils.LRUCache.__init__
    - jinja2.parser.Parser.parse
    - comment.rstrip
    - <builtin>.issubclass
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.environment.create_cache
    - jinja2.nodes.NSRef.can_assign
    - jinja2.ext.extract_from_ast
    - jinja2.utils.LRUCache._postinit
    - typing.cast
    - DEFAULT_NAMESPACE.copy
    - jinja2.environment.load_extensions
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.str
    - <builtin>.set
    - ast.find_all
    - jinja2.environment.Environment._parse
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.nodes.Tuple.can_assign
    - expected.update
    - jinja2.ext._CommentFinder.__init__
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - DEFAULT_FILTERS.copy
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - functools.reduce
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - DEFAULT_TESTS.copy
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.__import__
    - jinja2.lexer.TokenStream.push
    - fileobj.read
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - ext.filter_stream
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.environment.Environment.preprocess
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - extension_name.strip
    - jinja2.environment.Environment.iter_extensions
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.environment._environment_config_check
    - import_name.rpartition
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - jinja2.environment.Environment.parse
    - <builtin>.type
    - jinja2.environment.Environment.__init__
    - <builtin>.isinstance
    - strings.append
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - <builtin>.reversed
    - typing.NamedTuple.__init__
    - jinja2.parser.Parser.subparse
    - collections.deque.popleft
    - jinja2.parser.Parser._fail_ut_eof
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.utils.import_string
    - jinja2.parser.Parser.parse_not
    - body.extend
    - import_name.split
    - jinja2.environment.Environment._tokenize
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - <builtin>.tuple
    - jinja2.ext.babel_extract.getbool
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - <builtin>.iter
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: options.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: extension_name.strip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b827c7be0>
    argNames:
    - options
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 798
    functionName: jinja2.ext.babel_extract.getbool
    functionSourceFile: jinja2.ext
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - options.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fileobj.read
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.debug
    functionSourceFile: jinja2.debug
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f3b83018d60>
    argNames:
    - source
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 14
    functionName: jinja2.debug.rewrite_traceback_stack
    functionSourceFile: jinja2.debug
    functionUses: 0
    functionsReached:
    - function.startswith
    - code.replace
    - name.split
    - template.get_corresponding_lineno
    - <builtin>.isinstance
    - <builtin>.reversed
    - locals.pop
    - sys.exc_info
    - typing.cast
    - ctx.get_all
    - <builtin>.exec
    - stack.append
    - jinja2.debug.fake_traceback
    - jinja2.debug.get_template_locals
    - local_overrides.get
    - real_locals.get
    - data.pop
    - real_locals.items
    - exc_value.with_traceback
    - name.startswith
    - local_overrides.items
    - <builtin>.int
    - tb.tb_frame.f_globals.get
    - <builtin>.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.exc_info
    functionSourceFile: sys
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: exc_value.with_traceback
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - exc_value
    - tb
    - filename
    - lineno
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 76
    functionName: jinja2.debug.fake_traceback
    functionSourceFile: jinja2.debug
    functionUses: 1
    functionsReached:
    - function.startswith
    - locals.pop
    - code.replace
    - name.split
    - ctx.get_all
    - <builtin>.int
    - jinja2.debug.get_template_locals
    - sys.exc_info
    - local_overrides.get
    - real_locals.get
    - <builtin>.compile
    - data.pop
    - <builtin>.exec
    - real_locals.items
    - name.startswith
    - local_overrides.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tb.tb_frame.f_globals.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: template.get_corresponding_lineno
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stack.append
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - real_locals
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: jinja2.debug.get_template_locals
    functionSourceFile: jinja2.debug
    functionUses: 2
    functionsReached:
    - name.split
    - <builtin>.int
    - local_overrides.get
    - real_locals.get
    - data.pop
    - ctx.get_all
    - real_locals.items
    - name.startswith
    - local_overrides.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: locals.pop
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.compile
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: function.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: code.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: real_locals.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ctx.get_all
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: real_locals.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.startswith
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.int
    functionSourceFile: <builtin>
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: local_overrides.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: local_overrides.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.pop
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.defaults
    functionSourceFile: jinja2.defaults
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jinja2.filters
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.async_utils.async_variant
    - re.compile
    - jinja2.utils.pass_context
    - jinja2.async_utils.async_variant.decorator
    - jinja2.utils._PassArg.from_obj
    - functools.wraps
    - typing.overload
    - <builtin>.tuple
    - <builtin>.hasattr
    - <builtin>.set
    - jinja2.utils.pass_eval_context
    - jinja2.utils.pass_environment
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 40
    functionName: jinja2.filters.HasHTML.__html__
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 49
    functionName: jinja2.filters.ignore_case
    functionSourceFile: jinja2.filters
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - typing.cast
    - value.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82579ac0>
    - <ast.Constant object at 0x7f3b82579a60>
    argNames:
    - environment
    - attribute
    - postprocess
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 58
    functionName: jinja2.filters.make_attrgetter
    functionSourceFile: jinja2.filters
    functionUses: 25
    functionsReached:
    - jinja2.filters._prepare_attribute_parts
    - <builtin>.int
    - attr.split
    - <builtin>.isinstance
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - attr
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 127
    functionName: jinja2.filters._prepare_attribute_parts
    functionSourceFile: jinja2.filters
    functionUses: 28
    functionsReached:
    - <builtin>.int
    - <builtin>.isinstance
    - attr.split
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 71
    functionName: jinja2.filters.make_attrgetter.attrgetter
    functionSourceFile: jinja2.filters
    functionUses: 18
    functionsReached:
    - environment.getitem
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environment.getitem
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8300ebb0>
    argNames:
    - environment
    - attribute
    - postprocess
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 86
    functionName: jinja2.filters.make_multi_attrgetter
    functionSourceFile: jinja2.filters
    functionUses: 1
    functionsReached:
    - jinja2.filters._prepare_attribute_parts
    - <builtin>.int
    - attr.split
    - <builtin>.isinstance
    - attribute.split
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attribute.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: jinja2.filters.make_multi_attrgetter.attrgetter
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.getitem
    - <builtin>.len
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.isdigit
    functionSourceFile: <builtin>
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attr.split
    functionSourceFile: <builtin>
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 139
    functionName: jinja2.filters.do_forceescape
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - typing.cast
    - <builtin>.hasattr
    - markupsafe.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.escape
    functionSourceFile: markupsafe
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 147
    functionName: jinja2.filters.do_urlencode
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - value.items
    - jinja2.utils.url_quote
    - urllib.parse.quote_from_bytes.replace
    - <builtin>.isinstance
    - <builtin>.str
    - urllib.parse.quote_from_bytes
    - obj.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b826e1910>
    - <ast.Constant object at 0x7f3b826e15b0>
    argNames:
    - obj
    - charset
    - for_qs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 408
    functionName: jinja2.utils.url_quote
    functionSourceFile: jinja2.utils
    functionUses: 1
    functionsReached:
    - urllib.parse.quote_from_bytes.replace
    - <builtin>.str
    - urllib.parse.quote_from_bytes
    - <builtin>.isinstance
    - obj.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.items
    functionSourceFile: <builtin>
    functionUses: 78
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 55
    functionName: jinja2.utils.pass_eval_context
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8255dd00>
    argNames:
    - eval_ctx
    - s
    - old
    - new
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 179
    functionName: jinja2.filters.do_replace
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.escape.replace
    - markupsafe.escape
    - <builtin>.str
    - markupsafe.soft_str.replace
    - <builtin>.hasattr
    - markupsafe.soft_str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.soft_str
    functionSourceFile: markupsafe
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.soft_str.replace
    functionSourceFile: markupsafe
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.escape.replace
    functionSourceFile: markupsafe
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 214
    functionName: jinja2.filters.do_upper
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str
    - markupsafe.soft_str.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.soft_str.upper
    functionSourceFile: markupsafe
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: jinja2.filters.do_lower
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str
    - markupsafe.soft_str.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.soft_str.lower
    functionSourceFile: markupsafe
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 224
    functionName: jinja2.filters.do_items
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - value.items
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82a0a580>
    argNames:
    - eval_ctx
    - d
    - autospace
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 260
    functionName: jinja2.filters.do_xmlattr
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - _attr_key_re.search
    - markupsafe.Markup
    - markupsafe.escape
    - items.append
    - <builtin>.isinstance
    - d.items
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _attr_key_re.search
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: items.append
    functionSourceFile: <builtin>
    functionUses: 54
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 321
    functionName: jinja2.filters.do_capitalize
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str.capitalize
    - markupsafe.soft_str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.soft_str.capitalize
    functionSourceFile: markupsafe
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 331
    functionName: jinja2.filters.do_title
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str
    - _word_beginning_split_re.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _word_beginning_split_re.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82811cd0>
    - <ast.Constant object at 0x7f3b82811400>
    - <ast.Constant object at 0x7f3b82811df0>
    argNames:
    - value
    - case_sensitive
    - by
    - reverse
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 344
    functionName: jinja2.filters.do_dictsort
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - value.items
    linkageType: pythonLinkage
    raised:
    - FilterArgumentError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 374
    functionName: jinja2.filters.do_dictsort.sort_func
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters.ignore_case
    - typing.cast
    - value.lower
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 72
    functionName: jinja2.utils.pass_environment
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3b83075bb0>
    - <ast.Constant object at 0x7f3b83075a60>
    - <ast.Constant object at 0x7f3b83075a90>
    argNames:
    - environment
    - value
    - reverse
    - case_sensitive
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 386
    functionName: jinja2.filters.do_sort
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters._prepare_attribute_parts
    - <builtin>.int
    - jinja2.filters.make_multi_attrgetter
    - attr.split
    - <builtin>.isinstance
    - attribute.split
    - <builtin>.sorted
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8253d6d0>
    - <ast.Constant object at 0x7f3b8253daf0>
    argNames:
    - environment
    - value
    - case_sensitive
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 442
    functionName: jinja2.filters.sync_do_unique
    functionSourceFile: jinja2.filters
    functionUses: 1
    functionsReached:
    - jinja2.filters._prepare_attribute_parts
    - seen.add
    - jinja2.filters.make_attrgetter.attrgetter
    - attr.split
    - <builtin>.int
    - <builtin>.isinstance
    - jinja2.filters.make_attrgetter
    - <builtin>.set
    - environment.getitem
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: seen.add
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - normal_func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 15
    functionName: jinja2.async_utils.async_variant
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - async_func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 16
    functionName: jinja2.async_utils.async_variant.decorator
    functionSourceFile: jinja2.async_utils
    functionUses: 1
    functionsReached:
    - jinja2.utils._PassArg.from_obj
    - functools.wraps
    - <builtin>.tuple
    - <builtin>.hasattr
    - <builtin>.set
    - jinja2.utils.pass_eval_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8253deb0>
    - <ast.Constant object at 0x7f3b8253d790>
    argNames:
    - environment
    - value
    - case_sensitive
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 475
    functionName: jinja2.filters.do_unique
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.async_utils.auto_to_list
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - jinja2.filters._prepare_attribute_parts
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter.attrgetter
    - attr.split
    - seen.add
    - <builtin>.int
    - <builtin>.isinstance
    - iterable.__aiter__
    - <builtin>.iter
    - <builtin>.hasattr
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - <builtin>.set
    - jinja2.filters.sync_do_unique
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 96
    functionName: jinja2.async_utils.auto_to_list
    functionSourceFile: jinja2.async_utils
    functionUses: 5
    functionsReached:
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - jinja2.async_utils.auto_aiter
    - iterable.__aiter__
    - <builtin>.hasattr
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - environment
    - value
    - func
    - case_sensitive
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 486
    functionName: jinja2.filters._min_or_max
    functionSourceFile: jinja2.filters
    functionUses: 2
    functionsReached:
    - environment.undefined
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - <builtin>.int
    - <builtin>.next
    - <builtin>.isinstance
    - jinja2.filters.make_attrgetter
    - itertools.chain
    - <builtin>.iter
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environment.undefined
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: itertools.chain
    functionSourceFile: itertools
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8269a070>
    - <ast.Constant object at 0x7f3b8269a3d0>
    argNames:
    - environment
    - value
    - case_sensitive
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 507
    functionName: jinja2.filters.do_min
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.undefined
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - <builtin>.int
    - <builtin>.next
    - <builtin>.isinstance
    - jinja2.filters.make_attrgetter
    - itertools.chain
    - <builtin>.iter
    - jinja2.filters._min_or_max
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8269a730>
    - <ast.Constant object at 0x7f3b826ae460>
    argNames:
    - environment
    - value
    - case_sensitive
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 527
    functionName: jinja2.filters.do_max
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.undefined
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - <builtin>.int
    - <builtin>.next
    - <builtin>.isinstance
    - jinja2.filters.make_attrgetter
    - itertools.chain
    - <builtin>.iter
    - jinja2.filters._min_or_max
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b826aee20>
    - <ast.Constant object at 0x7f3b826ae3a0>
    argNames:
    - value
    - default_value
    - boolean
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 546
    functionName: jinja2.filters.do_default
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b826ae820>
    - <ast.Constant object at 0x7f3b826ae880>
    argNames:
    - eval_ctx
    - value
    - d
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 580
    functionName: jinja2.filters.sync_do_join
    functionSourceFile: jinja2.filters
    functionUses: 1
    functionsReached:
    - <builtin>.list
    - markupsafe.soft_str.join
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - <builtin>.int
    - markupsafe.escape
    - markupsafe.escape.join
    - <builtin>.str
    - <builtin>.isinstance
    - <builtin>.map
    - jinja2.filters.make_attrgetter
    - <builtin>.hasattr
    - <builtin>.enumerate
    - markupsafe.soft_str
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.escape.join
    functionSourceFile: markupsafe
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.soft_str.join
    functionSourceFile: markupsafe
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82703880>
    - <ast.Constant object at 0x7f3b827038e0>
    argNames:
    - eval_ctx
    - value
    - d
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 638
    functionName: jinja2.filters.do_join
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.enumerate
    - <builtin>.list
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - markupsafe.escape
    - markupsafe.escape.join
    - <builtin>.map
    - x.isdigit
    - jinja2.async_utils.auto_to_list
    - jinja2.filters.sync_do_join
    - jinja2.async_utils.auto_aiter
    - markupsafe.soft_str.join
    - <builtin>.str
    - jinja2.filters.make_attrgetter
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - <builtin>.int
    - iterable.__aiter__
    - <builtin>.hasattr
    - <builtin>.iter
    - markupsafe.soft_str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82703310>
    argNames:
    - value
    - width
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 647
    functionName: jinja2.filters.do_center
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str.center
    - markupsafe.soft_str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.soft_str.center
    functionSourceFile: markupsafe
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - environment
    - seq
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 653
    functionName: jinja2.filters.sync_do_first
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.undefined
    - <builtin>.iter
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - environment
    - seq
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 662
    functionName: jinja2.filters.do_first
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - environment.undefined
    - jinja2.async_utils.auto_aiter
    - <builtin>.next
    - iterable.__aiter__
    - <builtin>.iter
    - <builtin>.hasattr
    - jinja2.async_utils._IteratorToAsyncIterator.__anext__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - iterable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 87
    functionName: jinja2.async_utils.auto_aiter
    functionSourceFile: jinja2.async_utils
    functionUses: 16
    functionsReached:
    - <builtin>.hasattr
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - iterable.__aiter__
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: jinja2.async_utils._IteratorToAsyncIterator.__anext__
    functionSourceFile: jinja2.async_utils
    functionUses: 5
    functionsReached:
    - <builtin>.next
    linkageType: pythonLinkage
    raised:
    - StopAsyncIteration
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - environment
    - seq
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 672
    functionName: jinja2.filters.do_last
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.reversed
    - <builtin>.iter
    - environment.undefined
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - context
    - seq
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 692
    functionName: jinja2.filters.do_random
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - context.environment.undefined
    - random.choice
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.choice
    functionSourceFile: random
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.environment.undefined
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b829d06d0>
    argNames:
    - value
    - binary
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 700
    functionName: jinja2.filters.do_filesizeformat
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.float
    - <builtin>.int
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.float
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 733
    functionName: jinja2.filters.do_pprint
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - pprint.pformat
    - jinja2.utils.pformat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 192
    functionName: jinja2.utils.pformat
    functionSourceFile: jinja2.utils
    functionUses: 1
    functionsReached:
    - pprint.pformat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82543100>
    - <ast.Constant object at 0x7f3b82543400>
    - <ast.Constant object at 0x7f3b82543a00>
    - <ast.Constant object at 0x7f3b82543550>
    - <ast.Constant object at 0x7f3b82543ca0>
    argNames:
    - eval_ctx
    - value
    - trim_url_limit
    - nofollow
    - target
    - rel
    - extra_schemes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 742
    functionName: jinja2.filters.do_urlize
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - tail.count
    - jinja2.utils.urlize
    - _email_re.match
    - match.end
    - middle.endswith
    - <builtin>.enumerate
    - re.split
    - _http_re.match
    - jinja2.utils.urlize.trim_url
    - <builtin>.len
    - re.search
    - middle.count
    - _uri_scheme_re.fullmatch
    - markupsafe.escape
    - re.match
    - rel_parts.update
    - match.start
    - markupsafe.Markup
    - <builtin>.str
    - <builtin>.set
    - middle.startswith
    - match.group
    - <builtin>.min
    - <builtin>.range
    - rel_parts.add
    - tail.index
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised:
    - FilterArgumentError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rel_parts.add
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rel_parts.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _uri_scheme_re.fullmatch
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 1
    IfCount: 11
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82739f70>
    - <ast.Constant object at 0x7f3b82739820>
    - <ast.Constant object at 0x7f3b82739730>
    - <ast.Constant object at 0x7f3b827398e0>
    argNames:
    - text
    - trim_url_limit
    - rel
    - target
    - extra_schemes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 230
    functionName: jinja2.utils.urlize
    functionSourceFile: jinja2.utils
    functionUses: 1
    functionsReached:
    - tail.count
    - _email_re.match
    - match.end
    - middle.endswith
    - <builtin>.enumerate
    - re.split
    - _http_re.match
    - <builtin>.len
    - jinja2.utils.urlize.trim_url
    - re.search
    - middle.count
    - markupsafe.escape
    - re.match
    - match.start
    - <builtin>.str
    - middle.startswith
    - match.group
    - <builtin>.min
    - <builtin>.range
    - tail.index
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82617310>
    - <ast.Constant object at 0x7f3b82617220>
    - <ast.Constant object at 0x7f3b82617ee0>
    argNames:
    - s
    - width
    - first
    - blank
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 821
    functionName: jinja2.filters.do_indent
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.Markup.join
    - s.splitlines
    - markupsafe.Markup
    - lines.pop
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.splitlines
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.Markup.join
    functionSourceFile: markupsafe
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lines.pop
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8287d940>
    - <ast.Constant object at 0x7f3b8287dd90>
    - <ast.Constant object at 0x7f3b8287dbb0>
    - <ast.Constant object at 0x7f3b8287d730>
    argNames:
    - env
    - s
    - length
    - killwords
    - end
    - leeway
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 870
    functionName: jinja2.filters.do_truncate
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f3b825823a0>
    - <ast.Constant object at 0x7f3b82582430>
    - <ast.Constant object at 0x7f3b82582a30>
    - <ast.Constant object at 0x7f3b825823d0>
    argNames:
    - environment
    - s
    - width
    - break_long_words
    - wrapstring
    - break_on_hyphens
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 918
    functionName: jinja2.filters.do_wordwrap
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - s.splitlines
    - textwrap.wrap
    - wrapstring.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: textwrap.wrap
    functionSourceFile: textwrap
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: wrapstring.join
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 976
    functionName: jinja2.filters.do_wordcount
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - _word_re.findall
    - <builtin>.len
    - markupsafe.soft_str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _word_re.findall
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82a06610>
    - <ast.Constant object at 0x7f3b82a06910>
    argNames:
    - value
    - default
    - base
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 981
    functionName: jinja2.filters.do_int
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.float
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82a06730>
    argNames:
    - value
    - default
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1003
    functionName: jinja2.filters.do_float
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1014
    functionName: jinja2.filters.do_format
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str
    linkageType: pythonLinkage
    raised:
    - FilterArgumentError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82ef0c40>
    argNames:
    - value
    - chars
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1042
    functionName: jinja2.filters.do_trim
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.soft_str.strip
    - markupsafe.soft_str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.soft_str.strip
    functionSourceFile: markupsafe
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1047
    functionName: jinja2.filters.do_striptags
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.Markup.striptags
    - markupsafe.Markup
    - <builtin>.str
    - typing.cast
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.Markup.striptags
    functionSourceFile: markupsafe
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8271de20>
    argNames:
    - value
    - slices
    - fill_with
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1055
    functionName: jinja2.filters.sync_do_slice
    functionSourceFile: jinja2.filters
    functionUses: 1
    functionsReached:
    - <builtin>.list
    - <builtin>.len
    - tmp.append
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 62
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tmp.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b825a69d0>
    argNames:
    - value
    - slices
    - fill_with
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1099
    functionName: jinja2.filters.do_slice
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.async_utils.auto_to_list
    - jinja2.filters.sync_do_slice
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - <builtin>.list
    - <builtin>.range
    - jinja2.async_utils.auto_aiter
    - tmp.append
    - iterable.__aiter__
    - <builtin>.iter
    - <builtin>.hasattr
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82731d60>
    argNames:
    - value
    - linecount
    - fill_with
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1107
    functionName: jinja2.filters.do_batch
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - tmp.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82dd2610>
    - <ast.Constant object at 0x7f3b82dd24c0>
    argNames:
    - value
    - precision
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1144
    functionName: jinja2.filters.do_round
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.round
    - <builtin>.getattr
    - typing.cast
    linkageType: pythonLinkage
    raised:
    - FilterArgumentError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.round
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1190
    functionName: jinja2.filters._GroupTuple.__repr__
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - tuple.__repr__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tuple.__repr__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1193
    functionName: jinja2.filters._GroupTuple.__str__
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - tuple.__str__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tuple.__str__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8265ea00>
    - <ast.Constant object at 0x7f3b8265e220>
    argNames:
    - environment
    - value
    - attribute
    - default
    - case_sensitive
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1198
    functionName: jinja2.filters.sync_do_groupby
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - itertools.groupby
    - typing.NamedTuple.__init__
    - <builtin>.list
    - jinja2.filters._prepare_attribute_parts
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    - attr.split
    - <builtin>.isinstance
    - jinja2.filters.make_attrgetter
    - <builtin>.sorted
    - environment.getitem
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.__init__
    functionSourceFile: ''
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: itertools.groupby
    functionSourceFile: itertools
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82dc6790>
    - <ast.Constant object at 0x7f3b82dc6f70>
    argNames:
    - environment
    - value
    - attribute
    - default
    - case_sensitive
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1282
    functionName: jinja2.filters.do_groupby
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.async_utils.auto_to_list
    - itertools.groupby
    - typing.NamedTuple.__init__
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - jinja2.filters._prepare_attribute_parts
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter.attrgetter
    - attr.split
    - <builtin>.int
    - <builtin>.isinstance
    - jinja2.filters.make_attrgetter
    - iterable.__aiter__
    - <builtin>.iter
    - <builtin>.sorted
    - <builtin>.hasattr
    - environment.getitem
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8256e3a0>
    - <ast.Constant object at 0x7f3b8256ef40>
    argNames:
    - environment
    - iterable
    - attribute
    - start
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1309
    functionName: jinja2.filters.sync_do_sum
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - <builtin>.int
    - <builtin>.isinstance
    - <builtin>.map
    - jinja2.filters.make_attrgetter
    - <builtin>.sum
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sum
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82977910>
    - <ast.Constant object at 0x7f3b829775b0>
    argNames:
    - environment
    - iterable
    - attribute
    - start
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1336
    functionName: jinja2.filters.do_sum
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - jinja2.filters._prepare_attribute_parts
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter.attrgetter
    - attr.split
    - <builtin>.int
    - <builtin>.isinstance
    - iterable.__aiter__
    - jinja2.filters.make_attrgetter
    - <builtin>.iter
    - environment.getitem
    - <builtin>.hasattr
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1348
    functionName: jinja2.filters.do_sum.func
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1357
    functionName: jinja2.filters.sync_do_list
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1365
    functionName: jinja2.filters.do_list
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.async_utils.auto_to_list
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - jinja2.async_utils.auto_aiter
    - iterable.__aiter__
    - <builtin>.hasattr
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1369
    functionName: jinja2.filters.do_mark_safe
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - markupsafe.Markup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1376
    functionName: jinja2.filters.do_mark_unsafe
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1389
    functionName: jinja2.filters.do_reverse
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - <builtin>.reversed
    - <builtin>.list
    - <builtin>.isinstance
    - rv.reverse
    linkageType: pythonLinkage
    raised:
    - FilterArgumentError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.reverse
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - environment
    - obj
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1408
    functionName: jinja2.filters.do_attr
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - environment.undefined
    - environment.getattr
    - <builtin>.hasattr
    - inspect.getattr_static
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.getattr_static
    functionSourceFile: inspect
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environment.getattr
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1451
    functionName: jinja2.filters.sync_do_map
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - jinja2.filters._prepare_attribute_parts
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    - attr.split
    - <builtin>.isinstance
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - jinja2.filters.prepare_map
    - x.isdigit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - context
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1718
    functionName: jinja2.filters.prepare_map
    functionSourceFile: jinja2.filters
    functionUses: 2
    functionsReached:
    - kwargs.pop
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - <builtin>.int
    - <builtin>.isinstance
    - jinja2.filters.make_attrgetter
    - x.isdigit
    linkageType: pythonLinkage
    raised:
    - FilterArgumentError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1521
    functionName: jinja2.filters.do_map
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.async_utils.auto_await
    - <builtin>.type
    - <builtin>.isinstance
    - kwargs.pop
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - typing.cast
    - inspect.isawaitable
    - x.isdigit
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    - iterable.__aiter__
    - <builtin>.iter
    - <builtin>.hasattr
    - jinja2.filters.prepare_map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: jinja2.async_utils.auto_await
    functionSourceFile: jinja2.async_utils
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - inspect.isawaitable
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1535
    functionName: jinja2.filters.sync_do_select
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters.sync_do_reject.<lambda1>
    - context.environment.call_test
    - jinja2.filters.sync_do_select.<lambda1>
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - jinja2.filters.select_or_reject
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.do_select.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - jinja2.filters.prepare_select_or_reject.func
    - x.isdigit
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.filters.sync_do_select.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 6
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    - modfunc
    - lookup_attr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1780
    functionName: jinja2.filters.select_or_reject
    functionSourceFile: jinja2.filters
    functionUses: 4
    functionsReached:
    - jinja2.filters.sync_do_reject.<lambda1>
    - context.environment.call_test
    - jinja2.filters.sync_do_select.<lambda1>
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.do_select.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - jinja2.filters.prepare_select_or_reject.func
    - x.isdigit
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1566
    functionName: jinja2.filters.do_select
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters.sync_do_reject.<lambda1>
    - context.environment.call_test
    - jinja2.filters.sync_do_select.<lambda1>
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.async_select_or_reject
    - jinja2.filters.do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.do_select.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - jinja2.filters.prepare_select_or_reject.func
    - x.isdigit
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - iterable.__aiter__
    - <builtin>.iter
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.filters.do_select.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 6
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    - modfunc
    - lookup_attr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1796
    functionName: jinja2.filters.async_select_or_reject
    functionSourceFile: jinja2.filters
    functionUses: 4
    functionsReached:
    - jinja2.filters.sync_do_reject.<lambda1>
    - context.environment.call_test
    - jinja2.filters.sync_do_select.<lambda1>
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.do_select.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - jinja2.filters.prepare_select_or_reject.func
    - x.isdigit
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - iterable.__aiter__
    - <builtin>.iter
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1576
    functionName: jinja2.filters.sync_do_reject
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters.sync_do_reject.<lambda1>
    - context.environment.call_test
    - jinja2.filters.sync_do_select.<lambda1>
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - jinja2.filters.select_or_reject
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.do_select.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - jinja2.filters.prepare_select_or_reject.func
    - x.isdigit
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.filters.sync_do_reject.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1602
    functionName: jinja2.filters.do_reject
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters.sync_do_reject.<lambda1>
    - context.environment.call_test
    - jinja2.filters.sync_do_select.<lambda1>
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.async_select_or_reject
    - jinja2.filters.do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.do_select.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - jinja2.filters.prepare_select_or_reject.func
    - x.isdigit
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - iterable.__aiter__
    - <builtin>.iter
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.filters.do_reject.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1612
    functionName: jinja2.filters.sync_do_selectattr
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters.sync_do_reject.<lambda1>
    - context.environment.call_test
    - jinja2.filters.sync_do_select.<lambda1>
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - jinja2.filters.select_or_reject
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.do_select.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - jinja2.filters.prepare_select_or_reject.func
    - x.isdigit
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.filters.sync_do_selectattr.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1642
    functionName: jinja2.filters.do_selectattr
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters.sync_do_reject.<lambda1>
    - context.environment.call_test
    - jinja2.filters.sync_do_select.<lambda1>
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.async_select_or_reject
    - jinja2.filters.do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.do_select.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - jinja2.filters.prepare_select_or_reject.func
    - x.isdigit
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - iterable.__aiter__
    - <builtin>.iter
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.filters.do_selectattr.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1652
    functionName: jinja2.filters.sync_do_rejectattr
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters.sync_do_reject.<lambda1>
    - context.environment.call_test
    - jinja2.filters.sync_do_select.<lambda1>
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - jinja2.filters.select_or_reject
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.do_select.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - jinja2.filters.prepare_select_or_reject.func
    - x.isdigit
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.filters.sync_do_rejectattr.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - context
    - value
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1680
    functionName: jinja2.filters.do_rejectattr
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - jinja2.filters.sync_do_reject.<lambda1>
    - context.environment.call_test
    - jinja2.filters.sync_do_select.<lambda1>
    - jinja2.filters.do_reject.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.async_select_or_reject
    - jinja2.filters.do_rejectattr.<lambda1>
    - jinja2.filters.prepare_select_or_reject
    - jinja2.filters.do_selectattr.<lambda1>
    - jinja2.filters.do_select.<lambda1>
    - jinja2.filters._prepare_attribute_parts
    - attr.split
    - jinja2.filters.prepare_select_or_reject.func
    - x.isdigit
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.async_utils.auto_aiter
    - jinja2.filters.make_attrgetter
    - environment.getitem
    - jinja2.filters.prepare_select_or_reject.<lambda1>
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - jinja2.filters.make_attrgetter.attrgetter
    - <builtin>.int
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - iterable.__aiter__
    - <builtin>.iter
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.filters.do_rejectattr.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b825c0a30>
    argNames:
    - eval_ctx
    - value
    - indent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1690
    functionName: jinja2.filters.do_tojson
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - json.dumps
    - markupsafe.Markup
    - kwargs.copy
    - jinja2.utils.htmlsafe_json_dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.copy
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8252b310>
    argNames:
    - obj
    - dumps
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 637
    functionName: jinja2.utils.htmlsafe_json_dumps
    functionSourceFile: jinja2.utils
    functionUses: 1
    functionsReached:
    - json.dumps
    - markupsafe.Markup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.pop
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1738
    functionName: jinja2.filters.prepare_map.func
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached:
    - context.environment.call_filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.environment.call_filter
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - context
    - args
    - kwargs
    - modfunc
    - lookup_attr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1746
    functionName: jinja2.filters.prepare_select_or_reject
    functionSourceFile: jinja2.filters
    functionUses: 10
    functionsReached:
    - jinja2.filters._prepare_attribute_parts
    - <builtin>.int
    - attr.split
    - <builtin>.isinstance
    - jinja2.filters.make_attrgetter
    - x.isdigit
    linkageType: pythonLinkage
    raised:
    - FilterArgumentError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1764
    functionName: jinja2.filters.prepare_select_or_reject.transfunc
    functionSourceFile: jinja2.filters
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1771
    functionName: jinja2.filters.prepare_select_or_reject.func
    functionSourceFile: jinja2.filters
    functionUses: 11
    functionsReached:
    - context.environment.call_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.environment.call_test
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.filters.prepare_select_or_reject.<lambda1>
    functionSourceFile: jinja2.filters
    functionUses: 10
    functionsReached:
    - jinja2.filters.do_select.<lambda1>
    - jinja2.filters.sync_do_selectattr.<lambda1>
    - jinja2.filters.sync_do_reject.<lambda1>
    - jinja2.filters.make_attrgetter.attrgetter
    - jinja2.filters.sync_do_rejectattr.<lambda1>
    - context.environment.call_test
    - jinja2.filters.do_reject.<lambda1>
    - jinja2.filters.sync_do_select.<lambda1>
    - <builtin>.isinstance
    - jinja2.filters.prepare_select_or_reject.func
    - jinja2.filters.do_rejectattr.<lambda1>
    - jinja2.filters.do_selectattr.<lambda1>
    - environment.getitem
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.sandbox
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - <builtin>.frozenset
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 87
    functionName: jinja2.sandbox.safe_range
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached:
    - <builtin>.range
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - OverflowError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 102
    functionName: jinja2.sandbox.unsafe
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 1
    IfCount: 13
    argCount: 2
    argDefaultValues: []
    argNames:
    - obj
    - attr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 115
    functionName: jinja2.sandbox.is_internal_attribute
    functionSourceFile: jinja2.sandbox
    functionUses: 6
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.hasattr
    - attr.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attr.startswith
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - obj
    - attr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 152
    functionName: jinja2.sandbox.modifies_known_mutable
    functionSourceFile: jinja2.sandbox
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.sandbox.SandboxedEnvironment
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached:
    - <builtin>.frozenset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 242
    functionName: jinja2.sandbox.SandboxedEnvironment.__init__
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - obj
    - attr
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 248
    functionName: jinja2.sandbox.SandboxedEnvironment.is_safe_attribute
    functionSourceFile: jinja2.sandbox
    functionUses: 5
    functionsReached:
    - <builtin>.isinstance
    - attr.startswith
    - <builtin>.hasattr
    - jinja2.sandbox.is_internal_attribute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 257
    functionName: jinja2.sandbox.SandboxedEnvironment.is_safe_callable
    functionSourceFile: jinja2.sandbox
    functionUses: 1
    functionsReached:
    - jinja2.sandbox.SandboxedEnvironment.wrap_str_format
    - jinja2.sandbox.SandboxedEnvironment.getattr
    - jinja2.sandbox.SandboxedFormatter.__init__
    - jinja2.sandbox.SandboxedEnvironment.is_safe_attribute
    - attr.startswith
    - <builtin>.type
    - functools.update_wrapper
    - <builtin>.super
    - jinja2.sandbox.SandboxedEnvironment.unsafe_undefined
    - <builtin>.isinstance
    - <builtin>.hasattr
    - jinja2.sandbox.is_internal_attribute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 312
    functionName: jinja2.sandbox.SandboxedEnvironment.getattr
    functionSourceFile: jinja2.sandbox
    functionUses: 4
    functionsReached:
    - jinja2.sandbox.SandboxedEnvironment.wrap_str_format
    - jinja2.sandbox.SandboxedEnvironment.getattr
    - jinja2.sandbox.SandboxedFormatter.__init__
    - jinja2.sandbox.SandboxedEnvironment.is_safe_attribute
    - attr.startswith
    - <builtin>.type
    - functools.update_wrapper
    - <builtin>.super
    - jinja2.sandbox.SandboxedEnvironment.unsafe_undefined
    - <builtin>.isinstance
    - <builtin>.hasattr
    - jinja2.sandbox.is_internal_attribute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - context
    - operator
    - left
    - right
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 268
    functionName: jinja2.sandbox.SandboxedEnvironment.call_binop
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - context
    - operator
    - arg
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 279
    functionName: jinja2.sandbox.SandboxedEnvironment.call_unop
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - argument
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 288
    functionName: jinja2.sandbox.SandboxedEnvironment.getitem
    functionSourceFile: jinja2.sandbox
    functionUses: 1
    functionsReached:
    - jinja2.sandbox.SandboxedEnvironment.wrap_str_format
    - jinja2.sandbox.SandboxedEnvironment.getattr
    - jinja2.sandbox.SandboxedFormatter.__init__
    - jinja2.sandbox.SandboxedEnvironment.is_safe_attribute
    - attr.startswith
    - <builtin>.type
    - functools.update_wrapper
    - <builtin>.super
    - <builtin>.str
    - <builtin>.isinstance
    - jinja2.sandbox.SandboxedEnvironment.unsafe_undefined
    - <builtin>.hasattr
    - jinja2.sandbox.is_internal_attribute
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 342
    functionName: jinja2.sandbox.SandboxedEnvironment.wrap_str_format
    functionSourceFile: jinja2.sandbox
    functionUses: 5
    functionsReached:
    - jinja2.sandbox.SandboxedFormatter.__init__
    - <builtin>.type
    - functools.update_wrapper
    - <builtin>.super
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 332
    functionName: jinja2.sandbox.SandboxedEnvironment.unsafe_undefined
    functionSourceFile: jinja2.sandbox
    functionUses: 5
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - env
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 416
    functionName: jinja2.sandbox.SandboxedFormatter.__init__
    functionSourceFile: jinja2.sandbox
    functionUses: 6
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 369
    functionName: jinja2.sandbox.SandboxedEnvironment.wrap_str_format.wrapper
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - string.Formatter.vformat
    - markupsafe.EscapeFormatter.vformat
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: string.Formatter.vformat
    functionSourceFile: string
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.EscapeFormatter.vformat
    functionSourceFile: markupsafe
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.update_wrapper
    functionSourceFile: functools
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - __self
    - __context
    - __obj
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 386
    functionName: jinja2.sandbox.SandboxedEnvironment.call
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached:
    - jinja2.sandbox.SandboxedEnvironment.wrap_str_format
    - jinja2.sandbox.SandboxedEnvironment.getattr
    - jinja2.sandbox.SandboxedFormatter.__init__
    - jinja2.sandbox.SandboxedEnvironment.is_safe_attribute
    - attr.startswith
    - <builtin>.type
    - __context.call
    - functools.update_wrapper
    - <builtin>.super
    - jinja2.sandbox.SandboxedEnvironment.unsafe_undefined
    - <builtin>.isinstance
    - <builtin>.hasattr
    - jinja2.sandbox.is_internal_attribute
    - jinja2.sandbox.SandboxedEnvironment.is_safe_callable
    linkageType: pythonLinkage
    raised:
    - SecurityError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - obj
    - attr
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 408
    functionName: jinja2.sandbox.ImmutableSandboxedEnvironment.is_safe_attribute
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.sandbox.modifies_known_mutable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - field_name
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 420
    functionName: jinja2.sandbox.SandboxedFormatter.get_field
    functionSourceFile: jinja2.sandbox
    functionUses: 0
    functionsReached:
    - jinja2.sandbox.SandboxedEnvironment.wrap_str_format
    - jinja2.sandbox.SandboxedEnvironment.getattr
    - jinja2.sandbox.SandboxedFormatter.__init__
    - jinja2.sandbox.SandboxedEnvironment.is_safe_attribute
    - attr.startswith
    - <builtin>.type
    - _string.formatter_field_name_split
    - jinja2.sandbox.SandboxedEnvironment.getitem
    - jinja2.sandbox.is_internal_attribute
    - functools.update_wrapper
    - <builtin>.super
    - jinja2.sandbox.SandboxedEnvironment.unsafe_undefined
    - <builtin>.isinstance
    - <builtin>.str
    - <builtin>.hasattr
    - string.Formatter.get_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _string.formatter_field_name_split
    functionSourceFile: _string
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: string.Formatter.get_value
    functionSourceFile: string
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.tests
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - jinja2.utils.pass_environment
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 15
    functionName: jinja2.tests.test_odd
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 20
    functionName: jinja2.tests.test_even
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - value
    - num
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 25
    functionName: jinja2.tests.test_divisibleby
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: jinja2.tests.test_defined
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 47
    functionName: jinja2.tests.test_undefined
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - env
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 53
    functionName: jinja2.tests.test_filter
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - env
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 71
    functionName: jinja2.tests.test_test
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 92
    functionName: jinja2.tests.test_none
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 97
    functionName: jinja2.tests.test_boolean
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 105
    functionName: jinja2.tests.test_false
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 113
    functionName: jinja2.tests.test_true
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 122
    functionName: jinja2.tests.test_integer
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: jinja2.tests.test_float
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 139
    functionName: jinja2.tests.test_lower
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 144
    functionName: jinja2.tests.test_upper
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 149
    functionName: jinja2.tests.test_string
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 154
    functionName: jinja2.tests.test_mapping
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: jinja2.tests.test_number
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 167
    functionName: jinja2.tests.test_sequence
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - value
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 180
    functionName: jinja2.tests.test_sameas
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 193
    functionName: jinja2.tests.test_iterable
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 203
    functionName: jinja2.tests.test_escaped
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - value
    - seq
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 208
    functionName: jinja2.tests.test_in
    functionSourceFile: jinja2.tests
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.nodes
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - <builtin>.staticmethod
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.nodes.<dict3>.<lambda1>
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.nodes.<dict3>.<lambda2>
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - mcs
    - name
    - bases
    - d
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 59
    functionName: jinja2.nodes.NodeType.__new__
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - d.get
    - d.setdefault
    - <builtin>.getattr
    - <builtin>.len
    - <builtin>.tuple
    - type.__new__
    - <builtin>.set
    - storage.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: storage.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.setdefault
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: type.__new__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.callable
    functionSourceFile: <builtin>
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 86
    functionName: jinja2.nodes.EvalContext.save
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - old
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 89
    functionName: jinja2.nodes.EvalContext.revert
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 94
    functionName: jinja2.nodes.get_eval_context
    functionSourceFile: jinja2.nodes
    functionUses: 19
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.zip
    functionSourceFile: <builtin>
    functionUses: 136
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attributes.pop
    functionSourceFile: <builtin>
    functionUses: 136
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82566160>
    - <ast.Constant object at 0x7f3b82566100>
    argNames:
    - self
    - exclude
    - only
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 147
    functionName: jinja2.nodes.Node.iter_fields
    functionSourceFile: jinja2.nodes
    functionUses: 4
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b824ef7f0>
    - <ast.Constant object at 0x7f3b824efcd0>
    argNames:
    - self
    - exclude
    - only
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 169
    functionName: jinja2.nodes.Node.iter_child_nodes
    functionSourceFile: jinja2.nodes
    functionUses: 2
    functionsReached:
    - jinja2.nodes.Node.iter_fields
    - <builtin>.isinstance
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 186
    functionName: jinja2.nodes.Node.find
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.Node.iter_child_nodes
    - <builtin>.getattr
    - jinja2.nodes.Node.find_all
    - child.find_all
    - <builtin>.isinstance
    - jinja2.nodes.Node.iter_fields
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 195
    functionName: jinja2.nodes.Node.find_all
    functionSourceFile: jinja2.nodes
    functionUses: 1
    functionsReached:
    - jinja2.nodes.Node.iter_child_nodes
    - <builtin>.getattr
    - child.find_all
    - <builtin>.isinstance
    - jinja2.nodes.Node.iter_fields
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: child.find_all
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 206
    functionName: jinja2.nodes.Node.set_ctx
    functionSourceFile: jinja2.nodes
    functionUses: 26
    functionsReached:
    - collections.deque
    - collections.deque.popleft
    - collections.deque.extend
    - node.iter_child_nodes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque
    functionSourceFile: collections
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque.popleft
    functionSourceFile: collections
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.iter_child_nodes
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque.extend
    functionSourceFile: collections
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 240
    functionName: jinja2.nodes.Node.__eq__
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.getattr
    - jinja2.nodes.Node.iter_fields
    - <builtin>.tuple
    - other.iter_fields
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: other.iter_fields
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 248
    functionName: jinja2.nodes.Node.__repr__
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 252
    functionName: jinja2.nodes.Node.dump
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - jinja2.nodes.Node.dump._dump
    - <builtin>.type
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.enumerate
    - buf.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 10
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 253
    functionName: jinja2.nodes.Node.dump._dump
    functionSourceFile: jinja2.nodes
    functionUses: 1
    functionsReached:
    - <builtin>.repr
    - <builtin>.type
    - jinja2.nodes.Node.dump._dump
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.enumerate
    - buf.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8267b0a0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 472
    functionName: jinja2.nodes.Expr.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 485
    functionName: jinja2.nodes.Expr.can_assign
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82521ca0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 499
    functionName: jinja2.nodes.BinExpr.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b827b4d30>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 523
    functionName: jinja2.nodes.UnaryExpr.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 552
    functionName: jinja2.nodes.Name.can_assign
    functionSourceFile: jinja2.nodes
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 563
    functionName: jinja2.nodes.NSRef.can_assign
    functionSourceFile: jinja2.nodes
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b827647c0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 587
    functionName: jinja2.nodes.Const.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82764e20>
    - <ast.Constant object at 0x7f3b82764340>
    argNames:
    - cls
    - value
    - lineno
    - environment
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 591
    functionName: jinja2.nodes.Const.from_untrusted
    functionSourceFile: jinja2.nodes
    functionUses: 72
    functionsReached:
    - jinja2.nodes.Node.__init__
    - <builtin>.zip
    - <builtin>.type
    - value.items
    - <builtin>.setattr
    - jinja2.compiler.has_safe_repr
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: jinja2.compiler.has_safe_repr
    functionSourceFile: jinja2.compiler
    functionUses: 74
    functionsReached:
    - <builtin>.type
    - <builtin>.all
    - value.items
    - jinja2.compiler.has_safe_repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b827c9eb0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 614
    functionName: jinja2.nodes.TemplateData.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - markupsafe.Markup
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b826f8c70>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 633
    functionName: jinja2.nodes.Tuple.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 1
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - <builtin>.callable
    - x.as_const
    - <builtin>.tuple
    - jinja2.nodes.get_eval_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.as_const
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 637
    functionName: jinja2.nodes.Tuple.can_assign
    functionSourceFile: jinja2.nodes
    functionUses: 26
    functionsReached:
    - item.can_assign
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item.can_assign
    functionSourceFile: <builtin>
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82ee6f70>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 650
    functionName: jinja2.nodes.List.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - x.as_const
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b83022190>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 663
    functionName: jinja2.nodes.Dict.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - <builtin>.callable
    - x.as_const
    - <builtin>.dict
    - jinja2.nodes.get_eval_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b825b49d0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 675
    functionName: jinja2.nodes.Pair.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82745970>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 687
    functionName: jinja2.nodes.Keyword.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82dbc9a0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 702
    functionName: jinja2.nodes.CondExpr.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - <builtin>.callable
    - x.as_const
    - <builtin>.tuple
    - jinja2.nodes.Tuple.as_const
    - jinja2.nodes.get_eval_context
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 714
    functionName: jinja2.nodes.args_as_const
    functionSourceFile: jinja2.nodes
    functionUses: 1
    functionsReached:
    - node.dyn_args.as_const
    - x.as_const
    - <builtin>.dict
    - node.dyn_kwargs.as_const
    - args.extend
    - kwargs.update
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.dyn_args.as_const
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: args.extend
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.dyn_kwargs.as_const
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b823838b0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 746
    functionName: jinja2.nodes._FilterTestCommon.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - inspect.iscoroutinefunction
    - <builtin>.callable
    - node.dyn_args.as_const
    - jinja2.nodes.args_as_const
    - jinja2.utils._PassArg.from_obj
    - x.as_const
    - <builtin>.getattr
    - <builtin>.dict
    - node.dyn_kwargs.as_const
    - args.insert
    - args.extend
    - <builtin>.hasattr
    - env_map.get
    - jinja2.nodes.get_eval_context
    - kwargs.update
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.iscoroutinefunction
    functionSourceFile: inspect
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b823f6400>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 793
    functionName: jinja2.nodes.Filter.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b828a4d30>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 837
    functionName: jinja2.nodes.Getitem.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - <builtin>.callable
    - <builtin>.str
    - <builtin>.isinstance
    - jinja2.environment.Environment.getattr
    - jinja2.nodes.get_eval_context
    - jinja2.environment.Environment.getitem
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8272a1c0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 861
    functionName: jinja2.nodes.Getattr.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    - jinja2.environment.Environment.getattr
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b827c16a0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 883
    functionName: jinja2.nodes.Slice.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - <builtin>.callable
    - jinja2.nodes.Slice.as_const.const
    - <builtin>.slice
    - obj.as_const
    - jinja2.nodes.get_eval_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 886
    functionName: jinja2.nodes.Slice.as_const.const
    functionSourceFile: jinja2.nodes
    functionUses: 1
    functionsReached:
    - obj.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.as_const
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.slice
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8303d8b0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 902
    functionName: jinja2.nodes.Concat.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - <builtin>.callable
    - x.as_const
    - <builtin>.str
    - jinja2.nodes.get_eval_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82a076a0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 916
    functionName: jinja2.nodes.Compare.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    - op.expr.as_const
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: op.expr.as_const
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82734190>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 992
    functionName: jinja2.nodes.And.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82db8370>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1002
    functionName: jinja2.nodes.Or.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1072
    functionName: jinja2.nodes.InternalName.__init__
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82830820>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1085
    functionName: jinja2.nodes.MarkSafe.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - markupsafe.Markup
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82963fd0>
    argNames:
    - self
    - eval_ctx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1100
    functionName: jinja2.nodes.MarkSafeIfAutoescape.as_const
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached:
    - jinja2.nodes.EvalContext.__init__
    - jinja2.nodes.get_eval_context
    - markupsafe.Markup
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - Impossible
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1195
    functionName: jinja2.nodes._failing_new
    functionSourceFile: jinja2.nodes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.staticmethod
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.utils
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - re.compile
    - typing.TypeVar
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 23
    functionName: jinja2.utils._MissingType.__repr__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 26
    functionName: jinja2.utils._MissingType.__reduce__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: enum.auto
    functionSourceFile: enum
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.utils._PassArg
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - enum.auto
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: internal_code.add
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 104
    functionName: jinja2.utils.is_undefined
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 127
    functionName: jinja2.utils.clear_caches
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - _lexer_cache.clear
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _lexer_cache.clear
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: import_name.split
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: import_name.rpartition
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.__import__
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b827452b0>
    argNames:
    - filename
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 164
    functionName: jinja2.utils.open_if_exists
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - os.path.isfile
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.isfile
    functionSourceFile: os
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 174
    functionName: jinja2.utils.object_type_repr
    functionSourceFile: jinja2.utils
    functionUses: 2
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 278
    functionName: jinja2.utils.urlize.trim_url
    functionSourceFile: jinja2.utils
    functionUses: 2
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.split
    functionSourceFile: re
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.match
    functionSourceFile: re
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.group
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.end
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: middle.endswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.search
    functionSourceFile: re
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.start
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: middle.count
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tail.count
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.min
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tail.index
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _http_re.match
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: middle.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _email_re.match
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b825928e0>
    - <ast.Constant object at 0x7f3b82592fa0>
    - <ast.Constant object at 0x7f3b82592b20>
    - <ast.Constant object at 0x7f3b82592a00>
    argNames:
    - n
    - html
    - min
    - max
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 353
    functionName: jinja2.utils.generate_lorem_ipsum
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - p_str.endswith
    - p.append
    - <builtin>.range
    - markupsafe.Markup
    - markupsafe.escape
    - random.randrange
    - random.choice
    - random.choice.capitalize
    - result.append
    - <builtin>.enumerate
    - LOREM_IPSUM_WORDS.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: LOREM_IPSUM_WORDS.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.randrange
    functionSourceFile: random
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.choice.capitalize
    functionSourceFile: random
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: p.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: p_str.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.quote_from_bytes
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.quote_from_bytes.replace
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 445
    functionName: jinja2.utils.LRUCache._postinit
    functionSourceFile: jinja2.utils
    functionUses: 8
    functionsReached:
    - threading.Lock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.Lock
    functionSourceFile: threading
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 453
    functionName: jinja2.utils.LRUCache.__getstate__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - d
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 460
    functionName: jinja2.utils.LRUCache.__setstate__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - threading.Lock
    - jinja2.utils.LRUCache._postinit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 464
    functionName: jinja2.utils.LRUCache.__getnewargs__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 467
    functionName: jinja2.utils.LRUCache.copy
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - rv._queue.extend
    - rv._mapping.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv._mapping.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv._queue.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b826d50d0>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 481
    functionName: jinja2.utils.LRUCache.setdefault
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 491
    functionName: jinja2.utils.LRUCache.clear
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 497
    functionName: jinja2.utils.LRUCache.__contains__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 501
    functionName: jinja2.utils.LRUCache.__len__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 505
    functionName: jinja2.utils.LRUCache.__repr__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 508
    functionName: jinja2.utils.LRUCache.__getitem__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 530
    functionName: jinja2.utils.LRUCache.__setitem__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 543
    functionName: jinja2.utils.LRUCache.__delitem__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 555
    functionName: jinja2.utils.LRUCache.items
    functionSourceFile: jinja2.utils
    functionUses: 1
    functionsReached:
    - <builtin>.list
    - result.reverse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.reverse
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 561
    functionName: jinja2.utils.LRUCache.values
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - jinja2.utils.LRUCache.items
    - result.reverse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 565
    functionName: jinja2.utils.LRUCache.keys
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 569
    functionName: jinja2.utils.LRUCache.__iter__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.reversed
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 572
    functionName: jinja2.utils.LRUCache.__reversed__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.tuple
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Tuple object at 0x7f3b82dd2640>
    - <ast.Tuple object at 0x7f3b82dd20a0>
    - <ast.Constant object at 0x7f3b82dd2760>
    - <ast.Constant object at 0x7f3b82dd2970>
    argNames:
    - enabled_extensions
    - disabled_extensions
    - default_for_string
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 581
    functionName: jinja2.utils.select_autoescape
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - x.lstrip
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.lstrip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - template_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 624
    functionName: jinja2.utils.select_autoescape.autoescape
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - template_name.endswith
    - template_name.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: template_name.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: template_name.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.dumps
    functionSourceFile: json
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - items
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 703
    functionName: jinja2.utils.Cycler.__init__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 709
    functionName: jinja2.utils.Cycler.reset
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 714
    functionName: jinja2.utils.Cycler.current
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 720
    functionName: jinja2.utils.Cycler.next
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82830490>
    argNames:
    - self
    - sep
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 734
    functionName: jinja2.utils.Joiner.__init__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 738
    functionName: jinja2.utils.Joiner.__call__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 749
    functionName: jinja2.utils.Namespace.__init__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 753
    functionName: jinja2.utils.Namespace.__getattribute__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached:
    - object.__getattribute__
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: object.__getattribute__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 762
    functionName: jinja2.utils.Namespace.__setitem__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 765
    functionName: jinja2.utils.Namespace.__repr__
    functionSourceFile: jinja2.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.runtime
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b827039a0>
    argNames:
    - self
    - reciter
    - loop_render_func
    - depth
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 38
    functionName: jinja2.runtime.LoopRenderFunc.__call__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 70
    functionName: jinja2.runtime.identity
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - seq
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 77
    functionName: jinja2.runtime.markup_join
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - markupsafe.Markup.join
    - markupsafe.Markup
    - <builtin>.map
    - itertools.chain
    - <builtin>.hasattr
    - buf.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - seq
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 88
    functionName: jinja2.runtime.str_join
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82968ee0>
    - <ast.Constant object at 0x7f3b82968e50>
    - <ast.Constant object at 0x7f3b82968d90>
    - <ast.Constant object at 0x7f3b82968700>
    argNames:
    - environment
    - template_name
    - blocks
    - vars
    - shared
    - globals
    - locals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 93
    functionName: jinja2.runtime.new_context
    functionSourceFile: jinja2.runtime
    functionUses: 2
    functionsReached:
    - locals.items
    - <builtin>.dict
    - environment.context_class
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: locals.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environment.context_class
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 125
    functionName: jinja2.runtime.TemplateReference.__init__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 128
    functionName: jinja2.runtime.TemplateReference.__getitem__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.BlockReference.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - name
    - context
    - stack
    - depth
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 347
    functionName: jinja2.runtime.BlockReference.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 132
    functionName: jinja2.runtime.TemplateReference.__repr__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - dict_method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 136
    functionName: jinja2.runtime._dict_method_all
    functionSourceFile: jinja2.runtime
    functionUses: 1
    functionsReached:
    - functools.wraps
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.wraps
    functionSourceFile: functools
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 138
    functionName: jinja2.runtime._dict_method_all.f_all
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82543040>
    argNames:
    - self
    - environment
    - parent
    - name
    - blocks
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 165
    functionName: jinja2.runtime.Context.__init__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - blocks.items
    - jinja2.nodes.EvalContext.__init__
    - <builtin>.callable
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: blocks.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - current
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 186
    functionName: jinja2.runtime.Context.super
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - blocks.index
    - jinja2.runtime.BlockReference.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: blocks.index
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b829dbb50>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 200
    functionName: jinja2.runtime.Context.get
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 212
    functionName: jinja2.runtime.Context.resolve
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.Context.resolve_or_missing
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 229
    functionName: jinja2.runtime.Context.resolve_or_missing
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 247
    functionName: jinja2.runtime.Context.get_exported
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 251
    functionName: jinja2.runtime.Context.get_all
    functionSourceFile: jinja2.runtime
    functionUses: 3
    functionsReached:
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.runtime.Context
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - functools.wraps
    - jinja2.utils.internalcode
    - typing.cast
    - internal_code.add
    - jinja2.runtime._dict_method_all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 4
    argDefaultValues: []
    argNames:
    - __self
    - __obj
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 263
    functionName: jinja2.runtime.Context.call
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - kwargs.get
    - kwargs.pop
    - environment.context_class
    - jinja2.utils._PassArg.from_obj
    - jinja2.runtime.Context.derived
    - <builtin>.list
    - jinja2.runtime.Context.get_all
    - jinja2.runtime.new_context
    - <builtin>.dict
    - context.blocks.update
    - locals.items
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8287df10>
    argNames:
    - self
    - locals
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 310
    functionName: jinja2.runtime.Context.derived
    functionSourceFile: jinja2.runtime
    functionUses: 1
    functionsReached:
    - environment.context_class
    - <builtin>.list
    - jinja2.runtime.Context.get_all
    - jinja2.runtime.new_context
    - <builtin>.dict
    - context.blocks.update
    - locals.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.blocks.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 326
    functionName: jinja2.runtime.Context.__contains__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 329
    functionName: jinja2.runtime.Context.__getitem__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.Context.resolve_or_missing
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 340
    functionName: jinja2.runtime.Context.__repr__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - jinja2.runtime.Context.get_all
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 360
    functionName: jinja2.runtime.BlockReference.super
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - jinja2.runtime.BlockReference.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.runtime.BlockReference
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.utils.internalcode
    - internal_code.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 369
    functionName: jinja2.runtime.BlockReference._async_call
    functionSourceFile: jinja2.runtime
    functionUses: 1
    functionsReached:
    - markupsafe.Markup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 380
    functionName: jinja2.runtime.BlockReference.__call__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.BlockReference._async_call
    - markupsafe.Markup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8256eeb0>
    - <ast.Constant object at 0x7f3b8256edc0>
    argNames:
    - self
    - iterable
    - undefined
    - recurse
    - depth0
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 408
    functionName: jinja2.runtime.LoopContext.__init__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    - jinja2.runtime.LoopContext._to_iterator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - iterable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 431
    functionName: jinja2.runtime.LoopContext._to_iterator
    functionSourceFile: jinja2.runtime
    functionUses: 2
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 435
    functionName: jinja2.runtime.LoopContext.length
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.len
    - <builtin>.iter
    - jinja2.runtime.LoopContext._to_iterator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 453
    functionName: jinja2.runtime.LoopContext.__len__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 457
    functionName: jinja2.runtime.LoopContext.depth
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 462
    functionName: jinja2.runtime.LoopContext.index
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 467
    functionName: jinja2.runtime.LoopContext.revindex0
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 475
    functionName: jinja2.runtime.LoopContext.revindex
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 483
    functionName: jinja2.runtime.LoopContext.first
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 487
    functionName: jinja2.runtime.LoopContext._peek_next
    functionSourceFile: jinja2.runtime
    functionUses: 2
    functionsReached:
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 500
    functionName: jinja2.runtime.LoopContext.last
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.LoopContext._peek_next
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 510
    functionName: jinja2.runtime.LoopContext.previtem
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 520
    functionName: jinja2.runtime.LoopContext.nextitem
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.LoopContext._peek_next
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 535
    functionName: jinja2.runtime.LoopContext.cycle
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 546
    functionName: jinja2.runtime.LoopContext.changed
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 558
    functionName: jinja2.runtime.LoopContext.__iter__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 561
    functionName: jinja2.runtime.LoopContext.__next__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.runtime.LoopContext
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.utils.internalcode
    - internal_code.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - iterable
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 574
    functionName: jinja2.runtime.LoopContext.__call__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 587
    functionName: jinja2.runtime.LoopContext.__repr__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - iterable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 595
    functionName: jinja2.runtime.AsyncLoopContext._to_iterator
    functionSourceFile: jinja2.runtime
    functionUses: 1
    functionsReached:
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - jinja2.async_utils.auto_aiter
    - iterable.__aiter__
    - <builtin>.hasattr
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 601
    functionName: jinja2.runtime.AsyncLoopContext.length
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.async_utils._IteratorToAsyncIterator.__init__
    - jinja2.async_utils.auto_aiter
    - iterable.__aiter__
    - <builtin>.iter
    - <builtin>.hasattr
    - jinja2.runtime.AsyncLoopContext._to_iterator
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 615
    functionName: jinja2.runtime.AsyncLoopContext.revindex0
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 619
    functionName: jinja2.runtime.AsyncLoopContext.revindex
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 622
    functionName: jinja2.runtime.AsyncLoopContext._peek_next
    functionSourceFile: jinja2.runtime
    functionUses: 2
    functionsReached:
    - jinja2.async_utils._IteratorToAsyncIterator.__anext__
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 634
    functionName: jinja2.runtime.AsyncLoopContext.last
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.AsyncLoopContext._peek_next
    - jinja2.async_utils._IteratorToAsyncIterator.__anext__
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 638
    functionName: jinja2.runtime.AsyncLoopContext.nextitem
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.AsyncLoopContext._peek_next
    - jinja2.async_utils._IteratorToAsyncIterator.__anext__
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 646
    functionName: jinja2.runtime.AsyncLoopContext.__aiter__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 649
    functionName: jinja2.runtime.AsyncLoopContext.__anext__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.async_utils._IteratorToAsyncIterator.__anext__
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82566160>
    argNames:
    - self
    - environment
    - func
    - name
    - arguments
    - catch_kwargs
    - catch_varargs
    - caller
    - default_autoescape
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 665
    functionName: jinja2.runtime.Macro.__init__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - environment.autoescape
    - <builtin>.len
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environment.autoescape
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.runtime.Macro
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.utils.internalcode
    - jinja2.utils.pass_eval_context
    - internal_code.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 4
    IfCount: 10
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 696
    functionName: jinja2.runtime.Macro.__call__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - arguments.append
    - kwargs.pop
    - <builtin>.list
    - markupsafe.Markup
    - jinja2.runtime.Macro._invoke
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.runtime.Macro._async_invoke
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: arguments.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - arguments
    - autoescape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 780
    functionName: jinja2.runtime.Macro._invoke
    functionSourceFile: jinja2.runtime
    functionUses: 1
    functionsReached:
    - markupsafe.Markup
    - jinja2.runtime.Macro._async_invoke
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - arguments
    - autoescape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 772
    functionName: jinja2.runtime.Macro._async_invoke
    functionSourceFile: jinja2.runtime
    functionUses: 2
    functionsReached:
    - markupsafe.Markup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 791
    functionName: jinja2.runtime.Macro.__repr__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8263d100>
    - <ast.Name object at 0x7f3b8263db20>
    - <ast.Constant object at 0x7f3b8263deb0>
    - <ast.Name object at 0x7f3b8263d370>
    argNames:
    - self
    - hint
    - obj
    - name
    - exc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 818
    functionName: jinja2.runtime.Undefined.__init__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 831
    functionName: jinja2.runtime.Undefined._undefined_message
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.utils.object_type_repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.runtime.Undefined
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.utils.internalcode
    - internal_code.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 853
    functionName: jinja2.runtime.Undefined._fail_with_undefined_error
    functionSourceFile: jinja2.runtime
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 862
    functionName: jinja2.runtime.Undefined.__getattr__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - jinja2.runtime.Undefined._fail_with_undefined_error
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 883
    functionName: jinja2.runtime.Undefined.__eq__
    functionSourceFile: jinja2.runtime
    functionUses: 1
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 886
    functionName: jinja2.runtime.Undefined.__ne__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - jinja2.runtime.Undefined.__eq__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 889
    functionName: jinja2.runtime.Undefined.__hash__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 892
    functionName: jinja2.runtime.Undefined.__str__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 895
    functionName: jinja2.runtime.Undefined.__len__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 898
    functionName: jinja2.runtime.Undefined.__iter__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 901
    functionName: jinja2.runtime.Undefined.__aiter__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 905
    functionName: jinja2.runtime.Undefined.__bool__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 908
    functionName: jinja2.runtime.Undefined.__repr__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82516850>
    - <ast.Name object at 0x7f3b82516af0>
    argNames:
    - logger
    - base
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 912
    functionName: jinja2.runtime.make_logging_undefined
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - logging.getLogger
    - logging.StreamHandler
    - logger.addHandler
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.getLogger
    functionSourceFile: logging
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.StreamHandler
    functionSourceFile: logging
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.addHandler
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - undef
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 940
    functionName: jinja2.runtime.make_logging_undefined._log_message
    functionSourceFile: jinja2.runtime
    functionUses: 3
    functionsReached:
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.warning
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 946
    functionName: jinja2.runtime.make_logging_undefined.LoggingUndefined._fail_with_undefined_error
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - logger.error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.error
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 955
    functionName: jinja2.runtime.make_logging_undefined.LoggingUndefined.__str__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - logger.warning
    - jinja2.runtime.make_logging_undefined._log_message
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 959
    functionName: jinja2.runtime.make_logging_undefined.LoggingUndefined.__iter__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - logger.warning
    - jinja2.runtime.make_logging_undefined._log_message
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 963
    functionName: jinja2.runtime.make_logging_undefined.LoggingUndefined.__bool__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - logger.warning
    - jinja2.runtime.make_logging_undefined._log_message
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 988
    functionName: jinja2.runtime.ChainableUndefined.__html__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 991
    functionName: jinja2.runtime.ChainableUndefined.__getattr__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - _name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1003
    functionName: jinja2.runtime.ChainableUndefined.__getitem__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1023
    functionName: jinja2.runtime.DebugUndefined.__str__
    functionSourceFile: jinja2.runtime
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - jinja2.utils.object_type_repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.exceptions
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8256e490>
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 10
    functionName: jinja2.exceptions.TemplateError.__init__
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 14
    functionName: jinja2.exceptions.TemplateError.message
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b827316d0>
    argNames:
    - self
    - name
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: jinja2.exceptions.TemplateNotFound.__init__
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - IOError.__init__
    - name._fail_with_undefined_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: IOError.__init__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 49
    functionName: jinja2.exceptions.TemplateNotFound.__str__
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Tuple object at 0x7f3b8271d700>
    - <ast.Constant object at 0x7f3b8271d400>
    argNames:
    - self
    - names
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: jinja2.exceptions.TemplatesNotFound.__init__
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - parts.append
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parts.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3b825a61f0>
    - <ast.Constant object at 0x7f3b825a6310>
    argNames:
    - self
    - message
    - lineno
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: jinja2.exceptions.TemplateSyntaxError.__init__
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: jinja2.exceptions.TemplateSyntaxError.__str__
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached:
    - typing.cast
    - line.strip
    - lines.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.strip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lines.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 131
    functionName: jinja2.exceptions.TemplateSyntaxError.__reduce__
    functionSourceFile: jinja2.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.async_utils
    functionSourceFile: jinja2.async_utils
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: jinja2.async_utils.async_variant.decorator.is_async
    functionSourceFile: jinja2.async_utils
    functionUses: 1
    functionsReached:
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 39
    functionName: jinja2.async_utils.async_variant.decorator.wrapper
    functionSourceFile: jinja2.async_utils
    functionUses: 0
    functionsReached:
    - jinja2.async_utils.async_variant.decorator.is_async
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.isawaitable
    functionSourceFile: inspect
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - iterator
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 74
    functionName: jinja2.async_utils._IteratorToAsyncIterator.__init__
    functionSourceFile: jinja2.async_utils
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 77
    functionName: jinja2.async_utils._IteratorToAsyncIterator.__aiter__
    functionSourceFile: jinja2.async_utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: iterable.__aiter__
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.constants
    functionSourceFile: jinja2.constants
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jinja2.lexer
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - threading.Lock
    - re.compile
    - re.escape
    - <builtin>.sorted
    - sys.intern
    - jinja2.utils.LRUCache.__init__
    - operators.items
    - jinja2.utils.LRUCache._postinit
    - <builtin>.frozenset
    - collections.deque
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.intern
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operators.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.escape
    functionSourceFile: re
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.lexer.<lambda1>
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - token_type
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 165
    functionName: jinja2.lexer._describe_token_type
    functionSourceFile: jinja2.lexer
    functionUses: 57
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 185
    functionName: jinja2.lexer.describe_token
    functionSourceFile: jinja2.lexer
    functionUses: 54
    functionsReached:
    - jinja2.lexer._describe_token_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - expr
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 193
    functionName: jinja2.lexer.describe_token_expr
    functionSourceFile: jinja2.lexer
    functionUses: 54
    functionsReached:
    - expr.split
    - jinja2.lexer._describe_token_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: expr.split
    functionSourceFile: <builtin>
    functionUses: 62
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 206
    functionName: jinja2.lexer.count_newlines
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - newline_re.findall
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: newline_re.findall
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - environment
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 213
    functionName: jinja2.lexer.compile_rules
    functionSourceFile: jinja2.lexer
    functionUses: 3
    functionsReached:
    - <builtin>.sorted
    - <builtin>.len
    - rules.append
    - re.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rules.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f3b82556b50>
    argNames:
    - self
    - message
    - cls
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 259
    functionName: jinja2.lexer.Failure.__init__
    functionSourceFile: jinja2.lexer
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - lineno
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 265
    functionName: jinja2.lexer.Failure.__call__
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 274
    functionName: jinja2.lexer.Token.__str__
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - jinja2.lexer.describe_token
    - jinja2.lexer._describe_token_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - expr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 277
    functionName: jinja2.lexer.Token.test
    functionSourceFile: jinja2.lexer
    functionUses: 60
    functionsReached:
    - expr.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - iterable
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 292
    functionName: jinja2.lexer.Token.test_any
    functionSourceFile: jinja2.lexer
    functionUses: 55
    functionsReached:
    - jinja2.lexer.Token.test
    - expr.split
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 66
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - stream
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 302
    functionName: jinja2.lexer.TokenStreamIterator.__init__
    functionSourceFile: jinja2.lexer
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 305
    functionName: jinja2.lexer.TokenStreamIterator.__iter__
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 308
    functionName: jinja2.lexer.TokenStreamIterator.__next__
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - jinja2.lexer.TokenStream.close
    - typing.NamedTuple.__init__
    - <builtin>.iter
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 397
    functionName: jinja2.lexer.TokenStream.close
    functionSourceFile: jinja2.lexer
    functionUses: 2
    functionsReached:
    - typing.NamedTuple.__init__
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 339
    functionName: jinja2.lexer.TokenStream.__iter__
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - jinja2.lexer.TokenStreamIterator.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 342
    functionName: jinja2.lexer.TokenStream.__bool__
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 346
    functionName: jinja2.lexer.TokenStream.eos
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 350
    functionName: jinja2.lexer.TokenStream.push
    functionSourceFile: jinja2.lexer
    functionUses: 56
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 354
    functionName: jinja2.lexer.TokenStream.look
    functionSourceFile: jinja2.lexer
    functionUses: 55
    functionsReached:
    - jinja2.lexer.TokenStream.push
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8270f550>
    argNames:
    - self
    - n
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 362
    functionName: jinja2.lexer.TokenStream.skip
    functionSourceFile: jinja2.lexer
    functionUses: 55
    functionsReached:
    - <builtin>.range
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - expr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 367
    functionName: jinja2.lexer.TokenStream.next_if
    functionSourceFile: jinja2.lexer
    functionUses: 54
    functionsReached:
    - jinja2.lexer.Token.test
    - expr.split
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - expr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 376
    functionName: jinja2.lexer.TokenStream.skip_if
    functionSourceFile: jinja2.lexer
    functionUses: 53
    functionsReached:
    - jinja2.lexer.TokenStream.next_if
    - jinja2.lexer.Token.test
    - expr.split
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 380
    functionName: jinja2.lexer.TokenStream.__next__
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - typing.NamedTuple.__init__
    - <builtin>.iter
    - jinja2.lexer.TokenStream.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - expr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 403
    functionName: jinja2.lexer.TokenStream.expect
    functionSourceFile: jinja2.lexer
    functionUses: 53
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.lexer._describe_token_type
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - expr.split
    linkageType: pythonLinkage
    raised:
    - TemplateSyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _lexer_cache.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 479
    functionName: jinja2.lexer.Lexer.__init__
    functionSourceFile: jinja2.lexer
    functionUses: 2
    functionsReached:
    - jinja2.lexer.compile_rules
    - re.compile
    - typing.NamedTuple.__init__
    - rules.append
    - re.escape
    - jinja2.lexer.Lexer.__init__.c
    - jinja2.lexer.Failure.__init__
    - <builtin>.sorted
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - members
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 461
    functionName: jinja2.lexer.OptionalLStrip.__new__
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 483
    functionName: jinja2.lexer.Lexer.__init__.c
    functionSourceFile: jinja2.lexer
    functionUses: 3
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 598
    functionName: jinja2.lexer.Lexer._normalize_newlines
    functionSourceFile: jinja2.lexer
    functionUses: 2
    functionsReached:
    - newline_re.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: newline_re.sub
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3b825c0820>
    - <ast.Constant object at 0x7f3b825c0040>
    - <ast.Constant object at 0x7f3b825c0100>
    argNames:
    - self
    - source
    - name
    - filename
    - state
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 604
    functionName: jinja2.lexer.Lexer.tokenize
    functionSourceFile: jinja2.lexer
    functionUses: 0
    functionsReached:
    - ast.literal_eval.isidentifier
    - data.count
    - <builtin>.isinstance
    - <builtin>.enumerate
    - m.end
    - jinja2.lexer.Lexer._normalize_newlines
    - jinja2.lexer.Lexer.wrap
    - <builtin>.len
    - newline_re.sub
    - jinja2.lexer.Lexer.tokeniter
    - typing.NamedTuple.__init__
    - text.rfind
    - m.groupdict
    - whitespace_re.fullmatch
    - stack.append
    - value_str.replace
    - stack.pop
    - <builtin>.str
    - balancing_stack.pop
    - ast.literal_eval
    - balancing_stack.append
    - m.group
    - text.rstrip
    - regex.match
    - m.groups
    - value.count
    - newline_re.split
    - <builtin>.int
    - <builtin>.next
    - <builtin>.iter
    - collections.deque
    - jinja2.lexer.TokenStream.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 27
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 39
    ICount: 11
    IfCount: 27
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3b826ecd30>
    - <ast.Constant object at 0x7f3b826ec4c0>
    argNames:
    - self
    - source
    - name
    - filename
    - state
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 669
    functionName: jinja2.lexer.Lexer.tokeniter
    functionSourceFile: jinja2.lexer
    functionUses: 1
    functionsReached:
    - data.count
    - <builtin>.isinstance
    - <builtin>.enumerate
    - m.end
    - <builtin>.len
    - text.rfind
    - m.groupdict
    - whitespace_re.fullmatch
    - stack.append
    - stack.pop
    - balancing_stack.pop
    - m.group
    - balancing_stack.append
    - text.rstrip
    - regex.match
    - m.groups
    - value.count
    - newline_re.split
    - <builtin>.next
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    - token
    - TemplateSyntaxError
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 2
    IfCount: 12
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82821880>
    - <ast.Constant object at 0x7f3b82821d30>
    argNames:
    - self
    - stream
    - name
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 615
    functionName: jinja2.lexer.Lexer.wrap
    functionSourceFile: jinja2.lexer
    functionUses: 1
    functionsReached:
    - ast.literal_eval.isidentifier
    - typing.NamedTuple.__init__
    - value_str.replace
    - <builtin>.int
    - <builtin>.str
    - jinja2.lexer.Lexer._normalize_newlines
    - ast.literal_eval
    - newline_re.sub
    linkageType: pythonLinkage
    raised:
    - TemplateSyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.literal_eval.isidentifier
    functionSourceFile: ast
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value_str.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.literal_eval
    functionSourceFile: ast
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: newline_re.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: regex.match
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.groups
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: text.rstrip
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.groupdict
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: text.rfind
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: whitespace_re.fullmatch
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.count
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.count
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.group
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: balancing_stack.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: balancing_stack.pop
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.end
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stack.pop
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2._identifier
    functionSourceFile: jinja2._identifier
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.compiler
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: jinja2.compiler.optimizeconst
    functionSourceFile: jinja2.compiler
    functionUses: 3
    functionsReached:
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 46
    functionName: jinja2.compiler.optimizeconst.new_func
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.visit_CondExpr.write_expr2
    - jinja2.compiler.CodeGenerator.visit_Call
    - jinja2.compiler.CodeGenerator.position
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.signature
    - jinja2.compiler.CodeGenerator.visit_Concat
    - jinja2.compiler.CodeGenerator.visit_Compare
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.fail
    - itertools.chain
    - <builtin>.len
    - <builtin>.any
    - functools.update_wrapper.soft
    - jinja2.nodes.Node.__init__
    - jinja2.compiler.CodeGenerator.visit_Filter
    - <builtin>.dict
    - jinja2.compiler.CodeGenerator.visit_Getitem
    - typing.cast
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.utils._PassArg.from_obj
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator._filter_test_common
    - functools.update_wrapper
    - jinja2.compiler.CodeGenerator.visit_CondExpr
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - keyword.iskeyword
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler._make_unop.visitor
    - extra_kwargs.items
    - jinja2.compiler.CodeGenerator.visit_Test
    - attributes.pop
    - node.as_const
    - jinja2.compiler._make_binop.visitor
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - extra_kwargs.update
    - <builtin>.getattr
    - jinja2.compiler.CodeGenerator.visit_Getattr
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 8
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b809dd4f0>
    argNames:
    - self
    - node
    - frame
    - forward_caller
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1876
    functionName: jinja2.compiler.CodeGenerator.visit_Call
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.signature
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - itertools.chain
    - <builtin>.len
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - <builtin>.dict
    - typing.cast
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - keyword.iskeyword
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - extra_kwargs.items
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - extra_kwargs.update
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1720
    functionName: jinja2.compiler.CodeGenerator.visit_Concat
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1734
    functionName: jinja2.compiler.CodeGenerator.visit_Compare
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 7
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1853
    functionName: jinja2.compiler.CodeGenerator.visit_CondExpr
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.visit_CondExpr.write_expr2
    - jinja2.compiler.CodeGenerator.position
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - functools.update_wrapper.soft
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 86
    functionName: jinja2.compiler._make_unop.visitor
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1848
    functionName: jinja2.compiler.CodeGenerator.visit_Test
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.signature
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.fail
    - itertools.chain
    - <builtin>.len
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - typing.cast
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.utils._PassArg.from_obj
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator._filter_test_common
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - keyword.iskeyword
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - extra_kwargs.items
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 9
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 63
    functionName: jinja2.compiler._make_binop.visitor
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1831
    functionName: jinja2.compiler.CodeGenerator.visit_Filter
    functionSourceFile: jinja2.compiler
    functionUses: 3
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.signature
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.fail
    - itertools.chain
    - <builtin>.len
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - typing.cast
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.utils._PassArg.from_obj
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator._filter_test_common
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - keyword.iskeyword
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - extra_kwargs.items
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 11
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1758
    functionName: jinja2.compiler.CodeGenerator.visit_Getitem
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1746
    functionName: jinja2.compiler.CodeGenerator.visit_Getattr
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - op
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 61
    functionName: jinja2.compiler._make_binop
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.compiler.optimizeconst
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - op
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 82
    functionName: jinja2.compiler._make_unop
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.compiler.optimizeconst
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environment.code_generator_class
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: generator.visit
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: generator.stream.getvalue
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.all
    functionSourceFile: <builtin>
    functionUses: 75
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - nodes
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 142
    functionName: jinja2.compiler.find_undeclared
    functionSourceFile: jinja2.compiler
    functionUses: 5
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.compiler.UndeclaredNameVisitor.__init__
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.set
    - <builtin>.all
    - attributes.pop
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 275
    functionName: jinja2.compiler.UndeclaredNameVisitor.__init__
    functionSourceFile: jinja2.compiler
    functionUses: 6
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 35
    functionName: jinja2.visitor.NodeVisitor.visit
    functionSourceFile: jinja2.visitor
    functionUses: 66
    functionsReached:
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - <builtin>.getattr
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 156
    functionName: jinja2.compiler.MacroRef.__init__
    functionSourceFile: jinja2.compiler
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82582af0>
    - <ast.Constant object at 0x7f3b82582400>
    argNames:
    - self
    - eval_ctx
    - parent
    - level
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 166
    functionName: jinja2.compiler.Frame.__init__
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - jinja2.idtracking.Symbols.__init__
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82db82b0>
    - <ast.Constant object at 0x7f3b82db86a0>
    argNames:
    - self
    - parent
    - level
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 34
    functionName: jinja2.idtracking.Symbols.__init__
    functionSourceFile: jinja2.idtracking
    functionUses: 5
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 217
    functionName: jinja2.compiler.Frame.copy
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - rv.__dict__.update
    - object.__new__
    - jinja2.idtracking.Symbols.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 87
    functionName: jinja2.idtracking.Symbols.copy
    functionSourceFile: jinja2.idtracking
    functionUses: 4
    functionsReached:
    - rv.__dict__.update
    - object.__new__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8293cc10>
    argNames:
    - self
    - isolated
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 224
    functionName: jinja2.compiler.Frame.inner
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.idtracking.Symbols.__init__
    - <builtin>.set
    - jinja2.compiler.Frame.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 230
    functionName: jinja2.compiler.Frame.soft
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - rv.__dict__.update
    - jinja2.compiler.Frame.copy
    - object.__new__
    - jinja2.idtracking.Symbols.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 253
    functionName: jinja2.compiler.DependencyFinderVisitor.__init__
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 257
    functionName: jinja2.compiler.DependencyFinderVisitor.visit_Filter
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 31
    functionName: jinja2.optimizer.Optimizer.generic_visit
    functionSourceFile: jinja2.optimizer
    functionUses: 71
    functionsReached:
    - jinja2.nodes.Node.__init__
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 226
    functionName: jinja2.idtracking.RootVisitor.generic_visit
    functionSourceFile: ''
    functionUses: 71
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 261
    functionName: jinja2.compiler.DependencyFinderVisitor.visit_Test
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 265
    functionName: jinja2.compiler.DependencyFinderVisitor.visit_Block
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 279
    functionName: jinja2.compiler.UndeclaredNameVisitor.visit_Name
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - VisitorExit
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 287
    functionName: jinja2.compiler.UndeclaredNameVisitor.visit_Block
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8232fb20>
    - <ast.Constant object at 0x7f3b8232f820>
    - <ast.Constant object at 0x7f3b8232f610>
    argNames:
    - self
    - environment
    - name
    - filename
    - stream
    - defer_init
    - optimized
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 299
    functionName: jinja2.compiler.CodeGenerator.__init__
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.__init__
    - io.StringIO
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.StringIO
    functionSourceFile: io
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: jinja2.optimizer.Optimizer.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 373
    functionName: jinja2.compiler.CodeGenerator.optimized
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - lineno
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 378
    functionName: jinja2.compiler.CodeGenerator.fail
    functionSourceFile: jinja2.compiler
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TemplateAssertionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 382
    functionName: jinja2.compiler.CodeGenerator.temporary_identifier
    functionSourceFile: jinja2.compiler
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 387
    functionName: jinja2.compiler.CodeGenerator.buffer
    functionSourceFile: jinja2.compiler
    functionUses: 6
    functionsReached:
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.max
    - jinja2.meta.TrackingCodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82dd2bb0>
    - <ast.Constant object at 0x7f3b82dd2220>
    argNames:
    - self
    - x
    - node
    - extra
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 465
    functionName: jinja2.compiler.CodeGenerator.writeline
    functionSourceFile: jinja2.compiler
    functionUses: 34
    functionsReached:
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - <builtin>.max
    - jinja2.meta.TrackingCodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 11
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82663160>
    argNames:
    - self
    - frame
    - force_unescaped
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 392
    functionName: jinja2.compiler.CodeGenerator.return_buffer_contents
    functionSourceFile: jinja2.compiler
    functionUses: 4
    functionsReached:
    - jinja2.compiler.CodeGenerator.indent
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.max
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.outdent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 412
    functionName: jinja2.compiler.CodeGenerator.indent
    functionSourceFile: ''
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82579520>
    argNames:
    - self
    - step
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 416
    functionName: jinja2.compiler.CodeGenerator.outdent
    functionSourceFile: ''
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82579ca0>
    argNames:
    - self
    - frame
    - node
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 420
    functionName: jinja2.compiler.CodeGenerator.start_write
    functionSourceFile: jinja2.compiler
    functionUses: 7
    functionsReached:
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.max
    - jinja2.meta.TrackingCodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 427
    functionName: jinja2.compiler.CodeGenerator.end_write
    functionSourceFile: jinja2.compiler
    functionUses: 7
    functionsReached:
    - jinja2.compiler.CodeGenerator.write
    - jinja2.meta.TrackingCodeGenerator.write
    - io.StringIO.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - x
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 451
    functionName: jinja2.compiler.CodeGenerator.write
    functionSourceFile: jinja2.compiler
    functionUses: 71
    functionsReached:
    - io.StringIO.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - x
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 22
    functionName: jinja2.meta.TrackingCodeGenerator.write
    functionSourceFile: ''
    functionUses: 71
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82dc6f70>
    argNames:
    - self
    - s
    - frame
    - node
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 432
    functionName: jinja2.compiler.CodeGenerator.simple_write
    functionSourceFile: jinja2.compiler
    functionUses: 3
    functionsReached:
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.start_write
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.end_write
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.max
    - jinja2.meta.TrackingCodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - nodes
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 440
    functionName: jinja2.compiler.CodeGenerator.blockvisit
    functionSourceFile: jinja2.compiler
    functionUses: 11
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - <builtin>.max
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.StringIO.write
    functionSourceFile: io
    functionUses: 72
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82dd2700>
    - <ast.Constant object at 0x7f3b82dd2ca0>
    argNames:
    - self
    - node
    - extra
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 470
    functionName: jinja2.compiler.CodeGenerator.newline
    functionSourceFile: jinja2.compiler
    functionUses: 36
    functionsReached:
    - <builtin>.max
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.max
    functionSourceFile: <builtin>
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 20
    IfCount: 8
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8252b1f0>
    argNames:
    - self
    - node
    - frame
    - extra_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 477
    functionName: jinja2.compiler.CodeGenerator.signature
    functionSourceFile: jinja2.compiler
    functionUses: 8
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - itertools.chain
    - <builtin>.len
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - typing.cast
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - keyword.iskeyword
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - extra_kwargs.items
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: keyword.iskeyword
    functionSourceFile: keyword
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: extra_kwargs.items
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 14
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - nodes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 534
    functionName: jinja2.compiler.CodeGenerator.pull_dependencies
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.compiler.DependencyFinderVisitor.__init__
    - <builtin>.max
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.set
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 580
    functionName: jinja2.compiler.CodeGenerator.enter_frame
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - io.StringIO.write
    - frame.symbols.loads.items
    - jinja2.compiler.CodeGenerator.get_resolve_func
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.max
    - jinja2.meta.TrackingCodeGenerator.write
    - undefs.append
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.symbols.loads.items
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 761
    functionName: jinja2.compiler.CodeGenerator.get_resolve_func
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: undefs.append
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b828ed6a0>
    argNames:
    - self
    - frame
    - with_python_scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 596
    functionName: jinja2.compiler.CodeGenerator.leave_frame
    functionSourceFile: jinja2.compiler
    functionUses: 10
    functionsReached:
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.max
    - jinja2.meta.TrackingCodeGenerator.write
    - undefs.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b828ed7c0>
    - <ast.Constant object at 0x7f3b828ed460>
    argNames:
    - self
    - async_value
    - sync_value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 604
    functionName: jinja2.compiler.CodeGenerator.choose_async
    functionSourceFile: jinja2.compiler
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 607
    functionName: jinja2.compiler.CodeGenerator.func
    functionSourceFile: jinja2.compiler
    functionUses: 5
    functionsReached:
    - jinja2.compiler.CodeGenerator.choose_async
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 27
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 610
    functionName: jinja2.compiler.CodeGenerator.macro_body
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - frame.symbols.declare_parameter
    - frame.symbols.loads.items
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.fail
    - jinja2.compiler.CodeGenerator.newline
    - <builtin>.enumerate
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.len
    - jinja2.compiler.UndeclaredNameVisitor.__init__
    - jinja2.nodes.Node.__init__
    - skip_special_params.add
    - jinja2.compiler.find_undeclared
    - <builtin>.max
    - frame.symbols.ref
    - frame.inner
    - undefs.append
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.mark_parameter_stored
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - jinja2.compiler.CodeGenerator.leave_frame
    - jinja2.compiler.CodeGenerator.buffer
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.func
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - frame.symbols.dump_param_targets
    - jinja2.compiler.has_safe_repr
    - jinja2.compiler.CodeGenerator.blockvisit
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.set
    - jinja2.compiler.MacroRef.__init__
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.outdent
    - args.append
    - attributes.pop
    - node.as_const
    - jinja2.compiler.CodeGenerator.push_parameter_definitions
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.return_buffer_contents
    - <builtin>.getattr
    - jinja2.compiler.CodeGenerator.pop_parameter_definitions
    - jinja2.compiler.CodeGenerator.choose_async
    - frame.symbols.analyze_node
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.inner
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.symbols.analyze_node
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: skip_special_params.add
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.symbols.ref
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: args.append
    functionSourceFile: <builtin>
    functionUses: 56
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.symbols.declare_parameter
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 25
    functionName: jinja2.meta.TrackingCodeGenerator.enter_frame
    functionSourceFile: jinja2.meta
    functionUses: 10
    functionsReached:
    - <builtin>.super
    - frame.symbols.loads.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 732
    functionName: jinja2.compiler.CodeGenerator.push_parameter_definitions
    functionSourceFile: jinja2.compiler
    functionUses: 3
    functionsReached:
    - frame.symbols.dump_param_targets
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - target
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 745
    functionName: jinja2.compiler.CodeGenerator.mark_parameter_stored
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 741
    functionName: jinja2.compiler.CodeGenerator.pop_parameter_definitions
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - macro_ref
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 693
    functionName: jinja2.compiler.CodeGenerator.macro_def
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - <builtin>.repr
    - io.StringIO.write
    - <builtin>.getattr
    - jinja2.compiler.CodeGenerator.write
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 705
    functionName: jinja2.compiler.CodeGenerator.position
    functionSourceFile: jinja2.compiler
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 712
    functionName: jinja2.compiler.CodeGenerator.dump_local_context
    functionSourceFile: jinja2.compiler
    functionUses: 8
    functionsReached:
    - frame.symbols.dump_stores
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.symbols.dump_stores
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 719
    functionName: jinja2.compiler.CodeGenerator.write_commons
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.max
    - jinja2.meta.TrackingCodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.symbols.dump_param_targets
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - target
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 752
    functionName: jinja2.compiler.CodeGenerator.push_context_reference
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 755
    functionName: jinja2.compiler.CodeGenerator.pop_context_reference
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 758
    functionName: jinja2.compiler.CodeGenerator.get_context_ref
    functionSourceFile: jinja2.compiler
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 767
    functionName: jinja2.compiler.CodeGenerator.derive_context
    functionSourceFile: jinja2.compiler
    functionUses: 3
    functionsReached:
    - jinja2.compiler.CodeGenerator.get_context_ref
    - jinja2.compiler.CodeGenerator.dump_local_context
    - frame.symbols.dump_stores
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - target
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 770
    functionName: jinja2.compiler.CodeGenerator.parameter_is_undeclared
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 776
    functionName: jinja2.compiler.CodeGenerator.push_assign_tracking
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 12
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 780
    functionName: jinja2.compiler.CodeGenerator.pop_assign_tracking
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - io.StringIO.write
    - <builtin>.max
    - <builtin>.sorted
    - <builtin>.next
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - <builtin>.map
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.iter
    - <builtin>.enumerate
    - frame.symbols.ref
    - jinja2.meta.TrackingCodeGenerator.write
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 44
    IfCount: 11
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82e49a90>
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 825
    functionName: jinja2.compiler.CodeGenerator.visit_Template
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - imp.rsplit
    - jinja2.nodes.EvalContext.__init__
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.callable
    - <builtin>.type
    - frame.symbols.loads.items
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.fail
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - jinja2.compiler.Frame.__init__
    - <builtin>.len
    - jinja2.idtracking.FrameSymbolVisitor.__init__
    - jinja2.compiler.UndeclaredNameVisitor.__init__
    - jinja2.nodes.Node.__init__
    - jinja2.compiler.DependencyFinderVisitor.__init__
    - jinja2.compiler.find_undeclared
    - node.find
    - <builtin>.max
    - jinja2.idtracking.Symbols._define_ref
    - jinja2.compiler.CodeGenerator.choose_async
    - undefs.append
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - jinja2.compiler.CodeGenerator.leave_frame
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.func
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.CodeGenerator.write_commons
    - jinja2.compiler.has_safe_repr
    - jinja2.compiler.CodeGenerator.blockvisit
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.set
    - <builtin>.all
    - jinja2.compiler.CodeGenerator.pull_dependencies
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.Symbols.analyze_node
    - jinja2.idtracking.RootVisitor.generic_visit
    - node.find_all
    - <builtin>.getattr
    - jinja2.idtracking.Symbols.declare_parameter
    - jinja2.idtracking.Symbols.__init__
    - jinja2.idtracking.RootVisitor.__init__
    - <builtin>.sorted
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.find
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.find_all
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: imp.rsplit
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 113
    functionName: jinja2.idtracking.Symbols.declare_parameter
    functionSourceFile: jinja2.idtracking
    functionUses: 2
    functionsReached:
    - jinja2.idtracking.Symbols._define_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 49
    functionName: jinja2.idtracking.Symbols.analyze_node
    functionSourceFile: jinja2.idtracking
    functionUses: 2
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.idtracking.FrameSymbolVisitor.__init__
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - attributes.pop
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    - jinja2.idtracking.RootVisitor.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 18
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 945
    functionName: jinja2.compiler.CodeGenerator.visit_Block
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.compiler.CodeGenerator.derive_context
    - jinja2.compiler.CodeGenerator.start_write
    - jinja2.compiler.CodeGenerator.dump_local_context
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.end_write
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.simple_write
    - jinja2.compiler.CodeGenerator.choose_async
    - jinja2.compiler.CodeGenerator.outdent
    - jinja2.compiler.CodeGenerator.get_context_ref
    - frame.symbols.dump_stores
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 13
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 994
    functionName: jinja2.compiler.CodeGenerator.visit_Extends
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.fail
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - <builtin>.max
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.indent
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - CompilerExit
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 24
    IfCount: 9
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1036
    functionName: jinja2.compiler.CodeGenerator.visit_Include
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - jinja2.compiler.CodeGenerator.visit_Include.loop_body
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.len
    - frame.symbols.dump_stores
    - jinja2.nodes.Node.__init__
    - <builtin>.max
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.indent
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.dump_local_context
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.start_write
    - <builtin>.getattr
    - jinja2.compiler.CodeGenerator.end_write
    - jinja2.compiler.CodeGenerator.choose_async
    - jinja2.compiler.CodeGenerator.simple_write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1063
    functionName: jinja2.compiler.CodeGenerator.visit_Include.loop_body
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.compiler.CodeGenerator.indent
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.start_write
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.end_write
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.max
    - jinja2.compiler.CodeGenerator.simple_write
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.outdent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1094
    functionName: jinja2.compiler.CodeGenerator._import_common
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - frame.symbols.dump_stores
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.dump_local_context
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    - jinja2.compiler.CodeGenerator.choose_async
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1109
    functionName: jinja2.compiler.CodeGenerator.visit_Import
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.len
    - frame.symbols.dump_stores
    - jinja2.nodes.Node.__init__
    - <builtin>.max
    - frame.symbols.ref
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.dump_local_context
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - jinja2.compiler.CodeGenerator._import_common
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    - node.target.startswith
    - jinja2.compiler.CodeGenerator.choose_async
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.target.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 15
    IfCount: 7
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1120
    functionName: jinja2.compiler.CodeGenerator.visit_FromImport
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.position
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.len
    - frame.symbols.dump_stores
    - jinja2.nodes.Node.__init__
    - var_names.append
    - <builtin>.map
    - <builtin>.max
    - frame.symbols.ref
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.indent
    - discarded_names.append
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.dump_local_context
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.outdent
    - alias.startswith
    - jinja2.compiler.CodeGenerator._import_common
    - node.as_const
    - attributes.pop
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    - jinja2.compiler.CodeGenerator.choose_async
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: var_names.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: alias.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: discarded_names.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 29
    ICount: 61
    IfCount: 20
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1175
    functionName: jinja2.compiler.CodeGenerator.visit_For
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - frame.symbols.loads.items
    - else_frame.symbols.analyze_node
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.fail
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.len
    - <builtin>.any
    - jinja2.compiler.UndeclaredNameVisitor.__init__
    - jinja2.nodes.Node.__init__
    - loop_frame.symbols.declare_parameter
    - jinja2.compiler.find_undeclared
    - node.iter_child_nodes
    - <builtin>.max
    - frame.inner
    - undefs.append
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - jinja2.compiler.CodeGenerator.leave_frame
    - jinja2.compiler.CodeGenerator.buffer
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.func
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.compiler.CodeGenerator.blockvisit
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.set
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - node.find_all
    - jinja2.compiler.CodeGenerator.start_write
    - jinja2.compiler.CodeGenerator.return_buffer_contents
    - <builtin>.getattr
    - loop_frame.symbols.analyze_node
    - jinja2.compiler.CodeGenerator.end_write
    - jinja2.compiler.CodeGenerator.choose_async
    - test_frame.symbols.analyze_node
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loop_frame.symbols.declare_parameter
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loop_frame.symbols.analyze_node
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: else_frame.symbols.analyze_node
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: test_frame.symbols.analyze_node
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 16
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1314
    functionName: jinja2.compiler.CodeGenerator.visit_If
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - frame.soft
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - <builtin>.max
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.indent
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.compiler.CodeGenerator.blockvisit
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.soft
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1335
    functionName: jinja2.compiler.CodeGenerator.visit_Macro
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - frame.symbols.declare_parameter
    - frame.symbols.loads.items
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.fail
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.enumerate
    - <builtin>.len
    - jinja2.compiler.UndeclaredNameVisitor.__init__
    - jinja2.nodes.Node.__init__
    - skip_special_params.add
    - jinja2.compiler.find_undeclared
    - jinja2.compiler.CodeGenerator.macro_def
    - <builtin>.max
    - frame.symbols.ref
    - frame.inner
    - undefs.append
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.mark_parameter_stored
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - jinja2.compiler.CodeGenerator.leave_frame
    - jinja2.compiler.CodeGenerator.buffer
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.func
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - frame.symbols.dump_param_targets
    - node.name.startswith
    - jinja2.compiler.CodeGenerator.blockvisit
    - jinja2.nodes.Const.from_untrusted
    - jinja2.compiler.has_safe_repr
    - <builtin>.set
    - jinja2.compiler.MacroRef.__init__
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.outdent
    - args.append
    - attributes.pop
    - node.as_const
    - jinja2.compiler.CodeGenerator.push_parameter_definitions
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.macro_body
    - jinja2.compiler.CodeGenerator.return_buffer_contents
    - <builtin>.getattr
    - jinja2.compiler.CodeGenerator.pop_parameter_definitions
    - jinja2.compiler.CodeGenerator.choose_async
    - frame.symbols.analyze_node
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.name.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1345
    functionName: jinja2.compiler.CodeGenerator.visit_CallBlock
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.visit_Call
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.signature
    - frame.symbols.declare_parameter
    - frame.symbols.loads.items
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.fail
    - jinja2.compiler.CodeGenerator.newline
    - itertools.chain
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.enumerate
    - <builtin>.len
    - <builtin>.any
    - jinja2.compiler.UndeclaredNameVisitor.__init__
    - jinja2.nodes.Node.__init__
    - skip_special_params.add
    - jinja2.compiler.find_undeclared
    - <builtin>.dict
    - typing.cast
    - jinja2.compiler.CodeGenerator.macro_def
    - <builtin>.max
    - frame.symbols.ref
    - frame.inner
    - undefs.append
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.mark_parameter_stored
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - jinja2.compiler.CodeGenerator.leave_frame
    - jinja2.compiler.CodeGenerator.buffer
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.func
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - frame.symbols.dump_param_targets
    - jinja2.compiler.has_safe_repr
    - jinja2.compiler.CodeGenerator.blockvisit
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.set
    - keyword.iskeyword
    - jinja2.compiler.MacroRef.__init__
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.outdent
    - args.append
    - extra_kwargs.items
    - node.as_const
    - attributes.pop
    - jinja2.compiler.CodeGenerator.push_parameter_definitions
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - extra_kwargs.update
    - jinja2.compiler.CodeGenerator.macro_body
    - jinja2.compiler.CodeGenerator.start_write
    - jinja2.compiler.CodeGenerator.return_buffer_contents
    - <builtin>.getattr
    - jinja2.compiler.CodeGenerator.pop_parameter_definitions
    - jinja2.compiler.CodeGenerator.end_write
    - jinja2.compiler.CodeGenerator.choose_async
    - frame.symbols.analyze_node
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 8
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1353
    functionName: jinja2.compiler.CodeGenerator.visit_FilterBlock
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.signature
    - frame.symbols.loads.items
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.fail
    - jinja2.compiler.CodeGenerator.newline
    - itertools.chain
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.len
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.compiler.CodeGenerator.visit_Filter
    - typing.cast
    - <builtin>.max
    - frame.inner
    - undefs.append
    - jinja2.visitor.NodeVisitor.get_visitor
    - filter_frame.symbols.analyze_node
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - jinja2.utils._PassArg.from_obj
    - jinja2.compiler.CodeGenerator.leave_frame
    - jinja2.compiler.CodeGenerator.buffer
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator._filter_test_common
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.compiler.CodeGenerator.blockvisit
    - jinja2.nodes.Const.from_untrusted
    - keyword.iskeyword
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - extra_kwargs.items
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.start_write
    - <builtin>.getattr
    - jinja2.compiler.CodeGenerator.end_write
    - <builtin>.hasattr
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: filter_frame.symbols.analyze_node
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 8
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1364
    functionName: jinja2.compiler.CodeGenerator.visit_With
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - frame.symbols.loads.items
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - with_frame.symbols.analyze_node
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - <builtin>.max
    - frame.inner
    - undefs.append
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - jinja2.compiler.CodeGenerator.leave_frame
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.compiler.CodeGenerator.blockvisit
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: with_frame.symbols.analyze_node
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1376
    functionName: jinja2.compiler.CodeGenerator.visit_ExprStmt
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - <builtin>.max
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - attributes.pop
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1385
    functionName: jinja2.compiler.CodeGenerator._default_finalize
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1394
    functionName: jinja2.compiler.CodeGenerator._make_finalize
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - typing.NamedTuple.__init__
    - <builtin>.hasattr
    - jinja2.utils._PassArg.from_obj
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1436
    functionName: jinja2.compiler.CodeGenerator._make_finalize.finalize
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - jinja2.compiler.CodeGenerator._default_finalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - group
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1442
    functionName: jinja2.compiler.CodeGenerator._output_const_repr
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - finalize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1449
    functionName: jinja2.compiler.CodeGenerator._output_child_to_const
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - markupsafe.escape
    - <builtin>.isinstance
    - <builtin>.str
    - typing.NamedTuple.const
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.as_const
    functionSourceFile: <builtin>
    functionUses: 76
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.const
    functionSourceFile: typing
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - finalize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1470
    functionName: jinja2.compiler.CodeGenerator._output_child_pre
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.compiler.CodeGenerator.write
    - jinja2.meta.TrackingCodeGenerator.write
    - io.StringIO.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - finalize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1486
    functionName: jinja2.compiler.CodeGenerator._output_child_post
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.compiler.CodeGenerator.write
    - jinja2.meta.TrackingCodeGenerator.write
    - io.StringIO.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 19
    IfCount: 12
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1497
    functionName: jinja2.compiler.CodeGenerator.visit_Output
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - jinja2.compiler.CodeGenerator._make_finalize
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.len
    - typing.NamedTuple.__init__
    - jinja2.compiler.CodeGenerator._output_child_to_const
    - jinja2.nodes.Node.__init__
    - markupsafe.escape
    - jinja2.compiler.CodeGenerator._output_child_post
    - <builtin>.max
    - jinja2.compiler.CodeGenerator._output_child_pre
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.utils._PassArg.from_obj
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - <builtin>.str
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - typing.NamedTuple.const
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - body.append
    - <builtin>.getattr
    - jinja2.compiler.CodeGenerator._output_const_repr
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body.append
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 11
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1576
    functionName: jinja2.compiler.CodeGenerator.visit_Assign
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.enumerate
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.compiler.CodeGenerator.push_assign_tracking
    - <builtin>.map
    - <builtin>.max
    - frame.symbols.ref
    - seen_refs.add
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.indent
    - jinja2.compiler.CodeGenerator.pop_assign_tracking
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.set
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.outdent
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - node.find_all
    - <builtin>.getattr
    - <builtin>.next
    - <builtin>.iter
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: seen_refs.add
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 13
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1607
    functionName: jinja2.compiler.CodeGenerator.visit_AssignBlock
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.signature
    - frame.symbols.loads.items
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.fail
    - itertools.chain
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.enumerate
    - <builtin>.len
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.compiler.CodeGenerator.visit_Filter
    - jinja2.compiler.CodeGenerator.push_assign_tracking
    - <builtin>.map
    - typing.cast
    - <builtin>.max
    - frame.symbols.ref
    - frame.inner
    - undefs.append
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - jinja2.compiler.CodeGenerator.pop_assign_tracking
    - jinja2.utils._PassArg.from_obj
    - jinja2.compiler.CodeGenerator.leave_frame
    - jinja2.compiler.CodeGenerator.buffer
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator._filter_test_common
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.compiler.CodeGenerator.blockvisit
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.set
    - keyword.iskeyword
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - extra_kwargs.items
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - block_frame.symbols.analyze_node
    - <builtin>.getattr
    - <builtin>.next
    - <builtin>.iter
    - <builtin>.hasattr
    - <builtin>.sorted
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: block_frame.symbols.analyze_node
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1631
    functionName: jinja2.compiler.CodeGenerator.visit_Name
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - io.StringIO.write
    - frame.symbols.find_load
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.parameter_is_undeclared
    - frame.symbols.ref
    - jinja2.meta.TrackingCodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.symbols.find_load
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1656
    functionName: jinja2.compiler.CodeGenerator.visit_NSRef
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.max
    - frame.symbols.ref
    - jinja2.meta.TrackingCodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1664
    functionName: jinja2.compiler.CodeGenerator.visit_Const
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.write
    - <builtin>.str
    - <builtin>.isinstance
    - jinja2.meta.TrackingCodeGenerator.write
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1671
    functionName: jinja2.compiler.CodeGenerator.visit_TemplateData
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.write
    - jinja2.meta.TrackingCodeGenerator.write
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1679
    functionName: jinja2.compiler.CodeGenerator.visit_Tuple
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.enumerate
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1688
    functionName: jinja2.compiler.CodeGenerator.visit_List
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.enumerate
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1696
    functionName: jinja2.compiler.CodeGenerator.visit_Dict
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.enumerate
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.compiler.CodeGenerator
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.compiler.optimizeconst
    - jinja2.compiler._make_unop
    - functools.update_wrapper
    - contextlib.contextmanager
    - jinja2.compiler._make_binop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1741
    functionName: jinja2.compiler.CodeGenerator.visit_Operand
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1778
    functionName: jinja2.compiler.CodeGenerator.visit_Slice
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contextlib.contextmanager
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 9
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - is_filter
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1789
    functionName: jinja2.compiler.CodeGenerator._filter_test_common
    functionSourceFile: jinja2.compiler
    functionUses: 5
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - jinja2.compiler.CodeGenerator.signature
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.fail
    - itertools.chain
    - <builtin>.len
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - typing.cast
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.utils._PassArg.from_obj
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - keyword.iskeyword
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - extra_kwargs.items
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.update_wrapper.soft
    functionSourceFile: functools
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1856
    functionName: jinja2.compiler.CodeGenerator.visit_CondExpr.write_expr2
    functionSourceFile: jinja2.compiler
    functionUses: 2
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.compiler.CodeGenerator.position
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: extra_kwargs.update
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1898
    functionName: jinja2.compiler.CodeGenerator.visit_Keyword
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1904
    functionName: jinja2.compiler.CodeGenerator.visit_MarkSafe
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1909
    functionName: jinja2.compiler.CodeGenerator.visit_MarkSafeIfAutoescape
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1916
    functionName: jinja2.compiler.CodeGenerator.visit_EnvironmentAttribute
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.compiler.CodeGenerator.write
    - jinja2.meta.TrackingCodeGenerator.write
    - io.StringIO.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1921
    functionName: jinja2.compiler.CodeGenerator.visit_ExtensionAttribute
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.compiler.CodeGenerator.write
    - jinja2.meta.TrackingCodeGenerator.write
    - io.StringIO.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1926
    functionName: jinja2.compiler.CodeGenerator.visit_ImportedName
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.compiler.CodeGenerator.write
    - jinja2.meta.TrackingCodeGenerator.write
    - io.StringIO.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1929
    functionName: jinja2.compiler.CodeGenerator.visit_InternalName
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.compiler.CodeGenerator.write
    - jinja2.meta.TrackingCodeGenerator.write
    - io.StringIO.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1932
    functionName: jinja2.compiler.CodeGenerator.visit_ContextReference
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.compiler.CodeGenerator.write
    - jinja2.meta.TrackingCodeGenerator.write
    - io.StringIO.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1937
    functionName: jinja2.compiler.CodeGenerator.visit_DerivedContextReference
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.derive_context
    - jinja2.compiler.CodeGenerator.dump_local_context
    - jinja2.compiler.CodeGenerator.write
    - jinja2.meta.TrackingCodeGenerator.write
    - jinja2.compiler.CodeGenerator.get_context_ref
    - frame.symbols.dump_stores
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1942
    functionName: jinja2.compiler.CodeGenerator.visit_Continue
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.max
    - jinja2.meta.TrackingCodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1945
    functionName: jinja2.compiler.CodeGenerator.visit_Break
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - io.StringIO.write
    - jinja2.compiler.CodeGenerator.write
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.max
    - jinja2.meta.TrackingCodeGenerator.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1948
    functionName: jinja2.compiler.CodeGenerator.visit_Scope
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - frame.symbols.loads.items
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - <builtin>.max
    - frame.inner
    - undefs.append
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.leave_frame
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.compiler.CodeGenerator.blockvisit
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    - scope_frame.symbols.analyze_node
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: scope_frame.symbols.analyze_node
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 9
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1955
    functionName: jinja2.compiler.CodeGenerator.visit_OverlayScope
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - frame.symbols.loads.items
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.len
    - jinja2.compiler.CodeGenerator.get_context_ref
    - frame.symbols.dump_stores
    - jinja2.nodes.Node.__init__
    - <builtin>.max
    - frame.inner
    - undefs.append
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - jinja2.compiler.CodeGenerator.leave_frame
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.dump_local_context
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.compiler.CodeGenerator.blockvisit
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.compiler.CodeGenerator.derive_context
    - <builtin>.getattr
    - jinja2.compiler.CodeGenerator.pop_context_reference
    - jinja2.compiler.CodeGenerator.push_context_reference
    - scope_frame.symbols.analyze_node
    - jinja2.meta.TrackingCodeGenerator.enter_frame
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1969
    functionName: jinja2.compiler.CodeGenerator.visit_EvalContextModifier
    functionSourceFile: jinja2.compiler
    functionUses: 1
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - <builtin>.len
    - keyword.value.as_const
    - jinja2.nodes.Node.__init__
    - <builtin>.max
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: keyword.value.as_const
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1982
    functionName: jinja2.compiler.CodeGenerator.visit_ScopedEvalContextModifier
    functionSourceFile: jinja2.compiler
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - frame.eval_ctx.revert
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.CodeGenerator.newline
    - jinja2.compiler.CodeGenerator.writeline
    - frame.eval_ctx.save
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - keyword.value.as_const
    - jinja2.compiler.CodeGenerator.visit_EvalContextModifier
    - <builtin>.max
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.compiler.CodeGenerator.temporary_identifier
    - <builtin>.zip
    - value.items
    - jinja2.compiler.CodeGenerator.write
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - jinja2.meta.TrackingCodeGenerator.write
    - attributes.pop
    - node.as_const
    - io.StringIO.write
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.eval_ctx.save
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.eval_ctx.revert
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.idtracking
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8300e9d0>
    argNames:
    - nodes
    - parent_symbols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 15
    functionName: jinja2.idtracking.find_symbols
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.idtracking.FrameSymbolVisitor.__init__
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.set
    - <builtin>.all
    - attributes.pop
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    - jinja2.idtracking.Symbols.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - symbols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 233
    functionName: jinja2.idtracking.FrameSymbolVisitor.__init__
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82db89d0>
    argNames:
    - node
    - parent_symbols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 25
    functionName: jinja2.idtracking.symbols_for_node
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.idtracking.FrameSymbolVisitor.__init__
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.set
    - <builtin>.all
    - attributes.pop
    - node.as_const
    - jinja2.idtracking.Symbols.analyze_node
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    - jinja2.idtracking.Symbols.__init__
    - jinja2.idtracking.RootVisitor.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - symbols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 173
    functionName: jinja2.idtracking.RootVisitor.__init__
    functionSourceFile: jinja2.idtracking
    functionUses: 3
    functionsReached:
    - jinja2.idtracking.FrameSymbolVisitor.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8270f190>
    argNames:
    - self
    - name
    - load
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 53
    functionName: jinja2.idtracking.Symbols._define_ref
    functionSourceFile: jinja2.idtracking
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - target
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: jinja2.idtracking.Symbols.find_load
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.idtracking.Symbols.find_load
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: jinja2.idtracking.Symbols.find_ref
    functionSourceFile: jinja2.idtracking
    functionUses: 11
    functionsReached:
    - jinja2.idtracking.Symbols.find_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 78
    functionName: jinja2.idtracking.Symbols.ref
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.idtracking.Symbols.find_ref
    linkageType: pythonLinkage
    raised:
    - AssertionError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 95
    functionName: jinja2.idtracking.Symbols.store
    functionSourceFile: jinja2.idtracking
    functionUses: 4
    functionsReached:
    - jinja2.idtracking.Symbols.find_ref
    - jinja2.idtracking.Symbols._define_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 117
    functionName: jinja2.idtracking.Symbols.load
    functionSourceFile: jinja2.idtracking
    functionUses: 2
    functionsReached:
    - jinja2.idtracking.Symbols.find_ref
    - jinja2.idtracking.Symbols._define_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - branch_symbols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 121
    functionName: jinja2.idtracking.Symbols.branch_update
    functionSourceFile: jinja2.idtracking
    functionUses: 1
    functionsReached:
    - stores.update
    - jinja2.idtracking.Symbols.find_ref
    - stores.difference_update
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stores.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stores.difference_update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 145
    functionName: jinja2.idtracking.Symbols.dump_stores
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - jinja2.idtracking.Symbols.find_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 158
    functionName: jinja2.idtracking.Symbols.dump_param_targets
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - rv.add
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.add
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 176
    functionName: jinja2.idtracking.RootVisitor._simple_visit
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - attributes.pop
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 188
    functionName: jinja2.idtracking.RootVisitor.visit_AssignBlock
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - <builtin>.getattr
    - <builtin>.setattr
    - jinja2.visitor.NodeVisitor.visit
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 192
    functionName: jinja2.idtracking.RootVisitor.visit_CallBlock
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - attributes.pop
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 196
    functionName: jinja2.idtracking.RootVisitor.visit_OverlayScope
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - <builtin>.getattr
    - <builtin>.setattr
    - jinja2.visitor.NodeVisitor.visit
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b83015d60>
    argNames:
    - self
    - node
    - for_branch
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 200
    functionName: jinja2.idtracking.RootVisitor.visit_For
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - <builtin>.getattr
    - <builtin>.setattr
    - jinja2.visitor.NodeVisitor.visit
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 220
    functionName: jinja2.idtracking.RootVisitor.visit_With
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - <builtin>.getattr
    - <builtin>.setattr
    - jinja2.visitor.NodeVisitor.visit
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82329730>
    argNames:
    - self
    - node
    - store_as_param
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 236
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_Name
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.idtracking.Symbols.load
    - jinja2.idtracking.Symbols.store
    - jinja2.idtracking.Symbols.declare_parameter
    - jinja2.idtracking.Symbols.find_ref
    - jinja2.idtracking.Symbols._define_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 247
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_NSRef
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.idtracking.Symbols.load
    - jinja2.idtracking.Symbols._define_ref
    - jinja2.idtracking.Symbols.find_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 250
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_If
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - object.__new__
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - stores.update
    - jinja2.idtracking.Symbols.find_ref
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.Symbols.copy
    - jinja2.idtracking.FrameSymbolVisitor.visit_If.inner_visit
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - rv.__dict__.update
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.set
    - <builtin>.all
    - attributes.pop
    - node.as_const
    - stores.difference_update
    - jinja2.idtracking.RootVisitor.generic_visit
    - jinja2.idtracking.Symbols.branch_update
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - nodes
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 254
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_If.inner_visit
    functionSourceFile: jinja2.idtracking
    functionUses: 1
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - object.__new__
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.Symbols.copy
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - rv.__dict__.update
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - attributes.pop
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 268
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_Macro
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.idtracking.Symbols.find_ref
    - jinja2.idtracking.Symbols._define_ref
    - jinja2.idtracking.Symbols.store
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 271
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_Import
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - jinja2.idtracking.Symbols._define_ref
    - jinja2.idtracking.Symbols.store
    - <builtin>.setattr
    - <builtin>.super
    - jinja2.idtracking.Symbols.find_ref
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 275
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_FromImport
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - jinja2.idtracking.Symbols._define_ref
    - jinja2.idtracking.Symbols.store
    - <builtin>.setattr
    - <builtin>.super
    - jinja2.idtracking.Symbols.find_ref
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 284
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_Assign
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - <builtin>.getattr
    - <builtin>.setattr
    - jinja2.visitor.NodeVisitor.visit
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 289
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_For
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - <builtin>.getattr
    - <builtin>.setattr
    - jinja2.visitor.NodeVisitor.visit
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 295
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_CallBlock
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - <builtin>.getattr
    - <builtin>.setattr
    - jinja2.visitor.NodeVisitor.visit
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 298
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_FilterBlock
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - <builtin>.getattr
    - <builtin>.setattr
    - jinja2.visitor.NodeVisitor.visit
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 301
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_With
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - <builtin>.getattr
    - <builtin>.setattr
    - jinja2.visitor.NodeVisitor.visit
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 305
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_AssignBlock
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached:
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - <builtin>.getattr
    - <builtin>.setattr
    - jinja2.visitor.NodeVisitor.visit
    - <builtin>.super
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 309
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_Scope
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 312
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_Block
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 315
    functionName: jinja2.idtracking.FrameSymbolVisitor.visit_OverlayScope
    functionSourceFile: jinja2.idtracking
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.visitor
    functionSourceFile: jinja2.visitor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 13
    functionName: jinja2.visitor.VisitCallable.__call__
    functionSourceFile: jinja2.visitor
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 28
    functionName: jinja2.visitor.NodeVisitor.get_visitor
    functionSourceFile: jinja2.visitor
    functionUses: 67
    functionsReached:
    - <builtin>.type
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 44
    functionName: jinja2.visitor.NodeVisitor.generic_visit
    functionSourceFile: jinja2.visitor
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - node.iter_child_nodes
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - attributes.pop
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 61
    functionName: jinja2.visitor.NodeTransformer.generic_visit
    functionSourceFile: jinja2.visitor
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - new_values.extend
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - new_values.append
    - attributes.pop
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.delattr
    - <builtin>.getattr
    - node.iter_fields
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.iter_fields
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_values.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_values.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.delattr
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 83
    functionName: jinja2.visitor.NodeTransformer.visit_list
    functionSourceFile: jinja2.visitor
    functionUses: 0
    functionsReached:
    - jinja2.visitor.NodeVisitor.get_visitor
    - jinja2.optimizer.Optimizer.generic_visit
    - jinja2.nodes.Node.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.type
    - <builtin>.zip
    - value.items
    - <builtin>.getattr
    - <builtin>.setattr
    - jinja2.visitor.NodeVisitor.visit
    - <builtin>.isinstance
    - <builtin>.super
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - <builtin>.len
    - attributes.pop
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.optimizer
    functionSourceFile: jinja2.optimizer
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 20
    functionName: jinja2.optimizer.optimize
    functionSourceFile: jinja2.optimizer
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - typing.cast
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.all
    - attributes.pop
    - node.as_const
    - jinja2.optimizer.Optimizer.__init__
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.parser
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - <builtin>.frozenset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8272aee0>
    - <ast.Name object at 0x7f3b8272af40>
    argNames:
    - self
    - msg
    - lineno
    - exc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 76
    functionName: jinja2.parser.Parser.fail
    functionSourceFile: jinja2.parser
    functionUses: 57
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - exc
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - end_token_stack
    - lineno
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 90
    functionName: jinja2.parser.Parser._fail_ut_eof
    functionSourceFile: jinja2.parser
    functionUses: 24
    functionsReached:
    - expected.update
    - <builtin>.map
    - message.append
    - <builtin>.set
    - jinja2.parser.Parser.fail
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: expected.update
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: message.append
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b826ae4c0>
    argNames:
    - self
    - name
    - lineno
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 130
    functionName: jinja2.parser.Parser.fail_unknown_tag
    functionSourceFile: jinja2.parser
    functionUses: 22
    functionsReached:
    - expected.update
    - jinja2.parser.Parser._fail_ut_eof
    - <builtin>.map
    - message.append
    - <builtin>.set
    - jinja2.parser.Parser.fail
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82968220>
    - <ast.Constant object at 0x7f3b82968f10>
    argNames:
    - self
    - end_tokens
    - lineno
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 137
    functionName: jinja2.parser.Parser.fail_eof
    functionSourceFile: jinja2.parser
    functionUses: 22
    functionsReached:
    - stack.append
    - expected.update
    - <builtin>.list
    - jinja2.parser.Parser._fail_ut_eof
    - <builtin>.map
    - message.append
    - <builtin>.set
    - jinja2.parser.Parser.fail
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82968790>
    argNames:
    - self
    - extra_end_rules
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 148
    functionName: jinja2.parser.Parser.is_tuple_end
    functionSourceFile: jinja2.parser
    functionUses: 53
    functionsReached:
    - jinja2.lexer.Token.test
    - expr.split
    - <builtin>.any
    - jinja2.lexer.Token.test_any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b828c28b0>
    argNames:
    - self
    - lineno
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 156
    functionName: jinja2.parser.Parser.free_identifier
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.nodes.Node.__init__
    - <builtin>.zip
    - object.__new__
    - <builtin>.setattr
    - <builtin>.len
    - attributes.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 23
    functionLinenumber: 163
    functionName: jinja2.parser.Parser.parse_statement
    functionSourceFile: jinja2.parser
    functionUses: 21
    functionsReached:
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - jinja2.nodes.Node.set_ctx
    - <builtin>.len
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.set
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.parser.Parser.subparse
    - collections.deque.popleft
    - jinja2.parser.Parser._fail_ut_eof
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 418
    functionName: jinja2.parser.Parser.parse_call_block
    functionSourceFile: jinja2.parser
    functionUses: 21
    functionsReached:
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.set
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.parser.Parser.subparse
    - collections.deque.popleft
    - jinja2.parser.Parser._fail_ut_eof
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 433
    functionName: jinja2.parser.Parser.parse_filter_block
    functionSourceFile: jinja2.parser
    functionUses: 21
    functionsReached:
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.set
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.nodes.Tuple.can_assign
    - expected.update
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser._fail_ut_eof
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82a06e20>
    argNames:
    - self
    - end_tokens
    - drop_needle
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 21
    functionLinenumber: 192
    functionName: jinja2.parser.Parser.parse_statements
    functionSourceFile: jinja2.parser
    functionUses: 21
    functionsReached:
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.set
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.nodes.Tuple.can_assign
    - expected.update
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser._fail_ut_eof
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 13
    IfCount: 8
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b826482e0>
    argNames:
    - self
    - end_tokens
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 990
    functionName: jinja2.parser.Parser.subparse
    functionSourceFile: jinja2.parser
    functionUses: 21
    functionsReached:
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.set
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.nodes.Tuple.can_assign
    - expected.update
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.parser.Parser.subparse
    - collections.deque.popleft
    - jinja2.parser.Parser._fail_ut_eof
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - collections.deque
    linkageType: pythonLinkage
    raised:
    - AssertionError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 21
    functionLinenumber: 221
    functionName: jinja2.parser.Parser.parse_set
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.set
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser._fail_ut_eof
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82745eb0>
    - <ast.Constant object at 0x7f3b82745a60>
    - <ast.Constant object at 0x7f3b82745730>
    - <ast.Constant object at 0x7f3b82745a00>
    argNames:
    - self
    - with_tuple
    - name_only
    - extra_end_rules
    - with_namespace
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 469
    functionName: jinja2.parser.Parser.parse_assign_target
    functionSourceFile: jinja2.parser
    functionUses: 25
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - <builtin>.type
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - jinja2.nodes.Node.set_ctx
    - buf.append
    - <builtin>.len
    - <builtin>.any
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - collections.deque.popleft
    - node.iter_child_nodes
    - jinja2.nodes.NSRef.can_assign
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - item.can_assign
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_primary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - items.append
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.nodes.Tuple.can_assign
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.describe_token
    - jinja2.nodes.Name.can_assign
    - <builtin>.range
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - collections.deque.extend
    - collections.deque
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 4
    IfCount: 7
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f3b822688b0>
    - <ast.Constant object at 0x7f3b82268880>
    - <ast.Constant object at 0x7f3b82268490>
    - <ast.Constant object at 0x7f3b82268a90>
    - <ast.Constant object at 0x7f3b82268f40>
    argNames:
    - self
    - simplified
    - with_condexpr
    - extra_end_rules
    - explicit_parentheses
    - with_namespace
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 19
    functionLinenumber: 681
    functionName: jinja2.parser.Parser.parse_tuple
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - buf.append
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - items.append
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.describe_token
    - <builtin>.range
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b826f3250>
    argNames:
    - self
    - node
    - start_inline
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 929
    functionName: jinja2.parser.Parser.parse_filter
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - buf.append
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 21
    functionLinenumber: 232
    functionName: jinja2.parser.Parser.parse_for
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.set
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser._fail_ut_eof
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 20
    functionLinenumber: 251
    functionName: jinja2.parser.Parser.parse_if
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - token.test
    - collections.deque.extend
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.set
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - result.elif_.append
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser._fail_ut_eof
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: token.test
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.elif_.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 21
    functionLinenumber: 269
    functionName: jinja2.parser.Parser.parse_with
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - jinja2.nodes.Node.set_ctx
    - <builtin>.len
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - targets.append
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.set
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.parser.Parser.subparse
    - collections.deque.popleft
    - jinja2.parser.Parser._fail_ut_eof
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - values.append
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: targets.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: values.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 286
    functionName: jinja2.parser.Parser.parse_autoescape
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.set
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser._fail_ut_eof
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 22
    functionLinenumber: 292
    functionName: jinja2.parser.Parser.parse_block
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.set
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.nodes.Tuple.can_assign
    - expected.update
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.parser.Parser.subparse
    - jinja2.parser.Parser._fail_ut_eof
    - collections.deque.popleft
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - collections.deque
    - output_node.data.isspace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: output_node.data.isspace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 324
    functionName: jinja2.parser.Parser.parse_extends
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - buf.append
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 329
    functionName: jinja2.parser.Parser.parse_import_context
    functionSourceFile: jinja2.parser
    functionUses: 2
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip
    - jinja2.lexer.TokenStream.push
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - <builtin>.next
    - expr.split
    - jinja2.lexer.TokenStream.look
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 341
    functionName: jinja2.parser.Parser.parse_include
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - buf.append
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.parser.Parser.parse_import_context
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 353
    functionName: jinja2.parser.Parser.parse_import
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - <builtin>.type
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.nodes.Node.set_ctx
    - <builtin>.any
    - buf.append
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - collections.deque.popleft
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.nodes.NSRef.can_assign
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - item.can_assign
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - items.append
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.nodes.Tuple.can_assign
    - <builtin>.range
    - jinja2.parser.Parser.parse_import_context
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.describe_token
    - jinja2.nodes.Name.can_assign
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - collections.deque.extend
    - collections.deque
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 6
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 360
    functionName: jinja2.parser.Parser.parse_from
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - <builtin>.type
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - target.name.startswith
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.nodes.Node.set_ctx
    - buf.append
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - <builtin>.any
    - jinja2.parser.Parser.parse_concat
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - collections.deque.popleft
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.nodes.NSRef.can_assign
    - node.names.append
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - item.can_assign
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.parser.Parser.parse_from.parse_context
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - items.append
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.nodes.Tuple.can_assign
    - <builtin>.range
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.describe_token
    - jinja2.nodes.Name.can_assign
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - collections.deque.extend
    - <builtin>.hasattr
    - collections.deque
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 366
    functionName: jinja2.parser.Parser.parse_from.parse_context
    functionSourceFile: jinja2.parser
    functionUses: 1
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip
    - jinja2.lexer.TokenStream.push
    - <builtin>.range
    - <builtin>.next
    - expr.split
    - jinja2.lexer.TokenStream.look
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: target.name.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.names.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 21
    functionLinenumber: 402
    functionName: jinja2.parser.Parser.parse_signature
    functionSourceFile: jinja2.parser
    functionUses: 22
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - <builtin>.type
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - buf.append
    - <builtin>.any
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - collections.deque.popleft
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.nodes.NSRef.can_assign
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - item.can_assign
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_primary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - items.append
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - jinja2.nodes.Tuple.can_assign
    - jinja2.lexer.describe_token
    - defaults.append
    - jinja2.nodes.Name.can_assign
    - <builtin>.range
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - collections.deque.extend
    - collections.deque
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: defaults.append
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 21
    functionLinenumber: 439
    functionName: jinja2.parser.Parser.parse_macro
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - expr.split
    - jinja2.lexer.TokenStream.expect
    - buf.append
    - <builtin>.any
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_statement
    - jinja2.parser.Parser.parse_primary
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_expression
    - jinja2.parser.Parser.parse_call_block
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.lexer.Token.test_any
    - <builtin>.range
    - defaults.append
    - collections.deque.extend
    - jinja2.parser.Parser.fail_unknown_tag
    - jinja2.parser.Parser.subparse.flush_data
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_tuple.parse
    - jinja2.parser.Parser.parse_filter_block
    - <builtin>.setattr
    - <builtin>.len
    - jinja2.nodes.Node.set_ctx
    - jinja2.parser.Parser.parse_statements
    - <builtin>.list
    - jinja2.nodes.NSRef.can_assign
    - item.can_assign
    - stack.append
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - <builtin>.set
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - expected.update
    - jinja2.nodes.Tuple.can_assign
    - jinja2.nodes.Name.can_assign
    - <builtin>.getattr
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_test
    - jinja2.lexer.Token.test
    - jinja2.lexer.TokenStream.skip_if
    - jinja2.lexer.TokenStream.push
    - node.iter_child_nodes
    - jinja2.parser.Parser.parse_assign_target
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_pow
    - message.append
    - jinja2.parser.Parser.parse_call_args
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.describe_token_expr
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_and
    - <builtin>.type
    - <builtin>.isinstance
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.parser.Parser.subparse
    - collections.deque.popleft
    - jinja2.parser.Parser._fail_ut_eof
    - jinja2.parser.Parser.parse_call
    - <builtin>.map
    - jinja2.parser.Parser.parse_not
    - body.extend
    - jinja2.parser.Parser.parse_signature
    - jinja2.parser.Parser.parse_math2
    - ops.append
    - args.append
    - attributes.pop
    - body.append
    - jinja2.lexer.describe_token
    - jinja2.parser.Parser.fail_eof
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 446
    functionName: jinja2.parser.Parser.parse_print
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - buf.append
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - node.nodes.append
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.nodes.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.parser.Parser
    functionSourceFile: jinja2.parser
    functionUses: 0
    functionsReached:
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 10
    IfCount: 9
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8300f250>
    argNames:
    - self
    - with_namespace
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 639
    functionName: jinja2.parser.Parser.parse_primary
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - buf.append
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_primary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - items.append
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.describe_token
    - <builtin>.range
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 517
    functionName: jinja2.parser.Parser.parse_condexpr
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - buf.append
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 532
    functionName: jinja2.parser.Parser.parse_or
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - jinja2.lexer.TokenStream.skip_if
    - buf.append
    - <builtin>.len
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 541
    functionName: jinja2.parser.Parser.parse_and
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - buf.append
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 550
    functionName: jinja2.parser.Parser.parse_not
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - buf.append
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 556
    functionName: jinja2.parser.Parser.parse_compare
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - jinja2.lexer.TokenStream.skip_if
    - buf.append
    - <builtin>.len
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 579
    functionName: jinja2.parser.Parser.parse_math1
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - buf.append
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.describe_token
    - <builtin>.range
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ops.append
    functionSourceFile: <builtin>
    functionUses: 53
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 590
    functionName: jinja2.parser.Parser.parse_concat
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - buf.append
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.describe_token
    - <builtin>.range
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 600
    functionName: jinja2.parser.Parser.parse_math2
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - buf.append
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_primary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.describe_token
    - <builtin>.range
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 611
    functionName: jinja2.parser.Parser.parse_pow
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - buf.append
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_primary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - items.append
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.describe_token
    - <builtin>.range
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82663f10>
    argNames:
    - self
    - with_filter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 621
    functionName: jinja2.parser.Parser.parse_unary
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - buf.append
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_primary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - items.append
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.describe_token
    - <builtin>.range
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 777
    functionName: jinja2.parser.Parser.parse_postfix
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - buf.append
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 790
    functionName: jinja2.parser.Parser.parse_filter_expr
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - buf.append
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - items.append
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 750
    functionName: jinja2.parser.Parser.parse_list
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - buf.append
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - items.append
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 762
    functionName: jinja2.parser.Parser.parse_dict
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - buf.append
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - items.append
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 716
    functionName: jinja2.parser.Parser.parse_tuple.parse
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - buf.append
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_primary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - items.append
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.describe_token
    - <builtin>.range
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 805
    functionName: jinja2.parser.Parser.parse_subscript
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - buf.append
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 922
    functionName: jinja2.parser.Parser.parse_call
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - buf.append
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 952
    functionName: jinja2.parser.Parser.parse_test
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - buf.append
    - jinja2.lexer.TokenStream.skip_if
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_list
    - jinja2.parser.Parser.parse_primary
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - items.append
    - jinja2.parser.Parser.parse_pow
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - jinja2.lexer.describe_token
    - <builtin>.range
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 9
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 834
    functionName: jinja2.parser.Parser.parse_subscribed
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - buf.append
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 11
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 866
    functionName: jinja2.parser.Parser.parse_call_args
    functionSourceFile: jinja2.parser
    functionUses: 52
    functionsReached:
    - jinja2.lexer.Token.test
    - jinja2.parser.Parser.parse_dict
    - jinja2.parser.Parser.parse_math1
    - kwargs.append
    - jinja2.parser.Parser.parse_tuple.parse
    - <builtin>.setattr
    - expr.split
    - jinja2.parser.Parser.parse_call_args.ensure
    - jinja2.parser.Parser.parse_concat
    - jinja2.lexer.TokenStream.expect
    - <builtin>.len
    - jinja2.lexer.TokenStream.skip_if
    - buf.append
    - <builtin>.any
    - jinja2.parser.Parser.parse_condexpr
    - jinja2.lexer.TokenStream.push
    - jinja2.nodes.Node.__init__
    - jinja2.parser.Parser.parse_subscript
    - jinja2.parser.Parser.parse_call
    - jinja2.parser.Parser.parse_or
    - jinja2.parser.Parser.parse_postfix
    - jinja2.parser.Parser.is_tuple_end
    - jinja2.parser.Parser.parse_unary
    - jinja2.parser.Parser.parse_not
    - jinja2.lexer._describe_token_type
    - jinja2.parser.Parser.parse_primary
    - jinja2.parser.Parser.parse_list
    - <builtin>.zip
    - jinja2.parser.Parser.parse_math2
    - jinja2.parser.Parser.parse_pow
    - items.append
    - jinja2.lexer.TokenStream.next_if
    - jinja2.parser.Parser.parse_call_args
    - ops.append
    - jinja2.parser.Parser.parse_expression
    - args.append
    - attributes.pop
    - jinja2.parser.Parser.parse_subscribed
    - jinja2.parser.Parser.parse_tuple
    - jinja2.lexer.TokenStream.skip
    - jinja2.parser.Parser.parse_filter
    - jinja2.lexer.Token.test_any
    - jinja2.lexer.describe_token_expr
    - <builtin>.range
    - jinja2.lexer.describe_token
    - <builtin>.next
    - jinja2.parser.Parser.parse_compare
    - jinja2.lexer.TokenStream.look
    - jinja2.parser.Parser.fail
    - jinja2.parser.Parser.parse_filter_expr
    - jinja2.parser.Parser.parse_and
    - jinja2.parser.Parser.parse_test
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - expr
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 881
    functionName: jinja2.parser.Parser.parse_call_args.ensure
    functionSourceFile: jinja2.parser
    functionUses: 53
    functionsReached:
    - jinja2.parser.Parser.fail
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.append
    functionSourceFile: <builtin>
    functionUses: 53
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 998
    functionName: jinja2.parser.Parser.subparse.flush_data
    functionSourceFile: jinja2.parser
    functionUses: 22
    functionsReached:
    - jinja2.nodes.Node.__init__
    - body.append
    - <builtin>.zip
    - <builtin>.setattr
    - <builtin>.len
    - attributes.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body.extend
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.loaders
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - template
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 25
    functionName: jinja2.loaders.split_template_path
    functionSourceFile: jinja2.loaders
    functionUses: 2
    functionsReached:
    - template.split
    - pieces.append
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: template.split
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pieces.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 75
    functionName: jinja2.loaders.BaseLoader.get_source
    functionSourceFile: jinja2.loaders
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 101
    functionName: jinja2.loaders.BaseLoader.list_templates
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.loaders.BaseLoader
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - jinja2.utils.internalcode
    - internal_code.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b827c76a0>
    argNames:
    - self
    - environment
    - name
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: jinja2.loaders.BaseLoader.load
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - bcc.get_bucket
    - environment.template_class.from_code
    - bcc.set_bucket
    - jinja2.loaders.BaseLoader.get_source
    - environment.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bcc.get_bucket
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environment.compile
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bcc.set_bucket
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environment.template_class.from_code
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8226abe0>
    - <ast.Constant object at 0x7f3b8226af70>
    argNames:
    - self
    - searchpath
    - encoding
    - followlinks
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 179
    functionName: jinja2.loaders.FileSystemLoader.__init__
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - os.fspath
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.fspath
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 194
    functionName: jinja2.loaders.FileSystemLoader.get_source
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - jinja2.loaders.split_template_path
    - template.split
    - f.read
    - posixpath.join
    - pieces.append
    - os.path.getmtime
    - os.path.isfile
    - os.path.normpath
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: posixpath.join
    functionSourceFile: posixpath
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.read
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.getmtime
    functionSourceFile: os
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: jinja2.loaders.FileSystemLoader.get_source.uptodate
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - os.path.getmtime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.normpath
    functionSourceFile: os
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 228
    functionName: jinja2.loaders.FileSystemLoader.list_templates
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - os.path.join
    - found.add
    - <builtin>.set
    - <builtin>.sorted
    - os.walk
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.walk
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: found.add
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - z
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 259
    functionName: jinja2.loaders._get_zipimporter_files
    functionSourceFile: jinja2.loaders
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82329610>
    - <ast.Constant object at 0x7f3b82329640>
    argNames:
    - self
    - package_name
    - package_path
    - encoding
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 302
    functionName: jinja2.loaders.PackageLoader.__init__
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - os.path.isdir
    - importlib.util.find_spec
    - roots.append
    - roots.extend
    - importlib.import_module
    - <builtin>.next
    - <builtin>.isinstance
    - os.path.normpath
    - <builtin>.iter
    - os.path.join
    - os.path.dirname
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib.import_module
    functionSourceFile: importlib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib.util.find_spec
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: roots.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: roots.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 365
    functionName: jinja2.loaders.PackageLoader.get_source
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - jinja2.loaders.split_template_path
    - template.split
    - f.read
    - posixpath.join
    - pieces.append
    - os.path.getmtime
    - os.path.isfile
    - os.path.normpath
    - source.decode
    - <builtin>.open
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 386
    functionName: jinja2.loaders.PackageLoader.get_source.up_to_date
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - os.path.getmtime
    - os.path.isfile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: source.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 403
    functionName: jinja2.loaders.PackageLoader.list_templates
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - results.sort
    - results.extend
    - jinja2.loaders._get_zipimporter_files
    - results.append
    - os.path.join
    - os.walk
    - <builtin>.len
    - name.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: results.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: results.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: results.sort
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 441
    functionName: jinja2.loaders.DictLoader.__init__
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 444
    functionName: jinja2.loaders.DictLoader.get_source
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.loaders.DictLoader.get_source.<lambda1>
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 452
    functionName: jinja2.loaders.DictLoader.list_templates
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - load_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 474
    functionName: jinja2.loaders.FunctionLoader.__init__
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 483
    functionName: jinja2.loaders.FunctionLoader.get_source
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82977400>
    argNames:
    - self
    - mapping
    - delimiter
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 512
    functionName: jinja2.loaders.PrefixLoader.__init__
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - template
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 518
    functionName: jinja2.loaders.PrefixLoader.get_loader
    functionSourceFile: jinja2.loaders
    functionUses: 2
    functionsReached:
    - template.split
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 526
    functionName: jinja2.loaders.PrefixLoader.get_source
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - template.split
    - jinja2.loaders.PrefixLoader.get_loader
    - loader.get_source
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loader.get_source
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.loaders.PrefixLoader
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - jinja2.utils.internalcode
    - internal_code.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b8271d2b0>
    argNames:
    - self
    - environment
    - name
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 538
    functionName: jinja2.loaders.PrefixLoader.load
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - template.split
    - jinja2.loaders.PrefixLoader.get_loader
    - loader.load
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loader.load
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 552
    functionName: jinja2.loaders.PrefixLoader.list_templates
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - loader.list_templates
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loader.list_templates
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - loaders
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 574
    functionName: jinja2.loaders.ChoiceLoader.__init__
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environment
    - template
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 577
    functionName: jinja2.loaders.ChoiceLoader.get_source
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - loader.get_source
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.loaders.ChoiceLoader
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - jinja2.utils.internalcode
    - internal_code.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b828ed940>
    argNames:
    - self
    - environment
    - name
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 588
    functionName: jinja2.loaders.ChoiceLoader.load
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - loader.load
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 601
    functionName: jinja2.loaders.ChoiceLoader.list_templates
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - found.update
    - loader.list_templates
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: found.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 624
    functionName: jinja2.loaders.ModuleLoader.__init__
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - os.fspath
    - weakref.proxy
    - <builtin>.id
    - types.ModuleType.__init__
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: types.ModuleType.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.loaders.ModuleLoader.__init__.<lambda1>
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - sys.modules.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.modules.pop
    functionSourceFile: sys
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: weakref.proxy
    functionSourceFile: weakref
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 652
    functionName: jinja2.loaders.ModuleLoader.get_template_key
    functionSourceFile: jinja2.loaders
    functionUses: 3
    functionsReached:
    - name.encode
    - hashlib.sha1.hexdigest
    - hashlib.sha1
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jinja2.loaders.ModuleLoader
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - jinja2.utils.internalcode
    - internal_code.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3b82617ca0>
    argNames:
    - self
    - environment
    - name
    - globals
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 660
    functionName: jinja2.loaders.ModuleLoader.load
    functionSourceFile: jinja2.loaders
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - name.encode
    - sys.modules.pop
    - environment.template_class.from_module_dict
    - hashlib.sha1
    - hashlib.sha1.hexdigest
    - <builtin>.__import__
    - jinja2.loaders.ModuleLoader.get_template_key
    linkageType: pythonLinkage
    raised:
    - TemplateNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environment.template_class.from_module_dict
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.meta
    functionSourceFile: jinja2.meta
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 18
    functionName: jinja2.meta.TrackingCodeGenerator.__init__
    functionSourceFile: jinja2.meta
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - ast
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 34
    functionName: jinja2.meta.find_undeclared_variables
    functionSourceFile: jinja2.meta
    functionUses: 0
    functionsReached:
    - jinja2.optimizer.Optimizer.generic_visit
    - <builtin>.type
    - <builtin>.setattr
    - <builtin>.super
    - <builtin>.isinstance
    - <builtin>.len
    - jinja2.nodes.Node.__init__
    - jinja2.visitor.NodeVisitor.get_visitor
    - <builtin>.zip
    - jinja2.meta.TrackingCodeGenerator.__init__
    - value.items
    - jinja2.visitor.NodeVisitor.visit
    - jinja2.compiler.has_safe_repr
    - jinja2.nodes.Const.from_untrusted
    - <builtin>.set
    - <builtin>.all
    - attributes.pop
    - node.as_const
    - jinja2.idtracking.RootVisitor.generic_visit
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 7
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - ast
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: jinja2.meta.find_referenced_templates
    functionSourceFile: jinja2.meta
    functionUses: 0
    functionsReached:
    - ast.find_all
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jinja2.nativetypes
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - values
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 16
    functionName: jinja2.nativetypes.native_concat
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - itertools.islice
    - ast.parse
    - <builtin>.isinstance
    - <builtin>.str
    - itertools.chain
    - <builtin>.len
    - ast.literal_eval
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: itertools.islice
    functionSourceFile: itertools
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.parse
    functionSourceFile: ast
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 56
    functionName: jinja2.nativetypes.NativeCodeGenerator._default_finalize
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - group
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 59
    functionName: jinja2.nativetypes.NativeCodeGenerator._output_const_repr
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - finalize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 62
    functionName: jinja2.nativetypes.NativeCodeGenerator._output_child_to_const
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - value.items
    - <builtin>.isinstance
    - jinja2.compiler.has_safe_repr
    - <builtin>.all
    - finalize.const
    - node.as_const
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: finalize.const
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - finalize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 75
    functionName: jinja2.nativetypes.NativeCodeGenerator._output_child_pre
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - jinja2.compiler.CodeGenerator.write
    - jinja2.meta.TrackingCodeGenerator.write
    - io.StringIO.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - node
    - frame
    - finalize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 81
    functionName: jinja2.nativetypes.NativeCodeGenerator._output_child_post
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - jinja2.compiler.CodeGenerator.write
    - jinja2.meta.TrackingCodeGenerator.write
    - io.StringIO.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jinja2.nativetypes.NativeEnvironment
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 98
    functionName: jinja2.nativetypes.NativeTemplate.render
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - jinja2.environment.Template.new_context
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 114
    functionName: jinja2.nativetypes.NativeTemplate.render_async
    functionSourceFile: jinja2.nativetypes
    functionUses: 0
    functionsReached:
    - jinja2.environment.Template.new_context
    - <builtin>.dict
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_env_jinja_lexer':
  - 49
  - 50
  - 19
  '...fuzz_env_jinja_lexer.TestOneInput':
  - 35
  - 36
  - 42
  - 23
  - 24
  - 27
  - 29
  - 30
  '...fuzz_env_jinja_lexer.main':
  - 46
  - 47
  jinja2:
  - 1
  jinja2.__getattr__:
  - 48
  - 44
  - 55
  jinja2._identifier:
  - 4
  jinja2.async_utils:
  - 9
  - 59
  - 12
  jinja2.async_utils._IteratorToAsyncIterator.__anext__:
  - 82
  jinja2.async_utils.async_variant.decorator:
  - 35
  - 37
  - 38
  - 17
  - 50
  - 51
  - 20
  jinja2.async_utils.async_variant.decorator.is_async:
  - 28
  - 23
  jinja2.async_utils.async_variant.decorator.wrapper:
  - 40
  - 42
  - 45
  - 46
  - 48
  jinja2.async_utils.auto_aiter:
  - 90
  - 91
  - 93
  jinja2.async_utils.auto_await:
  - 64
  - 65
  - 67
  - 68
  jinja2.async_utils.auto_to_list:
  - 99
  jinja2.bccache:
  - 40
  - 1
  - 22
  - 39
  jinja2.bccache.Bucket:
  - 45
  jinja2.bccache.Bucket.__init__:
  - 57
  jinja2.bccache.Bucket.bytecode_from_string:
  - 91
  - 92
  jinja2.bccache.Bucket.bytecode_to_string:
  - 96
  - 97
  - 98
  - 95
  jinja2.bccache.Bucket.load_bytecode:
  - 64
  - 66
  - 67
  - 68
  - 71
  - 72
  - 73
  - 77
  - 79
  jinja2.bccache.Bucket.reset:
  - 60
  jinja2.bccache.Bucket.write_bytecode:
  - 83
  - 84
  - 86
  - 87
  - 88
  jinja2.bccache.BytecodeCache:
  - 102
  jinja2.bccache.BytecodeCache.clear:
  - 145
  jinja2.bccache.BytecodeCache.dump_bytecode:
  - 138
  jinja2.bccache.BytecodeCache.get_bucket:
  - 170
  - 173
  - 174
  - 175
  - 176
  jinja2.bccache.BytecodeCache.get_cache_key:
  - 151
  - 152
  - 154
  - 155
  - 157
  jinja2.bccache.BytecodeCache.get_source_checksum:
  - 160
  - 161
  jinja2.bccache.BytecodeCache.load_bytecode:
  - 131
  jinja2.bccache.BytecodeCache.set_bucket:
  - 180
  - 181
  jinja2.bccache.FileSystemBytecodeCache:
  - 185
  jinja2.bccache.FileSystemBytecodeCache.__init__:
  - 205
  - 206
  jinja2.bccache.FileSystemBytecodeCache._get_cache_filename:
  - 258
  jinja2.bccache.FileSystemBytecodeCache._get_default_cache_dir:
  - 217
  - 221
  - 223
  - 224
  - 226
  - 227
  - 230
  - 232
  - 235
  - 236
  - 237
  - 238
  - 239
  - 240
  - 242
  - 244
  - 247
  - 248
  - 249
  - 250
  - 251
  - 253
  jinja2.bccache.FileSystemBytecodeCache.clear:
  - 320
  - 322
  - 319
  jinja2.bccache.FileSystemBytecodeCache.dump_bytecode:
  - 298
  - 300
  - 304
  - 308
  - 310
  - 279
  - 280
  - 282
  - 283
  jinja2.bccache.FileSystemBytecodeCache.dump_bytecode.remove_silent:
  - 290
  jinja2.bccache.FileSystemBytecodeCache.load_bytecode:
  - 273
  - 266
  - 261
  jinja2.bccache.MemcachedBytecodeCache:
  - 328
  jinja2.bccache.MemcachedBytecodeCache.dump_bytecode:
  - 395
  - 398
  - 399
  - 401
  - 403
  jinja2.bccache.MemcachedBytecodeCache.load_bytecode:
  - 386
  - 388
  - 391
  jinja2.bccache._MemcachedClient.get:
  - 28
  jinja2.bccache._MemcachedClient.set:
  - 30
  jinja2.compiler:
  - 1
  - 26
  - 31
  jinja2.compiler.CodeGenerator:
  - 1706
  - 1707
  - 1708
  - 1709
  - 1710
  - 1711
  - 1712
  - 1713
  - 1714
  - 1715
  - 1716
  - 1717
  jinja2.compiler.CodeGenerator.__init__:
  - 308
  - 309
  - 318
  - 319
  jinja2.compiler.CodeGenerator._default_finalize:
  - 1386
  - 1390
  jinja2.compiler.CodeGenerator._filter_test_common:
  - 1792
  - 1793
  - 1824
  - 1795
  - 1796
  - 1797
  - 1825
  - 1799
  - 1800
  - 1827
  - 1828
  - 1805
  - 1807
  - 1809
  - 1814
  - 1817
  - 1818
  - 1822
  jinja2.compiler.CodeGenerator._import_common:
  - 1097
  - 1098
  - 1099
  - 1101
  - 1102
  - 1103
  - 1104
  - 1107
  jinja2.compiler.CodeGenerator._make_finalize:
  - 1414
  - 1439
  - 1417
  - 1422
  - 1426
  - 1395
  - 1434
  - 1407
  jinja2.compiler.CodeGenerator._make_finalize.finalize:
  - 1429
  - 1437
  jinja2.compiler.CodeGenerator._output_child_post:
  - 1489
  - 1492
  - 1494
  - 1495
  jinja2.compiler.CodeGenerator._output_child_pre:
  - 1473
  - 1476
  - 1477
  - 1478
  - 1479
  - 1481
  - 1483
  - 1484
  jinja2.compiler.CodeGenerator._output_child_to_const:
  - 1452
  - 1459
  - 1461
  - 1462
  - 1465
  - 1466
  - 1468
  jinja2.compiler.CodeGenerator._output_const_repr:
  - 1443
  - 1447
  jinja2.compiler.CodeGenerator.blockvisit:
  - 441
  - 445
  - 446
  - 447
  jinja2.compiler.CodeGenerator.buffer:
  - 388
  - 389
  - 390
  jinja2.compiler.CodeGenerator.derive_context:
  - 768
  jinja2.compiler.CodeGenerator.dump_local_context:
  - 713
  - 715
  jinja2.compiler.CodeGenerator.end_write:
  - 428
  - 429
  - 430
  jinja2.compiler.CodeGenerator.enter_frame:
  - 582
  - 583
  - 585
  - 586
  - 587
  - 588
  - 589
  - 590
  - 593
  - 594
  jinja2.compiler.CodeGenerator.fail:
  - 379
  jinja2.compiler.CodeGenerator.func:
  - 608
  jinja2.compiler.CodeGenerator.get_resolve_func:
  - 763
  jinja2.compiler.CodeGenerator.indent:
  - 413
  jinja2.compiler.CodeGenerator.leave_frame:
  - 597
  - 599
  - 600
  - 601
  - 602
  jinja2.compiler.CodeGenerator.macro_body:
  - 640
  - 642
  - 649
  - 651
  - 652
  - 654
  - 655
  - 660
  - 661
  - 662
  - 664
  - 665
  - 667
  - 668
  - 669
  - 670
  - 671
  - 673
  - 675
  - 680
  - 681
  - 682
  - 683
  - 684
  - 686
  - 687
  - 688
  - 689
  - 613
  - 614
  - 615
  - 616
  - 619
  - 622
  - 623
  - 625
  - 626
  - 627
  - 629
  - 631
  - 638
  jinja2.compiler.CodeGenerator.macro_def:
  - 694
  - 695
  - 696
  - 697
  - 699
  jinja2.compiler.CodeGenerator.mark_parameter_stored:
  - 746
  - 749
  - 750
  jinja2.compiler.CodeGenerator.newline:
  - 472
  - 473
  - 471
  jinja2.compiler.CodeGenerator.outdent:
  - 417
  jinja2.compiler.CodeGenerator.parameter_is_undeclared:
  - 771
  - 772
  jinja2.compiler.CodeGenerator.pop_assign_tracking:
  - 781
  - 784
  - 785
  - 793
  - 794
  - 795
  - 796
  - 797
  - 799
  - 800
  - 802
  - 804
  - 805
  - 806
  - 807
  - 809
  - 810
  - 811
  - 812
  - 813
  - 814
  - 815
  - 816
  - 817
  - 818
  - 820
  - 821
  jinja2.compiler.CodeGenerator.pop_context_reference:
  - 756
  jinja2.compiler.CodeGenerator.pop_parameter_definitions:
  - 742
  - 743
  jinja2.compiler.CodeGenerator.position:
  - 706
  - 708
  jinja2.compiler.CodeGenerator.pull_dependencies:
  - 535
  - 545
  - 547
  - 548
  - 550
  - 558
  - 559
  - 560
  - 564
  - 565
  - 566
  - 567
  - 568
  - 569
  - 570
  - 571
  - 572
  - 573
  - 577
  - 578
  jinja2.compiler.CodeGenerator.push_assign_tracking:
  - 777
  - 778
  jinja2.compiler.CodeGenerator.push_context_reference:
  - 753
  jinja2.compiler.CodeGenerator.push_parameter_definitions:
  - 739
  - 733
  jinja2.compiler.CodeGenerator.return_buffer_contents:
  - 395
  - 396
  - 397
  - 398
  - 399
  - 400
  - 401
  - 402
  - 403
  - 404
  - 405
  - 407
  - 408
  - 410
  jinja2.compiler.CodeGenerator.signature:
  - 512
  - 513
  - 515
  - 516
  - 517
  - 518
  - 519
  - 520
  - 521
  - 522
  - 523
  - 524
  - 525
  - 526
  - 528
  - 530
  - 531
  - 532
  - 483
  - 491
  - 492
  - 493
  - 496
  - 497
  - 498
  - 500
  - 501
  - 502
  - 503
  - 504
  - 505
  - 506
  - 507
  - 508
  - 509
  - 511
  jinja2.compiler.CodeGenerator.simple_write:
  - 435
  - 436
  - 437
  - 438
  jinja2.compiler.CodeGenerator.start_write:
  - 425
  - 421
  - 422
  - 423
  jinja2.compiler.CodeGenerator.temporary_identifier:
  - 383
  jinja2.compiler.CodeGenerator.visit_Assign:
  - 1601
  - 1602
  - 1603
  - 1604
  - 1605
  - 1577
  - 1583
  - 1585
  - 1586
  - 1591
  - 1592
  - 1593
  - 1594
  - 1595
  - 1599
  jinja2.compiler.CodeGenerator.visit_AssignBlock:
  - 1608
  - 1609
  - 1614
  - 1615
  - 1616
  - 1617
  - 1618
  - 1619
  - 1620
  - 1621
  - 1622
  - 1624
  - 1625
  - 1626
  - 1627
  jinja2.compiler.CodeGenerator.visit_Block:
  - 946
  - 948
  - 951
  - 953
  - 954
  - 955
  - 958
  - 959
  - 961
  - 963
  - 964
  - 965
  - 966
  - 970
  - 972
  - 973
  - 977
  - 978
  - 979
  - 980
  - 981
  - 984
  - 985
  - 986
  - 987
  - 988
  - 989
  - 992
  jinja2.compiler.CodeGenerator.visit_Break:
  - 1946
  jinja2.compiler.CodeGenerator.visit_Call:
  - 1889
  - 1890
  - 1891
  - 1892
  - 1893
  - 1894
  - 1895
  - 1896
  - 1879
  - 1880
  - 1881
  - 1882
  - 1884
  - 1885
  jinja2.compiler.CodeGenerator.visit_CallBlock:
  - 1346
  - 1347
  - 1348
  - 1349
  - 1350
  - 1351
  jinja2.compiler.CodeGenerator.visit_Compare:
  - 1735
  - 1736
  - 1737
  - 1738
  - 1739
  jinja2.compiler.CodeGenerator.visit_Concat:
  - 1728
  - 1729
  - 1730
  - 1731
  - 1721
  - 1723
  - 1727
  jinja2.compiler.CodeGenerator.visit_CondExpr:
  - 1867
  - 1868
  - 1869
  - 1870
  - 1871
  - 1872
  - 1873
  - 1854
  jinja2.compiler.CodeGenerator.visit_CondExpr.write_expr2:
  - 1857
  - 1858
  - 1861
  - 1863
  jinja2.compiler.CodeGenerator.visit_Const:
  - 1665
  - 1666
  - 1667
  - 1669
  jinja2.compiler.CodeGenerator.visit_ContextReference:
  - 1935
  jinja2.compiler.CodeGenerator.visit_Continue:
  - 1943
  jinja2.compiler.CodeGenerator.visit_DerivedContextReference:
  - 1940
  jinja2.compiler.CodeGenerator.visit_Dict:
  - 1697
  - 1698
  - 1699
  - 1700
  - 1701
  - 1702
  - 1703
  - 1704
  jinja2.compiler.CodeGenerator.visit_EnvironmentAttribute:
  - 1919
  jinja2.compiler.CodeGenerator.visit_EvalContextModifier:
  - 1972
  - 1973
  - 1974
  - 1976
  - 1980
  jinja2.compiler.CodeGenerator.visit_ExprStmt:
  - 1377
  - 1378
  jinja2.compiler.CodeGenerator.visit_Extends:
  - 1024
  - 1025
  - 995
  - 996
  - 997
  - 1030
  - 1002
  - 1007
  - 1008
  - 1009
  - 1010
  - 1014
  - 1017
  - 1019
  - 1020
  - 1021
  - 1022
  - 1023
  jinja2.compiler.CodeGenerator.visit_ExtensionAttribute:
  - 1924
  jinja2.compiler.CodeGenerator.visit_Filter:
  - 1832
  - 1835
  - 1836
  - 1837
  - 1838
  - 1842
  - 1843
  - 1845
  jinja2.compiler.CodeGenerator.visit_FilterBlock:
  - 1354
  - 1355
  - 1356
  - 1357
  - 1358
  - 1359
  - 1360
  - 1361
  - 1362
  jinja2.compiler.CodeGenerator.visit_For:
  - 1176
  - 1178
  - 1179
  - 1187
  - 1188
  - 1192
  - 1193
  - 1195
  - 1196
  - 1197
  - 1199
  - 1200
  - 1201
  - 1202
  - 1203
  - 1204
  - 1205
  - 1206
  - 1207
  - 1208
  - 1209
  - 1210
  - 1211
  - 1212
  - 1213
  - 1214
  - 1215
  - 1216
  - 1217
  - 1218
  - 1223
  - 1224
  - 1225
  - 1227
  - 1228
  - 1235
  - 1236
  - 1238
  - 1239
  - 1240
  - 1245
  - 1246
  - 1247
  - 1249
  - 1250
  - 1251
  - 1252
  - 1254
  - 1256
  - 1257
  - 1258
  - 1259
  - 1261
  - 1262
  - 1263
  - 1264
  - 1265
  - 1266
  - 1267
  - 1269
  - 1270
  - 1272
  - 1274
  - 1275
  - 1277
  - 1278
  - 1279
  - 1280
  - 1281
  - 1282
  - 1286
  - 1287
  - 1288
  - 1289
  - 1290
  - 1291
  - 1292
  - 1296
  - 1297
  - 1298
  - 1299
  - 1300
  - 1301
  - 1302
  - 1303
  - 1304
  - 1305
  - 1306
  - 1307
  - 1311
  - 1312
  jinja2.compiler.CodeGenerator.visit_FromImport:
  - 1152
  - 1153
  - 1154
  - 1155
  - 1157
  - 1158
  - 1160
  - 1162
  - 1163
  - 1165
  - 1166
  - 1167
  - 1168
  - 1170
  - 1171
  - 1121
  - 1122
  - 1123
  - 1124
  - 1127
  - 1128
  - 1132
  - 1133
  - 1136
  - 1137
  - 1142
  - 1148
  - 1149
  - 1151
  jinja2.compiler.CodeGenerator.visit_Getattr:
  - 1747
  - 1748
  - 1750
  - 1751
  - 1752
  - 1754
  - 1755
  jinja2.compiler.CodeGenerator.visit_Getitem:
  - 1760
  - 1761
  - 1762
  - 1763
  - 1764
  - 1766
  - 1767
  - 1769
  - 1770
  - 1771
  - 1772
  - 1773
  - 1775
  - 1776
  jinja2.compiler.CodeGenerator.visit_If:
  - 1315
  - 1316
  - 1317
  - 1318
  - 1319
  - 1320
  - 1321
  - 1322
  - 1323
  - 1324
  - 1325
  - 1326
  - 1327
  - 1328
  - 1329
  - 1330
  - 1331
  - 1332
  - 1333
  jinja2.compiler.CodeGenerator.visit_Import:
  - 1110
  - 1111
  - 1112
  - 1113
  - 1115
  - 1117
  - 1118
  jinja2.compiler.CodeGenerator.visit_ImportedName:
  - 1927
  jinja2.compiler.CodeGenerator.visit_Include:
  - 1037
  - 1038
  - 1039
  - 1040
  - 1043
  - 1044
  - 1046
  - 1048
  - 1051
  - 1052
  - 1053
  - 1054
  - 1055
  - 1056
  - 1057
  - 1058
  - 1059
  - 1060
  - 1061
  - 1068
  - 1069
  - 1072
  - 1074
  - 1075
  - 1076
  - 1077
  - 1078
  - 1079
  - 1080
  - 1082
  - 1083
  - 1087
  - 1089
  - 1091
  - 1092
  jinja2.compiler.CodeGenerator.visit_Include.loop_body:
  - 1064
  - 1065
  - 1066
  jinja2.compiler.CodeGenerator.visit_InternalName:
  - 1930
  jinja2.compiler.CodeGenerator.visit_Keyword:
  - 1899
  - 1900
  jinja2.compiler.CodeGenerator.visit_List:
  - 1689
  - 1690
  - 1691
  - 1692
  - 1693
  - 1694
  jinja2.compiler.CodeGenerator.visit_Macro:
  - 1336
  - 1337
  - 1338
  - 1339
  - 1340
  - 1341
  - 1342
  - 1343
  jinja2.compiler.CodeGenerator.visit_MarkSafe:
  - 1905
  - 1906
  - 1907
  jinja2.compiler.CodeGenerator.visit_MarkSafeIfAutoescape:
  - 1912
  - 1913
  - 1914
  jinja2.compiler.CodeGenerator.visit_NSRef:
  - 1661
  - 1662
  jinja2.compiler.CodeGenerator.visit_Name:
  - 1632
  - 1635
  - 1636
  - 1637
  - 1642
  - 1643
  - 1644
  - 1647
  - 1649
  - 1654
  jinja2.compiler.CodeGenerator.visit_Operand:
  - 1742
  - 1743
  jinja2.compiler.CodeGenerator.visit_Output:
  - 1536
  - 1538
  - 1539
  - 1540
  - 1542
  - 1544
  - 1546
  - 1547
  - 1549
  - 1551
  - 1552
  - 1554
  - 1556
  - 1557
  - 1559
  - 1562
  - 1563
  - 1564
  - 1566
  - 1567
  - 1569
  - 1570
  - 1571
  - 1573
  - 1574
  - 1499
  - 1501
  - 1504
  - 1505
  - 1507
  - 1513
  - 1515
  - 1521
  - 1525
  - 1530
  - 1533
  - 1534
  jinja2.compiler.CodeGenerator.visit_OverlayScope:
  - 1956
  - 1957
  - 1958
  - 1959
  - 1960
  - 1962
  - 1963
  - 1964
  - 1965
  - 1966
  - 1967
  jinja2.compiler.CodeGenerator.visit_Scope:
  - 1952
  - 1953
  - 1949
  - 1950
  - 1951
  jinja2.compiler.CodeGenerator.visit_ScopedEvalContextModifier:
  - 1985
  - 1986
  - 1987
  - 1988
  - 1989
  - 1990
  - 1991
  - 1992
  jinja2.compiler.CodeGenerator.visit_Slice:
  - 1779
  - 1780
  - 1781
  - 1782
  - 1783
  - 1784
  - 1785
  - 1786
  jinja2.compiler.CodeGenerator.visit_Template:
  - 896
  - 897
  - 899
  - 900
  - 901
  - 902
  - 903
  - 904
  - 905
  - 906
  - 907
  - 908
  - 911
  - 912
  - 913
  - 917
  - 918
  - 922
  - 924
  - 925
  - 926
  - 927
  - 928
  - 929
  - 930
  - 931
  - 933
  - 934
  - 935
  - 936
  - 937
  - 938
  - 940
  - 941
  - 942
  - 943
  - 827
  - 832
  - 833
  - 835
  - 837
  - 845
  - 848
  - 849
  - 850
  - 854
  - 855
  - 857
  - 858
  - 859
  - 860
  - 862
  - 865
  - 868
  - 869
  - 871
  - 872
  - 875
  - 876
  - 877
  - 878
  - 879
  - 882
  - 883
  - 884
  - 885
  - 886
  - 887
  - 888
  - 891
  - 892
  - 893
  - 894
  - 895
  jinja2.compiler.CodeGenerator.visit_TemplateData:
  - 1673
  - 1675
  jinja2.compiler.CodeGenerator.visit_Test:
  - 1849
  - 1850
  jinja2.compiler.CodeGenerator.visit_Tuple:
  - 1680
  - 1682
  - 1683
  - 1684
  - 1685
  - 1686
  jinja2.compiler.CodeGenerator.visit_With:
  - 1365
  - 1366
  - 1367
  - 1368
  - 1369
  - 1370
  - 1371
  - 1372
  - 1373
  - 1374
  jinja2.compiler.CodeGenerator.write:
  - 452
  - 453
  - 454
  - 455
  - 457
  - 458
  - 461
  - 463
  jinja2.compiler.CodeGenerator.write_commons:
  - 720
  - 724
  - 725
  - 726
  - 729
  - 730
  jinja2.compiler.CodeGenerator.writeline:
  - 466
  - 467
  - 468
  jinja2.compiler.CompilerExit:
  - 292
  jinja2.compiler.DependencyFinderVisitor:
  - 251
  jinja2.compiler.DependencyFinderVisitor.__init__:
  - 254
  - 255
  jinja2.compiler.DependencyFinderVisitor.visit_Block:
  - 266
  jinja2.compiler.DependencyFinderVisitor.visit_Filter:
  - 258
  - 259
  jinja2.compiler.DependencyFinderVisitor.visit_Test:
  - 262
  - 263
  jinja2.compiler.Frame:
  - 164
  jinja2.compiler.Frame.__init__:
  - 177
  - 178
  - 194
  jinja2.compiler.Frame.copy:
  - 218
  - 219
  - 220
  - 221
  jinja2.compiler.Frame.inner:
  - 225
  - 226
  - 227
  - 228
  jinja2.compiler.Frame.soft:
  - 238
  - 231
  jinja2.compiler.UndeclaredNameVisitor:
  - 270
  jinja2.compiler.UndeclaredNameVisitor.__init__:
  - 276
  - 277
  jinja2.compiler.UndeclaredNameVisitor.visit_Block:
  - 288
  jinja2.compiler.UndeclaredNameVisitor.visit_Name:
  - 280
  - 281
  - 282
  - 285
  jinja2.compiler.VisitorExit:
  - 247
  jinja2.compiler._make_binop.visitor:
  - 64
  - 67
  - 68
  - 69
  - 70
  - 72
  - 73
  - 74
  - 75
  - 77
  jinja2.compiler._make_unop.visitor:
  - 96
  - 87
  - 90
  - 91
  - 93
  - 94
  jinja2.compiler.find_undeclared:
  - 146
  - 148
  - 149
  - 143
  jinja2.compiler.generate:
  - 110
  - 111
  - 114
  - 117
  - 119
  - 120
  jinja2.compiler.has_safe_repr:
  - 130
  - 133
  - 134
  - 136
  - 137
  - 126
  - 127
  jinja2.compiler.optimizeconst:
  - 58
  jinja2.compiler.optimizeconst.new_func:
  - 50
  - 51
  - 53
  - 54
  - 56
  jinja2.debug:
  - 10
  jinja2.debug.fake_traceback:
  - 128
  - 105
  - 79
  - 113
  - 116
  - 118
  - 121
  - 126
  - 91
  - 94
  - 95
  jinja2.debug.get_template_locals:
  - 160
  - 162
  - 132
  - 166
  - 167
  - 136
  - 168
  - 138
  - 139
  - 149
  - 150
  - 155
  - 156
  jinja2.debug.rewrite_traceback_stack:
  - 34
  - 58
  - 37
  - 69
  - 59
  - 73
  - 15
  - 51
  - 55
  - 25
  - 26
  - 27
  - 60
  - 29
  - 62
  - 57
  jinja2.defaults:
  - 10
  jinja2.environment:
  - 65
  - 1
  - 58
  - 69
  jinja2.environment.Environment:
  - 146
  jinja2.environment.Environment.__init__:
  - 352
  - 353
  - 354
  - 358
  - 363
  - 366
  - 369
  jinja2.environment.Environment._compile:
  - 708
  - 703
  jinja2.environment.Environment._filter_test_common:
  - 545
  - 514
  - 546
  - 516
  - 547
  - 549
  - 519
  - 521
  - 529
  - 531
  - 532
  - 539
  - 537
  - 538
  - 507
  - 540
  - 543
  jinja2.environment.Environment._generate:
  - 688
  - 693
  jinja2.environment.Environment._load_template:
  - 961
  - 962
  - 963
  - 964
  - 969
  - 970
  - 974
  - 976
  - 959
  jinja2.environment.Environment._parse:
  - 620
  - 621
  jinja2.environment.Environment._tokenize:
  - 673
  - 674
  - 676
  - 677
  - 667
  - 670
  - 671
  jinja2.environment.Environment.add_extension:
  - 376
  - 372
  jinja2.environment.Environment.call_filter:
  - 560
  - 568
  jinja2.environment.Environment.call_test:
  - 593
  - 581
  jinja2.environment.Environment.compile:
  - 768
  - 770
  - 739
  - 718
  - 760
  - 728
  - 762
  - 763
  - 764
  - 766
  jinja2.environment.Environment.compile_expression:
  - 802
  - 804
  - 805
  - 775
  - 809
  - 811
  - 813
  - 814
  - 815
  jinja2.environment.Environment.compile_templates:
  - 896
  - 826
  - 845
  - 862
  - 868
  - 869
  - 871
  - 873
  - 874
  - 875
  - 878
  - 879
  - 881
  - 883
  - 885
  - 888
  - 890
  - 891
  - 893
  - 894
  jinja2.environment.Environment.compile_templates.write_file:
  - 854
  - 855
  - 857
  - 859
  - 860
  jinja2.environment.Environment.extend:
  - 384
  - 385
  - 379
  - 383
  jinja2.environment.Environment.from_string:
  - 1106
  - 1108
  - 1095
  jinja2.environment.Environment.get_or_select_template:
  - 1078
  - 1083
  - 1084
  - 1085
  - 1087
  jinja2.environment.Environment.get_template:
  - 1010
  - 1012
  - 1013
  - 1015
  - 987
  jinja2.environment.Environment.getattr:
  - 489
  - 485
  - 495
  jinja2.environment.Environment.getitem:
  - 482
  - 468
  - 472
  - 474
  - 479
  jinja2.environment.Environment.handle_exception:
  - 936
  jinja2.environment.Environment.iter_extensions:
  - 464
  - 465
  jinja2.environment.Environment.join_path:
  - 944
  jinja2.environment.Environment.lex:
  - 640
  - 642
  - 629
  - 638
  jinja2.environment.Environment.lexer:
  - 460
  - 461
  jinja2.environment.Environment.list_templates:
  - 930
  - 931
  - 903
  - 919
  - 921
  - 922
  jinja2.environment.Environment.list_templates.filter_func:
  - 928
  jinja2.environment.Environment.make_globals:
  - 1113
  - 1130
  - 1127
  jinja2.environment.Environment.overlay:
  - 448
  - 449
  - 450
  - 451
  - 453
  - 456
  - 430
  - 433
  - 434
  - 438
  - 439
  - 440
  - 442
  - 443
  - 412
  - 445
  jinja2.environment.Environment.parse:
  - 604
  - 613
  - 615
  jinja2.environment.Environment.preprocess:
  - 650
  - 654
  - 655
  - 656
  - 657
  jinja2.environment.Environment.preprocess.<lambda1>:
  - 655
  jinja2.environment.Environment.select_template:
  - 1024
  - 1060
  - 1061
  - 1063
  - 1064
  - 1066
  - 1052
  - 1053
  - 1055
  jinja2.environment.Template:
  - 1134
  jinja2.environment.Template.__new__:
  - 1200
  - 1186
  - 1211
  jinja2.environment.Template.__repr__:
  - 1504
  - 1505
  - 1507
  - 1508
  jinja2.environment.Template._from_namespace:
  - 1251
  jinja2.environment.Template._get_default_module:
  - 1441
  - 1442
  - 1421
  - 1432
  - 1435
  - 1436
  - 1438
  - 1439
  jinja2.environment.Template._get_default_module_async:
  - 1449
  - 1450
  - 1452
  - 1453
  - 1455
  - 1456
  jinja2.environment.Template.debug_info:
  - 1497
  - 1498
  - 1494
  - 1495
  jinja2.environment.Template.from_code:
  - 1225
  - 1226
  - 1221
  jinja2.environment.Template.from_module_dict:
  - 1242
  - 1237
  jinja2.environment.Template.generate:
  - 1345
  - 1324
  - 1331
  - 1337
  - 1340
  - 1343
  jinja2.environment.Template.generate.to_list:
  - 1335
  jinja2.environment.Template.generate_async:
  - 1350
  - 1353
  - 1358
  - 1361
  - 1363
  - 1365
  - 1367
  jinja2.environment.Template.get_corresponding_lineno:
  - 1480
  - 1481
  - 1477
  jinja2.environment.Template.is_up_to_date:
  - 1488
  - 1490
  - 1487
  jinja2.environment.Template.make_module:
  - 1392
  - 1398
  - 1399
  jinja2.environment.Template.make_module_async:
  - 1416
  - 1412
  - 1413
  - 1407
  jinja2.environment.Template.module:
  - 1474
  - 1462
  jinja2.environment.Template.new_context:
  - 1382
  - 1375
  jinja2.environment.Template.render:
  - 1282
  - 1285
  - 1287
  - 1290
  - 1292
  - 1273
  jinja2.environment.Template.render_async:
  - 1312
  - 1315
  - 1295
  - 1303
  - 1308
  - 1311
  jinja2.environment.Template.stream:
  - 1321
  - 1318
  jinja2.environment.TemplateExpression:
  - 1552
  jinja2.environment.TemplateExpression.__call__:
  - 1562
  - 1563
  - 1565
  jinja2.environment.TemplateModule:
  - 1512
  jinja2.environment.TemplateModule.__html__:
  - 1538
  jinja2.environment.TemplateModule.__init__:
  - 1523
  - 1524
  - 1534
  - 1531
  jinja2.environment.TemplateModule.__repr__:
  - 1544
  - 1545
  - 1547
  - 1548
  jinja2.environment.TemplateModule.__str__:
  - 1541
  jinja2.environment.TemplateStream:
  - 1571
  jinja2.environment.TemplateStream.__init__:
  - 1583
  jinja2.environment.TemplateStream.__next__:
  - 1661
  jinja2.environment.TemplateStream._buffered_generator:
  - 1638
  - 1639
  - 1640
  - 1643
  - 1645
  jinja2.environment.TemplateStream.disable_buffering:
  - 1626
  - 1627
  jinja2.environment.TemplateStream.dump:
  - 1601
  - 1602
  - 1605
  - 1623
  - 1611
  - 1612
  - 1616
  - 1617
  - 1619
  - 1620
  - 1622
  - 1591
  jinja2.environment.TemplateStream.enable_buffering:
  - 1650
  - 1651
  - 1655
  jinja2.environment._environment_config_check:
  - 128
  - 129
  jinja2.environment.copy_cache:
  - 106
  - 99
  - 100
  - 103
  jinja2.environment.create_cache:
  - 90
  - 93
  - 86
  - 87
  jinja2.environment.get_spontaneous_environment:
  - 78
  - 71
  jinja2.environment.load_extensions:
  - 113
  - 118
  - 119
  - 120
  - 122
  jinja2.exceptions:
  - 3
  jinja2.exceptions.FilterArgumentError:
  - 164
  jinja2.exceptions.SecurityError:
  - 158
  jinja2.exceptions.TemplateAssertionError:
  - 140
  jinja2.exceptions.TemplateError:
  - 8
  jinja2.exceptions.TemplateError.__init__:
  - 11
  jinja2.exceptions.TemplateNotFound:
  - 19
  jinja2.exceptions.TemplateNotFound.__init__:
  - 40
  - 41
  - 35
  - 37
  jinja2.exceptions.TemplateNotFound.__str__:
  - 50
  jinja2.exceptions.TemplateRuntimeError:
  - 148
  jinja2.exceptions.TemplateSyntaxError:
  - 89
  jinja2.exceptions.TemplateSyntaxError.__init__:
  - 98
  jinja2.exceptions.TemplateSyntaxError.__str__:
  - 129
  - 110
  - 111
  - 116
  - 118
  - 121
  - 123
  - 127
  jinja2.exceptions.TemplatesNotFound:
  - 54
  jinja2.exceptions.TemplatesNotFound.__init__:
  - 70
  - 75
  - 76
  - 77
  - 79
  - 81
  - 84
  - 85
  jinja2.exceptions.UndefinedError:
  - 154
  jinja2.ext:
  - 1
  - 20
  - 52
  jinja2.ext.DebugExtension:
  - 596
  jinja2.ext.DebugExtension._render:
  - 632
  - 626
  - 627
  - 628
  jinja2.ext.DebugExtension.parse:
  - 619
  - 620
  - 621
  - 622
  jinja2.ext.ExprStmtExtension:
  - 571
  jinja2.ext.ExprStmtExtension.parse:
  - 578
  - 579
  jinja2.ext.Extension:
  - 56
  - 80
  jinja2.ext.Extension.attr:
  - 134
  - 127
  jinja2.ext.Extension.bind:
  - 93
  - 94
  - 95
  jinja2.ext.Extension.call_method:
  - 145
  - 148
  - 150
  - 152
  - 153
  jinja2.ext.Extension.filter_stream:
  - 111
  jinja2.ext.Extension.parse:
  - 119
  jinja2.ext.Extension.preprocess:
  - 102
  jinja2.ext.InternationalizationExtension:
  - 245
  jinja2.ext.InternationalizationExtension.__init__:
  - 257
  - 259
  jinja2.ext.InternationalizationExtension._extract:
  - 331
  - 332
  - 333
  jinja2.ext.InternationalizationExtension._install:
  - 273
  - 274
  - 276
  - 277
  - 280
  - 281
  - 282
  jinja2.ext.InternationalizationExtension._install_callables:
  - 306
  - 308
  - 309
  - 310
  - 312
  - 313
  - 315
  - 316
  - 318
  jinja2.ext.InternationalizationExtension._install_null:
  - 289
  - 290
  jinja2.ext.InternationalizationExtension._make_node:
  - 517
  - 523
  - 524
  - 525
  - 526
  - 529
  - 531
  - 532
  - 535
  - 537
  - 539
  - 544
  - 545
  - 548
  - 550
  - 556
  - 557
  - 558
  - 560
  - 562
  - 563
  - 567
  jinja2.ext.InternationalizationExtension._parse_block:
  - 463
  - 468
  - 469
  - 470
  - 471
  - 472
  - 473
  - 474
  - 475
  - 476
  - 477
  - 478
  - 484
  - 486
  - 487
  - 489
  - 492
  - 493
  - 496
  - 500
  - 501
  - 505
  jinja2.ext.InternationalizationExtension._trim_whitespace:
  - 458
  jinja2.ext.InternationalizationExtension._uninstall:
  - 323
  - 324
  jinja2.ext.InternationalizationExtension.parse:
  - 384
  - 390
  - 394
  - 397
  - 398
  - 399
  - 400
  - 401
  - 405
  - 407
  - 408
  - 409
  - 410
  - 411
  - 418
  - 419
  - 420
  - 421
  - 423
  - 426
  - 427
  - 428
  - 430
  - 432
  - 433
  - 435
  - 437
  - 438
  - 439
  - 440
  - 442
  - 448
  - 451
  - 452
  - 336
  - 337
  - 340
  - 342
  - 354
  - 355
  - 358
  - 361
  - 362
  - 363
  - 370
  - 371
  - 372
  - 373
  - 377
  - 379
  - 380
  - 381
  - 383
  jinja2.ext.LoopControlExtension:
  - 584
  jinja2.ext.LoopControlExtension.parse:
  - 592
  - 589
  - 590
  - 591
  jinja2.ext._CommentFinder:
  - 713
  jinja2.ext._CommentFinder.find_backwards:
  - 737
  - 738
  - 729
  - 732
  - 734
  jinja2.ext._CommentFinder.find_comments:
  - 744
  - 746
  - 747
  - 748
  - 749
  jinja2.ext._TranslationsBasic.gettext:
  - 28
  jinja2.ext._TranslationsContext.npgettext:
  - 38
  jinja2.ext._TranslationsContext.pgettext:
  - 34
  jinja2.ext._gettext_alias:
  - 166
  jinja2.ext._make_new_gettext.gettext:
  - 172
  - 173
  - 174
  jinja2.ext._make_new_ngettext.ngettext:
  - 192
  - 193
  - 194
  - 195
  jinja2.ext._make_new_npgettext.npgettext:
  - 231
  - 232
  - 233
  - 235
  - 236
  jinja2.ext._make_new_pgettext.pgettext:
  - 208
  - 210
  - 211
  - 207
  jinja2.ext.babel_extract:
  - 787
  - 788
  - 790
  - 793
  - 795
  - 801
  - 802
  - 803
  - 804
  - 805
  - 806
  - 807
  - 808
  - 809
  - 810
  - 811
  - 812
  - 814
  - 815
  - 820
  - 822
  - 825
  - 827
  - 828
  - 830
  - 835
  - 836
  - 837
  - 758
  jinja2.ext.babel_extract.getbool:
  - 799
  jinja2.ext.extract_from_ast:
  - 640
  - 676
  - 677
  - 678
  - 685
  - 686
  - 687
  - 689
  - 691
  - 692
  - 693
  - 694
  - 695
  - 696
  - 698
  - 699
  - 701
  - 704
  - 707
  - 709
  jinja2.filters:
  - 256
  - 1
  - 1281
  - 1679
  - 661
  - 1565
  - 31
  - 44
  - 45
  - 46
  - 1335
  - 1601
  - 328
  - 1098
  - 973
  - 1364
  - 474
  - 738
  - 1641
  - 1520
  - 637
  jinja2.filters._GroupTuple.__repr__:
  - 1191
  jinja2.filters._GroupTuple.__str__:
  - 1194
  jinja2.filters._min_or_max:
  - 493
  - 496
  - 498
  - 500
  - 503
  jinja2.filters._prepare_attribute_parts:
  - 130
  - 133
  - 134
  jinja2.filters.async_select_or_reject:
  - 1804
  - 1805
  - 1807
  - 1808
  - 1809
  jinja2.filters.do_attr:
  - 1409
  - 1421
  - 1424
  - 1425
  - 1427
  jinja2.filters.do_batch:
  - 1130
  - 1131
  - 1132
  - 1135
  - 1137
  - 1138
  - 1139
  - 1141
  - 1110
  jinja2.filters.do_capitalize:
  - 322
  - 325
  jinja2.filters.do_center:
  - 648
  - 649
  jinja2.filters.do_default:
  - 573
  - 551
  jinja2.filters.do_dictsort:
  - 369
  - 382
  - 350
  - 367
  jinja2.filters.do_dictsort.sort_func:
  - 377
  - 378
  jinja2.filters.do_filesizeformat:
  - 706
  - 719
  - 721
  - 722
  - 724
  - 727
  - 701
  jinja2.filters.do_first:
  - 666
  - 668
  jinja2.filters.do_float:
  - 1009
  - 1004
  jinja2.filters.do_forceescape:
  - 144
  - 140
  - 141
  - 142
  jinja2.filters.do_format:
  - 1034
  - 1039
  - 1015
  jinja2.filters.do_groupby:
  - 1289
  - 1296
  - 1297
  - 1300
  - 1302
  - 1303
  jinja2.filters.do_indent:
  - 839
  - 846
  - 847
  - 848
  - 856
  - 852
  - 853
  - 855
  - 824
  - 858
  - 859
  - 863
  jinja2.filters.do_int:
  - 992
  - 994
  - 998
  - 982
  - 991
  jinja2.filters.do_items:
  - 248
  - 225
  - 251
  - 245
  jinja2.filters.do_join:
  - 644
  jinja2.filters.do_last:
  - 673
  - 683
  - 685
  jinja2.filters.do_list:
  - 1366
  jinja2.filters.do_lower:
  - 220
  - 221
  jinja2.filters.do_map:
  - 1507
  - 1517
  - 1527
  - 1528
  - 1530
  - 1531
  jinja2.filters.do_mark_safe:
  - 1370
  - 1373
  jinja2.filters.do_mark_unsafe:
  - 1377
  - 1378
  jinja2.filters.do_max:
  - 533
  - 543
  jinja2.filters.do_min:
  - 513
  - 523
  jinja2.filters.do_pprint:
  - 734
  - 735
  jinja2.filters.do_random:
  - 697
  - 693
  - 695
  jinja2.filters.do_reject:
  - 1608
  jinja2.filters.do_rejectattr:
  - 1686
  jinja2.filters.do_replace:
  - 196
  - 199
  - 200
  - 202
  - 203
  - 204
  - 205
  - 207
  - 209
  - 211
  - 182
  jinja2.filters.do_reverse:
  - 1382
  - 1386
  - 1390
  - 1393
  - 1397
  - 1400
  - 1401
  jinja2.filters.do_round:
  - 1174
  - 1181
  - 1177
  - 1178
  - 1180
  - 1149
  jinja2.filters.do_select:
  - 1572
  jinja2.filters.do_selectattr:
  - 1648
  jinja2.filters.do_slice:
  - 1104
  jinja2.filters.do_sort:
  - 393
  - 435
  - 438
  jinja2.filters.do_striptags:
  - 1048
  - 1049
  - 1050
  - 1052
  jinja2.filters.do_sum:
  - 1344
  - 1345
  - 1352
  - 1351
  jinja2.filters.do_title:
  - 337
  - 338
  - 332
  - 335
  jinja2.filters.do_tojson:
  - 1712
  - 1715
  - 1693
  - 1711
  jinja2.filters.do_trim:
  - 1043
  - 1044
  jinja2.filters.do_truncate:
  - 901
  - 904
  - 907
  - 910
  - 878
  - 911
  - 913
  jinja2.filters.do_unique:
  - 481
  - 482
  jinja2.filters.do_upper:
  - 216
  - 215
  jinja2.filters.do_urlencode:
  - 165
  - 166
  - 168
  - 169
  - 173
  - 174
  - 150
  jinja2.filters.do_urlize:
  - 800
  - 803
  - 804
  - 807
  - 751
  - 815
  - 816
  - 789
  - 791
  - 792
  - 794
  - 795
  - 797
  jinja2.filters.do_wordcount:
  - 977
  - 978
  jinja2.filters.do_wordwrap:
  - 968
  - 926
  - 949
  - 956
  - 958
  - 959
  jinja2.filters.do_xmlattr:
  - 263
  - 301
  - 302
  - 305
  - 308
  - 310
  - 312
  - 315
  - 316
  jinja2.filters.ignore_case:
  - 50
  - 52
  - 53
  jinja2.filters.make_attrgetter:
  - 64
  - 69
  jinja2.filters.make_attrgetter.attrgetter:
  - 72
  - 73
  - 75
  - 78
  - 79
  jinja2.filters.make_multi_attrgetter:
  - 106
  - 91
  - 101
  - 102
  jinja2.filters.make_multi_attrgetter.attrgetter:
  - 109
  - 111
  - 114
  - 115
  - 117
  - 118
  jinja2.filters.prepare_map:
  - 1730
  - 1721
  - 1722
  - 1723
  - 1725
  jinja2.filters.prepare_map.func:
  - 1739
  jinja2.filters.prepare_select_or_reject:
  - 1753
  - 1777
  - 1759
  jinja2.filters.prepare_select_or_reject.<lambda1>:
  - 1777
  jinja2.filters.prepare_select_or_reject.func:
  - 1772
  jinja2.filters.select_or_reject:
  - 1792
  - 1793
  - 1788
  - 1789
  - 1791
  jinja2.filters.sync_do_first:
  - 656
  - 658
  - 654
  jinja2.filters.sync_do_groupby:
  - 1262
  - 1269
  - 1270
  - 1205
  - 1273
  - 1275
  - 1276
  jinja2.filters.sync_do_join:
  - 608
  - 611
  - 612
  - 616
  - 617
  - 586
  - 620
  - 621
  - 624
  - 626
  - 627
  - 629
  - 631
  - 634
  - 607
  jinja2.filters.sync_do_list:
  - 1361
  - 1358
  jinja2.filters.sync_do_map:
  - 1447
  - 1454
  - 1493
  - 1494
  - 1496
  - 1497
  - 1437
  jinja2.filters.sync_do_reject:
  - 1579
  - 1598
  jinja2.filters.sync_do_rejectattr:
  - 1676
  - 1655
  jinja2.filters.sync_do_select:
  - 1538
  - 1562
  jinja2.filters.sync_do_selectattr:
  - 1638
  - 1615
  jinja2.filters.sync_do_slice:
  - 1058
  - 1092
  - 1093
  - 1095
  - 1077
  - 1078
  - 1083
  - 1086
  jinja2.filters.sync_do_sum:
  - 1329
  - 1330
  - 1315
  - 1332
  jinja2.filters.sync_do_unique:
  - 448
  - 461
  - 464
  - 466
  - 467
  - 469
  - 470
  - 471
  jinja2.idtracking:
  - 6
  jinja2.idtracking.FrameSymbolVisitor:
  - 231
  jinja2.idtracking.FrameSymbolVisitor.visit_Assign:
  - 285
  - 286
  - 287
  jinja2.idtracking.FrameSymbolVisitor.visit_AssignBlock:
  - 306
  - 307
  jinja2.idtracking.FrameSymbolVisitor.visit_Block:
  - 313
  jinja2.idtracking.FrameSymbolVisitor.visit_CallBlock:
  - 296
  jinja2.idtracking.FrameSymbolVisitor.visit_FilterBlock:
  - 299
  jinja2.idtracking.FrameSymbolVisitor.visit_For:
  - 290
  - 293
  jinja2.idtracking.FrameSymbolVisitor.visit_FromImport:
  - 276
  - 278
  - 279
  - 280
  - 282
  jinja2.idtracking.FrameSymbolVisitor.visit_If:
  - 263
  - 264
  - 265
  - 266
  - 251
  jinja2.idtracking.FrameSymbolVisitor.visit_If.inner_visit:
  - 257
  - 258
  - 255
  jinja2.idtracking.FrameSymbolVisitor.visit_Import:
  - 272
  - 273
  jinja2.idtracking.FrameSymbolVisitor.visit_Macro:
  - 269
  jinja2.idtracking.FrameSymbolVisitor.visit_NSRef:
  - 248
  jinja2.idtracking.FrameSymbolVisitor.visit_Name:
  - 239
  - 240
  - 241
  - 242
  - 243
  - 244
  - 245
  jinja2.idtracking.FrameSymbolVisitor.visit_OverlayScope:
  - 316
  jinja2.idtracking.FrameSymbolVisitor.visit_Scope:
  - 310
  jinja2.idtracking.FrameSymbolVisitor.visit_With:
  - 302
  - 303
  jinja2.idtracking.RootVisitor.__init__:
  - 174
  jinja2.idtracking.RootVisitor._simple_visit:
  - 177
  - 178
  jinja2.idtracking.RootVisitor.visit_AssignBlock:
  - 189
  - 190
  jinja2.idtracking.RootVisitor.visit_CallBlock:
  - 193
  - 194
  jinja2.idtracking.RootVisitor.visit_For:
  - 203
  - 204
  - 206
  - 208
  - 209
  - 210
  - 211
  - 216
  - 217
  - 218
  jinja2.idtracking.RootVisitor.visit_OverlayScope:
  - 197
  - 198
  jinja2.idtracking.RootVisitor.visit_With:
  - 224
  - 221
  - 222
  - 223
  jinja2.idtracking.Symbols.__init__:
  - 37
  - 38
  - 47
  jinja2.idtracking.Symbols._define_ref:
  - 56
  jinja2.idtracking.Symbols.analyze_node:
  - 50
  - 51
  jinja2.idtracking.Symbols.branch_update:
  - 129
  - 130
  - 131
  - 132
  - 134
  - 135
  - 138
  - 139
  - 140
  - 122
  - 124
  - 125
  - 127
  jinja2.idtracking.Symbols.copy:
  - 88
  - 89
  - 90
  - 91
  - 92
  jinja2.idtracking.Symbols.declare_parameter:
  - 114
  - 115
  jinja2.idtracking.Symbols.dump_param_targets:
  - 163
  - 164
  - 165
  - 159
  jinja2.idtracking.Symbols.dump_stores:
  - 152
  - 150
  - 151
  jinja2.idtracking.Symbols.find_load:
  - 64
  - 65
  - 61
  jinja2.idtracking.Symbols.find_ref:
  - 73
  - 74
  - 70
  jinja2.idtracking.Symbols.load:
  - 118
  - 119
  jinja2.idtracking.Symbols.ref:
  - 80
  - 79
  jinja2.idtracking.Symbols.store:
  - 96
  - 100
  - 104
  - 105
  - 106
  - 107
  - 111
  jinja2.idtracking.find_symbols:
  - 18
  - 19
  - 20
  - 21
  jinja2.idtracking.symbols_for_node:
  - 28
  - 29
  jinja2.lexer:
  - 1
  - 143
  - 144
  - 17
  - 145
  - 146
  - 149
  - 24
  - 27
  - 28
  - 29
  - 32
  - 160
  - 48
  - 63
  - 64
  - 65
  - 66
  - 67
  - 68
  - 69
  - 70
  - 71
  - 72
  - 73
  - 74
  - 75
  - 76
  - 77
  - 78
  - 79
  - 80
  - 81
  - 82
  - 83
  - 84
  - 85
  - 86
  - 87
  - 88
  - 89
  - 90
  - 91
  - 92
  - 93
  - 94
  - 95
  - 96
  - 97
  - 98
  - 99
  - 100
  - 101
  - 102
  - 103
  - 104
  - 105
  - 106
  - 107
  - 108
  - 109
  - 110
  - 111
  jinja2.lexer.<lambda1>:
  - 146
  jinja2.lexer.Failure:
  - 255
  jinja2.lexer.Lexer:
  - 472
  jinja2.lexer.Lexer.__init__:
  - 521
  - 529
  - 530
  - 531
  - 535
  - 539
  - 540
  - 547
  - 551
  - 552
  - 563
  - 564
  - 572
  - 573
  - 578
  - 581
  - 585
  - 590
  - 591
  - 488
  - 489
  - 490
  - 491
  - 492
  - 493
  - 502
  - 504
  - 505
  - 506
  - 507
  jinja2.lexer.Lexer.__init__.c:
  - 484
  jinja2.lexer.Lexer._normalize_newlines:
  - 602
  - 599
  jinja2.lexer.Lexer.tokeniter:
  - 768
  - 769
  - 780
  - 781
  - 783
  - 788
  - 791
  - 792
  - 793
  - 794
  - 795
  - 796
  - 797
  - 798
  - 799
  - 676
  - 804
  - 806
  - 683
  - 685
  - 815
  - 688
  - 816
  - 818
  - 820
  - 693
  - 695
  - 824
  - 698
  - 827
  - 829
  - 830
  - 832
  - 705
  - 706
  - 833
  - 834
  - 709
  - 835
  - 716
  - 844
  - 850
  - 724
  - 725
  - 727
  - 734
  - 736
  - 738
  - 739
  - 741
  - 747
  - 750
  - 752
  - 755
  - 758
  - 760
  - 765
  - 766
  - 767
  jinja2.lexer.Lexer.tokenize:
  - 611
  - 612
  - 613
  jinja2.lexer.Lexer.wrap:
  - 641
  - 644
  - 648
  - 652
  - 657
  - 659
  - 660
  - 661
  - 663
  - 664
  - 667
  - 621
  - 624
  - 625
  - 630
  - 632
  - 635
  - 637
  - 638
  - 639
  jinja2.lexer.OptionalLStrip:
  - 453
  jinja2.lexer.OptionalLStrip.__new__:
  - 462
  jinja2.lexer.Token.__str__:
  - 275
  jinja2.lexer.Token.test:
  - 288
  - 284
  - 278
  - 287
  jinja2.lexer.Token.test_any:
  - 293
  - 294
  jinja2.lexer.TokenStream:
  - 320
  jinja2.lexer.TokenStream.__bool__:
  - 343
  jinja2.lexer.TokenStream.__init__:
  - 336
  - 337
  - 331
  - 332
  jinja2.lexer.TokenStream.__iter__:
  - 340
  jinja2.lexer.TokenStream.__next__:
  - 387
  - 388
  - 389
  - 391
  - 393
  - 381
  jinja2.lexer.TokenStream.close:
  - 400
  - 398
  - 399
  jinja2.lexer.TokenStream.eos:
  - 347
  jinja2.lexer.TokenStream.expect:
  - 425
  - 404
  - 407
  - 408
  - 410
  jinja2.lexer.TokenStream.look:
  - 355
  - 356
  - 358
  jinja2.lexer.TokenStream.next_if:
  - 368
  - 371
  - 372
  jinja2.lexer.TokenStream.push:
  - 352
  - 351
  jinja2.lexer.TokenStream.skip:
  - 363
  - 364
  - 365
  jinja2.lexer.TokenStream.skip_if:
  - 377
  - 378
  jinja2.lexer.TokenStreamIterator:
  - 298
  jinja2.lexer.TokenStreamIterator.__next__:
  - 312
  - 315
  - 311
  jinja2.lexer._describe_token_type:
  - 169
  - 166
  jinja2.lexer.compile_rules:
  - 225
  - 228
  - 230
  - 234
  - 235
  - 237
  - 239
  - 242
  - 243
  - 245
  - 214
  - 247
  - 218
  - 251
  - 220
  - 223
  jinja2.lexer.count_newlines:
  - 210
  - 207
  jinja2.lexer.describe_token:
  - 186
  - 187
  - 190
  jinja2.lexer.describe_token_expr:
  - 194
  - 195
  - 196
  - 198
  - 203
  jinja2.lexer.get_lexer:
  - 444
  - 429
  - 446
  - 447
  jinja2.loaders:
  - 1
  - 20
  - 246
  jinja2.loaders.BaseLoader:
  - 43
  jinja2.loaders.BaseLoader.get_source:
  - 78
  - 95
  jinja2.loaders.BaseLoader.list_templates:
  - 102
  jinja2.loaders.BaseLoader.load:
  - 131
  - 132
  - 137
  - 138
  - 143
  - 145
  - 114
  - 147
  - 121
  - 126
  jinja2.loaders.ChoiceLoader:
  - 561
  jinja2.loaders.ChoiceLoader.get_source:
  - 580
  - 582
  jinja2.loaders.ChoiceLoader.list_templates:
  - 602
  - 603
  - 604
  - 605
  jinja2.loaders.ChoiceLoader.load:
  - 594
  - 596
  jinja2.loaders.DictLoader:
  - 433
  jinja2.loaders.DictLoader.get_source:
  - 449
  - 447
  jinja2.loaders.DictLoader.get_source.<lambda1>:
  - 449
  jinja2.loaders.DictLoader.list_templates:
  - 453
  jinja2.loaders.FileSystemLoader:
  - 153
  jinja2.loaders.FileSystemLoader.__init__:
  - 187
  - 190
  jinja2.loaders.FileSystemLoader.get_source:
  - 226
  - 197
  - 199
  - 202
  - 204
  - 214
  - 215
  - 217
  jinja2.loaders.FileSystemLoader.get_source.uptodate:
  - 221
  jinja2.loaders.FileSystemLoader.list_templates:
  - 229
  - 230
  - 231
  - 232
  - 233
  - 235
  - 239
  - 241
  - 242
  - 243
  jinja2.loaders.FunctionLoader:
  - 457
  jinja2.loaders.FunctionLoader.get_source:
  - 488
  - 491
  - 486
  jinja2.loaders.ModuleLoader:
  - 613
  jinja2.loaders.ModuleLoader.__init__:
  - 641
  - 642
  - 630
  - 634
  - 636
  - 639
  jinja2.loaders.ModuleLoader.__init__.<lambda1>:
  - 642
  jinja2.loaders.ModuleLoader.get_module_filename:
  - 657
  jinja2.loaders.ModuleLoader.get_template_key:
  - 653
  jinja2.loaders.ModuleLoader.load:
  - 672
  - 678
  - 680
  - 683
  - 666
  - 668
  - 670
  jinja2.loaders.PackageLoader:
  - 270
  jinja2.loaders.PackageLoader.__init__:
  - 352
  - 322
  - 323
  - 354
  - 345
  - 330
  - 332
  - 333
  - 339
  - 308
  - 340
  - 342
  - 311
  - 313
  - 343
  - 351
  jinja2.loaders.PackageLoader.get_source:
  - 384
  - 392
  - 401
  - 371
  - 372
  - 376
  - 378
  - 381
  - 382
  jinja2.loaders.PackageLoader.get_source.up_to_date:
  - 387
  jinja2.loaders.PackageLoader.list_templates:
  - 417
  - 420
  - 421
  - 423
  - 425
  - 426
  - 428
  - 406
  - 408
  - 410
  - 411
  - 412
  - 413
  jinja2.loaders.PrefixLoader:
  - 498
  jinja2.loaders.PrefixLoader.get_loader:
  - 520
  jinja2.loaders.PrefixLoader.get_source:
  - 529
  - 531
  jinja2.loaders.PrefixLoader.list_templates:
  - 554
  - 555
  - 556
  jinja2.loaders.PrefixLoader.load:
  - 544
  - 546
  jinja2.loaders._TemplateModule:
  - 609
  jinja2.loaders._get_zipimporter_files:
  - 255
  jinja2.loaders.split_template_path:
  - 37
  - 38
  - 26
  - 30
  - 31
  jinja2.meta:
  - 1
  - 11
  jinja2.meta.TrackingCodeGenerator:
  - 16
  jinja2.meta.TrackingCodeGenerator.__init__:
  - 19
  - 20
  jinja2.meta.TrackingCodeGenerator.enter_frame:
  - 26
  - 27
  - 29
  - 30
  - 31
  jinja2.meta.TrackingCodeGenerator.write:
  - 23
  jinja2.meta.find_referenced_templates:
  - 96
  - 99
  - 100
  - 104
  - 107
  - 108
  - 109
  - 79
  - 112
  - 82
  - 84
  - 85
  - 88
  - 89
  - 90
  - 93
  - 63
  jinja2.meta.find_undeclared_variables:
  - 35
  - 53
  - 54
  jinja2.nativetypes.NativeCodeGenerator:
  - 51
  jinja2.nativetypes.NativeCodeGenerator._output_child_post:
  - 84
  - 85
  jinja2.nativetypes.NativeCodeGenerator._output_child_pre:
  - 78
  - 79
  jinja2.nativetypes.NativeCodeGenerator._output_child_to_const:
  - 73
  - 65
  - 67
  - 70
  jinja2.nativetypes.NativeCodeGenerator._output_const_repr:
  - 60
  jinja2.nativetypes.NativeEnvironment:
  - 89
  - 92
  jinja2.nativetypes.NativeTemplate.render:
  - 99
  - 105
  - 108
  - 109
  - 112
  jinja2.nativetypes.NativeTemplate.render_async:
  - 115
  - 120
  - 123
  - 124
  - 127
  jinja2.nativetypes.native_concat:
  - 32
  - 35
  - 36
  - 37
  - 40
  - 44
  - 17
  - 25
  - 27
  - 30
  jinja2.nodes:
  - 1
  - 45
  - 46
  - 15
  - 1199
  - 20
  jinja2.nodes.Add:
  - 964
  jinja2.nodes.And:
  - 988
  jinja2.nodes.And.as_const:
  - 993
  - 994
  jinja2.nodes.Assign:
  - 451
  jinja2.nodes.AssignBlock:
  - 459
  jinja2.nodes.BinExpr:
  - 491
  jinja2.nodes.BinExpr.as_const:
  - 500
  - 510
  - 503
  jinja2.nodes.Block:
  - 394
  jinja2.nodes.Break:
  - 1142
  jinja2.nodes.Call:
  - 814
  jinja2.nodes.CallBlock:
  - 361
  jinja2.nodes.Compare:
  - 908
  jinja2.nodes.Compare.as_const:
  - 917
  - 918
  - 921
  - 922
  - 923
  - 925
  jinja2.nodes.Concat:
  - 895
  jinja2.nodes.Concat.as_const:
  - 904
  - 903
  jinja2.nodes.CondExpr:
  - 693
  jinja2.nodes.CondExpr.as_const:
  - 704
  - 705
  - 708
  - 711
  - 703
  jinja2.nodes.Const:
  - 578
  jinja2.nodes.Const.from_untrusted:
  - 603
  - 605
  - 597
  jinja2.nodes.ContextReference:
  - 1111
  jinja2.nodes.Continue:
  - 1138
  jinja2.nodes.DerivedContextReference:
  - 1129
  jinja2.nodes.Dict:
  - 656
  jinja2.nodes.Dict.as_const:
  - 664
  - 665
  jinja2.nodes.Div:
  - 950
  jinja2.nodes.EnvironmentAttribute:
  - 1029
  jinja2.nodes.EvalContext:
  - 72
  jinja2.nodes.EvalContext.__init__:
  - 80
  - 81
  jinja2.nodes.EvalContext.revert:
  - 90
  - 91
  jinja2.nodes.EvalContext.save:
  - 87
  jinja2.nodes.EvalContextModifier:
  - 1172
  jinja2.nodes.Expr:
  - 468
  jinja2.nodes.Expr.as_const:
  - 473
  jinja2.nodes.Expr.can_assign:
  - 486
  jinja2.nodes.ExprStmt:
  - 444
  jinja2.nodes.Extends:
  - 313
  jinja2.nodes.ExtensionAttribute:
  - 1038
  jinja2.nodes.Filter:
  - 784
  jinja2.nodes.Filter.as_const:
  - 794
  - 797
  jinja2.nodes.FilterBlock:
  - 373
  jinja2.nodes.FloorDiv:
  - 956
  jinja2.nodes.For:
  - 320
  jinja2.nodes.FromImport:
  - 426
  jinja2.nodes.Getattr:
  - 852
  jinja2.nodes.Getattr.as_const:
  - 865
  - 868
  - 862
  jinja2.nodes.Getitem:
  - 830
  jinja2.nodes.Getitem.as_const:
  - 841
  - 844
  - 845
  - 838
  jinja2.nodes.Helper:
  - 289
  jinja2.nodes.If:
  - 338
  jinja2.nodes.Import:
  - 417
  jinja2.nodes.ImportedName:
  - 1051
  jinja2.nodes.Impossible:
  - 51
  jinja2.nodes.Include:
  - 408
  jinja2.nodes.InternalName:
  - 1062
  jinja2.nodes.Keyword:
  - 681
  jinja2.nodes.Keyword.as_const:
  - 688
  - 689
  jinja2.nodes.List:
  - 645
  jinja2.nodes.List.as_const:
  - 651
  - 652
  jinja2.nodes.Literal:
  - 572
  jinja2.nodes.Macro:
  - 348
  jinja2.nodes.MarkSafe:
  - 1080
  jinja2.nodes.MarkSafe.as_const:
  - 1086
  - 1087
  jinja2.nodes.MarkSafeIfAutoescape:
  - 1091
  jinja2.nodes.MarkSafeIfAutoescape.as_const:
  - 1101
  - 1102
  - 1104
  - 1105
  - 1106
  jinja2.nodes.Mod:
  - 976
  jinja2.nodes.Mul:
  - 944
  jinja2.nodes.NSRef:
  - 557
  jinja2.nodes.Name:
  - 540
  jinja2.nodes.Neg:
  - 1014
  jinja2.nodes.Node:
  - 106
  jinja2.nodes.Node.__eq__:
  - 241
  - 244
  jinja2.nodes.Node.__init__:
  - 130
  - 132
  - 133
  - 134
  - 140
  - 141
  - 142
  - 143
  - 144
  jinja2.nodes.Node.__repr__:
  - 249
  - 250
  jinja2.nodes.Node.dump:
  - 278
  - 279
  jinja2.nodes.Node.dump._dump:
  - 258
  - 259
  - 260
  - 262
  - 263
  - 264
  - 265
  - 266
  - 267
  - 268
  - 269
  - 270
  - 271
  - 272
  - 274
  - 275
  - 254
  - 255
  jinja2.nodes.Node.find:
  - 187
  - 190
  jinja2.nodes.Node.find_all:
  - 198
  - 201
  - 202
  - 203
  - 204
  jinja2.nodes.Node.iter_child_nodes:
  - 174
  - 178
  - 179
  - 180
  - 181
  - 182
  - 183
  - 184
  jinja2.nodes.Node.iter_fields:
  - 152
  - 165
  - 158
  - 159
  jinja2.nodes.Node.set_ctx:
  - 207
  - 212
  - 214
  - 215
  - 217
  jinja2.nodes.Node.set_environment:
  - 232
  - 233
  - 235
  - 237
  jinja2.nodes.Node.set_lineno:
  - 224
  - 225
  - 226
  - 228
  - 221
  - 222
  jinja2.nodes.NodeType:
  - 55
  jinja2.nodes.NodeType.__new__:
  - 64
  - 65
  - 66
  - 67
  - 68
  - 60
  - 62
  - 63
  jinja2.nodes.Not:
  - 1008
  jinja2.nodes.Operand:
  - 936
  jinja2.nodes.Or:
  - 998
  jinja2.nodes.Or.as_const:
  - 1003
  - 1004
  jinja2.nodes.Output:
  - 304
  jinja2.nodes.OverlayScope:
  - 1153
  jinja2.nodes.Pair:
  - 669
  jinja2.nodes.Pair.as_const:
  - 676
  - 677
  jinja2.nodes.Pos:
  - 1020
  jinja2.nodes.Pow:
  - 982
  jinja2.nodes.Scope:
  - 1146
  jinja2.nodes.ScopedEvalContextModifier:
  - 1185
  jinja2.nodes.Slice:
  - 874
  jinja2.nodes.Slice.as_const:
  - 891
  - 884
  jinja2.nodes.Slice.as_const.const:
  - 889
  - 887
  jinja2.nodes.Stmt:
  - 283
  jinja2.nodes.Sub:
  - 970
  jinja2.nodes.Template:
  - 295
  jinja2.nodes.TemplateData:
  - 609
  jinja2.nodes.TemplateData.as_const:
  - 616
  - 618
  - 619
  - 615
  jinja2.nodes.Test:
  - 801
  jinja2.nodes.Tuple:
  - 624
  jinja2.nodes.Tuple.as_const:
  - 634
  - 635
  jinja2.nodes.Tuple.can_assign:
  - 638
  - 639
  jinja2.nodes.UnaryExpr:
  - 516
  jinja2.nodes.UnaryExpr.as_const:
  - 524
  - 534
  - 527
  jinja2.nodes.With:
  - 381
  jinja2.nodes._FilterTestCommon.as_const:
  - 769
  - 770
  - 772
  - 773
  - 774
  - 775
  - 778
  - 747
  - 749
  - 752
  - 757
  - 758
  - 760
  - 763
  - 764
  - 765
  jinja2.nodes.args_as_const:
  - 717
  - 718
  - 720
  - 722
  - 726
  - 728
  jinja2.nodes.get_eval_context:
  - 96
  - 101
  - 95
  jinja2.optimizer:
  - 16
  - 1
  jinja2.optimizer.Optimizer.generic_visit:
  - 40
  - 41
  - 34
  - 38
  jinja2.optimizer.optimize:
  - 24
  - 21
  - 23
  jinja2.parser:
  - 1
  - 36
  - 12
  - 17
  - 18
  - 20
  jinja2.parser.Parser:
  - 49
  jinja2.parser.Parser.__init__:
  - 70
  - 69
  - 62
  jinja2.parser.Parser._fail_ut_eof:
  - 96
  - 97
  - 98
  - 99
  - 100
  - 101
  - 128
  - 106
  - 111
  - 112
  - 113
  - 118
  - 122
  - 123
  jinja2.parser.Parser.fail:
  - 82
  - 86
  jinja2.parser.Parser.fail_eof:
  - 142
  - 143
  - 144
  - 145
  - 146
  jinja2.parser.Parser.fail_unknown_tag:
  - 131
  - 135
  jinja2.parser.Parser.free_identifier:
  - 160
  - 157
  - 159
  jinja2.parser.Parser.is_tuple_end:
  - 152
  - 153
  - 149
  - 150
  jinja2.parser.Parser.parse:
  - 1040
  - 1038
  - 1039
  jinja2.parser.Parser.parse_and:
  - 544
  - 545
  - 546
  - 543
  jinja2.parser.Parser.parse_assign_target:
  - 486
  - 487
  - 488
  - 458
  - 490
  - 491
  - 497
  - 467
  - 499
  - 501
  - 502
  - 503
  - 476
  jinja2.parser.Parser.parse_autoescape:
  - 288
  - 289
  - 290
  - 287
  jinja2.parser.Parser.parse_block:
  - 321
  - 293
  - 294
  - 295
  - 296
  - 301
  - 302
  - 307
  - 312
  - 313
  - 314
  - 315
  - 316
  - 319
  jinja2.parser.Parser.parse_call:
  - 926
  - 927
  jinja2.parser.Parser.parse_call_args:
  - 896
  - 897
  - 898
  - 899
  - 900
  - 902
  - 904
  - 907
  - 909
  - 910
  - 911
  - 914
  - 915
  - 919
  - 874
  - 886
  - 887
  - 890
  - 893
  - 894
  - 895
  jinja2.parser.Parser.parse_call_args.ensure:
  - 882
  - 883
  jinja2.parser.Parser.parse_call_block:
  - 419
  - 420
  - 421
  - 426
  - 427
  - 428
  - 430
  jinja2.parser.Parser.parse_compare:
  - 577
  - 558
  - 562
  - 563
  - 564
  - 565
  - 566
  - 567
  - 570
  - 571
  - 575
  jinja2.parser.Parser.parse_concat:
  - 592
  - 594
  - 595
  - 596
  - 598
  jinja2.parser.Parser.parse_condexpr:
  - 519
  - 522
  - 523
  - 524
  - 525
  - 528
  jinja2.parser.Parser.parse_dict:
  - 768
  - 770
  - 771
  - 772
  - 773
  - 774
  - 775
  - 763
  - 766
  - 767
  jinja2.parser.Parser.parse_expression:
  - 513
  - 514
  - 515
  - 509
  jinja2.parser.Parser.parse_extends:
  - 325
  - 326
  jinja2.parser.Parser.parse_filter:
  - 933
  - 934
  - 935
  - 938
  - 939
  - 940
  - 941
  - 946
  jinja2.parser.Parser.parse_filter_block:
  - 434
  - 435
  - 436
  jinja2.parser.Parser.parse_filter_expr:
  - 800
  - 793
  - 794
  - 795
  - 796
  - 799
  jinja2.parser.Parser.parse_for:
  - 233
  - 234
  - 235
  - 236
  - 237
  - 241
  - 242
  - 243
  - 244
  - 245
  - 248
  - 249
  jinja2.parser.Parser.parse_from:
  - 384
  - 389
  - 390
  - 391
  - 361
  - 362
  - 363
  - 393
  - 394
  - 397
  - 398
  - 377
  - 378
  - 379
  - 380
  - 382
  - 383
  jinja2.parser.Parser.parse_from.parse_context:
  - 370
  - 371
  - 372
  - 367
  jinja2.parser.Parser.parse_if:
  - 256
  - 259
  - 260
  - 261
  - 262
  - 264
  - 265
  - 252
  - 253
  - 255
  jinja2.parser.Parser.parse_import:
  - 354
  - 355
  - 356
  - 357
  - 358
  jinja2.parser.Parser.parse_import_context:
  - 336
  - 332
  - 334
  - 335
  jinja2.parser.Parser.parse_include:
  - 342
  - 343
  - 344
  - 348
  - 351
  jinja2.parser.Parser.parse_list:
  - 751
  - 754
  - 755
  - 756
  - 758
  - 759
  - 760
  jinja2.parser.Parser.parse_macro:
  - 440
  - 441
  - 442
  - 443
  jinja2.parser.Parser.parse_math1:
  - 584
  - 585
  - 586
  - 581
  jinja2.parser.Parser.parse_math2:
  - 602
  - 605
  - 606
  - 607
  jinja2.parser.Parser.parse_not:
  - 552
  - 553
  - 554
  - 551
  jinja2.parser.Parser.parse_or:
  - 536
  - 537
  - 534
  - 535
  jinja2.parser.Parser.parse_postfix:
  - 784
  - 785
  - 780
  - 781
  jinja2.parser.Parser.parse_pow:
  - 616
  - 617
  - 613
  - 615
  jinja2.parser.Parser.parse_primary:
  - 640
  - 644
  - 645
  - 646
  - 647
  - 648
  - 649
  - 650
  - 653
  - 654
  - 655
  - 657
  - 658
  - 659
  - 663
  - 664
  - 665
  - 666
  - 667
  - 668
  - 669
  - 670
  - 671
  - 672
  - 673
  - 674
  - 675
  - 676
  - 678
  jinja2.parser.Parser.parse_print:
  - 450
  - 451
  - 452
  - 447
  jinja2.parser.Parser.parse_set:
  - 224
  - 225
  - 226
  - 227
  - 228
  - 229
  - 230
  - 222
  - 223
  jinja2.parser.Parser.parse_signature:
  - 416
  - 405
  - 407
  - 408
  - 409
  - 410
  - 411
  - 412
  - 413
  - 414
  - 415
  jinja2.parser.Parser.parse_statement:
  - 164
  - 166
  - 167
  - 168
  - 171
  - 172
  - 173
  - 174
  - 175
  - 176
  - 177
  - 178
  - 179
  - 180
  - 185
  - 187
  - 189
  - 190
  jinja2.parser.Parser.parse_statements:
  - 195
  - 205
  - 209
  - 210
  - 214
  - 215
  - 217
  - 218
  jinja2.parser.Parser.parse_subscribed:
  - 864
  - 838
  - 839
  - 842
  - 843
  - 845
  - 848
  - 849
  - 850
  - 851
  - 853
  - 855
  - 856
  - 857
  - 858
  - 860
  - 862
  jinja2.parser.Parser.parse_subscript:
  - 832
  - 806
  - 809
  - 811
  - 812
  - 813
  - 816
  - 817
  - 818
  - 819
  - 820
  - 823
  - 824
  - 825
  - 826
  - 827
  - 830
  - 831
  jinja2.parser.Parser.parse_test:
  - 961
  - 962
  - 986
  - 965
  - 966
  - 967
  - 987
  - 975
  - 976
  - 977
  - 978
  - 979
  - 983
  - 953
  - 954
  - 955
  - 959
  jinja2.parser.Parser.parse_tuple:
  - 709
  - 742
  - 743
  - 745
  - 748
  - 689
  - 723
  - 724
  - 725
  - 727
  - 728
  - 734
  - 735
  jinja2.parser.Parser.parse_tuple.parse:
  - 712
  - 717
  jinja2.parser.Parser.parse_unary:
  - 626
  - 627
  - 628
  - 629
  - 630
  - 631
  - 633
  - 634
  - 635
  - 636
  jinja2.parser.Parser.parse_with:
  - 270
  - 274
  - 275
  - 276
  - 277
  - 278
  - 279
  - 280
  - 283
  jinja2.parser.Parser.subparse:
  - 1024
  - 1026
  - 1027
  - 1031
  - 1033
  - 1034
  - 995
  - 996
  - 1007
  - 1008
  - 1009
  - 1010
  - 1011
  - 1012
  - 1013
  - 1014
  - 1015
  - 1016
  - 1017
  - 1018
  - 1022
  - 1023
  jinja2.parser.Parser.subparse.flush_data:
  - 1001
  - 999
  jinja2.runtime:
  - 1
  - 27
  - 28
  - 30
  jinja2.runtime.AsyncLoopContext.__anext__:
  - 650
  - 654
  jinja2.runtime.AsyncLoopContext._peek_next:
  - 627
  - 623
  jinja2.runtime.AsyncLoopContext._to_iterator:
  - 598
  jinja2.runtime.AsyncLoopContext.last:
  - 635
  jinja2.runtime.AsyncLoopContext.length:
  - 609
  - 602
  - 606
  - 610
  jinja2.runtime.AsyncLoopContext.nextitem:
  - 641
  - 642
  - 639
  jinja2.runtime.BlockReference:
  - 345
  jinja2.runtime.BlockReference.__call__:
  - 384
  - 385
  - 388
  - 389
  - 381
  - 382
  jinja2.runtime.BlockReference._async_call:
  - 370
  - 371
  - 374
  - 375
  jinja2.runtime.BlockReference.super:
  - 361
  - 362
  - 363
  - 366
  jinja2.runtime.ChainableUndefined:
  - 971
  jinja2.runtime.ChainableUndefined.__getattr__:
  - 998
  jinja2.runtime.ChainableUndefined.__html__:
  - 989
  jinja2.runtime.Context:
  - 146
  - 323
  - 324
  - 322
  jinja2.runtime.Context.__getitem__:
  - 330
  - 333
  - 335
  jinja2.runtime.Context.__init__:
  - 176
  - 177
  - 179
  - 184
  jinja2.runtime.Context.__repr__:
  - 341
  jinja2.runtime.Context.call:
  - 289
  - 290
  - 291
  - 292
  - 294
  - 296
  - 299
  - 300
  - 269
  - 303
  - 305
  - 274
  - 278
  - 279
  - 280
  - 284
  - 286
  jinja2.runtime.Context.derived:
  - 315
  - 316
  - 319
  - 311
  jinja2.runtime.Context.get:
  - 201
  jinja2.runtime.Context.get_all:
  - 256
  - 258
  - 252
  - 260
  jinja2.runtime.Context.get_exported:
  - 248
  jinja2.runtime.Context.resolve:
  - 224
  - 225
  - 213
  - 222
  jinja2.runtime.Context.resolve_or_missing:
  - 242
  - 230
  - 239
  jinja2.runtime.Context.super:
  - 192
  - 193
  - 195
  - 198
  - 189
  jinja2.runtime.DebugUndefined:
  - 1008
  jinja2.runtime.DebugUndefined.__str__:
  - 1024
  - 1032
  - 1027
  jinja2.runtime.LoopContext:
  - 395
  jinja2.runtime.LoopContext.__call__:
  - 585
  - 580
  - 575
  jinja2.runtime.LoopContext.__init__:
  - 424
  - 415
  jinja2.runtime.LoopContext.__next__:
  - 562
  - 566
  jinja2.runtime.LoopContext.__repr__:
  - 588
  jinja2.runtime.LoopContext._peek_next:
  - 488
  - 496
  - 493
  jinja2.runtime.LoopContext._to_iterator:
  - 432
  jinja2.runtime.LoopContext.changed:
  - 552
  - 547
  jinja2.runtime.LoopContext.cycle:
  - 536
  - 544
  - 541
  jinja2.runtime.LoopContext.depth:
  - 458
  jinja2.runtime.LoopContext.first:
  - 484
  jinja2.runtime.LoopContext.index:
  - 463
  jinja2.runtime.LoopContext.last:
  - 507
  - 501
  jinja2.runtime.LoopContext.length:
  - 448
  - 449
  - 436
  - 441
  - 445
  - 447
  jinja2.runtime.LoopContext.nextitem:
  - 528
  - 521
  - 530
  - 531
  jinja2.runtime.LoopContext.previtem:
  - 514
  - 515
  - 511
  jinja2.runtime.LoopContext.revindex:
  - 476
  jinja2.runtime.LoopContext.revindex0:
  - 468
  jinja2.runtime.LoopRenderFunc.__call__:
  - 43
  jinja2.runtime.Macro:
  - 663
  jinja2.runtime.Macro.__call__:
  - 770
  - 713
  - 720
  - 721
  - 730
  - 731
  - 733
  - 736
  - 738
  - 745
  - 746
  - 747
  - 748
  - 749
  - 751
  - 752
  - 753
  - 754
  - 762
  - 763
  - 764
  jinja2.runtime.Macro.__init__:
  - 688
  - 686
  - 678
  - 687
  jinja2.runtime.Macro.__repr__:
  - 792
  - 793
  jinja2.runtime.Macro._async_invoke:
  - 776
  - 773
  - 775
  jinja2.runtime.Macro._invoke:
  - 781
  - 782
  - 784
  - 786
  - 787
  jinja2.runtime.StrictUndefined:
  - 1040
  jinja2.runtime.TemplateReference:
  - 123
  jinja2.runtime.TemplateReference.__getitem__:
  - 130
  jinja2.runtime.TemplateReference.__repr__:
  - 133
  jinja2.runtime.Undefined:
  - 797
  jinja2.runtime.Undefined.__aiter__:
  - 902
  - 903
  jinja2.runtime.Undefined.__eq__:
  - 884
  jinja2.runtime.Undefined.__getattr__:
  - 867
  - 870
  jinja2.runtime.Undefined.__hash__:
  - 890
  jinja2.runtime.Undefined.__iter__:
  - 899
  jinja2.runtime.Undefined.__ne__:
  - 887
  jinja2.runtime.Undefined._fail_with_undefined_error:
  - 856
  jinja2.runtime.Undefined._undefined_message:
  - 832
  - 835
  - 838
  - 841
  - 843
  - 848
  jinja2.runtime._dict_method_all:
  - 137
  - 141
  jinja2.runtime._dict_method_all.f_all:
  - 139
  jinja2.runtime.identity:
  - 71
  jinja2.runtime.make_logging_undefined:
  - 937
  - 938
  - 915
  - 934
  jinja2.runtime.make_logging_undefined.LoggingUndefined.__bool__:
  - 964
  - 965
  jinja2.runtime.make_logging_undefined.LoggingUndefined.__iter__:
  - 960
  - 961
  jinja2.runtime.make_logging_undefined.LoggingUndefined.__str__:
  - 956
  - 957
  jinja2.runtime.make_logging_undefined.LoggingUndefined._fail_with_undefined_error:
  - 952
  - 950
  jinja2.runtime.make_logging_undefined._log_message:
  - 941
  jinja2.runtime.markup_join:
  - 78
  - 80
  - 81
  - 82
  - 83
  - 84
  - 85
  jinja2.runtime.new_context:
  - 102
  - 103
  - 105
  - 108
  - 109
  - 112
  - 113
  - 114
  - 115
  - 117
  jinja2.runtime.str_join:
  - 89
  - 90
  jinja2.sandbox:
  - 64
  - 1
  - 70
  - 45
  - 60
  - 22
  - 28
  - 31
  jinja2.sandbox.ImmutableSandboxedEnvironment:
  - 403
  jinja2.sandbox.ImmutableSandboxedEnvironment.is_safe_attribute:
  - 409
  - 412
  jinja2.sandbox.SandboxedEnvironment:
  - 240
  - 225
  - 178
  jinja2.sandbox.SandboxedEnvironment.__init__:
  - 243
  - 245
  - 246
  jinja2.sandbox.SandboxedEnvironment.call:
  - 393
  - 397
  - 399
  jinja2.sandbox.SandboxedEnvironment.call_binop:
  - 277
  - 271
  jinja2.sandbox.SandboxedEnvironment.call_unop:
  - 280
  - 286
  jinja2.sandbox.SandboxedEnvironment.getattr:
  - 324
  - 325
  - 327
  - 329
  - 330
  - 313
  - 317
  jinja2.sandbox.SandboxedEnvironment.getitem:
  - 289
  - 293
  - 295
  - 300
  - 304
  - 305
  - 307
  - 309
  - 310
  jinja2.sandbox.SandboxedEnvironment.is_safe_attribute:
  - 249
  - 255
  jinja2.sandbox.SandboxedEnvironment.is_safe_callable:
  - 265
  - 258
  jinja2.sandbox.SandboxedEnvironment.unsafe_undefined:
  - 336
  - 333
  - 334
  jinja2.sandbox.SandboxedEnvironment.wrap_str_format:
  - 384
  - 355
  - 358
  - 362
  - 363
  - 365
  - 343
  - 348
  jinja2.sandbox.SandboxedEnvironment.wrap_str_format.wrapper:
  - 382
  - 370
  - 371
  - 374
  jinja2.sandbox.SandboxedFormatter.__init__:
  - 418
  jinja2.sandbox.SandboxedFormatter.get_field:
  - 423
  - 424
  - 425
  - 426
  - 427
  - 429
  jinja2.sandbox.is_internal_attribute:
  - 128
  - 130
  - 131
  - 133
  - 134
  - 136
  - 138
  - 139
  - 141
  - 142
  - 144
  - 147
  - 116
  - 149
  - 127
  jinja2.sandbox.modifies_known_mutable:
  - 153
  - 171
  - 172
  jinja2.sandbox.safe_range:
  - 88
  - 91
  - 93
  jinja2.sandbox.unsafe:
  - 103
  jinja2.tests:
  - 1
  - 11
  jinja2.tests.test_boolean:
  - 98
  jinja2.tests.test_defined:
  - 44
  - 31
  jinja2.tests.test_divisibleby:
  - 26
  jinja2.tests.test_escaped:
  - 204
  - 205
  jinja2.tests.test_even:
  - 21
  jinja2.tests.test_false:
  - 106
  jinja2.tests.test_filter:
  - 54
  jinja2.tests.test_float:
  - 136
  - 132
  jinja2.tests.test_in:
  - 209
  jinja2.tests.test_integer:
  - 123
  - 127
  jinja2.tests.test_iterable:
  - 194
  - 196
  jinja2.tests.test_lower:
  - 140
  - 141
  jinja2.tests.test_mapping:
  - 155
  - 159
  jinja2.tests.test_none:
  - 93
  jinja2.tests.test_number:
  - 163
  - 164
  jinja2.tests.test_odd:
  - 16
  jinja2.tests.test_sameas:
  - 181
  jinja2.tests.test_sequence:
  - 168
  - 172
  - 173
  jinja2.tests.test_string:
  - 150
  - 151
  jinja2.tests.test_test:
  - 72
  jinja2.tests.test_true:
  - 114
  jinja2.tests.test_undefined:
  - 48
  - 49
  jinja2.tests.test_upper:
  - 145
  - 146
  jinja2.utils:
  - 33
  - 227
  - 199
  - 16
  - 19
  - 30
  - 31
  jinja2.utils.Cycler:
  - 678
  jinja2.utils.Cycler.__init__:
  - 704
  jinja2.utils.Cycler.current:
  - 715
  jinja2.utils.Cycler.next:
  - 721
  - 725
  jinja2.utils.Cycler.reset:
  - 710
  jinja2.utils.Joiner:
  - 732
  jinja2.utils.Joiner.__call__:
  - 739
  jinja2.utils.LRUCache:
  - 433
  jinja2.utils.LRUCache.__contains__:
  - 498
  jinja2.utils.LRUCache.__delitem__:
  - 544
  - 551
  jinja2.utils.LRUCache.__getitem__:
  - 517
  - 509
  - 526
  - 519
  jinja2.utils.LRUCache.__init__:
  - 442
  - 443
  jinja2.utils.LRUCache.__iter__:
  - 570
  jinja2.utils.LRUCache.__len__:
  - 502
  - 503
  jinja2.utils.LRUCache.__repr__:
  - 506
  jinja2.utils.LRUCache.__reversed__:
  - 576
  - 573
  jinja2.utils.LRUCache.__setitem__:
  - 531
  - 535
  - 536
  - 537
  - 538
  - 540
  jinja2.utils.LRUCache.__setstate__:
  - 461
  - 462
  jinja2.utils.LRUCache._postinit:
  - 450
  jinja2.utils.LRUCache.clear:
  - 492
  - 494
  - 495
  jinja2.utils.LRUCache.copy:
  - 468
  - 469
  - 470
  - 471
  jinja2.utils.LRUCache.get:
  - 475
  jinja2.utils.LRUCache.items:
  - 556
  - 557
  - 558
  jinja2.utils.LRUCache.keys:
  - 566
  - 567
  jinja2.utils.LRUCache.setdefault:
  - 482
  jinja2.utils.LRUCache.values:
  - 562
  - 563
  jinja2.utils.Namespace:
  - 746
  jinja2.utils.Namespace.__getattribute__:
  - 755
  - 756
  jinja2.utils.Namespace.__init__:
  - 751
  jinja2.utils._PassArg:
  - 88
  - 86
  - 87
  jinja2.utils._PassArg.from_obj:
  - 92
  jinja2.utils.clear_caches:
  - 128
  - 137
  - 136
  jinja2.utils.consume:
  - 122
  - 123
  jinja2.utils.generate_lorem_ipsum:
  - 385
  - 389
  - 392
  - 394
  - 396
  - 399
  - 401
  - 402
  - 403
  - 404
  - 356
  - 359
  - 362
  - 370
  - 372
  - 373
  - 376
  - 377
  - 380
  jinja2.utils.htmlsafe_json_dumps:
  - 640
  - 665
  - 668
  - 669
  jinja2.utils.import_string:
  - 160
  - 141
  - 152
  - 153
  - 154
  - 155
  - 157
  - 158
  jinja2.utils.internalcode:
  - 99
  - 100
  jinja2.utils.is_undefined:
  - 105
  - 118
  jinja2.utils.object_type_repr:
  - 175
  - 179
  - 181
  - 184
  - 186
  jinja2.utils.open_if_exists:
  - 168
  - 171
  - 165
  jinja2.utils.pass_context:
  - 39
  jinja2.utils.pass_environment:
  - 73
  jinja2.utils.pass_eval_context:
  - 56
  jinja2.utils.pformat:
  - 193
  - 196
  jinja2.utils.select_autoescape:
  - 587
  - 621
  - 622
  jinja2.utils.select_autoescape.autoescape:
  - 625
  - 627
  - 628
  - 630
  jinja2.utils.url_quote:
  - 416
  - 417
  - 418
  - 420
  - 423
  - 425
  - 426
  - 409
  jinja2.utils.urlize:
  - 268
  - 281
  - 282
  - 283
  - 285
  - 287
  - 289
  - 290
  - 291
  - 296
  - 297
  - 299
  - 300
  - 301
  - 305
  - 306
  - 308
  - 313
  - 314
  - 319
  - 320
  - 322
  - 327
  - 330
  - 333
  - 335
  - 337
  - 339
  - 343
  - 344
  - 345
  - 350
  - 237
  jinja2.utils.urlize.trim_url:
  - 271
  jinja2.visitor:
  - 1
  - 9
  jinja2.visitor.NodeTransformer:
  - 51
  jinja2.visitor.NodeTransformer.generic_visit:
  - 65
  - 66
  - 67
  - 68
  - 70
  - 71
  - 73
  - 75
  - 76
  - 77
  - 78
  - 80
  - 62
  - 63
  jinja2.visitor.NodeTransformer.visit_list:
  - 89
  - 84
  - 87
  jinja2.visitor.NodeVisitor:
  - 17
  jinja2.visitor.NodeVisitor.generic_visit:
  - 45
  - 46
  - 47
  jinja2.visitor.NodeVisitor.get_visitor:
  - 33
  - 29
  jinja2.visitor.NodeVisitor.visit:
  - 36
  - 37
  - 39
  - 40
  - 42
  jinja2.visitor.VisitCallable.__call__:
  - 13
Fuzzer filename: /src/fuzz_env_jinja_lexer.py
Inheritance:
  jinja2.async_utils._IteratorToAsyncIterator: []
  jinja2.bccache.Bucket: []
  jinja2.bccache.BytecodeCache: []
  jinja2.bccache.FileSystemBytecodeCache:
  - BytecodeCache
  jinja2.bccache.MemcachedBytecodeCache:
  - BytecodeCache
  jinja2.bccache._MemcachedClient: []
  jinja2.compiler.CodeGenerator:
  - NodeVisitor
  jinja2.compiler.CodeGenerator._FinalizeInfo: []
  jinja2.compiler.CompilerExit:
  - Exception
  jinja2.compiler.DependencyFinderVisitor:
  - NodeVisitor
  jinja2.compiler.Frame: []
  jinja2.compiler.MacroRef: []
  jinja2.compiler.UndeclaredNameVisitor:
  - NodeVisitor
  jinja2.compiler.VisitorExit:
  - RuntimeError
  jinja2.environment.Environment: []
  jinja2.environment.Template: []
  jinja2.environment.TemplateExpression: []
  jinja2.environment.TemplateModule: []
  jinja2.environment.TemplateStream: []
  jinja2.exceptions.FilterArgumentError:
  - TemplateRuntimeError
  jinja2.exceptions.SecurityError:
  - TemplateRuntimeError
  jinja2.exceptions.TemplateAssertionError:
  - TemplateSyntaxError
  jinja2.exceptions.TemplateError:
  - Exception
  jinja2.exceptions.TemplateNotFound:
  - IOError
  - LookupError
  - TemplateError
  jinja2.exceptions.TemplateRuntimeError:
  - TemplateError
  jinja2.exceptions.TemplateSyntaxError:
  - TemplateError
  jinja2.exceptions.TemplatesNotFound:
  - TemplateNotFound
  jinja2.exceptions.UndefinedError:
  - TemplateRuntimeError
  jinja2.ext.DebugExtension:
  - Extension
  jinja2.ext.ExprStmtExtension:
  - Extension
  jinja2.ext.Extension: []
  jinja2.ext.InternationalizationExtension:
  - Extension
  jinja2.ext.LoopControlExtension:
  - Extension
  jinja2.ext._CommentFinder: []
  jinja2.ext._TranslationsBasic: []
  jinja2.ext._TranslationsContext:
  - _TranslationsBasic
  jinja2.filters.HasHTML: []
  jinja2.filters._GroupTuple: []
  jinja2.idtracking.FrameSymbolVisitor:
  - NodeVisitor
  jinja2.idtracking.RootVisitor:
  - NodeVisitor
  jinja2.idtracking.Symbols: []
  jinja2.lexer.Failure: []
  jinja2.lexer.Lexer: []
  jinja2.lexer.OptionalLStrip:
  - tuple
  jinja2.lexer.Token: []
  jinja2.lexer.TokenStream: []
  jinja2.lexer.TokenStreamIterator: []
  jinja2.lexer._Rule: []
  jinja2.loaders.BaseLoader: []
  jinja2.loaders.ChoiceLoader:
  - BaseLoader
  jinja2.loaders.DictLoader:
  - BaseLoader
  jinja2.loaders.FileSystemLoader:
  - BaseLoader
  jinja2.loaders.FunctionLoader:
  - BaseLoader
  jinja2.loaders.ModuleLoader:
  - BaseLoader
  jinja2.loaders.PackageLoader:
  - BaseLoader
  jinja2.loaders.PrefixLoader:
  - BaseLoader
  jinja2.loaders._TemplateModule:
  - ModuleType
  jinja2.meta.TrackingCodeGenerator:
  - CodeGenerator
  jinja2.nativetypes.NativeCodeGenerator:
  - CodeGenerator
  jinja2.nativetypes.NativeEnvironment:
  - Environment
  jinja2.nativetypes.NativeTemplate:
  - Template
  jinja2.nodes.Add:
  - BinExpr
  jinja2.nodes.And:
  - BinExpr
  jinja2.nodes.Assign:
  - Stmt
  jinja2.nodes.AssignBlock:
  - Stmt
  jinja2.nodes.BinExpr:
  - Expr
  jinja2.nodes.Block:
  - Stmt
  jinja2.nodes.Break:
  - Stmt
  jinja2.nodes.Call:
  - Expr
  jinja2.nodes.CallBlock:
  - Stmt
  jinja2.nodes.Compare:
  - Expr
  jinja2.nodes.Concat:
  - Expr
  jinja2.nodes.CondExpr:
  - Expr
  jinja2.nodes.Const:
  - Literal
  jinja2.nodes.ContextReference:
  - Expr
  jinja2.nodes.Continue:
  - Stmt
  jinja2.nodes.DerivedContextReference:
  - Expr
  jinja2.nodes.Dict:
  - Literal
  jinja2.nodes.Div:
  - BinExpr
  jinja2.nodes.EnvironmentAttribute:
  - Expr
  jinja2.nodes.EvalContext: []
  jinja2.nodes.EvalContextModifier:
  - Stmt
  jinja2.nodes.Expr:
  - Node
  jinja2.nodes.ExprStmt:
  - Stmt
  jinja2.nodes.Extends:
  - Stmt
  jinja2.nodes.ExtensionAttribute:
  - Expr
  jinja2.nodes.Filter:
  - _FilterTestCommon
  jinja2.nodes.FilterBlock:
  - Stmt
  jinja2.nodes.FloorDiv:
  - BinExpr
  jinja2.nodes.For:
  - Stmt
  jinja2.nodes.FromImport:
  - Stmt
  jinja2.nodes.Getattr:
  - Expr
  jinja2.nodes.Getitem:
  - Expr
  jinja2.nodes.Helper:
  - Node
  jinja2.nodes.If:
  - Stmt
  jinja2.nodes.Import:
  - Stmt
  jinja2.nodes.ImportedName:
  - Expr
  jinja2.nodes.Impossible:
  - Exception
  jinja2.nodes.Include:
  - Stmt
  jinja2.nodes.InternalName:
  - Expr
  jinja2.nodes.Keyword:
  - Helper
  jinja2.nodes.List:
  - Literal
  jinja2.nodes.Literal:
  - Expr
  jinja2.nodes.Macro:
  - Stmt
  jinja2.nodes.MarkSafe:
  - Expr
  jinja2.nodes.MarkSafeIfAutoescape:
  - Expr
  jinja2.nodes.Mod:
  - BinExpr
  jinja2.nodes.Mul:
  - BinExpr
  jinja2.nodes.NSRef:
  - Expr
  jinja2.nodes.Name:
  - Expr
  jinja2.nodes.Neg:
  - UnaryExpr
  jinja2.nodes.Node: []
  jinja2.nodes.NodeType:
  - type
  jinja2.nodes.Not:
  - UnaryExpr
  jinja2.nodes.Operand:
  - Helper
  jinja2.nodes.Or:
  - BinExpr
  jinja2.nodes.Output:
  - Stmt
  jinja2.nodes.OverlayScope:
  - Stmt
  jinja2.nodes.Pair:
  - Helper
  jinja2.nodes.Pos:
  - UnaryExpr
  jinja2.nodes.Pow:
  - BinExpr
  jinja2.nodes.Scope:
  - Stmt
  jinja2.nodes.ScopedEvalContextModifier:
  - EvalContextModifier
  jinja2.nodes.Slice:
  - Expr
  jinja2.nodes.Stmt:
  - Node
  jinja2.nodes.Sub:
  - BinExpr
  jinja2.nodes.Template:
  - Node
  jinja2.nodes.TemplateData:
  - Literal
  jinja2.nodes.Test:
  - _FilterTestCommon
  jinja2.nodes.Tuple:
  - Literal
  jinja2.nodes.UnaryExpr:
  - Expr
  jinja2.nodes.With:
  - Stmt
  jinja2.nodes._FilterTestCommon:
  - Expr
  jinja2.optimizer.Optimizer:
  - NodeTransformer
  jinja2.parser.Parser: []
  jinja2.runtime.AsyncLoopContext:
  - LoopContext
  jinja2.runtime.BlockReference: []
  jinja2.runtime.ChainableUndefined:
  - Undefined
  jinja2.runtime.Context: []
  jinja2.runtime.DebugUndefined:
  - Undefined
  jinja2.runtime.LoopContext: []
  jinja2.runtime.LoopRenderFunc: []
  jinja2.runtime.Macro: []
  jinja2.runtime.StrictUndefined:
  - Undefined
  jinja2.runtime.TemplateReference: []
  jinja2.runtime.Undefined: []
  jinja2.runtime.make_logging_undefined.LoggingUndefined:
  - base
  jinja2.sandbox.ImmutableSandboxedEnvironment:
  - SandboxedEnvironment
  jinja2.sandbox.SandboxedEnvironment:
  - Environment
  jinja2.sandbox.SandboxedEscapeFormatter:
  - EscapeFormatter
  - SandboxedFormatter
  jinja2.sandbox.SandboxedFormatter:
  - Formatter
  jinja2.utils.Cycler: []
  jinja2.utils.Joiner: []
  jinja2.utils.LRUCache: []
  jinja2.utils.Namespace: []
  jinja2.utils._MissingType: []
  jinja2.utils._PassArg: []
  jinja2.visitor.NodeTransformer:
  - NodeVisitor
  jinja2.visitor.NodeVisitor: []
  jinja2.visitor.VisitCallable: []
ep:
  func_name: TestOneInput
  module: '...fuzz_env_jinja_lexer'
