Skip to content

Instantly share code, notes, and snippets.

@timholy
Created September 11, 2025 12:25
Show Gist options
  • Select an option

  • Save timholy/1aaaa2c281f22116f61a7f6185f07b3e to your computer and use it in GitHub Desktop.

Select an option

Save timholy/1aaaa2c281f22116f61a7f6185f07b3e to your computer and use it in GitHub Desktop.
Revise log for Makie change
julia> using CairoMakie

julia> 1+1
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:1 =#
    const Optional{T} = Union{Nothing, T}
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:4 =#
    struct AxisAspect
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:5 =#
        aspect::Float32
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:8 =#
    struct DataAspect
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:8 =#
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:10 =#
    struct Cycle
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:11 =#
        cycle::Vector{Pair{Vector{Symbol}, Symbol}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:12 =#
        covary::Bool
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:14 =#
    Base.:(==)(a::Cycle, b::Cycle) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:14 =#
            a.covary == b.covary && a.cycle == b.cycle
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:16 =#
    Cycle(cycle::Cycle) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:16 =#
            cycle
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:17 =#
    Cycle(cycle; covary = false) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:17 =#
            Cycle(to_cycle(cycle), covary)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:19 =#
    palettesyms(cycle::Cycle) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:19 =#
            [c[2] for c = cycle.cycle]
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:20 =#
    attrsyms(cycle::Cycle) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:20 =#
            [c[1] for c = cycle.cycle]
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:22 =#
    to_cycle(single) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:22 =#
            [to_cycle_single(single)]
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:23 =#
    to_cycle(::Nothing) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:23 =#
            []
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:24 =#
    to_cycle(symbolvec::Vector) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:24 =#
            map(to_cycle_single, symbolvec)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:25 =#
    to_cycle_single(sym::Symbol) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:25 =#
            [sym] => sym
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:26 =#
    to_cycle_single(pair::Pair{Symbol, Symbol}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:26 =#
            [pair[1]] => pair[2]
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:27 =#
    to_cycle_single(pair::Pair{Vector{Symbol}, Symbol}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:27 =#
            pair
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:29 =#
    function get_cycle_attribute(palettes, attribute::Symbol, index::Int, cycle::Cycle)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:29 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:30 =#
        cyclepalettes = [(palettes[sym])[] for sym = palettesyms(cycle)]
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:31 =#
        isym = findfirst((syms->begin
                        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:31 =#
                        attribute in syms
                    end), attrsyms(cycle))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:32 =#
        palette = cyclepalettes[isym]
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:33 =#
        if cycle.covary
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:34 =#
            return palette[mod1(index, length(palette))]
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:36 =#
            cis = CartesianIndices(Tuple((length(p) for p = cyclepalettes)))
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:37 =#
            n = length(cis)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:38 =#
            k = mod1(index, n)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:39 =#
            idx = Tuple(cis[k])
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:40 =#
            return palette[idx[isym]]
        end
    end
end
mod = Makie
:(struct Cycled
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:52 =#
      i::Int
  end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:44 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:44 =# Core.@doc "    Cycled(i::Int)\n\nIf a `Cycled` value is passed as an attribute to a plotting function,\nit is replaced with the value from the cycler for this attribute (as\nlong as there is one defined) at the index `i`.\n" struct Cycled
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:52 =#
            i::Int
        end false
end
mod = Makie
:(struct LinearTicks
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:59 =#
      n_ideal::Int
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:61 =#
      function LinearTicks(n_ideal)
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:61 =#
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:62 =#
          if n_ideal <= 0
              #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:63 =#
              error("Ideal number of ticks can't be smaller than 0, but is $(n_ideal)")
          end
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:65 =#
          return new(n_ideal)
      end
  end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:55 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:55 =# Core.@doc "LinearTicks with ideally a number of `n_ideal` tick marks.\n" struct LinearTicks
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:59 =#
            n_ideal::Int
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:61 =#
            function LinearTicks(n_ideal)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:61 =#
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:62 =#
                if n_ideal <= 0
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:63 =#
                    error("Ideal number of ticks can't be smaller than 0, but is $(n_ideal)")
                end
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:65 =#
                return new(n_ideal)
            end
        end false
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:69 =#
    struct WilkinsonTicks
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:70 =#
        k_ideal::Int
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:71 =#
        k_min::Int
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:72 =#
        k_max::Int
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:73 =#
        Q::Vector{Tuple{Float64, Float64}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:74 =#
        granularity_weight::Float64
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:75 =#
        simplicity_weight::Float64
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:76 =#
        coverage_weight::Float64
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:77 =#
        niceness_weight::Float64
    end
end
mod = Makie
:(struct MultiplesTicks
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:94 =#
      n_ideal::Int
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:95 =#
      multiple::Float64
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:96 =#
      suffix::String
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:97 =#
      strip_zero::Bool
  end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:80 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:80 =# Core.@doc "Like LinearTicks but for multiples of `multiple`.\nExample where approximately 5 numbers should be found\nthat are multiples of pi, printed like \"\", \"\", etc.:\n\n```julia\nMultiplesTicks(5, pi, \"π\")\n```\n\nIf `strip_zero == true`, then the resulting labels\nwill be checked and any label that is a multiple of 0\nwill be set to \"0\".\n" struct MultiplesTicks
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:94 =#
            n_ideal::Int
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:95 =#
            multiple::Float64
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:96 =#
            suffix::String
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:97 =#
            strip_zero::Bool
        end false
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:100 =#
    MultiplesTicks(n_ideal, multiple, suffix; strip_zero = false) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:100 =#
            MultiplesTicks(n_ideal, multiple, suffix, strip_zero)
        end
end
mod = Makie
:(struct AngularTicks
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:113 =#
      label_factor::Float64
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:114 =#
      suffix::String
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:115 =#
      n_ideal::Vector{Vec2f}
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:116 =#
      function AngularTicks(label_factor, suffix, n_ideal = [Vec2f(0, 9), Vec2f(3.8, 4)])
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:116 =#
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:117 =#
          return new(label_factor, suffix, n_ideal)
      end
  end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:102 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:102 =# Core.@doc "    AngularTicks(label_factor, suffix[, n_ideal::Vector{Vec2f}])\n\nSets up AngularTicks with a predetermined amount of ticks. `label_factor` can be\nused to transform the tick labels from radians to degree. `suffix` is added to\nthe end of the generated label strings. `n_ideal` can be used to affect the ideal\nnumber of ticks. It represents a set of linear function which are combined using\n`mapreduce(v -> v[1] * delta + v[2], min, m.n_ideal)` where\n`delta = maximum(limits) - minimum(limits)`.\n" struct AngularTicks
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:113 =#
            label_factor::Float64
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:114 =#
            suffix::String
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:115 =#
            n_ideal::Vector{Vec2f}
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:116 =#
            function AngularTicks(label_factor, suffix, n_ideal = [Vec2f(0, 9), Vec2f(3.8, 4)])
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:116 =#
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:117 =#
                return new(label_factor, suffix, n_ideal)
            end
        end false
end
mod = Makie
:(struct LogTicks{T}
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:139 =#
      linear_ticks::T
  end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:132 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:132 =# Core.@doc "    LogTicks{T}(linear_ticks::T)\n\nWraps any other tick object.\nUsed to apply a linear tick searching algorithm on a log-transformed interval.\n" struct LogTicks{T}
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:139 =#
            linear_ticks::T
        end false
end
mod = Makie
:(struct IntervalsBetween
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:148 =#
      n::Int
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:149 =#
      mirror::Bool
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:150 =#
      function IntervalsBetween(n::Int, mirror::Bool)
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:150 =#
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:151 =#
          n < 2 && error("You can't have $(n) intervals (must be at least 2 which means 1 minor tick)")
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:152 =#
          return new(n, mirror)
      end
  end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:142 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:142 =# Core.@doc "    IntervalsBetween(n::Int, mirror::Bool = true)\n\nIndicates to create n-1 minor ticks between every pair of adjacent major ticks.\n" struct IntervalsBetween
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:148 =#
            n::Int
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:149 =#
            mirror::Bool
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:150 =#
            function IntervalsBetween(n::Int, mirror::Bool)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:150 =#
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:151 =#
                n < 2 && error("You can't have $(n) intervals (must be at least 2 which means 1 minor tick)")
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:152 =#
                return new(n, mirror)
            end
        end false
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:155 =#
    IntervalsBetween(n) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:155 =#
            IntervalsBetween(n, true)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:158 =#
    mutable struct LineAxis
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:159 =#
        parent::Scene
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:160 =#
        protrusion::Observable{Float32}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:161 =#
        attributes::Attributes
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:162 =#
        elements::Dict{Symbol, Any}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:163 =#
        tickpositions::Observable{Vector{Point2f}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:164 =#
        tickvalues::Observable{Vector{Float32}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:165 =#
        ticklabels::Observable{Vector{Any}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:166 =#
        minortickpositions::Observable{Vector{Point2f}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:167 =#
        minortickvalues::Observable{Vector{Float32}}
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:170 =#
    struct LimitReset
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:170 =#
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:172 =#
    mutable struct RectangleZoom
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:173 =#
        callback::Function
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:174 =#
        active::Observable{Bool}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:175 =#
        restrict_x::Bool
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:176 =#
        restrict_y::Bool
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:177 =#
        from::Union{Nothing, Point2d}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:178 =#
        to::Union{Nothing, Point2d}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:179 =#
        rectnode::Observable{Rect2d}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:180 =#
        modifier::Any
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:183 =#
    function RectangleZoom(callback::Function; restrict_x = false, restrict_y = false, modifier = true)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:183 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:184 =#
        return RectangleZoom(callback, Observable(false), restrict_x, restrict_y, nothing, nothing, Observable(Rect2d(0, 0, 1, 1)), modifier)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:190 =#
    struct ScrollZoom
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:191 =#
        speed::Float32
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:192 =#
        reset_timer::RefValue{Union{Nothing, Timer}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:193 =#
        prev_xticklabelspace::RefValue{Union{Automatic, Symbol, Float64}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:194 =#
        prev_yticklabelspace::RefValue{Union{Automatic, Symbol, Float64}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:195 =#
        reset_delay::Float32
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:198 =#
    function ScrollZoom(speed, reset_delay)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:198 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:199 =#
        return ScrollZoom(speed, RefValue{Union{Nothing, Timer}}(nothing), RefValue{Union{Automatic, Symbol, Float64}}(0.0), RefValue{Union{Automatic, Symbol, Float64}}(0.0), reset_delay)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:202 =#
    struct DragPan
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:203 =#
        reset_timer::RefValue{Union{Nothing, Timer}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:204 =#
        prev_xticklabelspace::RefValue{Union{Automatic, Symbol, Float64}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:205 =#
        prev_yticklabelspace::RefValue{Union{Automatic, Symbol, Float64}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:206 =#
        reset_delay::Float32
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:209 =#
    function DragPan(reset_delay)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:209 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:210 =#
        return DragPan(RefValue{Union{Nothing, Timer}}(nothing), RefValue{Union{Automatic, Symbol, Float64}}(0.0), RefValue{Union{Automatic, Symbol, Float64}}(0.0), reset_delay)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:214 =#
    struct DragRotate
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:214 =#
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:217 =#
    mutable struct FocusOnCursor
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:218 =#
        last_time::Float64
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:219 =#
        timeout::Float64
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:220 =#
        skip::Int64
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:222 =#
    FocusOnCursor(skip, timeout = 0.1) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:222 =#
            FocusOnCursor(time(), timeout, skip)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:224 =#
    struct ScrollEvent
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:225 =#
        x::Float32
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:226 =#
        y::Float32
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:229 =#
    struct KeysEvent
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:230 =#
        keys::Set{Makie.Keyboard.Button}
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:233 =#
    tickinfo = "The following is a list of common tick objects.\n\nNumeric:\n- A vector of numbers\n- A tuple with two vectors `(numbers, labels)` where `labels` can be any objects that `text` can handle.\n- [`WilkinsonTicks`](@ref), the default tick finder for linear ticks\n- [`LinearTicks`](@ref), an alternative tick finder for linear ticks\n- [`LogTicks`](@ref), a wrapper that applies any other wrapped tick finder on log-transformed values\n- [`MultiplesTicks`](@ref), for finding ticks at multiples of a given value, such as `π`\n- [`AngularTicks`](@ref), for finding tick steps that are fitting for angles with base 12 numbering (90° instead of 100)\n\nDateTime:\n- A vector of `DateTime`s\n- A tuple with two vectors `(datetimes, labels)`\n- [`DateTimeTicks`](@ref), the default tick finder for datetime ticks\n"
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:251 =#
    tickformatinfo = "The following is a list of common tick formatter objects.\n\nNumeric:\n- A `Function` that takes a vector of numbers and returns a vector of labels. A label can be anything\n    that can be plotted by the `text` primitive.\n- A `String` which is used as a format specifier for `Format.jl`. For example, `\"{:.2f}kg\"`\n    formats numbers rounded to 2 decimal digits and with the suffix `kg`.\n\nDateTime:\n- A `Function` that takes a vector of datetimes and returns a vector of labels. A label can be anything\n    that can be plotted by the `text` primitive.\n- A `String` which is used to construct a `Dates.DateFormat` object for use with `Dates.format`. For example, `\"dd.mm.yyyy\"`.\n- A `Dates.DateFormat` object which is used with `Dates.format` like the `String` option.\n"
end
mod = Makie
:(#= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:276 =# @Block Axis <: AbstractAxis begin
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:277 =#
          scene::Scene
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:278 =#
          xaxislinks::Vector{Axis}
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:279 =#
          yaxislinks::Vector{Axis}
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:280 =#
          targetlimits::Observable{Rect2d}
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:281 =#
          finallimits::Observable{Rect2d}
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:282 =#
          block_limit_linking::Observable{Bool}
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:283 =#
          mouseeventhandle::MouseEventHandle
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:284 =#
          scrollevents::Observable{ScrollEvent}
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:285 =#
          keysevents::Observable{KeysEvent}
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:286 =#
          interactions::Dict{Symbol, Tuple{Bool, Any}}
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:287 =#
          xaxis::LineAxis
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:288 =#
          yaxis::LineAxis
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:289 =#
          elements::Dict{Symbol, Any}
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:290 =#
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:290 =# @attributes begin
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:291 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:291 =# Core.@doc "Global state for the x dimension conversion.\n" dim1_conversion = nothing
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:295 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:295 =# Core.@doc "Global state for the y dimension conversion.\n" dim2_conversion = nothing
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:300 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:300 =# Core.@doc "The content of the x axis label.\nThe value can be any non-vector-valued object that the `text` primitive supports.\n" xlabel = ""
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:305 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:305 =# Core.@doc "The content of the y axis label.\nThe value can be any non-vector-valued object that the `text` primitive supports.\n" ylabel = ""
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:310 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:310 =# Core.@doc "The content of the axis title.\nThe value can be any non-vector-valued object that the `text` primitive supports.\n" title = ""
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:315 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:315 =# Core.@doc "The font family of the title." titlefont = :bold
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:317 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:317 =# Core.@doc "The title's font size." titlesize::Float64 = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:318 =# @inherit(:fontsize, 16.0f0)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:319 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:319 =# Core.@doc "The gap between axis and title." titlegap::Float64 = 4.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:321 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:321 =# Core.@doc "Controls if the title is visible." titlevisible::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:323 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:323 =# Core.@doc "The horizontal alignment of the title.\nThe subtitle always follows this alignment setting.\n\nOptions are `:center`, `:left` or `:right`.\n" titlealign::Symbol = :center
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:330 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:330 =# Core.@doc "The color of the title" titlecolor::RGBAf = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:331 =# @inherit(:textcolor, :black)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:332 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:332 =# Core.@doc "The axis title line height multiplier." titlelineheight::Float64 = 1
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:334 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:334 =# Core.@doc "The content of the axis subtitle.\nThe value can be any non-vector-valued object that the `text` primitive supports.\n" subtitle = ""
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:339 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:339 =# Core.@doc "The font family of the subtitle." subtitlefont = :regular
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:341 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:341 =# Core.@doc "The subtitle's font size." subtitlesize::Float64 = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:342 =# @inherit(:fontsize, 16.0f0)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:343 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:343 =# Core.@doc "The gap between subtitle and title." subtitlegap::Float64 = 0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:345 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:345 =# Core.@doc "Controls if the subtitle is visible." subtitlevisible::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:347 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:347 =# Core.@doc "The color of the subtitle" subtitlecolor::RGBAf = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:348 =# @inherit(:textcolor, :black)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:349 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:349 =# Core.@doc "The axis subtitle line height multiplier." subtitlelineheight::Float64 = 1
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:351 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:351 =# Core.@doc "The font family of the xlabel." xlabelfont = :regular
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:353 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:353 =# Core.@doc "The font family of the ylabel." ylabelfont = :regular
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:355 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:355 =# Core.@doc "The color of the xlabel." xlabelcolor::RGBAf = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:356 =# @inherit(:textcolor, :black)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:357 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:357 =# Core.@doc "The color of the ylabel." ylabelcolor::RGBAf = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:358 =# @inherit(:textcolor, :black)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:359 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:359 =# Core.@doc "The font size of the xlabel." xlabelsize::Float64 = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:360 =# @inherit(:fontsize, 16.0f0)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:361 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:361 =# Core.@doc "The font size of the ylabel." ylabelsize::Float64 = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:362 =# @inherit(:fontsize, 16.0f0)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:363 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:363 =# Core.@doc "Controls if the xlabel is visible." xlabelvisible::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:365 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:365 =# Core.@doc "Controls if the ylabel is visible." ylabelvisible::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:367 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:367 =# Core.@doc "The additional padding between the xlabel and the ticks or axis." xlabelpadding::Float64 = 3.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:369 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:369 =# Core.@doc "The additional padding between the ylabel and the ticks or axis." ylabelpadding::Float64 = 5.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:371 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:371 =# Core.@doc "The xlabel rotation in radians." xlabelrotation = Makie.automatic
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:373 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:373 =# Core.@doc "The ylabel rotation in radians." ylabelrotation = Makie.automatic
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:375 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:375 =# Core.@doc "The font family of the xticklabels." xticklabelfont = :regular
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:377 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:377 =# Core.@doc "The font family of the yticklabels." yticklabelfont = :regular
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:379 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:379 =# Core.@doc "The color of xticklabels." xticklabelcolor = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:380 =# @inherit(:textcolor, :black)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:381 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:381 =# Core.@doc "The color of yticklabels." yticklabelcolor = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:382 =# @inherit(:textcolor, :black)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:383 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:383 =# Core.@doc "The font size of the xticklabels." xticklabelsize::Float64 = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:384 =# @inherit(:fontsize, 16.0f0)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:385 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:385 =# Core.@doc "The font size of the yticklabels." yticklabelsize::Float64 = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:386 =# @inherit(:fontsize, 16.0f0)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:387 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:387 =# Core.@doc "Controls if the xticklabels are visible." xticklabelsvisible::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:389 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:389 =# Core.@doc "Controls if the yticklabels are visible." yticklabelsvisible::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:391 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:391 =# Core.@doc "The space reserved for the xticklabels. Can be set to `Makie.automatic` to automatically determine the space needed, `:max_auto` to only ever grow to fit the current ticklabels, or a specific value." xticklabelspace::Union{Makie.Automatic, Symbol, Float64} = Makie.automatic
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:393 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:393 =# Core.@doc "The space reserved for the yticklabels. Can be set to `Makie.automatic` to automatically determine the space needed, `:max_auto` to only ever grow to fit the current ticklabels, or a specific value." yticklabelspace::Union{Makie.Automatic, Symbol, Float64} = Makie.automatic
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:395 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:395 =# Core.@doc "The space between xticks and xticklabels." xticklabelpad::Float64 = 2.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:397 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:397 =# Core.@doc "The space between yticks and yticklabels." yticklabelpad::Float64 = 4.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:399 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:399 =# Core.@doc "The counterclockwise rotation of the xticklabels in radians." xticklabelrotation::Float64 = 0.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:401 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:401 =# Core.@doc "The counterclockwise rotation of the yticklabels in radians." yticklabelrotation::Float64 = 0.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:403 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:403 =# Core.@doc "The horizontal and vertical alignment of the xticklabels." xticklabelalign::Union{Makie.Automatic, Tuple{Symbol, Symbol}} = Makie.automatic
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:405 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:405 =# Core.@doc "The horizontal and vertical alignment of the yticklabels." yticklabelalign::Union{Makie.Automatic, Tuple{Symbol, Symbol}} = Makie.automatic
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:407 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:407 =# Core.@doc "The size of the xtick marks." xticksize::Float64 = 5.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:409 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:409 =# Core.@doc "The size of the ytick marks." yticksize::Float64 = 5.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:411 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:411 =# Core.@doc "Controls if the xtick marks are visible." xticksvisible::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:413 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:413 =# Core.@doc "Controls if the ytick marks are visible." yticksvisible::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:415 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:415 =# Core.@doc "The alignment of the xtick marks relative to the axis spine (0 = out, 1 = in)." xtickalign::Float64 = 0.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:417 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:417 =# Core.@doc "The alignment of the ytick marks relative to the axis spine (0 = out, 1 = in)." ytickalign::Float64 = 0.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:419 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:419 =# Core.@doc "The width of the xtick marks." xtickwidth::Float64 = 1.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:421 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:421 =# Core.@doc "The width of the ytick marks." ytickwidth::Float64 = 1.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:423 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:423 =# Core.@doc "The color of the xtick marks." xtickcolor = RGBf(0, 0, 0)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:425 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:425 =# Core.@doc "The color of the ytick marks." ytickcolor = RGBf(0, 0, 0)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:427 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:427 =# Core.@doc "Controls if the x ticks and minor ticks are mirrored on the other side of the Axis." xticksmirrored::Bool = false
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:429 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:429 =# Core.@doc "Controls if the y ticks and minor ticks are mirrored on the other side of the Axis." yticksmirrored::Bool = false
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:431 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:431 =# Core.@doc "Locks interactive panning in the x direction." xpanlock::Bool = false
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:433 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:433 =# Core.@doc "Locks interactive panning in the y direction." ypanlock::Bool = false
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:435 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:435 =# Core.@doc "Locks interactive zooming in the x direction." xzoomlock::Bool = false
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:437 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:437 =# Core.@doc "Locks interactive zooming in the y direction." yzoomlock::Bool = false
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:439 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:439 =# Core.@doc "Controls if rectangle zooming affects the x dimension." xrectzoom::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:441 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:441 =# Core.@doc "Controls if rectangle zooming affects the y dimension." yrectzoom::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:443 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:443 =# Core.@doc "The width of the axis spines." spinewidth::Float64 = 1.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:445 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:445 =# Core.@doc "Controls if the x grid lines are visible." xgridvisible::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:447 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:447 =# Core.@doc "Controls if the y grid lines are visible." ygridvisible::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:449 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:449 =# Core.@doc "The width of the x grid lines." xgridwidth::Float64 = 1.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:451 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:451 =# Core.@doc "The width of the y grid lines." ygridwidth::Float64 = 1.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:453 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:453 =# Core.@doc "The color of the x grid lines." xgridcolor = RGBAf(0, 0, 0, 0.12)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:455 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:455 =# Core.@doc "The color of the y grid lines." ygridcolor = RGBAf(0, 0, 0, 0.12)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:457 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:457 =# Core.@doc "The linestyle of the x grid lines." xgridstyle = nothing
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:459 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:459 =# Core.@doc "The linestyle of the y grid lines." ygridstyle = nothing
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:461 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:461 =# Core.@doc "Controls if the x minor grid lines are visible." xminorgridvisible::Bool = false
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:463 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:463 =# Core.@doc "Controls if the y minor grid lines are visible." yminorgridvisible::Bool = false
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:465 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:465 =# Core.@doc "The width of the x minor grid lines." xminorgridwidth::Float64 = 1.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:467 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:467 =# Core.@doc "The width of the y minor grid lines." yminorgridwidth::Float64 = 1.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:469 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:469 =# Core.@doc "The color of the x minor grid lines." xminorgridcolor = RGBAf(0, 0, 0, 0.05)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:471 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:471 =# Core.@doc "The color of the y minor grid lines." yminorgridcolor = RGBAf(0, 0, 0, 0.05)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:473 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:473 =# Core.@doc "The linestyle of the x minor grid lines." xminorgridstyle = nothing
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:475 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:475 =# Core.@doc "The linestyle of the y minor grid lines." yminorgridstyle = nothing
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:477 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:477 =# Core.@doc "Controls if the bottom axis spine is visible." bottomspinevisible::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:479 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:479 =# Core.@doc "Controls if the left axis spine is visible." leftspinevisible::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:481 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:481 =# Core.@doc "Controls if the top axis spine is visible." topspinevisible::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:483 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:483 =# Core.@doc "Controls if the right axis spine is visible." rightspinevisible::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:485 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:485 =# Core.@doc "The color of the bottom axis spine." bottomspinecolor::RGBAf = :black
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:487 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:487 =# Core.@doc "The color of the left axis spine." leftspinecolor::RGBAf = :black
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:489 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:489 =# Core.@doc "The color of the top axis spine." topspinecolor::RGBAf = :black
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:491 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:491 =# Core.@doc "The color of the right axis spine." rightspinecolor::RGBAf = :black
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:493 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:493 =# Core.@doc "Controls the forced aspect ratio of the axis.\n\nThe default `nothing` will not constrain the aspect ratio.\nThe axis area will span the available width and height in the layout.\n\n`DataAspect()` reduces the effective axis size within the available layout space\nso that the axis aspect ratio width/height matches that of the data limits.\nFor example, if the x limits range from 0 to 300 and the y limits from 100 to 250, `DataAspect()` will result\nin an aspect ratio of `(300 - 0) / (250 - 100) = 2`.\nThis can be useful when plotting images, because the image will be displayed unsquished.\n\n`AxisAspect(ratio)` reduces the effective axis size within the available layout space\nso that the axis aspect ratio width/height matches `ratio`.\n\nNote that both `DataAspect` and `AxisAspect` can result in excess whitespace around the axis.\nTo make a `GridLayout` aware of aspect ratio constraints, refer to the `Aspect` column or row size setting.\n" aspect = nothing
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:512 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:512 =# Core.@doc "The vertical alignment of the axis within its suggested bounding box." valign = :center
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:514 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:514 =# Core.@doc "The horizontal alignment of the axis within its suggested bounding box." halign = :center
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:516 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:516 =# Core.@doc "The width of the axis." width = nothing
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:518 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:518 =# Core.@doc "The height of the axis." height = nothing
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:520 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:520 =# Core.@doc "Controls if the parent layout can adjust to this element's width" tellwidth::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:522 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:522 =# Core.@doc "Controls if the parent layout can adjust to this element's height" tellheight::Bool = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:524 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:524 =# Core.@doc "The relative margins added to the autolimits in x direction." xautolimitmargin::Tuple{Float64, Float64} = (0.05f0, 0.05f0)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:526 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:526 =# Core.@doc "The relative margins added to the autolimits in y direction." yautolimitmargin::Tuple{Float64, Float64} = (0.05f0, 0.05f0)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:528 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:528 =# Core.@doc "Controls what numerical tick values are calculated for the x axis.\n\nTo determine tick values and labels, Makie first calls `Makie.get_ticks(xticks, xscale, xtickformat, xmin, xmax)`.\nIf there is no special method defined for the current combination of\nticks, scale and formatter which returns both tick values and labels at once,\nthen the numerical tick values will be determined using\n`xtickvalues = Makie.get_tickvalues(xticks, xscale, xmin, xmax)` after which the labels are determined using\n`Makie.get_ticklabels(xtickformat, xtickvalues)`.\n\n$(tickinfo)\n" xticks = Makie.automatic
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:541 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:541 =# Core.@doc "The formatter for the ticks on the x axis.\n\nUsually, the tick values are determined first using `Makie.get_tickvalues`, after which\n`Makie.get_ticklabels(xtickformat, xtickvalues)` is called. If there is a special method defined,\ntick values and labels can be determined together using `Makie.get_ticks` instead. Check the\ndocstring for `xticks` for more information.\n\n$(tickformatinfo)\n" xtickformat = Makie.automatic
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:552 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:552 =# Core.@doc "Controls what numerical tick values are calculated for the y axis.\n\nTo determine tick values and labels, Makie first calls `Makie.get_ticks(yticks, yscale, ytickformat, ymin, ymax)`.\nIf there is no special method defined for the current combination of\nticks, scale and formatter which returns both tick values and labels at once,\nthen the numerical tick values will be determined using\n`ytickvalues = Makie.get_tickvalues(yticks, yscale, ymin, ymax)` after which the labels are determined using\n`Makie.get_ticklabels(ytickformat, ytickvalues)`.\n\n$(tickinfo)\n" yticks = Makie.automatic
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:565 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:565 =# Core.@doc "The formatter for the ticks on the y axis.\n\nUsually, the tick values are determined first using `Makie.get_tickvalues`, after which\n`Makie.get_ticklabels(ytickformat, ytickvalues)` is called. If there is a special method defined,\ntick values and labels can be determined together using `Makie.get_ticks` instead. Check the\ndocstring for `yticks` for more information.\n\n$(tickformatinfo)\n" ytickformat = Makie.automatic
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:576 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:576 =# Core.@doc "The button for panning." panbutton::IsPressedInputType = Makie.Mouse.right
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:578 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:578 =# Core.@doc "The key for limiting panning to the x direction." xpankey::IsPressedInputType = Makie.Keyboard.x
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:580 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:580 =# Core.@doc "The key for limiting panning to the y direction." ypankey::IsPressedInputType = Makie.Keyboard.y
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:582 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:582 =# Core.@doc "The key for limiting zooming to the x direction." xzoomkey::IsPressedInputType = Makie.Keyboard.x
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:584 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:584 =# Core.@doc "The key for limiting zooming to the y direction." yzoomkey::IsPressedInputType = Makie.Keyboard.y
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:586 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:586 =# Core.@doc "Button that needs to be pressed to allow scroll zooming." zoombutton::IsPressedInputType = true
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:588 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:588 =# Core.@doc "The position of the x axis (`:bottom` or `:top`)." xaxisposition::Symbol = :bottom
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:590 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:590 =# Core.@doc "The position of the y axis (`:left` or `:right`)." yaxisposition::Symbol = :left
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:592 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:592 =# Core.@doc "If `true`, limits the x axis spine's extent to the outermost major tick marks.\nCan also be set to a `Tuple{Bool,Bool}` to control each side separately.\n" xtrimspine::Union{Bool, Tuple{Bool, Bool}} = false
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:597 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:597 =# Core.@doc "If `true`, limits the y axis spine's extent to the outermost major tick marks.\nCan also be set to a `Tuple{Bool,Bool}` to control each side separately.\n" ytrimspine::Union{Bool, Tuple{Bool, Bool}} = false
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:602 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:602 =# Core.@doc "The background color of the axis." backgroundcolor::RGBAf = :white
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:604 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:604 =# Core.@doc "Controls if the ylabel's rotation is flipped." flip_ylabel::Bool = false
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:606 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:606 =# Core.@doc "If `autolimitaspect` is set to a number, the limits of the axis\nwill autoadjust such that the ratio of the limits to the axis size equals\nthat number.\n\nFor example, if the axis size is 100 x 200, then with `autolimitaspect = 1`,\nthe autolimits will also have a ratio of 1 to 2. The setting `autolimitaspect = 1`\nis the complement to `aspect = AxisAspect(1)`, but while `aspect` changes the axis\nsize, `autolimitaspect` changes the limits to achieve the desired ratio.\n\n!!! warning\n    `autolimitaspect` can introduce cyclical updates which result in stack overflow errors.\n    This happens when the expanded limits have different ticks than the unexpanded ones.\n    The difference in size causes a relayout which might again result in different autolimits\n    to match the new aspect ratio, new ticks and again a relayout.\n\n    You can hide the ticklabels or fix `xticklabelspace` and `yticklabelspace` to avoid the relayouts.\n    You can choose the amount of space manually or pick the current automatic one with `tight_ticklabel_spacing!`.\n\n" autolimitaspect = nothing
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:627 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:627 =# Core.@doc "Can be used to manually specify which axis limits are desired.\n\nThe `limits` attribute cannot be used to read out the actual limits of the axis.\nThe value of `limits` does not change when interactively zooming and panning and the axis can be reset\naccordingly using the function `reset_limits!`.\n\nThe function `autolimits!` resets the value of `limits` to `(nothing, nothing)` and adjusts the axis limits according\nto the extents of the plots added to the axis.\n\nThe value of `limits` can be a four-element tuple `(xlow, xhigh, ylow, yhigh)` where each value\ncan be a real number or `nothing`.\nIt can also be a tuple `(x, y)` where `x` and `y` can be `nothing` or a tuple `(low, high)`.\nIn all cases, `nothing` means that the respective limit values will be automatically determined.\n\nAutomatically determined limits are also influenced by `xautolimitmargin` and `yautolimitmargin`.\n\nThe convenience functions `xlims!` and `ylims!` allow to set only the x or y part of `limits`.\nThe function `limits!` is another option to set both x and y simultaneously.\n" limits = (nothing, nothing)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:648 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:648 =# Core.@doc "The align mode of the axis in its parent GridLayout." alignmode = Inside()
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:650 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:650 =# Core.@doc "Controls if the y axis goes upwards (false) or downwards (true)" yreversed::Bool = false
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:652 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:652 =# Core.@doc "Controls if the x axis goes rightwards (false) or leftwards (true)" xreversed::Bool = false
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:654 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:654 =# Core.@doc "Controls if minor ticks on the x axis are visible" xminorticksvisible::Bool = false
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:656 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:656 =# Core.@doc "The alignment of x minor ticks on the axis spine" xminortickalign::Float64 = 0.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:658 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:658 =# Core.@doc "The tick size of x minor ticks" xminorticksize::Float64 = 3.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:660 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:660 =# Core.@doc "The tick width of x minor ticks" xminortickwidth::Float64 = 1.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:662 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:662 =# Core.@doc "The tick color of x minor ticks" xminortickcolor = :black
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:664 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:664 =# Core.@doc "The tick locator for the minor ticks of the x axis.\n\nCommon objects that can be used are:\n- `IntervalsBetween`, divides the space between two adjacent major ticks into `n` intervals\n  for `n-1` minor ticks\n- A vector of numbers\n" xminorticks = IntervalsBetween(2)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:673 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:673 =# Core.@doc "Controls if minor ticks on the y axis are visible" yminorticksvisible::Bool = false
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:675 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:675 =# Core.@doc "The alignment of y minor ticks on the axis spine" yminortickalign::Float64 = 0.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:677 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:677 =# Core.@doc "The tick size of y minor ticks" yminorticksize::Float64 = 3.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:679 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:679 =# Core.@doc "The tick width of y minor ticks" yminortickwidth::Float64 = 1.0f0
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:681 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:681 =# Core.@doc "The tick color of y minor ticks" yminortickcolor = :black
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:683 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:683 =# Core.@doc "The tick locator for the minor ticks of the y axis.\n\nCommon objects that can be used are:\n- `IntervalsBetween`, divides the space between two adjacent major ticks into `n` intervals\n  for `n-1` minor ticks\n- A vector of numbers\n" yminorticks = IntervalsBetween(2)
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:692 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:692 =# Core.@doc "The scaling function for the x axis.\n\nCan be any invertible function, some predefined options are\n`identity`, `log`, `log2`, `log10`, `sqrt`, `logit`, `Makie.pseudolog10`, `Makie.Symlog10`, `Makie.AsinhScale`, `Makie.SinhScale`, `Makie.LogScale`, `Makie.LuptonAsinhScale`, and `Makie.PowerScale`.\nTo use a custom function, you have to define appropriate methods for `Makie.inverse_transform`,\n`Makie.defaultlimits` and `Makie.defined_interval`.\n\nIf the scaling function is only defined over a limited interval,\nno plot object may have a source datum that lies outside of that range.\nFor example, there may be no x value lower than or equal to 0 when `log`\nis selected for `xscale`. What matters are the source data, not the user-selected\nlimits, because all data have to be transformed, irrespective of whether they\nlie inside or outside of the current limits.\n\nThe axis scale may affect tick finding and formatting, depending\non the values of `xticks` and `xtickformat`.\n" xscale = identity
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:711 =#
                  #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/types.jl:711 =# Core.@doc "The scaling function for the y axis.\n\nCan be any invertible function, some predefined options are\n`identity`, `log`, `log2`, `log10`, `sqrt`, `logit`, `Makie.pseudolog10`, `Makie.Symlog10`, `Makie.AsinhScale`, `Makie.SinhScale`, `Makie.LogScale`, `Makie.LuptonAsinhScale`, and `Makie.PowerScale`.\nTo use a custom function, you have to define appropriate methods for `Makie.inverse_transform`,\n`Makie.defaultlimits` and `Makie.defined_interval`.\n\nIf the scaling function is only defined over a limited interval,\nno plot object may have a source datum that lies outside of that range.\nFor example, there may be no y value lower than or equal to 0 when `log`\nis selected for `yscale`. What matters are the source data, not the user-selected\nlimits, because all data have to be transformed, irrespective of whether they\nlie inside or outside of the current limits.\n\nThe axis scale may affect tick finding and formatting, depending\non the values of `yticks` and `ytickformat`.\n" yscale = identity
              end
      end)


### REVISED TYPE ###

Axis



#### HERE IS A METHOD FOR THAT TYPE #####

m = kwcall(::NamedTuple, ::typeof(hidedecorations!), la::Axis) @ Makie ~/.julia/environments/v1.12/dev/Makie/Makie/src/makielayout/blocks/axis.jl:1156
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:3 =#
    if isdefined(Base, :Experimental) && isdefined(Base.Experimental, Symbol("@max_methods"))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:4 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:4 =# @eval #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:4 =# Base.Experimental.@max_methods(1)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:11 =#
    using .ContoursHygiene
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:12 =#
    const Contours = ContoursHygiene.Contour
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:13 =#
    using Base64
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:19 =#
    import FilePaths
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:20 =#
    using LaTeXStrings
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:21 =#
    using MathTeXEngine
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:22 =#
    using Random
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:23 =#
    using FFMPEG_jll
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:24 =#
    using Observables
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:25 =#
    using GeometryBasics
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:26 =#
    using PlotUtils
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:27 =#
    using ColorBrewer
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:28 =#
    using ColorTypes
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:29 =#
    using Colors
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:30 =#
    using ColorSchemes
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:31 =#
    using CRC32c
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:32 =#
    using Packing
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:33 =#
    using SignedDistanceFields
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:34 =#
    using Markdown
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:35 =#
    using DocStringExtensions
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:36 =#
    using Scratch
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:37 =#
    using StructArrays
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:39 =#
    using FreeType
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:40 =#
    using FreeTypeAbstraction
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:41 =#
    using LinearAlgebra
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:42 =#
    using Statistics
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:43 =#
    using OffsetArrays
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:44 =#
    using Downloads
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:45 =#
    using ShaderAbstractions
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:46 =#
    using Dates
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:47 =#
    using ComputePipeline
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:49 =#
    import Unitful
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:50 =#
    import UnicodeFun
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:51 =#
    import RelocatableFolders
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:52 =#
    import StatsBase
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:53 =#
    import Distributions
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:54 =#
    import KernelDensity
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:55 =#
    import Isoband
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:56 =#
    import PolygonOps
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:57 =#
    import GridLayoutBase
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:58 =#
    import ImageIO
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:59 =#
    import FileIO
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:60 =#
    import SparseArrays
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:61 =#
    import TriplotBase
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:62 =#
    import DelaunayTriangulation as DelTri
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:63 =#
    import REPL
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:64 =#
    import MacroTools
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:66 =#
    using IntervalSets: IntervalSets, (..), OpenInterval, ClosedInterval, AbstractInterval, Interval, endpoints, leftendpoint, rightendpoint
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:67 =#
    using FixedPointNumbers: N0f8
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:69 =#
    using GeometryBasics: width, widths, height, positive_widths, VecTypes, AbstractPolygon, value, StaticVector
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:70 =#
    using Distributions: Distribution, VariateForm, Discrete, QQPair, pdf, quantile, qqbuild
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:72 =#
    import FileIO: save
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:73 =#
    import FreeTypeAbstraction: height_insensitive_boundingbox
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:74 =#
    using Printf: @sprintf
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:75 =#
    using StatsFuns: logit, logistic
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:77 =#
    using Base: RefValue
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:78 =#
    using Base.Iterators: repeated, drop
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:79 =#
    import Base: getindex, setindex!, push!, append!, parent, get, get!, delete!, haskey
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:80 =#
    using Observables: listeners, to_value, notify
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:82 =#
    import InverseFunctions
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:84 =#
    export @L_str, @colorant_str
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:85 =#
    export ConversionTrait, NoConversion, PointBased, GridBased, VertexGrid, CellGrid, ImageLike, VolumeLike
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:86 =#
    export Pixel, px, Unit, plotkey, attributes, used_attributes
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:87 =#
    export Linestyle
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:88 =#
    using Pkg.Artifacts
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:89 =#
    assetpath(files...) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:89 =#
            normpath(joinpath(artifact"MakieAssets", files...))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:90 =#
    loadasset(files...) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:90 =#
            FileIO.load(assetpath(files...))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:92 =#
    const RGBAf = RGBA{Float32}
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:93 =#
    const RGBf = RGB{Float32}
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:94 =#
    const NativeFont = FreeTypeAbstraction.FTFont
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:100 =#
    macro noconstprop(expr)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:100 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:101 =#
        if isdefined(Base, Symbol("@constprop"))
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:102 =#
            return esc($(Expr(:quote, :(#= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:102 =# Base.@constprop :none #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:102 =# @noinline($(Expr(:$, :expr)))))))
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:104 =#
            return esc($(Expr(:quote, :(#= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:104 =# @noinline $(Expr(:$, :expr))))))
        end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:108 =#
    include("documentation/docstringextension.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:109 =#
    include("utilities/quaternions.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:110 =#
    include("utilities/stable-hashing.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:111 =#
    include("coretypes.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:112 =#
    include("attributes.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:113 =#
    include("recipes.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:114 =#
    include("basic_plots.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:115 =#
    include("conversion.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:116 =#
    include("bezier.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:117 =#
    include("types.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:118 =#
    include("utilities/Plane.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:119 =#
    include("utilities/timing.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:120 =#
    include("utilities/texture_atlas.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:121 =#
    include("interaction/observables.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:122 =#
    include("interaction/liftmacro.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:123 =#
    include("colorsampler.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:124 =#
    include("patterns.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:125 =#
    include("utilities/utilities.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:126 =#
    include("lighting.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:129 =#
    include("dim-converts/dim-converts.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:130 =#
    include("dim-converts/unitful-integration.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:131 =#
    include("dim-converts/dynamic-quantities-integration.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:132 =#
    include("dim-converts/categorical-integration.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:133 =#
    include("dim-converts/dates-integration.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:135 =#
    include("scenes.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:136 =#
    include("float32-scaling.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:138 =#
    include("interfaces.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:139 =#
    include("compute-plots.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:140 =#
    include("units.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:141 =#
    include("shorthands.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:144 =#
    include("camera/projection_math.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:145 =#
    include("camera/camera.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:146 =#
    include("camera/camera2d.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:147 =#
    include("camera/camera3d.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:148 =#
    include("camera/old_camera3d.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:150 =#
    include("utilities/projection_utils.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:153 =#
    include("basic_recipes/convenience_functions.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:154 =#
    include("basic_recipes/ablines.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:155 =#
    include("basic_recipes/annotation.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:156 =#
    include("basic_recipes/arc.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:157 =#
    include("basic_recipes/arrows.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:158 =#
    include("basic_recipes/axis.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:159 =#
    include("basic_recipes/band.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:160 =#
    include("basic_recipes/barplot.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:161 =#
    include("basic_recipes/buffers.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:162 =#
    include("basic_recipes/bracket.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:163 =#
    include("basic_recipes/contours.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:164 =#
    include("basic_recipes/contourf.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:165 =#
    include("basic_recipes/datashader.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:166 =#
    include("basic_recipes/error_and_rangebars.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:167 =#
    include("basic_recipes/hvlines.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:168 =#
    include("basic_recipes/hvspan.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:169 =#
    include("basic_recipes/mesh.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:170 =#
    include("basic_recipes/pie.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:171 =#
    include("basic_recipes/poly.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:172 =#
    include("basic_recipes/scatterlines.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:173 =#
    include("basic_recipes/spy.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:174 =#
    include("basic_recipes/stairs.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:175 =#
    include("basic_recipes/stem.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:176 =#
    include("basic_recipes/streamplot.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:177 =#
    include("basic_recipes/timeseries.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:178 =#
    include("basic_recipes/tricontourf.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:179 =#
    include("basic_recipes/triplot.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:180 =#
    include("basic_recipes/volumeslices.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:181 =#
    include("basic_recipes/voronoiplot.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:182 =#
    include("basic_recipes/voxels.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:183 =#
    include("basic_recipes/waterfall.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:184 =#
    include("basic_recipes/wireframe.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:185 =#
    include("basic_recipes/textlabel.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:186 =#
    include("basic_recipes/tooltip.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:188 =#
    include("basic_recipes/makiecore_examples/scatter.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:189 =#
    include("basic_recipes/makiecore_examples/lines.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:192 =#
    include("conversions.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:195 =#
    include("theming.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:196 =#
    include("themes/theme_ggplot2.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:197 =#
    include("themes/theme_black.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:198 =#
    include("themes/theme_minimal.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:199 =#
    include("themes/theme_light.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:200 =#
    include("themes/theme_dark.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:201 =#
    include("themes/theme_latexfonts.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:205 =#
    include("layouting/transformation.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:206 =#
    include("layouting/data_limits.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:207 =#
    include("layouting/text_layouting.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:208 =#
    include("layouting/boundingbox.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:209 =#
    include("layouting/text_boundingbox.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:212 =#
    include("specapi.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:216 =#
    include("stats/conversions.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:217 =#
    include("stats/hist.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:218 =#
    include("stats/density.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:219 =#
    include("stats/ecdf.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:220 =#
    include("stats/distributions.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:221 =#
    include("stats/crossbar.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:222 =#
    include("stats/boxplot.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:223 =#
    include("stats/violin.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:224 =#
    include("stats/hexbin.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:225 =#
    include("stats/dendrogram.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:229 =#
    include("interaction/events.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:230 =#
    include("interaction/interactive_api.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:231 =#
    include("interaction/ray_casting.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:232 =#
    include("interaction/inspector.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:235 =#
    include("documentation/documentation.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:236 =#
    include("display.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:237 =#
    include("ffmpeg-util.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:238 =#
    include("recording.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:239 =#
    include("event-recorder.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:240 =#
    include("backend-functionality.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:243 =#
    export BezierPath, MoveTo, LineTo, CurveTo, EllipticalArc, ClosePath
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:246 =#
    export help, help_attributes, help_arguments
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:249 =#
    export AbstractScene, SceneLike, Scene, MakieScreen
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:250 =#
    export AbstractPlot, Plot, Atomic, OldAxis
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:253 =#
    export Attributes, Theme, attributes, default_theme, theme, set_theme!, with_theme, update_theme!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:254 =#
    export xlims!, ylims!, zlims!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:255 =#
    export xlabel!, ylabel!, zlabel!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:257 =#
    export theme_ggplot2
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:258 =#
    export theme_black
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:259 =#
    export theme_minimal
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:260 =#
    export theme_light
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:261 =#
    export theme_dark
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:262 =#
    export theme_latexfonts
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:264 =#
    export xticklabels, yticklabels, zticklabels
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:265 =#
    export xtickrange, ytickrange, ztickrange
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:266 =#
    export xticks!, yticks!, zticks!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:267 =#
    export xtickrotation, ytickrotation, ztickrotation
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:268 =#
    export xtickrotation!, ytickrotation!, ztickrotation!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:269 =#
    export Categorical
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:272 =#
    export Observable, Observable, lift, to_value, on, onany, @lift, off, connect!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:275 =#
    export @recipe, @extract, @extractvalue, @key_str, @get_attribute
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:276 =#
    export broadcast_foreach, to_vector, replace_automatic!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:277 =#
    export register_projected_positions!, register_projected_rotations_2d!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:278 =#
    export register_position_transforms!, register_positions_transformed!, register_positions_transformed_f32c!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:281 =#
    export @key_str, convert_attribute, convert_arguments
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:282 =#
    export to_color, to_colormap, to_rotation, to_font, to_align, to_fontsize, categorical_colors, resample_cmap
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:283 =#
    export to_ndim, Reverse
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:286 =#
    export DateTimeTicks
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:289 =#
    export translated, translate!, scale!, rotate!, origin!, Accum, Absolute
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:290 =#
    export boundingbox, insertplots!, center!, translation, data_limits
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:293 =#
    const PixelSpace = Pixel
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:294 =#
    export SceneSpace, PixelSpace, Pixel
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:297 =#
    export AbstractCamera, EmptyCamera, Camera, Camera2D, Camera3D, cam2d!, cam2d
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:298 =#
    export campixel!, campixel, cam3d!, cam3d_cad!, old_cam3d!, old_cam3d_cad!, cam_relative!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:299 =#
    export update_cam!, rotate_cam!, translate_cam!, zoom!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:300 =#
    export viewport, plots, cameracontrols, cameracontrols!, camera, events
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:301 =#
    export to_world
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:304 =#
    export mouseover, onpick, pick, Events, Keyboard, Mouse, is_mouseinside
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:305 =#
    export ispressed, Exclusively
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:306 =#
    export connect_screen
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:307 =#
    export window_area, window_open, mouse_buttons, mouse_position, mouseposition_px, scroll, keyboard_buttons, unicode_input, dropped_files, hasfocus, entered_window
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:309 =#
    export disconnect!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:310 =#
    export DataInspector
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:311 =#
    export Consume
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:314 =#
    export RaymarchAlgorithm, IsoValue, Absorption, MaximumIntensityProjection, AbsorptionRGBA, IndexedAbsorptionRGBA
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:315 =#
    export Billboard
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:316 =#
    export NoShading, FastShading, MultiLightShading
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:320 =#
    export Quaternion, Quaternionf, qrotation
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:321 =#
    export RGBAf, RGBf, VecTypes, RealVector
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:322 =#
    export Transformation
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:323 =#
    export Sphere, Circle
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:324 =#
    for kind = (:Vec, :Point, :Rect)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:325 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:325 =# @eval export $(Expr(:$, :kind))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:326 =#
        for n = (2, 3, 4), typesuffix = ("f", "d", "i", "")
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:327 =#
            kind === :Rect && (n == 4 && continue)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:328 =#
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:328 =# @eval export $(Expr(:$, :(Symbol(kind, n, typesuffix))))
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:329 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:330 =#
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:331 =#
    export ..
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:332 =#
    export Rectf, Recti, Rectd
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:333 =#
    export Plane3f, Plane3d
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:334 =#
    export widths, decompose
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:337 =#
    export PlotSpec
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:339 =#
    export plot!, plot
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:340 =#
    export abline!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:342 =#
    export Stepper, replay_events, record_events, RecordEvents, record, VideoStream
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:343 =#
    export VideoStream, recordframe!, record, Record
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:344 =#
    export save, colorbuffer
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:347 =#
    export cgrad, available_gradients, showgradients
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:350 =#
    export available_plotting_methods, available_marker_symbols
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:353 =#
    export Pattern
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:354 =#
    export ReversibleScale
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:356 =#
    export assetpath
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:358 =#
    using PNGFiles
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:361 =#
    function load_icon(name::String)::Matrix{NTuple{4, UInt8}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:361 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:362 =#
        img = PNGFiles.load(name)::Matrix{RGBA{Colors.N0f8}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:363 =#
        return reinterpret(NTuple{4, UInt8}, img)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:366 =#
    function icon()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:366 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:367 =#
        path = assetpath("icons")
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:368 =#
        icons = readdir(path; join = true)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:369 =#
        return map(load_icon, icons)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:372 =#
    function logo()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:372 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:373 =#
        return PNGFiles.load(assetpath("logo.png"))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:377 =#
    const makie_cache_dir = Ref{String}("")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:379 =#
    function get_cache_path()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:379 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:380 =#
        if isempty(makie_cache_dir[])
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:383 =#
            makie_cache_dir[] = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:383 =# @get_scratch!("makie")
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:385 =#
        return makie_cache_dir[]
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:388 =#
    function __init__()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:388 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:392 =#
        GridLayoutBase.DEFAULT_COLGAP_GETTER[] = function ()
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:392 =#
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:393 =#
                return convert(Float64, to_value(Makie.theme(:colgap; default = GridLayoutBase.DEFAULT_COLGAP[])))
            end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:395 =#
        GridLayoutBase.DEFAULT_ROWGAP_GETTER[] = function ()
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:395 =#
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:396 =#
                return convert(Float64, to_value(Makie.theme(:rowgap; default = GridLayoutBase.DEFAULT_ROWGAP[])))
            end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:399 =#
        empty!(FONT_CACHE)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:400 =#
        cfg_path = joinpath(homedir(), ".config", "makie", "theme.jl")
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:401 =#
        if isfile(cfg_path)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:402 =#
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:402 =# @warn "The global configuration file is no longer supported." * "Please include the file manually with `include(\"$(cfg_path)\")` before plotting."
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:405 =#
        return
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:408 =#
    include("figures.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:409 =#
    export content
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:410 =#
    export resize_to_layout!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:412 =#
    include("makielayout/MakieLayout.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:413 =#
    include("figureplotting.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:414 =#
    include("basic_recipes/series.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:415 =#
    include("basic_recipes/text.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:416 =#
    include("basic_recipes/raincloud.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:417 =#
    include("deprecated.jl")
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:419 =#
    export Heatmap, Image, Lines, LineSegments, Mesh, MeshScatter, Poly, Scatter, Surface, Text, Volume, Wireframe, Voxels
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:420 =#
    export heatmap, image, lines, linesegments, mesh, meshscatter, poly, scatter, surface, text, volume, wireframe, voxels
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:421 =#
    export heatmap!, image!, lines!, linesegments!, mesh!, meshscatter!, poly!, scatter!, surface!, text!, volume!, wireframe!, voxels!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:423 =#
    export arrows, arrows!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:425 =#
    export AbstractLight, get_lights, set_lights!, set_light!, set_ambient_light!, push_light!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:426 =#
    export set_shading_algorithm!, set_directional_light!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:427 =#
    export AmbientLight, PointLight, DirectionalLight, SpotLight, EnvironmentLight, RectLight, SSAO
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:428 =#
    export FastPixel
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:429 =#
    export update!
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:430 =#
    export Ann
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:432 =#
    include("precompiles.jl")
end
mod = Makie.ContoursHygiene
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/Makie.jl:8 =#
    import Contour
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:9 =#
    struct DocThemer <: DocStringExtensions.Abbreviation
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:9 =#
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:11 =#
    const ATTRIBUTES = DocThemer()
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:13 =#
    function DocStringExtensions.format(::DocThemer, buf, doc)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:13 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:14 =#
        binding = doc.data[:binding] |> Docs.resolve
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:15 =#
        return help_attributes(buf, binding; extended = true)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:22 =#
    struct DocInstances <: DocStringExtensions.Abbreviation
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:22 =#
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:24 =#
    const INSTANCES = DocInstances()
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:26 =#
    function DocStringExtensions.format(::DocInstances, buf, doc)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:26 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:27 =#
        binding = Docs.resolve(doc.data[:binding])
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:31 =#
        insts = instances(binding)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:34 =#
        rows = Vector{Vector{String}}(undef, length(insts) + 1)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:36 =#
        rows[1] = ["Instance", "Value"]
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:39 =#
        for (i, inst) = enumerate(insts)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:40 =#
            rows[i + 1] = ["`$(inst)`", "`$(Int(inst))`"]
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:41 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/documentation/docstringextension.jl:44 =#
        return show(buf, Markdown.MD(Markdown.Table(rows, [:l, :l])))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:7 =#
    struct Quaternion{T}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:8 =#
        data::NTuple{4, T}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:9 =#
        (Quaternion{T}(x::NTuple{4, Any}) where T) = begin
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:9 =#
                new{T}(T.(x))
            end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:10 =#
        (Quaternion{T}(x::NTuple{4, T}) where T) = begin
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:10 =#
                new{T}(x)
            end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:13 =#
    (Base.eltype(::Quaternion{T}) where T) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:13 =#
            T
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:14 =#
    (Base.eltype(::Type{Quaternion{T}}) where T) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:14 =#
            T
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:15 =#
    Base.length(::Type{<:Quaternion}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:15 =#
            4
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:16 =#
    Base.length(::Quaternion) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:16 =#
            4
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:18 =#
    const Quaternionf = Quaternion{Float32}
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:19 =#
    const SMat{N, L} = (Mat{N, N, T, L} where T)
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:21 =#
    function Base.show(io::IO, q::Quaternion)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:21 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:22 =#
        pm(x) = begin
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:22 =#
                if x < 0
                    " - $(-x)"
                else
                    " + $(x)"
                end
            end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:23 =#
        return print(io, q[4], pm(q[1]), "im", pm(q[2]), "jm", pm(q[3]), "km")
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:26 =#
    Random.rand(mt::AbstractRNG, ::Random.SamplerType{Quaternion}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:26 =#
            rand(mt, Quaternion{Float64})
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:27 =#
    (Random.rand(mt::AbstractRNG, ::Random.SamplerType{Quaternion{T}}) where T) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:27 =#
            Quaternion(rand(mt, T), rand(mt, T), rand(mt, T), 1.0)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:29 =#
    (Quaternion{T}(x1, x2, x3, s) where T) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:29 =#
            Quaternion{T}((x1, x2, x3, s))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:30 =#
    Base.convert(T::Type{<:Quaternion}, x::NTuple{4, Any}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:30 =#
            T(x)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:31 =#
    function Base.convert(T::Type{Quaternion{T1}}, x::Quaternion{T2}) where {T1, T2}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:31 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:32 =#
        return T(T2.(x.data))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:34 =#
    Quaternion(x1, x2, x3, s) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:34 =#
            Quaternion(promote(x1, x2, x3, s))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:35 =#
    (Quaternion(x::NTuple{4, T}) where T) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:35 =#
            Quaternion{T}(x)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:36 =#
    Base.getindex(x::Quaternion, i::Integer) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:36 =#
            x.data[i]
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:37 =#
    function Base.isapprox(x::Quaternion, y::Quaternion; kwargs...)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:37 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:38 =#
        return all(isapprox.(x.data, y.data; kwargs...))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:41 =#
    function qrotation(axis::StaticVector{3}, theta::Number)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:41 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:42 =#
        u = normalize(axis)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:43 =#
        s = sin(theta / 2)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:44 =#
        return Quaternion(s * u[1], s * u[2], s * u[3], cos(theta / 2))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:47 =#
    function Base.broadcast(f, arg1::Quaternion, arg2::Quaternion)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:47 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:48 =#
        return Quaternion(f.(arg1.data, arg2.data))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:51 =#
    Base.abs(q::Quaternion) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:51 =#
            sqrt(sum(q.data .^ 2))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:53 =#
    LinearAlgebra.normalize(q::Quaternion) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:53 =#
            q / abs(q)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:55 =#
    Base.:/(q::Quaternion, x::Real) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:55 =#
            Quaternion(q[1] / x, q[2] / x, q[3] / x, q[4] / x)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:57 =#
    function Base.:*(quat::Quaternion, vec::P) where P <: StaticVector{2}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:57 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:58 =#
        T = eltype(vec)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:59 =#
        x3 = quat * Vec(vec[1], vec[2], T(0))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:60 =#
        return P(x3[1], x3[2])
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:63 =#
    function Base.:*(quat::Quaternion{T}, vec::P) where {T, P <: StaticVector{3}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:63 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:64 =#
        num = quat[1] * T(2)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:65 =#
        num2 = quat[2] * T(2)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:66 =#
        num3 = quat[3] * T(2)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:68 =#
        num4 = quat[1] * num
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:69 =#
        num5 = quat[2] * num2
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:70 =#
        num6 = quat[3] * num3
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:72 =#
        num7 = quat[1] * num2
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:73 =#
        num8 = quat[1] * num3
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:74 =#
        num9 = quat[2] * num3
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:76 =#
        num10 = quat[4] * num
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:77 =#
        num11 = quat[4] * num2
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:78 =#
        num12 = quat[4] * num3
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:80 =#
        return P((1.0f0 - (num5 + num6)) * vec[1] + (num7 - num12) * vec[2] + (num8 + num11) * vec[3], (num7 + num12) * vec[1] + (1.0f0 - (num4 + num6)) * vec[2] + (num9 - num10) * vec[3], (num8 - num11) * vec[1] + (num9 + num10) * vec[2] + (1.0f0 - (num4 + num5)) * vec[3])
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:87 =#
    function Base.:*(quat::Quaternion, bb::Rect3{T}) where T
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:87 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:88 =#
        points = corners(bb)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:89 =#
        bb = Rect3{T}()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:90 =#
        for i = eachindex(points)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:91 =#
            bb = update_boundingbox(bb, Point3{T}(quat * points[i]))
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:92 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:93 =#
        return bb
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:96 =#
    Base.conj(q::Quaternion) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:96 =#
            Quaternion(-(q[1]), -(q[2]), -(q[3]), q[4])
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:98 =#
    function Base.:*(q::Quaternion, w::Quaternion)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:98 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:99 =#
        return Quaternion((q[4] * w[1] + q[1] * w[4] + q[2] * w[3]) - q[3] * w[2], (q[4] * w[2] - q[1] * w[3]) + q[2] * w[4] + q[3] * w[1], ((q[4] * w[3] + q[1] * w[2]) - q[2] * w[1]) + q[3] * w[4], ((q[4] * w[4] - q[1] * w[1]) - q[2] * w[2]) - q[3] * w[3])
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:107 =#
    (SMat{N, L}(q::Quaternion{T}) where {N, T, L}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:107 =#
            Mat{N, N, T, L}(q)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:109 =#
    function Mat4{ET}(q::Quaternion{T}) where {T, ET}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:109 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:110 =#
        (sx, sy, sz) = ((2 * q[4]) * q[1], (2 * q[4]) * q[2], (2 * q[4]) * q[3])
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:111 =#
        (xx, xy, xz) = (2 * q[1] ^ 2, (2 * q[1]) * q[2], (2 * q[1]) * q[3])
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:112 =#
        (yy, yz, zz) = (2 * q[2] ^ 2, (2 * q[2]) * q[3], 2 * q[3] ^ 2)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:113 =#
        (T0, T1) = (zero(ET), one(ET))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:114 =#
        return Mat{4, 4, ET}(T1 - (yy + zz), xy + sz, xz - sy, T0, xy - sz, T1 - (xx + zz), yz + sx, T0, xz + sy, yz - sx, T1 - (xx + yy), T0, T0, T0, T0, T1)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:122 =#
    (concrete_type(::Type{Any}, ::Type{T}) where T) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:122 =#
            T
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:123 =#
    (concrete_type(::Type{T}, x) where T) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:123 =#
            T
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:125 =#
    function Mat3{ET}(q::Quaternion{T}) where {T, ET}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:125 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:126 =#
        (sx, sy, sz) = ((2 * q[4]) * q[1], (2 * q[4]) * q[2], (2 * q[4]) * q[3])
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:127 =#
        (xx, xy, xz) = (2 * q[1] ^ 2, (2 * q[1]) * q[2], (2 * q[1]) * q[3])
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:128 =#
        (yy, yz, zz) = (2 * q[2] ^ 2, (2 * q[2]) * q[3], 2 * q[3] ^ 2)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:129 =#
        (T0, T1) = (zero(ET), one(ET))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:130 =#
        return Mat{3, 3, ET}(T1 - (yy + zz), xy + sz, xz - sy, xy - sz, T1 - (xx + zz), yz + sx, xz + sy, yz - sx, T1 - (xx + yy))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:137 =#
    function orthogonal(v::T) where T <: StaticVector{3}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:137 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:138 =#
        (x, y, z) = abs.(v)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:139 =#
        other = if x < y
                if x < z
                    GeometryBasics.unit(T, 1)
                else
                    GeometryBasics.unit(T, 3)
                end
            else
                if y < z
                    GeometryBasics.unit(T, 2)
                else
                    GeometryBasics.unit(T, 3)
                end
            end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:140 =#
        return cross(v, other)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:143 =#
    function rotation_between(u::StaticVector{3, T}, v::StaticVector{3, T}) where T
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:143 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:144 =#
        k_cos_theta = dot(u, v)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:145 =#
        k = sqrt(norm(u) ^ 2 * norm(v) ^ 2)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:146 =#
        if k_cos_theta / k  T(-1)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:148 =#
            return Quaternion(normalize(orthogonal(u))..., T(0))
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:150 =#
            return normalize(Quaternion(cross(u, v)..., k_cos_theta + k))
        end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:154 =#
    function quaternion_to_2d_angle(quat::Quaternion)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:154 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:156 =#
        return (2 * acos(quat[4])) * if signbit(quat[1])
                    -1
                else
                    1
                end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:159 =#
    Base.isinf(q::Quaternion) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:159 =#
            any(isinf, q.data)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:160 =#
    Base.isnan(q::Quaternion) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:160 =#
            any(isnan, q.data)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:161 =#
    Base.isfinite(q::Quaternion) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:161 =#
            all(isfinite, q.data)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:162 =#
    Base.abs2(q::Quaternion) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:162 =#
            mapreduce(*, +, q.data, q.data)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:163 =#
    function Base.inv(q::Quaternion)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:163 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:164 =#
        if isinf(q)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:165 =#
            return quat(flipsign(-(zero(q[1])), q[1]), flipsign(-(zero(q[2])), q[2]), flipsign(-(zero(q[3])), q[3]), copysign(zero(q[4]), q[4]))
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:172 =#
        a = max(abs(q[4]), abs(q[1]), abs(q[2]), abs(q[3]))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:173 =#
        p = q / a
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:174 =#
        iq = conj(p) / (a * abs2(p))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/quaternions.jl:175 =#
        return iq
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/stable-hashing.jl:1 =#
    using CRC32c
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/stable-hashing.jl:4 =#
    const MEMOIZED_HASHES = Dict{Tuple{UInt64, String}, UInt32}()
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/stable-hashing.jl:6 =#
    function fast_stable_hash(x::Tuple{UInt64, String})
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/stable-hashing.jl:6 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/stable-hashing.jl:7 =#
        return get!(MEMOIZED_HASHES, x) do
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/stable-hashing.jl:8 =#
                return hash_crc32(x)
            end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/stable-hashing.jl:13 =#
    function hash_crc32(arrays::Union{AbstractVector, Tuple})
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/stable-hashing.jl:13 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/stable-hashing.jl:14 =#
        io = IOBuffer()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/stable-hashing.jl:15 =#
        for array = arrays
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/stable-hashing.jl:16 =#
            write(io, array)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/stable-hashing.jl:17 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/stable-hashing.jl:18 =#
        seekstart(io)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/utilities/stable-hashing.jl:19 =#
        return CRC32c.crc32c(io)
    end
end
mod = Makie
:(abstract type Transformable end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:1 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:1 =# Core.@doc "    abstract type Transformable\nThis is a bit of a weird name, but all scenes and plots are transformable,\nso that's what they all have in common. This might be better expressed as traits.\n" abstract type Transformable end false
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:8 =#
    abstract type AbstractPlot{Typ} <: Transformable end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:9 =#
    abstract type AbstractScene <: Transformable end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:10 =#
    abstract type ScenePlot{Typ} <: AbstractPlot{Typ} end
end
mod = Makie
:(abstract type MakieScreen <: AbstractDisplay end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:13 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:13 =# Core.@doc "Screen constructors implemented by all backends:\n\n```julia\n# Constructor aimed at showing the plot in a window.\nScreen(scene::Scene; screen_config...)\n\n# Screen to save a png/jpeg to file or io\nScreen(scene::Scene, io::IO, mime; screen_config...)\n\n# Screen that is efficient for `colorbuffer(screen, format)`\nScreen(scene::Scene, format::Makie.ImageStorageFormat; screen_config...)\n```\n\nInterface implemented by all backends:\n\n```julia\n# Needs to be overload:\nsize(screen) # Size in pixel\nempty!(screen) # empties screen state to reuse the screen, or to close it\n\n# Optional\nwait(screen) # waits as long window is open\n\n# Provided by Makie:\npush_screen!(scene, screen)\n```\n" abstract type MakieScreen <: AbstractDisplay end false
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:43 =#
    const SceneLike = Union{AbstractScene, ScenePlot}
end
mod = Makie
:(struct Attributes
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:50 =#
      attributes::Dict{Symbol, Any}
  end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:45 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:45 =# Core.@doc "Main structure for holding attributes, for theming plots etc!\nWill turn all values into observables, so that they can be updated.\n" struct Attributes
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:50 =#
            attributes::Dict{Symbol, Any}
        end false
end
mod = Makie
:(mutable struct Plot{PlotFunc, T} <: ScenePlot{PlotFunc}
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:67 =#
      transformation::Union{Nothing, Transformable}
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:69 =#
      kw::Dict{Symbol, Any}
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:71 =#
      attributes::ComputeGraph
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:73 =#
      plots::Vector{Plot}
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:74 =#
      deregister_callbacks::Vector{Observables.ObserverFunction}
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:75 =#
      parent::Union{AbstractScene, Plot}
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:77 =#
      function Plot{Typ, T}(kw::Dict{Symbol, Any}, attr::ComputeGraph, deregister_callbacks::Vector{Observables.ObserverFunction} = Observables.ObserverFunction[]) where {Typ, T}
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:77 =#
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/coretypes.jl:81 =#
          return new{Typ, T}(nothing, kw, attr, Plot[], deregister_callbacks)
      end
  end)


### REVISED TYPE ###

Plot{PlotFunc, T}



#### HERE IS A METHOD FOR THAT TYPE #####

m = get(x::Plot, key::Symbol, default) @ Makie ~/.julia/environments/v1.12/dev/Makie/Makie/src/compute-plots.jl:29
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:1 =#
    const Theme = Attributes
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:3 =#
    Base.broadcastable(x::AbstractScene) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:3 =#
            Ref(x)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:4 =#
    Base.broadcastable(x::AbstractPlot) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:4 =#
            Ref(x)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:5 =#
    Base.broadcastable(x::Attributes) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:5 =#
            Ref(x)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:8 =#
    value_convert(x::Observables.AbstractObservable) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:8 =#
            Observables.observe(x)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:9 =#
    value_convert(#= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:9 =# @nospecialize(x)) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:9 =#
            x
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:12 =#
    function value_convert(x::NTuple{N, Union{Any, Observables.AbstractObservable}}) where N
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:12 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:13 =#
        result = Observable(to_value.(x))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:14 =#
        onany((args...->begin
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:14 =#
                    args
                end), x...)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:15 =#
        return result
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:18 =#
    value_convert(x::NamedTuple) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:18 =#
            Attributes(x)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:21 =#
    node_any(obj::Computed) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:21 =#
            obj
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:22 =#
    function node_any(#= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:22 =# @nospecialize(obj))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:22 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:23 =#
        obj isa Observable{Any} && return obj
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:24 =#
        obj isa Observable && return convert(Observable{Any}, obj)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:25 =#
        return Observable{Any}(obj)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:28 =#
    node_pairs(pair::Union{Pair, Tuple{Any, Any}}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:28 =#
            pair[1] => node_any(value_convert(pair[2]))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:29 =#
    node_pairs(pairs) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:29 =#
            (node_pairs(pair) for pair = pairs)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:31 =#
    Attributes(; kw_args...) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:31 =#
            Attributes(Dict{Symbol, Any}(node_pairs(kw_args)))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:32 =#
    Attributes(pairs::Dict) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:32 =#
            Attributes(Dict{Symbol, Any}(node_pairs(pairs)))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:33 =#
    Attributes(pairs::Pair...) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:33 =#
            Attributes(Dict{Symbol, Any}(node_pairs(pairs)))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:34 =#
    Attributes(pairs::AbstractVector) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:34 =#
            Attributes(Dict{Symbol, Any}(node_pairs.(pairs)))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:35 =#
    Attributes(pairs::Iterators.Pairs) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:35 =#
            Attributes(collect(pairs))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:36 =#
    Attributes(nt::NamedTuple) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:36 =#
            Attributes(; nt...)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:37 =#
    attributes(x::Attributes) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:37 =#
            getfield(x, :attributes)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:38 =#
    attributes(x::AbstractPlot) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:38 =#
            getfield(x, :attributes)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:39 =#
    Base.keys(x::Attributes) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:39 =#
            keys(x.attributes)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:40 =#
    Base.values(x::Attributes) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:40 =#
            values(x.attributes)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:41 =#
    function Base.iterate(x::Attributes, state...)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:41 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:42 =#
        s = iterate(keys(x), state...)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:43 =#
        s === nothing && return nothing
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:44 =#
        return (s[1] => x[s[1]], s[2])
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:47 =#
    function Base.copy(attr::Attributes)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:47 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:48 =#
        return Attributes(copy(attributes(attr)))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:51 =#
    function Base.deepcopy(obs::Observable)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:51 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:52 =#
        return Observable{Any}(to_value(obs))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:55 =#
    function Base.deepcopy(attributes::Attributes)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:55 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:56 =#
        result = Attributes()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:57 =#
        for (k, v) = attributes
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:59 =#
            result[k] = deepcopy(v)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:60 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:61 =#
        return result
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:64 =#
    Base.filter(f, x::Attributes) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:64 =#
            Attributes(filter(f, attributes(x)))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:65 =#
    function Base.empty!(x::Attributes)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:65 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:66 =#
        attr = attributes(x)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:67 =#
        for (key, obs) = attr
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:68 =#
            Observables.clear(obs)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:69 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:70 =#
        empty!(attr)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:71 =#
        return x
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:74 =#
    Base.length(x::Attributes) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:74 =#
            length(attributes(x))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:76 =#
    function Base.merge!(target::Attributes, args::Attributes...)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:76 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:77 =#
        for elem = args
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:78 =#
            merge_attributes!(target, elem)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:79 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:80 =#
        return target
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:83 =#
    Base.merge(target::Attributes, args::Attributes...) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:83 =#
            merge!(deepcopy(target), args...)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:85 =#
    function Base.getproperty(x::Union{Attributes, AbstractPlot}, key::Symbol)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:85 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:86 =#
        return if hasfield(typeof(x), key)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:87 =#
                getfield(x, key)
            else
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:89 =#
                getindex(x, key)
            end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:93 =#
    function Base.setproperty!(x::Union{Attributes, AbstractPlot}, key::Symbol, value::NamedTuple)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:93 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:94 =#
        return x[key] = Attributes(value)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:96 =#
    function Base.setindex!(x::Attributes, value::NamedTuple, key::Symbol)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:96 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:97 =#
        return x[key] = Attributes(value)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:100 =#
    function Base.setproperty!(x::Union{Attributes, AbstractPlot}, key::Symbol, value)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:100 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:101 =#
        return if hasfield(typeof(x), key)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:102 =#
                setfield!(x, key, value)
            else
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:104 =#
                setindex!(x, value, key)
            end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:108 =#
    function Base.getindex(x::Attributes, key::Symbol)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:108 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:109 =#
        x = (attributes(x))[key]
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:112 =#
        return if to_value(x) isa Attributes
                to_value(x)
            else
                x
            end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:115 =#
    function Base.setindex!(x::Attributes, value, key::Symbol)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:115 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:116 =#
        return if haskey(x, key)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:117 =#
                (x.attributes[key])[] = value
            else
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:119 =#
                x.attributes[key] = node_any(value)
            end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:123 =#
    function Base.setindex!(x::Attributes, value::Observable, key::Symbol)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:123 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:124 =#
        return x.attributes[key] = node_any(value)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:127 =#
    _indent_attrs(s, n) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:127 =#
            join(split(s, '\n'), "\n" * " " ^ n)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:129 =#
    function Base.show(io::IO, ::MIME"text/plain", attr::Attributes)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:129 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:131 =#
        io = IOContext(io, :compact => true)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:133 =#
        d = Dict()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:134 =#
        print(io, "Attributes with $(length(attr)) $(if length(attr) != 1
    "entries"
else
    "entry"
end)")
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:136 =#
        if length(attr) < 1
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:137 =#
            return
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:140 =#
        print(io, ":")
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:142 =#
        ks = sort(collect(keys(attr)), by = lowercase  String)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:143 =#
        maxlength = maximum(length  String, ks)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:145 =#
        for k = ks
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:146 =#
            print(io, "\n  ")
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:147 =#
            print(io, k)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:148 =#
            print(io, " => ")
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:149 =#
            v = to_value(attr[k])
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:150 =#
            if v isa Attributes
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:151 =#
                print(io, _indent_attrs(repr(v), 2))
            else
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:153 =#
                print(io, to_value(attr[k]))
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:155 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:156 =#
        return
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:159 =#
    Base.show(io::IO, attr::Attributes) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:159 =#
            print(io, "Attributes()")
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:160 =#
    theme(x::AbstractPlot) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:160 =#
            x.attributes
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:161 =#
    isvisible(x) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:161 =#
            haskey(x, :visible) && to_value(x[:visible])
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:164 =#
    const AttributeOrPlot = Union{AbstractPlot, Attributes}
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:165 =#
    Base.pop!(x::AttributeOrPlot, args...) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:165 =#
            pop!(x.attributes, args...)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:166 =#
    Base.haskey(x::AttributeOrPlot, key) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:166 =#
            haskey(x.attributes, key)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:167 =#
    Base.delete!(x::AttributeOrPlot, key) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:167 =#
            delete!(x.attributes, key)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:168 =#
    function Base.get!(f::Function, x::AttributeOrPlot, key::Symbol)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:168 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:169 =#
        if haskey(x, key)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:170 =#
            return x[key]
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:172 =#
            val = f()
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:173 =#
            x[key] = val
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:174 =#
            return x[key]
        end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:177 =#
    Base.get!(x::AttributeOrPlot, key::Symbol, default) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:177 =#
            get!((()->begin
                        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:177 =#
                        default
                    end), x, key)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:178 =#
    Base.get(f::Function, x::AttributeOrPlot, key::Symbol) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:178 =#
            if haskey(x, key)
                x[key]
            else
                f()
            end
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:179 =#
    Base.get(x::AttributeOrPlot, key::Symbol, default) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:179 =#
            get((()->begin
                        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:179 =#
                        default
                    end), x, key)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:187 =#
    function Base.getindex(plot::Plot, idx::Integer)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:187 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:188 =#
        name = (argument_names(plot))[idx]
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:189 =#
        return plot.attributes[name]
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:192 =#
    function Base.getindex(plot::Plot, idx::UnitRange{<:Integer})
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:192 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:193 =#
        names = (argument_names(plot))[idx]
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:194 =#
        return getindex.((plot.attributes,), names)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:196 =#
    Base.setindex!(plot::Plot, value, idx::Integer) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:196 =#
            (plot.args[idx])[] = value
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:197 =#
    Base.length(plot::Plot) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:197 =#
            length(plot.converted)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:200 =#
    function Base.getindex(x::AttributeOrPlot, key::Symbol, key2::Symbol, rest::Symbol...)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:200 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:201 =#
        dict = to_value(x[key])
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:202 =#
        dict isa Attributes || error("Trying to access $(typeof(dict)) with multiple keys: $(key), $(key2), $(rest)")
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:203 =#
        return dict[key2, rest...]
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:206 =#
    function Base.setindex!(x::AttributeOrPlot, value, key::Symbol, key2::Symbol, rest::Symbol...)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:206 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:207 =#
        dict = to_value(x[key])
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:208 =#
        dict isa Attributes || error("Trying to access $(typeof(dict)) with multiple keys: $(key), $(key2), $(rest)")
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:209 =#
        return dict[key2, rest...] = value
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:213 =#
    function get_attribute(dict, key, default = nothing)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:213 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:214 =#
        if haskey(dict, key)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:215 =#
            value = to_value(dict[key])
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:216 =#
            value isa Automatic && return default
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:217 =#
            plot_k = plotkey(dict)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:218 =#
            if isnothing(plot_k)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:219 =#
                return convert_attribute(value, Key{key}())
            else
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:221 =#
                return convert_attribute(value, Key{key}(), Key{plot_k}())
            end
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:224 =#
            return default
        end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:228 =#
    function merge_attributes!(input::Attributes, theme::Attributes)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:228 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:229 =#
        for (key, value) = attributes(theme)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:230 =#
            if !(haskey(input, key))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:231 =#
                input[key] = value
            else
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:233 =#
                current_value = input[key]
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:234 =#
                tvalue = to_value(value)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:235 =#
                if tvalue isa Attributes && current_value isa Attributes
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:237 =#
                    merge_attributes!(current_value, tvalue)
                end
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:241 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:242 =#
        return input
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:245 =#
    function Base.propertynames(x::Attributes)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:245 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:246 =#
        return (keys(x.attributes)...,)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:249 =#
    function Base.propertynames(x::AbstractPlot)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:249 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/attributes.jl:250 =#
        return (keys(x.attributes.outputs)...,)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:1 =#
    not_implemented_for(x) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:1 =#
            error("Not implemented for $(x). You might want to put:  `using Makie` into your code!")
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:3 =#
    to_func_name(x::Symbol) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:3 =#
            Symbol(lowercase(string(x)))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:6 =#
    plotsym(x) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:6 =#
            :plot
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:8 =#
    func2string(func::Function) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:8 =#
            string(nameof(func))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:10 =#
    (plotfunc(::Plot{F}) where F) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:10 =#
            F
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:11 =#
    (plotfunc(::Type{<:AbstractPlot{Func}}) where Func) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:11 =#
            Func
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:12 =#
    (plotfunc(::T) where T <: AbstractPlot) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:12 =#
            plotfunc(T)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:13 =#
    function plotfunc(f::Function)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:13 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:14 =#
        if endswith(string(nameof(f)), "!")
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:15 =#
            name = Symbol((string(nameof(f)))[begin:end - 1])
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:16 =#
            return getproperty(parentmodule(f), name)
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:18 =#
            return f
        end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:22 =#
    symbol_to_plot(x::Symbol) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:22 =#
            symbol_to_plot(Val(x))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:23 =#
    function symbol_to_plot(::Val{Sym}) where Sym
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:23 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:24 =#
        return nothing
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:28 =#
    function plotfunc!(x)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:28 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:29 =#
        F = plotfunc(x)::Function
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:30 =#
        name = Symbol(nameof(F), :!)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:31 =#
        return getproperty(parentmodule(F), name)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:34 =#
    (func2type(x::T) where T) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:34 =#
            func2type(T)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:35 =#
    func2type(x::Type{<:AbstractPlot}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:35 =#
            x
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:36 =#
    func2type(f::Function) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:36 =#
            Plot{plotfunc(f)}
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:38 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:38 =# @generated (plotkey(::Type{<:AbstractPlot{Typ}}) where Typ) = begin
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:38 =#
                QuoteNode(Symbol(lowercase(func2string(Typ))))
            end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:39 =#
    (plotkey(::T) where T <: AbstractPlot) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:39 =#
            plotkey(T)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:40 =#
    plotkey(::Nothing) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:40 =#
            :scatter
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:41 =#
    plotkey(any) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:41 =#
            nothing
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:44 =#
    function create_axis_like end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:45 =#
    function create_axis_like! end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:46 =#
    function figurelike_return end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:47 =#
    function figurelike_return! end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:49 =#
    function _create_plot end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:50 =#
    function _create_plot! end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:53 =#
    plot(args...; kw...) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:53 =#
            _create_plot(plot, Dict{Symbol, Any}(kw), args...)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:54 =#
    plot!(args...; kw...) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:54 =#
            _create_plot!(plot, Dict{Symbol, Any}(kw), args...)
        end
end
mod = Makie
:(function argument_names(plot::P) where P <: AbstractPlot
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:59 =#
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:60 =#
      return argument_names(P, length(plot.converted[]))
  end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:56 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:56 =# Core.@doc "Each argument can be named for a certain plot type `P`. Falls back to `arg1`, `arg2`, etc.\n" function argument_names(plot::P) where P <: AbstractPlot
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:59 =#
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:60 =#
            return argument_names(P, length(plot.converted[]))
        end false
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:63 =#
    function argument_names(::Type{<:AbstractPlot}, num_args::Integer)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:63 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:65 =#
        return ntuple((i->begin
                        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:65 =#
                        Symbol("converted_$(i)")
                    end), num_args)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:69 =#
    theme(x::SceneLike, args...) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:69 =#
            theme(x.parent, args...)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:70 =#
    theme(x::AbstractScene) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:70 =#
            x.theme
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:71 =#
    theme(x::AbstractScene, key; default = nothing) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:71 =#
            deepcopy(get(x.theme, key, default))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:72 =#
    theme(x::AbstractPlot, key; default = nothing) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:72 =#
            deepcopy(get(x.attributes, key, default))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:74 =#
    Attributes(x::AbstractPlot) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:74 =#
            x.attributes
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:76 =#
    function default_theme end
end
mod = Makie
:(macro recipe(theme_func, Tsym::Symbol, args::Symbol...)
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:180 =#
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:181 =#
      funcname_sym = to_func_name(Tsym)
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:182 =#
      funcname! = esc(Symbol("$(funcname_sym)!"))
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:183 =#
      PlotType = esc(Tsym)
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:184 =#
      funcname = esc(funcname_sym)
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:185 =#
      expr = $(Expr(:quote, quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:186 =#
    ($(Expr(:$, :funcname)))() = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:186 =#
            not_implemented_for($(Expr(:$, :funcname)))
        end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:187 =#
    const ($(Expr(:$, :PlotType))){$(Expr(:$, :(esc(:ArgType))))} = Plot{$(Expr(:$, :funcname)), $(Expr(:$, :(esc(:ArgType))))}
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:188 =#
    ($(Expr(:$, :Makie))).plotsym(::Type{<:$(Expr(:$, :PlotType))}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:188 =#
            $(Expr(:$, :(QuoteNode(Tsym))))
        end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:189 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:189 =# Core.@__doc__ ($(Expr(:$, :funcname)))(args...; kw...) = begin
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:189 =#
                _create_plot($(Expr(:$, :funcname)), Dict{Symbol, Any}(kw), args...)
            end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:190 =#
    ($(Expr(:$, :funcname!)))(args...; kw...) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:190 =#
            _create_plot!($(Expr(:$, :funcname)), Dict{Symbol, Any}(kw), args...)
        end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:191 =#
    ($(Expr(:$, :Makie))).default_theme(scene, ::Type{<:$(Expr(:$, :PlotType))}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:191 =#
            ($(Expr(:$, :(esc(theme_func)))))(scene)
        end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:192 =#
    ($(Expr(:$, :Makie))).symbol_to_plot(::Val{$(Expr(:$, :(QuoteNode(Tsym))))}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:192 =#
            $(Expr(:$, :PlotType))
        end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:193 =#
    export $(Expr(:$, :PlotType)), $(Expr(:$, :funcname)), $(Expr(:$, :funcname!))
end))
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:195 =#
      if !(isempty(args))
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:196 =#
          push!(expr.args, $(Expr(:quote, :(($(Expr(:$, :(esc($(Expr(:quote, :(($(Expr(:$, :Makie))).argument_names))))))))(::Type{<:$(Expr(:$, :PlotType))}, len::Integer) = begin
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:198 =#
          $(Expr(:$, :args))
      end))))
      end
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:204 =#
      return expr
  end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:78 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:78 =# Core.@doc "# Plot Recipes in `Makie`\n\nThere's two types of recipes. *Type recipes* define a simple mapping from a\nuser defined type to an existing plot type. *Full recipes* can customize the\ntheme and define a custom plotting function.\n\n## Type recipes\n\nType recipe are really simple and just overload the argument conversion\npipeline. This can be done for all plot types or for a subset of plot types:\n\n    # All plot types\n    convert_arguments(P::Type{<:AbstractPlot}, x::MyType) = convert_arguments(P, rand(10, 10))\n    # Only for scatter plots\n    convert_arguments(P::Type{<:Scatter}, x::MyType) = convert_arguments(P, rand(10, 10))\n\nOptionally you may define the default plot type so that `plot(x::MyType)` will\nuse this:\n\n    plottype(::MyType) = Surface\n\n## Full recipes with the `@recipe` macro\n\nA full recipe for `MyPlot` comes in two parts. First is the plot type name,\narguments and theme definition which are defined using the `@recipe` macro.\nSecond is a custom `plot!` for `MyPlot`, implemented in terms of the atomic\nplotting functions.\n\nWe use an example to show how this works:\n\n    # arguments (x, y, z) && theme are optional\n    @recipe(MyPlot, x, y, z) do scene\n        Attributes(\n            plot_color = :red\n        )\n    end\n\nThis macro expands to several things. Firstly a type definition:\n\n    const MyPlot{ArgTypes} = Plot{myplot, ArgTypes}\n\nThe type parameter of `Plot` contains the function instead of e.g. a\nsymbol. This way the mapping from `MyPlot` to `myplot` is safer and simpler.\n(The downside is we always need a function `myplot` - TODO: is this a problem?)\n\nThe following signatures are defined to make `MyPlot` nice to use:\n\n    myplot(args...; kw_args...) = ...\n    myplot!(scene, args...; kw_args...) = ...\n    myplot(kw_args::Dict, args...) = ...\n    myplot!(scene, kw_args::Dict, args...) = ...\n    #etc (not 100% settled what signatures there will be)\n\nA specialization of `argument_names` is emitted if you have an argument list\n`(x,y,z)` provided to the recipe macro:\n\n    argument_names(::Type{<: MyPlot}) = (:x, :y, :z)\n\nThis is optional but it will allow the use of `plot_object[:x]` to\nfetch the first argument from the call\n`plot_object = myplot(rand(10), rand(10), rand(10))`, for example.\nAlternatively you can always fetch the `i`th argument using `plot_object[i]`,\nand if you leave out the `(x,y,z)`, the default version of `argument_names`\nwill provide `plot_object[:arg1]` etc.\n\nThe theme given in the body of the `@recipe` invocation is inserted into a\nspecialization of `default_theme` which inserts the theme into any scene that\nplots `MyPlot`:\n\n    function default_theme(scene, ::MyPlot)\n        Attributes(\n            plot_color = :red\n        )\n    end\n\nAs the second part of defining `MyPlot`, you should implement the actual\nplotting of the `MyPlot` object by specializing `plot!`:\n\n    function plot!(plot::MyPlot)\n        # normal plotting code, building on any previously defined recipes\n        # or atomic plotting operations, and adding to the combined `plot`:\n        lines!(plot, rand(10), color = plot[:plot_color])\n        plot!(plot, plot[:x], plot[:y])\n        plot\n    end\n\nIt's possible to add specializations here, depending on the argument *types*\nsupplied to `myplot`. For example, to specialize the behavior of `myplot(a)`\nwhen `a` is a 3D array of floating point numbers:\n\n    const MyVolume = MyPlot{Tuple{<:AbstractArray{<: AbstractFloat, 3}}}\n    argument_names(::Type{<: MyVolume}) = (:volume,) # again, optional\n    function plot!(plot::MyVolume)\n        # plot a volume with a colormap going from fully transparent to plot_color\n        volume!(plot, plot[:volume], colormap = :transparent => plot[:plot_color])\n        plot\n    end\n\nThe docstring given to the recipe will be transferred to the functions it generates.\n\n" macro recipe(theme_func, Tsym::Symbol, args::Symbol...)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:180 =#
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:181 =#
            funcname_sym = to_func_name(Tsym)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:182 =#
            funcname! = esc(Symbol("$(funcname_sym)!"))
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:183 =#
            PlotType = esc(Tsym)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:184 =#
            funcname = esc(funcname_sym)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:185 =#
            expr = $(Expr(:quote, quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:186 =#
    ($(Expr(:$, :funcname)))() = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:186 =#
            not_implemented_for($(Expr(:$, :funcname)))
        end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:187 =#
    const ($(Expr(:$, :PlotType))){$(Expr(:$, :(esc(:ArgType))))} = Plot{$(Expr(:$, :funcname)), $(Expr(:$, :(esc(:ArgType))))}
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:188 =#
    ($(Expr(:$, :Makie))).plotsym(::Type{<:$(Expr(:$, :PlotType))}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:188 =#
            $(Expr(:$, :(QuoteNode(Tsym))))
        end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:189 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:189 =# Core.@__doc__ ($(Expr(:$, :funcname)))(args...; kw...) = begin
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:189 =#
                _create_plot($(Expr(:$, :funcname)), Dict{Symbol, Any}(kw), args...)
            end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:190 =#
    ($(Expr(:$, :funcname!)))(args...; kw...) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:190 =#
            _create_plot!($(Expr(:$, :funcname)), Dict{Symbol, Any}(kw), args...)
        end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:191 =#
    ($(Expr(:$, :Makie))).default_theme(scene, ::Type{<:$(Expr(:$, :PlotType))}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:191 =#
            ($(Expr(:$, :(esc(theme_func)))))(scene)
        end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:192 =#
    ($(Expr(:$, :Makie))).symbol_to_plot(::Val{$(Expr(:$, :(QuoteNode(Tsym))))}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:192 =#
            $(Expr(:$, :PlotType))
        end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:193 =#
    export $(Expr(:$, :PlotType)), $(Expr(:$, :funcname)), $(Expr(:$, :funcname!))
end))
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:195 =#
            if !(isempty(args))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:196 =#
                push!(expr.args, $(Expr(:quote, :(($(Expr(:$, :(esc($(Expr(:quote, :(($(Expr(:$, :Makie))).argument_names))))))))(::Type{<:$(Expr(:$, :PlotType))}, len::Integer) = begin
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:198 =#
          $(Expr(:$, :args))
      end))))
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:204 =#
            return expr
        end false
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:207 =#
    function attribute_names end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:208 =#
    function documented_attributes end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:210 =#
    attribute_names(_) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:210 =#
            nothing
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:212 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:212 =# Base.@kwdef struct AttributeMetadata
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:213 =#
            docstring::Union{Nothing, String}
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:214 =#
            default_value::Any
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:215 =#
            default_expr::String
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:218 =#
    update_metadata(am1::AttributeMetadata, am2::AttributeMetadata) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:218 =#
            AttributeMetadata(if am2.docstring === nothing
                    am1.docstring
                else
                    am2.docstring
                end, am2.default_value, am2.default_expr)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:224 =#
    struct DocumentedAttributes
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:225 =#
        d::Dict{Symbol, AttributeMetadata}
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:228 =#
    struct Inherit
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:229 =#
        key::Symbol
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:230 =#
        fallback::Any
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:233 =#
    function lookup_default(meta::AttributeMetadata, theme)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:233 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:234 =#
        default = meta.default_value
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:235 =#
        if default isa Inherit
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:236 =#
            if haskey(theme, default.key)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:237 =#
                to_value(theme[default.key])
            else
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:239 =#
                if isnothing(default.fallback)
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:240 =#
                    error("Inherited key $(default.key) not found in theme with no fallback given.")
                else
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:242 =#
                    return default.fallback
                end
            end
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:246 =#
            return default
        end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:250 =#
    function get_default_expr(default)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:250 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:251 =#
        if default isa Expr && (default.head === :macrocall && default.args[1] === Symbol("@inherit"))
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:252 =#
            if length(default.args)  (3, 4)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:253 =#
                error("@inherit works with 1 or 2 arguments, expression was $(default)")
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:255 =#
            if !(default.args[3] isa Symbol)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:256 =#
                error("Argument 1 of @inherit must be a Symbol, got $(default.args[3])")
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:258 =#
            key = default.args[3]
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:259 =#
            _default = get(default.args, 4, :nothing)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:262 =#
            return $(Expr(:quote, :(($(Expr(:$, :(Makie.Inherit))))($(Expr(:$, :(QuoteNode(key)))), $(Expr(:$, :(esc(_default))))))))
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:264 =#
            return esc(default)
        end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:268 =#
    macro DocumentedAttributes(expr::Expr)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:268 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:269 =#
        if !(expr isa Expr && expr.head === :block)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:270 =#
            throw(ArgumentError("Argument is not a begin end block"))
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:273 =#
        metadata_exprs = []
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:274 =#
        closure_exprs = []
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:275 =#
        mixin_exprs = Expr[]
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:277 =#
        for arg = expr.args
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:278 =#
            arg isa LineNumberNode && continue
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:280 =#
            has_docs = arg isa Expr && (arg.head === :macrocall && arg.args[1] isa GlobalRef)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:282 =#
            if has_docs
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:283 =#
                docs = arg.args[3]
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:284 =#
                attr = arg.args[4]
            else
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:286 =#
                docs = nothing
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:287 =#
                attr = arg
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:290 =#
            is_attr_line = attr isa Expr && (attr.head === :(=) && length(attr.args) == 2)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:291 =#
            is_mixin_line = attr isa Expr && (attr.head === :... && length(attr.args) == 1)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:292 =#
            if !(is_attr_line || is_mixin_line)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:293 =#
                error("$(attr) is neither a valid attribute line like `x = default_value` nor a mixin line like `some_mixin...`")
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:296 =#
            if is_attr_line
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:297 =#
                sym = attr.args[1]
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:298 =#
                default = attr.args[2]
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:299 =#
                if !(sym isa Symbol)
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:300 =#
                    error("$(sym) should be a symbol")
                end
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:302 =#
                qsym = QuoteNode(sym)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:303 =#
                metadata = $(Expr(:quote, quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:304 =#
    am = AttributeMetadata(; docstring = $(Expr(:$, :docs)), default_value = $(Expr(:$, :(get_default_expr(default)))), default_expr = $(Expr(:$, :(default_expr_string(default)))))
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:309 =#
    if haskey(d, $(Expr(:$, :qsym)))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:310 =#
        d[$(Expr(:$, :qsym))] = update_metadata(d[$(Expr(:$, :qsym))], am)
    else
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:312 =#
        d[$(Expr(:$, :qsym))] = am
    end
end))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:315 =#
                push!(metadata_exprs, metadata)
            elseif #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:316 =# is_mixin_line
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:319 =#
                gsym = gensym("mixin")
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:320 =#
                mixin = only(attr.args)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:321 =#
                push!(mixin_exprs, $(Expr(:quote, quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:323 =#
    $(Expr(:$, :gsym)) = $(Expr(:$, :(esc(mixin))))
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:324 =#
    if !($(Expr(:$, :gsym)) isa DocumentedAttributes)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:325 =#
        error("Mixin was not a DocumentedAttributes but $($(Expr(:$, :gsym)))")
    end
end)))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:332 =#
                metadata_exp = $(Expr(:quote, quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:333 =#
    for (key, value) = ($(Expr(:$, :gsym))).d
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:334 =#
        if haskey(d, key)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:335 =#
            error("Mixin `$($(Expr(:$, :(QuoteNode(mixin)))))` had the key :$(key) which already existed. It's not allowed for mixins to overwrite keys to avoid accidental overwrites. Drop those keys from the mixin first.")
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:337 =#
        d[key] = value
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:338 =#
    end
end))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:340 =#
                push!(metadata_exprs, metadata_exp)
            else
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:342 =#
                error("Unreachable")
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:344 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:346 =#
        return $(Expr(:quote, quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:347 =#
    $(Expr(:$, :(mixin_exprs...)))
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:348 =#
    d = Dict{Symbol, AttributeMetadata}()
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:349 =#
    $(Expr(:$, :(metadata_exprs...)))
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:350 =#
    DocumentedAttributes(d)
end))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:354 =#
    function is_attribute(T::Type{<:Plot}, sym::Symbol)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:354 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:355 =#
        return sym in attribute_names(T)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:358 =#
    function attribute_default_expressions(T::Type{<:Plot})
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:358 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:359 =#
        return Dict((k => v.default_expr for (k, v) = (documented_attributes(T)).d))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:362 =#
    function _attribute_docs(T::Type{<:Plot})
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:362 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:363 =#
        return Dict((k => v.docstring for (k, v) = (documented_attributes(T)).d))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:367 =#
    function create_args_type_expr(PlotType, args::Nothing)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:367 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:368 =#
        return ([], $(Expr(:quote, :(()))))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:370 =#
    function create_args_type_expr(PlotType, args)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:370 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:371 =#
        if Meta.isexpr(args, :tuple)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:372 =#
            all_fields = args.args
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:374 =#
            throw(ArgumentError("Recipe arguments need to be a tuple of the form (name::OptionalType, name,). Found: $(args)"))
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:376 =#
        if any((x->begin
                        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:376 =#
                        !(Meta.isexpr(x, :(::)) || x isa Symbol)
                    end), all_fields)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:377 =#
            throw(ArgumentError("All fields need to be of type `name::Type` or `name`. Found: $(all_fields)"))
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:379 =#
        types = []
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:379 =#
        names = Symbol[]
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:380 =#
        if all((x->begin
                        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:380 =#
                        x isa Symbol
                    end), all_fields)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:381 =#
            return (all_fields, $(Expr(:quote, :(()))))
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:383 =#
        for field = all_fields
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:384 =#
            if field isa Symbol
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:385 =#
                error("All fields need to be typed if one is. Please either type  all fields or none. Found: $(all_fields)")
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:387 =#
            push!(names, field.args[1])
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:388 =#
            push!(types, field.args[2])
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:389 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:390 =#
        expr = $(Expr(:quote, quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:391 =#
    Makie.types_for_plot_arguments(::Type{<:$(Expr(:$, :PlotType))}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:391 =#
            Tuple{$(Expr(:$, :(esc.(types)...)))}
        end
end))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:393 =#
        return (names, expr)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:396 =#
    macro recipe(Tsym::Symbol, attrblock)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:396 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:397 =#
        return create_recipe_expr(Tsym, nothing, attrblock)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:400 =#
    macro recipe(Tsym::Symbol, args, attrblock)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:400 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:401 =#
        return create_recipe_expr(Tsym, args, attrblock)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:404 =#
    function types_for_plot_arguments end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:406 =#
    documented_attributes(_) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:406 =#
            nothing
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:408 =#
    function attribute_names(T::Type{<:Plot})
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:408 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:409 =#
        attr = documented_attributes(T)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:410 =#
        isnothing(attr) && return nothing
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:411 =#
        return keys(attr.d)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:415 =#
    function plot_attributes(scene, T)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:415 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:416 =#
        plot_attr = Makie.documented_attributes(T)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:417 =#
        if isnothing(plot_attr)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:418 =#
            return merge(default_theme(scene, T), default_theme(T))
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:420 =#
            return plot_attr.d
        end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:424 =#
    function lookup_default(::Type{T}, scene, attribute::Symbol) where T <: Plot
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:424 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:425 =#
        thm = theme(scene)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:426 =#
        metas = plot_attributes(scene, T)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:427 =#
        psym = plotsym(T)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:428 =#
        if haskey(thm, psym)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:429 =#
            overwrite = thm[psym]
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:430 =#
            if haskey(overwrite, attribute)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:431 =#
                return to_value(overwrite[attribute])
            end
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:434 =#
        if haskey(metas, attribute)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:435 =#
            return lookup_default(metas[attribute], thm)
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:437 =#
            return nothing
        end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:441 =#
    function default_theme(scene, T::Type{<:Plot})
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:441 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:442 =#
        metas = documented_attributes(T)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:443 =#
        attr = Attributes()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:444 =#
        isnothing(metas) && return attr
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:445 =#
        thm = theme(scene)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:446 =#
        _attr = attr.attributes
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:447 =#
        for (k, meta) = metas.d
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:448 =#
            _attr[k] = lookup_default(meta, thm)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:449 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:450 =#
        return attr
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:453 =#
    function extract_docstring(str)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:453 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:454 =#
        if VERSION >= v"1.11" && str isa Base.Docs.DocStr
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:455 =#
            return only(str.text::Core.SimpleVector)
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:457 =#
            return str
        end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:461 =#
    function create_recipe_expr(Tsym, args, attrblock)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:461 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:462 =#
        funcname_sym = to_func_name(Tsym)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:463 =#
        funcname!_sym = Symbol("$(funcname_sym)!")
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:464 =#
        funcname! = esc(funcname!_sym)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:465 =#
        PlotType = esc(Tsym)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:466 =#
        funcname = esc(funcname_sym)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:468 =#
        (syms, arg_type_func) = create_args_type_expr(PlotType, args)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:469 =#
        if !(attrblock isa Expr && attrblock.head === :block)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:470 =#
            throw(ArgumentError("Last argument is not a begin end block"))
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:475 =#
        docs_placeholder = gensym()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:476 =#
        attr_placeholder = gensym()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:478 =#
        q = $(Expr(:quote, quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:487 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:487 =# Core.@__doc__ $(Expr(:$, :(esc(docs_placeholder)))) = nothing
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:488 =#
    binding = Docs.Binding(#= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:488 =# @__MODULE__(), $(Expr(:$, :(QuoteNode(docs_placeholder)))))
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:489 =#
    user_docstring = if haskey(Docs.meta(#= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:489 =# @__MODULE__()), binding)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:490 =#
            _docstring = extract_docstring(#= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:490 =# @doc($(Expr(:$, :docs_placeholder))))
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:491 =#
            delete!(Docs.meta(#= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:491 =# @__MODULE__()), binding)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:492 =#
            _docstring
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:494 =#
            "No docstring defined.\n"
        end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:498 =#
    ($(Expr(:$, :funcname)))() = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:498 =#
            not_implemented_for($(Expr(:$, :funcname)))
        end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:499 =#
    const ($(Expr(:$, :PlotType))){$(Expr(:$, :(esc(:ArgType))))} = Plot{$(Expr(:$, :funcname)), $(Expr(:$, :(esc(:ArgType))))}
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:506 =#
    const $(Expr(:$, :attr_placeholder)) = $(Expr(:$, :(esc(Expr(:macrocall, var"@DocumentedAttributes", LineNumberNode(#= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:507 =# @__LINE__()), attrblock)))))
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:510 =#
    ($(Expr(:$, :Makie))).documented_attributes(::Type{<:$(Expr(:$, :PlotType))}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:510 =#
            $(Expr(:$, :attr_placeholder))
        end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:512 =#
    ($(Expr(:$, :Makie))).plotsym(::Type{<:$(Expr(:$, :PlotType))}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:512 =#
            $(Expr(:$, :(QuoteNode(Tsym))))
        end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:513 =#
    ($(Expr(:$, :Makie))).symbol_to_plot(::Val{$(Expr(:$, :(QuoteNode(Tsym))))}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:513 =#
            $(Expr(:$, :PlotType))
        end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:515 =#
    function ($(Expr(:$, :funcname)))(args...; kw...)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:515 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:516 =#
        kwdict = Dict{Symbol, Any}(kw)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:517 =#
        return _create_plot($(Expr(:$, :funcname)), kwdict, args...)
    end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:519 =#
    function ($(Expr(:$, :funcname!)))(args...; kw...)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:519 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:520 =#
        kwdict = Dict{Symbol, Any}(kw)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:521 =#
        return _create_plot!($(Expr(:$, :funcname)), kwdict, args...)
    end
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:524 =#
    $(Expr(:$, :arg_type_func))
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:526 =#
    docstring_modified = make_recipe_docstring($(Expr(:$, :PlotType)), $(Expr(:$, :(QuoteNode(Tsym)))), $(Expr(:$, :(QuoteNode(funcname_sym)))), user_docstring)
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:527 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:527 =# @doc docstring_modified $(Expr(:$, :funcname_sym))
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:528 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:528 =# @doc "`$($(Expr(:$, :(string(Tsym)))))` is the plot type associated with plotting function `$($(Expr(:$, :(string(funcname_sym)))))`. Check the docstring for `$($(Expr(:$, :(string(funcname_sym)))))` for further information." $(Expr(:$, :Tsym))
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:529 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:529 =# @doc "`$($(Expr(:$, :(string(funcname!_sym)))))` is the mutating variant of plotting function `$($(Expr(:$, :(string(funcname_sym)))))`. Check the docstring for `$($(Expr(:$, :(string(funcname_sym)))))` for further information." $(Expr(:$, :funcname!_sym))
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:530 =#
    export $(Expr(:$, :PlotType)), $(Expr(:$, :funcname)), $(Expr(:$, :funcname!))
end))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:533 =#
        if !(isempty(syms))
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:534 =#
            push!(q.args, $(Expr(:quote, :(($(Expr(:$, :(esc($(Expr(:quote, :(($(Expr(:$, :Makie))).argument_names))))))))(::Type{<:$(Expr(:$, :PlotType))}, len::Integer) = begin
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:536 =#
          ($(Expr(:$, :(QuoteNode.(syms)...))),)
      end))))
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:543 =#
        return q
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:547 =#
    function make_recipe_docstring(P::Type{<:Plot}, Tsym, funcname_sym, docstring)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:547 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:548 =#
        io = IOBuffer()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:550 =#
        attr_docstrings = _attribute_docs(P)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:552 =#
        print(io, docstring)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:554 =#
        println(io, "## Plot type")
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:555 =#
        println(io, "The plot type alias for the `$(funcname_sym)` function is `$(Tsym)`.")
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:557 =#
        println(io, "## Attributes")
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:558 =#
        println(io)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:560 =#
        names = sort(collect(attribute_names(P)))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:561 =#
        exprdict = attribute_default_expressions(P)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:562 =#
        for name = names
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:563 =#
            default = exprdict[name]
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:564 =#
            print(io, "**`", name, "`** = ", " `", default, "`  — ")
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:565 =#
            println(io, something(attr_docstrings[name], "*No docs available.*"))
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:566 =#
            println(io)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:567 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:569 =#
        return String(take!(io))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:573 =#
    isline(ex) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:573 =#
            ex isa Expr && ex.head === :line || ex isa LineNumberNode
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:574 =#
    rmlines(x) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:574 =#
            x
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:575 =#
    function rmlines(x::Expr)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:575 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:578 =#
        return if x.head === :macrocall && length(x.args) >= 2
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:579 =#
                Expr(x.head, x.args[1], nothing, filter((x->begin
                                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:579 =#
                                !(isline(x))
                            end), x.args[3:end])...)
            else
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:581 =#
                Expr(x.head, filter((x->begin
                                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:581 =#
                                !(isline(x))
                            end), x.args)...)
            end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:585 =#
    default_expr_string(x) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:585 =#
            string(rmlines(x))
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:586 =#
    default_expr_string(x::String) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:586 =#
            repr(x)
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:588 =#
    function extract_attribute_metadata(arg)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:588 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:589 =#
        has_docs = arg isa Expr && (arg.head === :macrocall && arg.args[1] isa GlobalRef)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:591 =#
        if has_docs
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:592 =#
            docs = arg.args[3]
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:593 =#
            attr = arg.args[4]
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:595 =#
            docs = nothing
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:596 =#
            attr = arg
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:599 =#
        if !(attr isa Expr && (attr.head === :(=) && length(attr.args) == 2))
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:600 =#
            error("$(attr) is not a valid attribute line like :x[::Type] = default_value")
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:602 =#
        left = attr.args[1]
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:603 =#
        default = attr.args[2]
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:604 =#
        if left isa Symbol
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:605 =#
            attr_symbol = left
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:606 =#
            type = Any
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:608 =#
            if !(left isa Expr && (left.head === :(::) && length(left.args) == 2))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:609 =#
                error("$(left) is not a Symbol or an expression such as x::Type")
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:611 =#
            attr_symbol = left.args[1]::Symbol
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:612 =#
            type = left.args[2]
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:615 =#
        return (docs = docs, symbol = attr_symbol, type = type, default = default)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:618 =#
    function expand_mixins(attrblock::Expr)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:618 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:619 =#
        return Expr(:block, mapreduce(expand_mixin, vcat, attrblock.args)...)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:622 =#
    expand_mixin(x) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:622 =#
            x
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:623 =#
    function expand_mixin(e::Expr)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:623 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:624 =#
        if e.head === :macrocall && e.args[1] === Symbol("@mixin")
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:625 =#
            if length(e.args) != 3 && (e.args[2] isa LineNumberNode && e.args[3] isa Symbol)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:626 =#
                error("Invalid mixin, needs to be of the format `@mixin some_mixin`, got $(e)")
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:628 =#
            mixin_ex = (getproperty(Makie, e.args[3]))()::Expr
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:629 =#
            if mixin_ex.head !== :block
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:630 =#
                error("Expected mixin to be a block expression (such as generated by `quote`)")
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:632 =#
            return mixin_ex.args
        else
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:634 =#
            e
        end
    end
end
mod = Makie
:(function Plot(args::Vararg{DataType, N}) where N
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:659 =#
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:660 =#
      return Plot{plot, <:Tuple{args...}}
  end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:638 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:638 =# Core.@doc "    Plot(args::Vararg{DataType,N})\n\nReturns the Plot type that represents the signature of `args`.\nExample:\n\n```julia\nPlot(Vector{Point2f}) == Plot{plot, Tuple{<:Vector{Point2f}}}\n```\nThis can be used to more conveniently create recipes for `plot(mytype)` without the recipe macro:\n\n```julia\nstruct MyType ... end\n\nfunction Makie.plot!(plot::Plot(MyType))\n    ...\nend\n\nplot(MyType(...))\n```\n" function Plot(args::Vararg{DataType, N}) where N
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:659 =#
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:660 =#
            return Plot{plot, <:Tuple{args...}}
        end false
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:663 =#
    function Plot(::Type{T}) where T
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:663 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:664 =#
        return Plot{plot, <:Tuple{T}}
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:667 =#
    function Plot(::Type{T1}, ::Type{T2}) where {T1, T2}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:667 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:668 =#
        return Plot{plot, <:Tuple{T1, T2}}
    end
end
mod = Makie
:(plottype(plot_args...) = begin
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:681 =#
          Plot{plot}
      end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:671 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:671 =# Core.@doc "    plottype(plot_args...)\n\nAny custom argument combination that has a preferred way to be plotted should overload this.\ne.g.:\n```julia\n    # make plot(rand(5, 5, 5)) plot as a volume\n    plottype(x::Array{<: AbstractFloat, 3}) = Volume\n```\n" plottype(plot_args...) = begin
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:681 =#
                Plot{plot}
            end false
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:685 =#
    deprecated_attributes(_) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:685 =#
            ()
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:687 =#
    struct InvalidAttributeError <: Exception
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:688 =#
        type::Type
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:689 =#
        object_name::String
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:690 =#
        attributes::Set{Symbol}
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:692 =#
    function InvalidAttributeError(::Type{PT}, attributes::Set{Symbol}) where PT <: Plot
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:692 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:693 =#
        return InvalidAttributeError(PT, "plot", attributes)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:696 =#
    function print_columns(io::IO, v::Vector{String}; gapsize = 2, rows_first = true, cols = (displaysize(io))[2])
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:696 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:698 =#
        lens = length.(v)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:699 =#
        function col_widths(ncols; rows_first)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:699 =#
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:700 =#
            max_widths = zeros(Int, ncols)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:701 =#
            for (i, len) = enumerate(lens)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:702 =#
                nrows = ceil(Int, length(v) / ncols)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:703 =#
                j = if rows_first
                        fld1(i, nrows)
                    else
                        mod1(i, ncols)
                    end
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:704 =#
                max_widths[j] = max(max_widths[j], len)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:705 =#
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:706 =#
            return max_widths
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:708 =#
        ncols = 1
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:709 =#
        while true
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:710 =#
            widths = col_widths(ncols; rows_first)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:711 =#
            aggregated_width = sum(widths) + (ncols - 1) * gapsize
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:712 =#
            if aggregated_width > cols
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:713 =#
                ncols = max(1, ncols - 1)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:714 =#
                break
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:716 =#
            ncols += 1
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:717 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:718 =#
        widths = col_widths(ncols; rows_first)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:720 =#
        nrows = ceil(Int, length(v) / ncols)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:722 =#
        for irow = 1:nrows
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:723 =#
            for icol = 1:ncols
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:724 =#
                idx = if rows_first
                        (icol - 1) * nrows + irow
                    else
                        (irow - 1) * ncols + icol
                    end
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:725 =#
                if idx <= length(v)
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:726 =#
                    print(io, v[idx])
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:727 =#
                    remaining = widths[icol] - lens[idx]
                else
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:729 =#
                    remaining = widths[icol]
                end
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:731 =#
                remaining += !(icol == ncols) * gapsize
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:732 =#
                print(io, ' ' ^ remaining)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:733 =#
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:734 =#
            println(io)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:735 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:737 =#
        return
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:740 =#
    function _levenshtein_matrix(s1, s2)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:740 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:742 =#
        (a, b) = (collect(s1), collect(s2))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:743 =#
        (m, n) = (length(a), length(b))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:744 =#
        d = Matrix{Int}(undef, m + 1, n + 1)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:745 =#
        d[1:m + 1, 1] = 0:m
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:746 =#
        d[1, 1:n + 1] = 0:n
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:747 =#
        for i = 1:m
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:748 =#
            for j = 1:n
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:749 =#
                d[i + 1, j + 1] = min(d[i, j + 1] + 1, d[i + 1, j] + 1, d[i, j] + (a[i] != b[j]))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:750 =#
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:751 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:752 =#
        return d
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:754 =#
    function _levenshtein(s1, s2)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:754 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:756 =#
        d = _levenshtein_matrix(s1, s2)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:757 =#
        return d[end]
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:759 =#
    function _fuzzyscore(needle, haystack)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:759 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:761 =#
        score = 0.0
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:762 =#
        (is, acro) = _bestmatch(needle, haystack)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:763 =#
        score += if acro
                    2
                else
                    1
                end * length(is)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:764 =#
        score -= 2 * (length(needle) - length(is))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:765 =#
        !acro && (score -= _avgdistance(is) / 10)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:766 =#
        return !(isempty(is)) && (score -= (sum(is) / length(is)) / 100)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:768 =#
    function _matchinds(needle, haystack; acronym::Bool = false)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:768 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:770 =#
        chars = collect(needle)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:771 =#
        is = Int[]
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:772 =#
        lastc = '\0'
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:773 =#
        for (i, char) = enumerate(haystack)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:774 =#
            while !(isempty(chars)) && isspace(first(chars))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:775 =#
                popfirst!(chars)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:776 =#
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:777 =#
            isempty(chars) && break
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:778 =#
            if lowercase(char) == lowercase(chars[1]) && (!acronym || !(isletter(lastc)))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:779 =#
                push!(is, i)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:780 =#
                popfirst!(chars)
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:782 =#
            lastc = char
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:783 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:784 =#
        return is
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:786 =#
    function _longer(x, y)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:786 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:788 =#
        return if length(x)  length(y)
                (x, true)
            else
                (y, false)
            end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:790 =#
    function _bestmatch(needle, haystack)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:790 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:792 =#
        return _longer(_matchinds(needle, haystack, acronym = true), _matchinds(needle, haystack))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:797 =#
    function _avgdistance(xs)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:797 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:799 =#
        return if isempty(xs)
                0
            else
                (((xs[end] - xs[1]) - length(xs)) + 1) / length(xs)
            end
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:801 =#
    function _levsort(search::String, candidates::Vector{String})
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:801 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:803 =#
        scores = map(candidates) do cand
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:804 =#
                lev = Float64(_levenshtein(search, cand))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:805 =#
                fuz = -(_fuzzyscore(search, cand))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:806 =#
                return (lev, -fuz)
            end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:808 =#
        candidates = candidates[sortperm(scores)]
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:809 =#
        valid = _levenshtein(search, candidates[1]) < 3
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:810 =#
        return (candidates[1], valid)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:812 =#
    function find_nearby_attributes(attributes, candidates)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:812 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:813 =#
        d = Vector{Tuple{String, Bool}}(undef, length(attributes))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:814 =#
        any_close = false
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:815 =#
        for (i, attr) = enumerate(attributes)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:816 =#
            (candidate, valid) = _levsort(String(attr), candidates)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:817 =#
            any_close = any_close || valid
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:818 =#
            d[i] = (candidate, valid)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:819 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:820 =#
        return (d, any_close)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:823 =#
    function textdiff(X::String, Y::String)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:823 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:824 =#
        d = _levenshtein_matrix(X, Y)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:825 =#
        (a, b) = (collect(X), collect(Y))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:826 =#
        (m, n) = (length(a), length(b))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:829 =#
        (i, j) = (m, n)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:830 =#
        results = Vector{Tuple{Char, Symbol}}()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:832 =#
        while i > 0 || j > 0
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:833 =#
            if i > 0 && (j > 0 && a[i] == b[j])
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:835 =#
                push!(results, (b[j], :normal))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:836 =#
                i -= 1
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:837 =#
                j -= 1
            elseif #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:838 =# i > 0 && (j > 0 && d[i + 1, j + 1] == d[i, j] + 1)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:840 =#
                push!(results, (b[j], :orange))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:841 =#
                i -= 1
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:842 =#
                j -= 1
            elseif #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:843 =# j > 0 && d[i + 1, j + 1] == d[i + 1, j] + 1
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:845 =#
                push!(results, (b[j], :red))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:846 =#
                j -= 1
            elseif #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:847 =# i > 0 && d[i + 1, j + 1] == d[i, j + 1] + 1
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:849 =#
                i -= 1
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:851 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:853 =#
        reverse!(results)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:854 =#
        io = IOBuffer()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:855 =#
        cio = IOContext(io, :color => true)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:857 =#
        for (char, clr) = results
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:858 =#
            if clr == :normal
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:859 =#
                print(io, char)
            else
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:861 =#
                printstyled(cio, char; color = :blue, bold = true)
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:863 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:865 =#
        return String(take!(io))
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:868 =#
    function Base.showerror(io::IO, err::InvalidAttributeError)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:868 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:869 =#
        n = length(err.attributes)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:870 =#
        print(io, "Invalid attribute$(if n > 1
    "s"
else
    ""
end) ")
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:871 =#
        for (j, att) = enumerate(err.attributes)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:872 =#
            j > 1 && print(io, if j == length(err.attributes)
                        " and "
                    else
                        ", "
                    end)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:873 =#
            printstyled(io, att; color = :red, bold = true)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:874 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:875 =#
        print(io, " for $(err.object_name) type ")
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:876 =#
        printstyled(io, err.type; color = :blue, bold = true)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:877 =#
        println(io, ".")
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:878 =#
        nameset = sort(string.(collect(attribute_names(err.type))))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:879 =#
        attrs = string.(collect(err.attributes))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:880 =#
        (possible_cands, any_close) = find_nearby_attributes(attrs, nameset)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:881 =#
        any_close && println(io)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:882 =#
        if any_close && length(possible_cands) == 1
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:883 =#
            print(io, "Did you mean ", textdiff(attrs[1], (possible_cands[1])[1]), "?")
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:884 =#
            println(io)
        elseif #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:885 =# any_close
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:886 =#
            print(io, "Did you mean:")
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:887 =#
            for (id, (passed, (suggestion, close))) = enumerate(zip(attrs, possible_cands))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:888 =#
                close || continue
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:889 =#
                any_next = any((x->begin
                                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:889 =#
                                x[2]
                            end), view(possible_cands, id + 1:length(possible_cands)))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:890 =#
                if id == length(err.attributes) || id < length(err.attributes) && !any_next
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:891 =#
                    print(io, " and")
                end
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:893 =#
                print(io, " ", textdiff(passed, suggestion))
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:894 =#
                if id < length(err.attributes) && any_next
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:895 =#
                    print(io, ",")
                end
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:897 =#
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:898 =#
            println(io, "?")
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:899 =#
            println(io)
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:901 =#
        println(io)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:902 =#
        println(io, "The available $(err.object_name) attributes for $(err.type) are:")
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:903 =#
        println(io)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:904 =#
        print_columns(io, nameset; cols = (displaysize(stderr))[2], rows_first = true)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:905 =#
        if err.type isa Plot
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:906 =#
            allowlist = attribute_name_allowlist()
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:907 =#
            println(io)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:908 =#
            println(io)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:909 =#
            println(io, "Generic attributes are:")
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:910 =#
            println(io)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:911 =#
            print_columns(io, sort([string(a) for a = allowlist]); cols = (displaysize(stderr))[2], rows_first = true)
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:913 =#
        return println(io)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:916 =#
    function attribute_name_allowlist()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:916 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:917 =#
        return (:xautolimits, :yautolimits, :zautolimits, :label, :rasterize, :model, :transformation, :dim_conversions, :cycle, :clip_planes)
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:923 =#
    function validate_attribute_keys(plot::P) where P <: Plot
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:923 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:924 =#
        nameset = attribute_names(P)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:925 =#
        nameset === nothing && return
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:926 =#
        allowlist = attribute_name_allowlist()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:927 =#
        deprecations = deprecated_attributes(P)::Tuple{Vararg{NamedTuple{(:attribute, :message, :error), Tuple{Symbol, String, Bool}}}}
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:928 =#
        kw = plot.kw
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:929 =#
        unknown = setdiff(keys(kw), nameset, allowlist, first.(deprecations))
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:930 =#
        if !(isempty(unknown))
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:931 =#
            throw(InvalidAttributeError(P, unknown))
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:933 =#
        for (deprecated, message, should_error) = deprecations
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:934 =#
            if haskey(kw, deprecated)
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:935 =#
                full_message = "Keyword `$(deprecated)` is deprecated for plot type $(P). $(message)"
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:936 =#
                if should_error
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:937 =#
                    throw(ArgumentError(full_message))
                else
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:939 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:939 =# @warn full_message
                end
            end
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:942 =#
        end
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/recipes.jl:943 =#
        return
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:1 =#
    default_theme(scene) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:1 =#
            generic_plot_attributes!(Attributes())
        end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:2 =#
    default_theme(::Type{<:Plot}) = begin
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:2 =#
            Attributes(visible = true, transparency = false, inspectable = true, space = :data, inspector_label = automatic, inspector_clear = automatic, inspector_hover = automatic)
        end
end
mod = Makie
:(function generic_plot_attributes!(attr)
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:25 =#
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:26 =#
      attr[:transformation] = :automatic
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:27 =#
      attr[:model] = automatic
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:28 =#
      attr[:visible] = true
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:29 =#
      attr[:transparency] = false
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:30 =#
      attr[:overdraw] = false
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:31 =#
      attr[:inspectable] = true
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:32 =#
      attr[:depth_shift] = 0.0f0
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:33 =#
      attr[:space] = :data
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:34 =#
      attr[:inspector_label] = automatic
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:35 =#
      attr[:inspector_clear] = automatic
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:36 =#
      attr[:inspector_hover] = automatic
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:37 =#
      attr[:clip_planes] = automatic
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:38 =#
      return attr
  end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:12 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:12 =# Core.@doc "### Generic attributes\n\n- `visible::Bool = true` sets whether the plot will be rendered or not.\n- `overdraw::Bool = false` sets whether the plot will draw over other plots. This specifically means ignoring depth checks in GL backends.\n- `transparency::Bool = false` adjusts how the plot deals with transparency. In GLMakie `transparency = true` results in using Order Independent Transparency.\n- `fxaa::Bool = true` adjusts whether the plot is rendered with fxaa (anti-aliasing).\n- `inspectable::Bool = true` sets whether this plot should be seen by `DataInspector`.\n- `depth_shift::Float32 = 0f0` adjusts the depth value of a plot after all other transformations, i.e. in clip space, where `0 <= depth <= 1`. This only applies to GLMakie and WGLMakie and can be used to adjust render order (like a tunable overdraw).\n- `model::Makie.Mat4f` sets a model matrix for the plot. This replaces adjustments made with `translate!`, `rotate!` and `scale!`.\n- `space::Symbol = :data` sets the transformation space for box encompassing the volume plot. See `Makie.spaces()` for possible inputs.\n- `clip_planes::Vector{Plane3f} = Plane3f[]`: allows you to specify up to 8 planes behind which plot objects get clipped (i.e. become invisible). By default clip planes are inherited from the parent plot or scene.\n" function generic_plot_attributes!(attr)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:25 =#
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:26 =#
            attr[:transformation] = :automatic
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:27 =#
            attr[:model] = automatic
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:28 =#
            attr[:visible] = true
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:29 =#
            attr[:transparency] = false
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:30 =#
            attr[:overdraw] = false
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:31 =#
            attr[:inspectable] = true
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:32 =#
            attr[:depth_shift] = 0.0f0
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:33 =#
            attr[:space] = :data
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:34 =#
            attr[:inspector_label] = automatic
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:35 =#
            attr[:inspector_clear] = automatic
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:36 =#
            attr[:inspector_hover] = automatic
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:37 =#
            attr[:clip_planes] = automatic
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:38 =#
            return attr
        end false
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:41 =#
    function generic_plot_attributes(attr)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:41 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:42 =#
        return (transformation = :automatic, model = automatic, visible = attr[:visible], transparency = attr[:transparency], overdraw = attr[:overdraw], ssao = attr[:ssao], inspectable = attr[:inspectable], depth_shift = attr[:depth_shift], space = attr[:space], inspector_label = attr[:inspector_label], inspector_clear = attr[:inspector_clear], inspector_hover = attr[:inspector_hover], clip_planes = attr[:clip_planes])
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:59 =#
    function mixin_generic_plot_attributes()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:59 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:60 =#
        return #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:60 =# @DocumentedAttributes(begin
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:61 =#
                    transformation = :automatic
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:62 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:62 =# Core.@doc "Sets a model matrix for the plot. This overrides adjustments made with `translate!`, `rotate!` and `scale!`." model = automatic
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:64 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:64 =# Core.@doc "Controls whether the plot will be rendered or not." visible = true
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:66 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:66 =# Core.@doc "Adjusts how the plot deals with transparency. In GLMakie `transparency = true` results in using Order Independent Transparency." transparency = false
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:68 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:68 =# Core.@doc "Controls if the plot will draw over other plots. This specifically means ignoring depth checks in GL backends" overdraw = false
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:70 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:70 =# Core.@doc "Adjusts whether the plot is rendered with ssao (screen space ambient occlusion). Note that this only makes sense in 3D plots and is only applicable with `fxaa = true`." ssao = false
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:72 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:72 =# Core.@doc "Sets whether this plot should be seen by `DataInspector`. The default depends on the theme of the parent scene." inspectable = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:73 =# @inherit(inspectable)
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:74 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:74 =# Core.@doc "Adjusts the depth value of a plot after all other transformations, i.e. in clip space, where `-1 <= depth <= 1`. This only applies to GLMakie and WGLMakie and can be used to adjust render order (like a tunable overdraw)." depth_shift = 0.0f0
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:76 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:76 =# Core.@doc "Sets the transformation space for box encompassing the plot. See `Makie.spaces()` for possible inputs." space = :data
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:78 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:78 =# Core.@doc "Adjusts whether the plot is rendered with fxaa (anti-aliasing, GLMakie only)." fxaa = true
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:80 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:80 =# Core.@doc "Sets a callback function `(plot, index, position) -> string` which replaces the default label generated by DataInspector." inspector_label = automatic
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:82 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:82 =# Core.@doc "Sets a callback function `(inspector, plot) -> ...` for cleaning up custom indicators in DataInspector." inspector_clear = automatic
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:84 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:84 =# Core.@doc "Sets a callback function `(inspector, plot, index) -> ...` which replaces the default `show_data` methods." inspector_hover = automatic
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:86 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:86 =# Core.@doc "Clip planes offer a way to do clipping in 3D space. You can set a Vector of up to 8 `Plane3f` planes here,\nbehind which plots will be clipped (i.e. become invisible). By default clip planes are inherited from the\nparent plot or scene. You can remove parent `clip_planes` by passing `Plane3f[]`.\n" clip_planes = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:91 =# @inherit(clip_planes, automatic)
                end)
    end
end
mod = Makie
:(function colormap_attributes!(attr, colormap)
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:108 =#
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:109 =#
      attr[:colormap] = colormap
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:110 =#
      attr[:colorscale] = identity
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:111 =#
      attr[:colorrange] = automatic
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:112 =#
      attr[:lowclip] = automatic
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:113 =#
      attr[:highclip] = automatic
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:114 =#
      attr[:nan_color] = :transparent
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:115 =#
      attr[:alpha] = 1.0
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:116 =#
      return attr
  end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:95 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:95 =# Core.@doc "### Color attributes\n\n- `colormap::Union{Symbol, Vector{<:Colorant}} = :viridis` sets the colormap that is sampled for numeric `color`s.\n  `PlotUtils.cgrad(...)`, `Makie.Reverse(any_colormap)` can be used as well, or any symbol from ColorBrewer or PlotUtils.\n  To see all available color gradients, you can call `Makie.available_gradients()`.\n- `colorscale::Function = identity` color transform function. Can be any function, but only works well together with `Colorbar` for `identity`, `log`, `log2`, `log10`, `sqrt`, `logit`, `Makie.pseudolog10`, `Makie.Symlog10`, `Makie.AsinhScale`, `Makie.SinhScale`, `Makie.LogScale`, `Makie.LuptonAsinhScale`, and `Makie.PowerScale`.\n- `colorrange::Tuple{<:Real, <:Real}` sets the values representing the start and end points of `colormap`.\n- `nan_color::Union{Symbol, <:Colorant} = RGBAf(0,0,0,0)` sets a replacement color for `color = NaN`.\n- `lowclip::Union{Nothing, Symbol, <:Colorant} = nothing` sets a color for any value below the colorrange.\n- `highclip::Union{Nothing, Symbol, <:Colorant} = nothing` sets a color for any value above the colorrange.\n- `alpha = 1.0` sets the alpha value of the colormap or color attribute. Multiple alphas like in `plot(alpha=0.2, color=(:red, 0.5)`, will get multiplied.\n" function colormap_attributes!(attr, colormap)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:108 =#
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:109 =#
            attr[:colormap] = colormap
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:110 =#
            attr[:colorscale] = identity
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:111 =#
            attr[:colorrange] = automatic
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:112 =#
            attr[:lowclip] = automatic
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:113 =#
            attr[:highclip] = automatic
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:114 =#
            attr[:nan_color] = :transparent
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:115 =#
            attr[:alpha] = 1.0
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:116 =#
            return attr
        end false
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:119 =#
    function colormap_attributes(attr)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:119 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:120 =#
        return (colormap = attr[:colormap], colorscale = attr[:colorscale], colorrange = attr[:colorrange], lowclip = attr[:lowclip], highclip = attr[:highclip], nan_color = attr[:nan_color], alpha = attr[:alpha])
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:131 =#
    function mixin_colormap_attributes()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:131 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:132 =#
        return #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:132 =# @DocumentedAttributes(begin
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:133 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:133 =# Core.@doc "Sets the colormap that is sampled for numeric `color`s.\n`PlotUtils.cgrad(...)`, `Makie.Reverse(any_colormap)` can be used as well, or any symbol from ColorBrewer or PlotUtils.\nTo see all available color gradients, you can call `Makie.available_gradients()`.\n" colormap = #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:138 =# @inherit(colormap, :viridis)
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:139 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:139 =# Core.@doc "The color transform function. Can be any function, but only works well together with `Colorbar` for `identity`, `log`, `log2`, `log10`, `sqrt`, `logit`, `Makie.pseudolog10`, `Makie.Symlog10`, `Makie.AsinhScale`, `Makie.SinhScale`, `Makie.LogScale`, `Makie.LuptonAsinhScale`, and `Makie.PowerScale`.\n" colorscale = identity
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:143 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:143 =# Core.@doc "The values representing the start and end points of `colormap`." colorrange = automatic
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:145 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:145 =# Core.@doc "The color for any value below the colorrange." lowclip = automatic
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:147 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:147 =# Core.@doc "The color for any value above the colorrange." highclip = automatic
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:149 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:149 =# Core.@doc "The color for NaN values." nan_color = :transparent
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:151 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:151 =# Core.@doc "The alpha value of the colormap or color attribute. Multiple alphas like in `plot(alpha=0.2, color=(:red, 0.5)`, will get multiplied." alpha = 1.0
                end)
    end
end
mod = Makie
:(function shading_attributes!(attr)
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:166 =#
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:167 =#
      attr[:shading] = true
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:168 =#
      attr[:diffuse] = 1.0
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:169 =#
      attr[:specular] = 0.2
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:170 =#
      attr[:shininess] = 32.0f0
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:171 =#
      attr[:backlight] = 0.0f0
      #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:172 =#
      return attr[:ssao] = false
  end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:156 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:156 =# Core.@doc "### 3D shading attributes\n\n- `shading = true` controls if the plot object is shaded by the parent scenes lights or not. The lighting algorithm used is controlled by the scenes `shading` attribute.\n- `diffuse::Vec3f = Vec3f(1.0)` sets how strongly the red, green and blue channel react to diffuse (scattered) light.\n- `specular::Vec3f = Vec3f(0.4)` sets how strongly the object reflects light in the red, green and blue channels.\n- `shininess::Real = 32.0` sets how sharp the reflection is.\n- `backlight::Float32 = 0f0` sets a weight for secondary light calculation with inverted normals.\n- `ssao::Bool = false` adjusts whether the plot is rendered with ssao (screen space ambient occlusion). Note that this only makes sense in 3D plots and is only applicable with `fxaa = true`.\n" function shading_attributes!(attr)
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:166 =#
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:167 =#
            attr[:shading] = true
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:168 =#
            attr[:diffuse] = 1.0
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:169 =#
            attr[:specular] = 0.2
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:170 =#
            attr[:shininess] = 32.0f0
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:171 =#
            attr[:backlight] = 0.0f0
            #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:172 =#
            return attr[:ssao] = false
        end false
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:175 =#
    function shading_attributes(attr)
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:175 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:176 =#
        return (shading = attr[:shading], diffuse = attr[:diffuse], specular = attr[:specular], shininess = attr[:shininess], backlight = attr[:backlight], ssao = attr[:ssao])
    end
end
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:186 =#
    function mixin_shading_attributes()
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:186 =#
        #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:187 =#
        return #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:187 =# @DocumentedAttributes(begin
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:188 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:188 =# Core.@doc "Controls if the plot object is shaded by the parent scenes lights or not. The lighting algorithm used is controlled by the scenes `shading` attribute." shading = true
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:190 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:190 =# Core.@doc "Sets how strongly the red, green and blue channel react to diffuse (scattered) light." diffuse = 1.0
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:192 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:192 =# Core.@doc "Sets how strongly the object reflects light in the red, green and blue channels." specular = 0.2
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:194 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:194 =# Core.@doc "Sets how sharp the reflection is." shininess = 32.0f0
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:196 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:196 =# Core.@doc "Sets a weight for secondary light calculation with inverted normals." backlight = 0.0f0
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:198 =#
                    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:198 =# Core.@doc "RPRMakie only attribute to set complex RadeonProRender materials.\n        *Warning*, how to set an RPR material may change and other backends will ignore this attribute" material = nothing
                end)
    end
end
mod = Makie
:(calculated_attributes!(trait, plot) = begin
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:209 =#
          nothing
      end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:204 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:204 =# Core.@doc "    calculated_attributes!(trait::Type{<: AbstractPlot}, plot)\n\ntrait version of `calculated_attributes`\n" calculated_attributes!(trait, plot) = begin
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:209 =#
                nothing
            end false
end
mod = Makie
:((calculated_attributes!(plot::T) where T) = begin
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:216 =#
          calculated_attributes!(T, plot)
      end)
mod = Makie
quote
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:211 =#
    #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:211 =# Core.@doc "    calculated_attributes!(plot::AbstractPlot)\n\nFill in values that can only be calculated when we have all other attributes filled\n" (calculated_attributes!(plot::T) where T) = begin
                #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:216 =#
                calculated_attributes!(T, plot)
            end false
end
mod = Makie
:(#= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:224 =# @recipe Image (x::EndPoints, y::EndPoints, image::AbstractMatrix{<:Union{FloatType, Colorant}}) begin
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:229 =#
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:229 =# Core.@doc "Sets whether colors should be interpolated between pixels." interpolate = true
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:231 =#
          mixin_generic_plot_attributes()...
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:232 =#
          mixin_colormap_attributes()...
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:233 =#
          fxaa = false
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:234 =#
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:234 =# Core.@doc "Sets a transform for uv coordinates, which controls how the image is mapped to its rectangular area.\nThe attribute can be `I`, `scale::VecTypes{2}`, `(translation::VecTypes{2}, scale::VecTypes{2})`,\nany of `:rotr90`, `:rotl90`, `:rot180`, `:swap_xy`/`:transpose`, `:flip_x`, `:flip_y`, `:flip_xy`, or most\ngenerally a `Makie.Mat{2, 3, Float32}` or `Makie.Mat3f` as returned by `Makie.uv_transform()`.\nThey can also be changed by passing a tuple `(op3, op2, op1)`.\n" uv_transform = automatic
          #= /home/tim/.julia/environments/v1.12/dev/Makie/Makie/src/basic_plots.jl:242 =#
          colormap = [:black, :white]
      end)
ERROR: UndefVarError: `#166###mixin#280` not defined in `Makie`
Suggestion: check for spelling errors or missing imports.
Stacktrace:
  [1] #invokelatest_gr#232
    @ ./reflection.jl:1280 [inlined]
  [2] invokelatest_gr
    @ ./reflection.jl:1274 [inlined]
  [3] lookup_stmt(stmts::Vector{Any}, arg::Any)
    @ JuliaInterpreter ~/.julia/packages/JuliaInterpreter/378J1/src/optimize.jl:21
  [4] JuliaInterpreter.FrameCode(scope::Module, src::Core.CodeInfo; generator::Bool, optimize::Bool)
    @ JuliaInterpreter ~/.julia/packages/JuliaInterpreter/378J1/src/types.jl:183
  [5] FrameCode
    @ ~/.julia/packages/JuliaInterpreter/378J1/src/types.jl:174 [inlined]
  [6] #Frame#3
    @ ~/.julia/packages/JuliaInterpreter/378J1/src/types.jl:330 [inlined]
  [7] Frame
    @ ~/.julia/packages/JuliaInterpreter/378J1/src/types.jl:329 [inlined]
  [8] methods_by_execution!(interp::JuliaInterpreter.NonRecursiveInterpreter, methodinfo::Revise.CodeTrackingMethodInfo, mod::Module, ex::Expr; mode::Symbol, disablebp::Bool, always_rethrow::Bool, kwargs::@Kwargs{})
    @ Revise ~/.julia/dev/Revise/src/lowered.jl:252
  [9] methods_by_execution!(methodinfo::Revise.CodeTrackingMethodInfo, mod::Module, ex::Expr; kwargs::@Kwargs{mode::Symbol})
    @ Revise ~/.julia/dev/Revise/src/lowered.jl:302
 [10] eval_with_signatures(mod::Module, ex::Expr; mode::Symbol, kwargs::@Kwargs{})
    @ Revise ~/.julia/dev/Revise/src/packagedef.jl:542
 [11] instantiate_sigs!(modexsigs::OrderedCollections.OrderedDict{…}; mode::Symbol, kwargs::@Kwargs{})
    @ Revise ~/.julia/dev/Revise/src/packagedef.jl:550
 [12] instantiate_sigs!(modexsigs::OrderedCollections.OrderedDict{Module, OrderedCollections.OrderedDict{…}})
    @ Revise ~/.julia/dev/Revise/src/packagedef.jl:546
 [13] maybe_extract_sigs_for_meths(meths::Set{Method})
    @ Revise ~/.julia/dev/Revise/src/pkgs.jl:144
 [14] _methods_by_execution!(interp::JuliaInterpreter.NonRecursiveInterpreter, methodinfo::Revise.CodeTrackingMethodInfo, frame::JuliaInterpreter.Frame, isrequired::Vector{…}; mode::Symbol, skip_include::Bool)
    @ Revise ~/.julia/dev/Revise/src/lowered.jl:469
 [15] methods_by_execution!(interp::JuliaInterpreter.NonRecursiveInterpreter, methodinfo::Revise.CodeTrackingMethodInfo, mod::Module, ex::Expr; mode::Symbol, disablebp::Bool, always_rethrow::Bool, kwargs::@Kwargs{})
    @ Revise ~/.julia/dev/Revise/src/lowered.jl:283
 [16] methods_by_execution!(methodinfo::Revise.CodeTrackingMethodInfo, mod::Module, ex::Expr; kwargs::@Kwargs{mode::Symbol})
    @ Revise ~/.julia/dev/Revise/src/lowered.jl:302
 [17] eval_with_signatures(mod::Module, ex::Expr; mode::Symbol, kwargs::@Kwargs{})
    @ Revise ~/.julia/dev/Revise/src/packagedef.jl:542
 [18] instantiate_sigs!(modexsigs::OrderedCollections.OrderedDict{…}; mode::Symbol, kwargs::@Kwargs{})
    @ Revise ~/.julia/dev/Revise/src/packagedef.jl:550
 [19] instantiate_sigs!(modexsigs::OrderedCollections.OrderedDict{Module, OrderedCollections.OrderedDict{…}})
    @ Revise ~/.julia/dev/Revise/src/packagedef.jl:546
 [20] maybe_extract_sigs_for_meths(meths::Set{Method})
    @ Revise ~/.julia/dev/Revise/src/pkgs.jl:144
 [21] _methods_by_execution!(interp::JuliaInterpreter.NonRecursiveInterpreter, methodinfo::Revise.CodeTrackingMethodInfo, frame::JuliaInterpreter.Frame, isrequired::Vector{…}; mode::Symbol, skip_include::Bool)
    @ Revise ~/.julia/dev/Revise/src/lowered.jl:469
 [22] methods_by_execution!(interp::JuliaInterpreter.NonRecursiveInterpreter, methodinfo::Revise.CodeTrackingMethodInfo, mod::Module, ex::Expr; mode::Symbol, disablebp::Bool, always_rethrow::Bool, kwargs::@Kwargs{})
    @ Revise ~/.julia/dev/Revise/src/lowered.jl:283
 [23] methods_by_execution!(methodinfo::Revise.CodeTrackingMethodInfo, mod::Module, ex::Expr; kwargs::@Kwargs{mode::Symbol})
    @ Revise ~/.julia/dev/Revise/src/lowered.jl:302
 [24] eval_with_signatures(mod::Module, ex::Expr; mode::Symbol, kwargs::@Kwargs{})
    @ Revise ~/.julia/dev/Revise/src/packagedef.jl:542
 [25] instantiate_sigs!(modexsigs::OrderedCollections.OrderedDict{…}; mode::Symbol, kwargs::@Kwargs{})
    @ Revise ~/.julia/dev/Revise/src/packagedef.jl:550
 [26] instantiate_sigs!
    @ ~/.julia/dev/Revise/src/packagedef.jl:546 [inlined]
 [27] maybe_extract_sigs!
    @ ~/.julia/dev/Revise/src/pkgs.jl:125 [inlined]
 [28] handle_deletions(pkgdata::Revise.PkgData, file::String)
    @ Revise ~/.julia/dev/Revise/src/packagedef.jl:711
 [29] (::Revise.var"#111#112"{Bool, Dict{Core.MethodInstance, UInt64}})()
    @ Revise ~/.julia/dev/Revise/src/packagedef.jl:836
 [30] lock(f::Revise.var"#111#112"{Bool, Dict{Core.MethodInstance, UInt64}}, l::ReentrantLock)
    @ Base ./lock.jl:335
 [31] #revise#102
    @ ~/.julia/dev/Revise/src/packagedef.jl:823 [inlined]
 [32] revise()
    @ Revise ~/.julia/dev/Revise/src/packagedef.jl:813
 [33] top-level scope
    @ REPL:1
Some type information was truncated. Use `show(err)` to see complete types.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment