#= none:1 =# Core.@doc "    guess_module(m, ex)\n\nGuess the module of given expression `ex` (of a module)\nin module `m`. If `ex` is not a module, or cannot be\ndetermined return `nothing`.\n" function guess_module(m::Module, ex)
            begin
                begin
                    var"##cache#472" = nothing
                end
                var"##471" = ex
                if var"##471" isa Expr
                    if begin
                                if var"##cache#472" === nothing
                                    var"##cache#472" = Some(((var"##471").head, (var"##471").args))
                                end
                                var"##473" = (var"##cache#472").value
                                var"##473" isa (Tuple{Symbol, var2} where var2 <: AbstractArray)
                            end && (var"##473"[1] == :. && (begin
                                        var"##474" = var"##473"[2]
                                        var"##474" isa AbstractArray
                                    end && (length(var"##474") === 2 && (begin
                                                var"##475" = var"##474"[1]
                                                var"##476" = var"##474"[2]
                                                var"##476" isa QuoteNode
                                            end && begin
                                                var"##477" = (var"##476").value
                                                true
                                            end))))
                        name = var"##475"
                        sub = var"##477"
                        var"##return#469" = begin
                                mod = guess_module(m, name)
                                if mod isa Module
                                    return guess_module(mod, sub)
                                else
                                    return ex
                                end
                            end
                        $(Expr(:symbolicgoto, Symbol("####final#470#478")))
                    end
                end
                if var"##471" isa Symbol
                    if isdefined(m, ex)
                        var"##return#469" = begin
                                maybe_m = getproperty(m, ex)
                                maybe_m isa Module && return maybe_m
                                return ex
                            end
                        $(Expr(:symbolicgoto, Symbol("####final#470#478")))
                    end
                end
                if var"##471" isa Module
                    begin
                        var"##return#469" = begin
                                return ex
                            end
                        $(Expr(:symbolicgoto, Symbol("####final#470#478")))
                    end
                end
                begin
                    var"##return#469" = begin
                            return ex
                        end
                    $(Expr(:symbolicgoto, Symbol("####final#470#478")))
                end
                error("matching non-exhaustive, at #= none:9 =#")
                $(Expr(:symboliclabel, Symbol("####final#470#478")))
                var"##return#469"
            end
        end
    #= none:28 =# Core.@doc "    guess_type(m::Module, ex)\n\nGuess the actual type of expression `ex` (of a type) in module `m`.\nReturns the type if it can be determined, otherwise returns the\nexpression. This function is used in [`compare_expr`](@ref).\n" function guess_type(m::Module, ex)
            begin
                begin
                    var"##cache#482" = nothing
                end
                var"##481" = ex
                if var"##481" isa Expr
                    if begin
                                if var"##cache#482" === nothing
                                    var"##cache#482" = Some(((var"##481").head, (var"##481").args))
                                end
                                var"##483" = (var"##cache#482").value
                                var"##483" isa (Tuple{Symbol, var2} where var2 <: AbstractArray)
                            end && (var"##483"[1] == :curly && (begin
                                        var"##484" = var"##483"[2]
                                        var"##484" isa AbstractArray
                                    end && ((ndims(var"##484") === 1 && length(var"##484") >= 1) && begin
                                            var"##485" = var"##484"[1]
                                            var"##486" = SubArray(var"##484", (2:length(var"##484"),))
                                            true
                                        end)))
                        typevars = var"##486"
                        name = var"##485"
                        var"##return#479" = begin
                                type = guess_type(m, name)
                                typevars = map(typevars) do typevar
                                        guess_type(m, typevar)
                                    end
                                if type === Union
                                    all((x->begin
                                                    x isa Type
                                                end), typevars) || return ex
                                    return Union{typevars...}
                                elseif type isa Type && all(is_valid_typevar, typevars)
                                    return type{typevars...}
                                else
                                    return ex
                                end
                            end
                        $(Expr(:symbolicgoto, Symbol("####final#480#487")))
                    end
                end
                if var"##481" isa Symbol
                    begin
                        var"##return#479" = begin
                                isdefined(m, ex) || return ex
                                return getproperty(m, ex)
                            end
                        $(Expr(:symbolicgoto, Symbol("####final#480#487")))
                    end
                end
                if var"##481" isa Type
                    begin
                        var"##return#479" = begin
                                return ex
                            end
                        $(Expr(:symbolicgoto, Symbol("####final#480#487")))
                    end
                end
                if var"##481" isa QuoteNode
                    begin
                        var"##return#479" = begin
                                return ex
                            end
                        $(Expr(:symbolicgoto, Symbol("####final#480#487")))
                    end
                end
                begin
                    var"##return#479" = begin
                            return ex
                        end
                    $(Expr(:symbolicgoto, Symbol("####final#480#487")))
                end
                error("matching non-exhaustive, at #= none:36 =#")
                $(Expr(:symboliclabel, Symbol("####final#480#487")))
                var"##return#479"
            end
        end
    function guess_value(m::Module, ex)
        let
            begin
                var"##cache#491" = nothing
            end
            var"##return#488" = nothing
            var"##490" = ex
            if var"##490" isa Expr
                if begin
                            if var"##cache#491" === nothing
                                var"##cache#491" = Some(((var"##490").head, (var"##490").args))
                            end
                            var"##492" = (var"##cache#491").value
                            var"##492" isa (Tuple{Symbol, var2} where var2 <: AbstractArray)
                        end && (var"##492"[1] == :. && (begin
                                    var"##493" = var"##492"[2]
                                    var"##493" isa AbstractArray
                                end && (length(var"##493") === 2 && (begin
                                            var"##494" = var"##493"[1]
                                            var"##495" = var"##493"[2]
                                            var"##495" isa QuoteNode
                                        end && begin
                                            var"##496" = (var"##495").value
                                            true
                                        end))))
                    var"##return#488" = let name = var"##494", sub = var"##496"
                            mod = guess_module(m, name)
                            if mod isa Module
                                return guess_value(mod, sub)
                            else
                                return ex
                            end
                        end
                    $(Expr(:symbolicgoto, Symbol("####final#489#497")))
                end
            end
            if var"##490" isa Symbol
                begin
                    var"##return#488" = let
                            if isdefined(m, ex)
                                getfield(m, ex)
                            else
                                ex
                            end
                        end
                    $(Expr(:symbolicgoto, Symbol("####final#489#497")))
                end
            end
            begin
                var"##return#488" = let
                        ex
                    end
                $(Expr(:symbolicgoto, Symbol("####final#489#497")))
            end
            error("matching non-exhaustive, at #= none:62 =#")
            $(Expr(:symboliclabel, Symbol("####final#489#497")))
            var"##return#488"
        end
    end