// Copyright 2023 The Dawn & Tint Authors
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// 1. Redistributions of source code must retain the above copyright notice, this
//    list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright notice,
//    this list of conditions and the following disclaimer in the documentation
//    and/or other materials provided with the distribution.
//
// 3. Neither the name of the copyright holder nor the names of its
//    contributors may be used to endorse or promote products derived from
//    this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
//   src/tint/lang/spirv/intrinsic/data.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
//                       Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////

// clang-format off

#include <limits>
#include <string>

#include "src/tint/lang/core/intrinsic/type_matchers.h"
#include "src/tint/lang/spirv/intrinsic/dialect.h"
#include "src/tint/lang/spirv/intrinsic/type_matchers.h"
#include "src/tint/utils/text/string_stream.h"

namespace tint::spirv::intrinsic {

using namespace tint::core::intrinsic;  // NOLINT(build/namespaces)

namespace {

using ConstEvalFunctionIndex = tint::core::intrinsic::ConstEvalFunctionIndex;
using IntrinsicInfo = tint::core::intrinsic::IntrinsicInfo;
using MatcherIndicesIndex = tint::core::intrinsic::MatcherIndicesIndex;
using MatchState = tint::core::intrinsic::MatchState;
using Number = tint::core::intrinsic::Number;
using NumberMatcher = tint::core::intrinsic::NumberMatcher;
using NumberMatcherIndex = tint::core::intrinsic::NumberMatcherIndex;
using OverloadFlag = tint::core::intrinsic::OverloadFlag;
using OverloadFlags = tint::core::intrinsic::OverloadFlags;
using OverloadIndex = tint::core::intrinsic::OverloadIndex;
using OverloadInfo = tint::core::intrinsic::OverloadInfo;
using ParameterIndex = tint::core::intrinsic::ParameterIndex;
using ParameterInfo = tint::core::intrinsic::ParameterInfo;
using StringStream = tint::StringStream;
using TemplateIndex = tint::core::intrinsic::TemplateIndex;
using Type = tint::core::type::Type;
using TypeMatcher = tint::core::intrinsic::TypeMatcher;
using TypeMatcherIndex = tint::core::intrinsic::TypeMatcherIndex;

template<size_t N>
using TemplateNumberMatcher = tint::core::intrinsic::TemplateNumberMatcher<N>;

template<size_t N>
using TemplateTypeMatcher = tint::core::intrinsic::TemplateTypeMatcher<N>;

/// TypeMatcher for 'type bool'
constexpr TypeMatcher kBoolMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchBool(state, ty)) {
      return nullptr;
    }
    return BuildBool(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("bool");
  }
};


/// TypeMatcher for 'type f32'
constexpr TypeMatcher kF32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchF32(state, ty)) {
      return nullptr;
    }
    return BuildF32(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("f32");
  }
};


/// TypeMatcher for 'type f16'
constexpr TypeMatcher kF16Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchF16(state, ty)) {
      return nullptr;
    }
    return BuildF16(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("f16");
  }
};


/// TypeMatcher for 'type i32'
constexpr TypeMatcher kI32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchI32(state, ty)) {
      return nullptr;
    }
    return BuildI32(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("i32");
  }
};


/// TypeMatcher for 'type u32'
constexpr TypeMatcher kU32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchU32(state, ty)) {
      return nullptr;
    }
    return BuildU32(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("u32");
  }
};


/// TypeMatcher for 'type u64'
constexpr TypeMatcher kU64Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchU64(state, ty)) {
      return nullptr;
    }
    return BuildU64(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("u64");
  }
};


/// TypeMatcher for 'type i8'
constexpr TypeMatcher kI8Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchI8(state, ty)) {
      return nullptr;
    }
    return BuildI8(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("i8");
  }
};


/// TypeMatcher for 'type u8'
constexpr TypeMatcher kU8Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchU8(state, ty)) {
      return nullptr;
    }
    return BuildU8(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("u8");
  }
};


/// TypeMatcher for 'type vec2'
constexpr TypeMatcher kVec2Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchVec2(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildVec2(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("vec2", "<", T, ">");
  }
};


/// TypeMatcher for 'type vec3'
constexpr TypeMatcher kVec3Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchVec3(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildVec3(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("vec3", "<", T, ">");
  }
};


/// TypeMatcher for 'type vec4'
constexpr TypeMatcher kVec4Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchVec4(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildVec4(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("vec4", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat2x2'
constexpr TypeMatcher kMat2X2Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat2X2(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat2X2(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat2x2", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat2x3'
constexpr TypeMatcher kMat2X3Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat2X3(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat2X3(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat2x3", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat2x4'
constexpr TypeMatcher kMat2X4Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat2X4(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat2X4(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat2x4", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat3x2'
constexpr TypeMatcher kMat3X2Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat3X2(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat3X2(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat3x2", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat3x3'
constexpr TypeMatcher kMat3X3Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat3X3(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat3X3(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat3x3", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat3x4'
constexpr TypeMatcher kMat3X4Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat3X4(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat3X4(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat3x4", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat4x2'
constexpr TypeMatcher kMat4X2Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat4X2(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat4X2(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat4x2", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat4x3'
constexpr TypeMatcher kMat4X3Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat4X3(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat4X3(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat4x3", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat4x4'
constexpr TypeMatcher kMat4X4Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat4X4(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat4X4(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat4x4", "<", T, ">");
  }
};


/// TypeMatcher for 'type vec'
constexpr TypeMatcher kVecMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number N = Number::invalid;
  const Type* T = nullptr;
    if (!MatchVec(state, ty, N, T)) {
      return nullptr;
    }
    N = state.Num(N);
    if (!N.IsValid()) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildVec(state, ty, N, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText N;
  state->PrintNum(N);StyledText T;
  state->PrintType(T);
    out << style::Type("vec", N, "<", T, ">");
  }
};


/// TypeMatcher for 'type mat'
constexpr TypeMatcher kMatMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number N = Number::invalid;
  Number M = Number::invalid;
  const Type* T = nullptr;
    if (!MatchMat(state, ty, N, M, T)) {
      return nullptr;
    }
    N = state.Num(N);
    if (!N.IsValid()) {
      return nullptr;
    }
    M = state.Num(M);
    if (!M.IsValid()) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat(state, ty, N, M, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText N;
  state->PrintNum(N);StyledText M;
  state->PrintNum(M);StyledText T;
  state->PrintType(T);
    out << style::Type("mat", N, "x", M, "<", T, ">");
  }
};


/// TypeMatcher for 'type atomic'
constexpr TypeMatcher kAtomicMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchAtomic(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildAtomic(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("atomic", "<", T, ">");
  }
};


/// TypeMatcher for 'type sampler'
constexpr TypeMatcher kSamplerMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchSampler(state, ty)) {
      return nullptr;
    }
    return BuildSampler(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("sampler");
  }
};


/// TypeMatcher for 'type sampler_filtered'
constexpr TypeMatcher kSamplerFilteredMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number F = Number::invalid;
    if (!MatchSamplerFiltered(state, ty, F)) {
      return nullptr;
    }
    F = state.Num(F);
    if (!F.IsValid()) {
      return nullptr;
    }
    return BuildSamplerFiltered(state, ty, F);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText F;
  state->PrintNum(F);
    out << style::Type("sampler<", F, ">");
  }
};


/// TypeMatcher for 'type sampler_comparison'
constexpr TypeMatcher kSamplerComparisonMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchSamplerComparison(state, ty)) {
      return nullptr;
    }
    return BuildSamplerComparison(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("sampler_comparison");
  }
};


/// TypeMatcher for 'type ptr'
constexpr TypeMatcher kPtrMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number S = Number::invalid;
  const Type* T = nullptr;
  Number A = Number::invalid;
    if (!MatchPtr(state, ty, S, T, A)) {
      return nullptr;
    }
    S = state.Num(S);
    if (!S.IsValid()) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    A = state.Num(A);
    if (!A.IsValid()) {
      return nullptr;
    }
    return BuildPtr(state, ty, S, T, A);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText S;
  state->PrintNum(S);StyledText T;
  state->PrintType(T);StyledText A;
  state->PrintNum(A);
    out << style::Type("ptr", "<", S, ", ", T, ", ", A, ">");
  }
};


/// TypeMatcher for 'type struct_with_runtime_array'
constexpr TypeMatcher kStructWithRuntimeArrayMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchStructWithRuntimeArray(state, ty)) {
      return nullptr;
    }
    return BuildStructWithRuntimeArray(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("struct_with_runtime_array");
  }
};


/// TypeMatcher for 'type image'
constexpr TypeMatcher kImageMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
  Number D = Number::invalid;
  Number E = Number::invalid;
  Number R = Number::invalid;
  Number M = Number::invalid;
  Number S = Number::invalid;
  Number F = Number::invalid;
  Number A = Number::invalid;
    if (!MatchImage(state, ty, T, D, E, R, M, S, F, A)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    D = state.Num(D);
    if (!D.IsValid()) {
      return nullptr;
    }
    E = state.Num(E);
    if (!E.IsValid()) {
      return nullptr;
    }
    R = state.Num(R);
    if (!R.IsValid()) {
      return nullptr;
    }
    M = state.Num(M);
    if (!M.IsValid()) {
      return nullptr;
    }
    S = state.Num(S);
    if (!S.IsValid()) {
      return nullptr;
    }
    F = state.Num(F);
    if (!F.IsValid()) {
      return nullptr;
    }
    A = state.Num(A);
    if (!A.IsValid()) {
      return nullptr;
    }
    return BuildImage(state, ty, T, D, E, R, M, S, F, A);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);StyledText D;
  state->PrintNum(D);StyledText E;
  state->PrintNum(E);StyledText R;
  state->PrintNum(R);StyledText M;
  state->PrintNum(M);StyledText S;
  state->PrintNum(S);StyledText F;
  state->PrintNum(F);StyledText A;
  state->PrintNum(A);
    out << style::Type("image", "<", T, ", ", D, ", ", E, ", ", R, ", ", M, ", ", S, ", ", F, ", ", A, ">");
  }
};


/// TypeMatcher for 'type sampled_image'
constexpr TypeMatcher kSampledImageMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchSampledImage(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildSampledImage(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("sampled_image", "<", T, ">");
  }
};


/// TypeMatcher for 'type subgroup_matrix'
constexpr TypeMatcher kSubgroupMatrixMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number S = Number::invalid;
  const Type* T = nullptr;
  Number C = Number::invalid;
  Number R = Number::invalid;
    if (!MatchSubgroupMatrix(state, ty, S, T, C, R)) {
      return nullptr;
    }
    S = state.Num(S);
    if (!S.IsValid()) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    C = state.Num(C);
    if (!C.IsValid()) {
      return nullptr;
    }
    R = state.Num(R);
    if (!R.IsValid()) {
      return nullptr;
    }
    return BuildSubgroupMatrix(state, ty, S, T, C, R);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText S;
  state->PrintNum(S);StyledText T;
  state->PrintType(T);StyledText C;
  state->PrintNum(C);StyledText R;
  state->PrintNum(R);
    out << style::Type("subgroup_matrix", "<", S, ", ", T, ", ", C, ", ", R, ">");
  }
};


/// TypeMatcher for 'match f32_f16'
constexpr TypeMatcher kF32F16Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kF32Matcher.print(nullptr, out); out << style::Plain(" or "); kF16Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match iu32'
constexpr TypeMatcher kIu32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kI32Matcher.print(nullptr, out); out << style::Plain(" or "); kU32Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match fiu32'
constexpr TypeMatcher kFiu32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kF32Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(" or "); kU32Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match fiu32_f16'
constexpr TypeMatcher kFiu32F16Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kF32Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(" or "); kF16Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match scalar'
constexpr TypeMatcher kScalarMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    if (MatchBool(state, ty)) {
      return BuildBool(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kF32Matcher.print(nullptr, out); out << style::Plain(", "); kF16Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(" or "); kBoolMatcher.print(nullptr, out);}
};

/// TypeMatcher for 'match iu32_iu8'
constexpr TypeMatcher kIu32Iu8Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    if (MatchI8(state, ty)) {
      return BuildI8(state, ty);
    }
    if (MatchU8(state, ty)) {
      return BuildU8(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kI32Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(", "); kI8Matcher.print(nullptr, out); out << style::Plain(" or "); kU8Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match iu8'
constexpr TypeMatcher kIu8Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchI8(state, ty)) {
      return BuildI8(state, ty);
    }
    if (MatchU8(state, ty)) {
      return BuildU8(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kI8Matcher.print(nullptr, out); out << style::Plain(" or "); kU8Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match samplers'
constexpr TypeMatcher kSamplersMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchSampler(state, ty)) {
      return BuildSampler(state, ty);
    }
    if (MatchSamplerComparison(state, ty)) {
      return BuildSamplerComparison(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kSamplerMatcher.print(nullptr, out); out << style::Plain(" or "); kSamplerComparisonMatcher.print(nullptr, out);}
};

/// EnumMatcher for 'match filterable'
constexpr NumberMatcher kFilterableMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::TextureFilterable::kFilterable)) {
      return Number(static_cast<uint32_t>(core::TextureFilterable::kFilterable));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("filterable");
  }
};

/// EnumMatcher for 'match unfilterable'
constexpr NumberMatcher kUnfilterableMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::TextureFilterable::kUnfilterable)) {
      return Number(static_cast<uint32_t>(core::TextureFilterable::kUnfilterable));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("unfilterable");
  }
};

/// EnumMatcher for 'match filtering'
constexpr NumberMatcher kFilteringMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::SamplerFiltering::kFiltering)) {
      return Number(static_cast<uint32_t>(core::SamplerFiltering::kFiltering));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("filtering");
  }
};

/// EnumMatcher for 'match non_filtering'
constexpr NumberMatcher kNonFilteringMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::SamplerFiltering::kNonFiltering)) {
      return Number(static_cast<uint32_t>(core::SamplerFiltering::kNonFiltering));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("non_filtering");
  }
};

/// EnumMatcher for 'match texture_filter'
constexpr NumberMatcher kTextureFilterMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::TextureFilterable>(number.Value())) {
      case core::TextureFilterable::kFilterable:
      case core::TextureFilterable::kUnfilterable:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("filterable")<< style::Plain(" or ") << style::Enum("unfilterable");
  }
};

/// EnumMatcher for 'match sampler_filter'
constexpr NumberMatcher kSamplerFilterMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::SamplerFiltering>(number.Value())) {
      case core::SamplerFiltering::kFiltering:
      case core::SamplerFiltering::kNonFiltering:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("filtering")<< style::Plain(" or ") << style::Enum("non_filtering");
  }
};

/// EnumMatcher for 'match storage'
constexpr NumberMatcher kStorageMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::AddressSpace::kStorage)) {
      return Number(static_cast<uint32_t>(core::AddressSpace::kStorage));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("storage");
  }
};

/// EnumMatcher for 'match workgroup_or_storage'
constexpr NumberMatcher kWorkgroupOrStorageMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::AddressSpace>(number.Value())) {
      case core::AddressSpace::kWorkgroup:
      case core::AddressSpace::kStorage:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("workgroup")<< style::Plain(" or ") << style::Enum("storage");
  }
};

/// EnumMatcher for 'match function_private_workgroup_storage'
constexpr NumberMatcher kFunctionPrivateWorkgroupStorageMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::AddressSpace>(number.Value())) {
      case core::AddressSpace::kFunction:
      case core::AddressSpace::kPrivate:
      case core::AddressSpace::kWorkgroup:
      case core::AddressSpace::kStorage:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("function")<< style::Plain(", ") << style::Enum("private")<< style::Plain(", ") << style::Enum("workgroup")<< style::Plain(" or ") << style::Enum("storage");
  }
};

/// EnumMatcher for 'match f32_texel_format'
constexpr NumberMatcher kF32TexelFormatMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::TexelFormat>(number.Value())) {
      case core::TexelFormat::kR8Unorm:
      case core::TexelFormat::kR8Snorm:
      case core::TexelFormat::kRg8Unorm:
      case core::TexelFormat::kRg8Snorm:
      case core::TexelFormat::kBgra8Unorm:
      case core::TexelFormat::kRgba8Unorm:
      case core::TexelFormat::kRgba8Snorm:
      case core::TexelFormat::kR16Unorm:
      case core::TexelFormat::kR16Snorm:
      case core::TexelFormat::kRg16Unorm:
      case core::TexelFormat::kRg16Snorm:
      case core::TexelFormat::kRgba16Unorm:
      case core::TexelFormat::kRgba16Snorm:
      case core::TexelFormat::kR16Float:
      case core::TexelFormat::kRg16Float:
      case core::TexelFormat::kRgba16Float:
      case core::TexelFormat::kR32Float:
      case core::TexelFormat::kRg32Float:
      case core::TexelFormat::kRgba32Float:
      case core::TexelFormat::kRgb10A2Unorm:
      case core::TexelFormat::kRg11B10Ufloat:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("r8unorm")<< style::Plain(", ") << style::Enum("r8snorm")<< style::Plain(", ") << style::Enum("rg8unorm")<< style::Plain(", ") << style::Enum("rg8snorm")<< style::Plain(", ") << style::Enum("bgra8unorm")<< style::Plain(", ") << style::Enum("rgba8unorm")<< style::Plain(", ") << style::Enum("rgba8snorm")<< style::Plain(", ") << style::Enum("r16unorm")<< style::Plain(", ") << style::Enum("r16snorm")<< style::Plain(", ") << style::Enum("rg16unorm")<< style::Plain(", ") << style::Enum("rg16snorm")<< style::Plain(", ") << style::Enum("rgba16unorm")<< style::Plain(", ") << style::Enum("rgba16snorm")<< style::Plain(", ") << style::Enum("r16float")<< style::Plain(", ") << style::Enum("rg16float")<< style::Plain(", ") << style::Enum("rgba16float")<< style::Plain(", ") << style::Enum("r32float")<< style::Plain(", ") << style::Enum("rg32float")<< style::Plain(", ") << style::Enum("rgba32float")<< style::Plain(", ") << style::Enum("rgb10a2unorm")<< style::Plain(" or ") << style::Enum("rg11b10ufloat");
  }
};

/// EnumMatcher for 'match i32_texel_format'
constexpr NumberMatcher kI32TexelFormatMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::TexelFormat>(number.Value())) {
      case core::TexelFormat::kR8Sint:
      case core::TexelFormat::kRg8Sint:
      case core::TexelFormat::kRgba8Sint:
      case core::TexelFormat::kR16Sint:
      case core::TexelFormat::kRg16Sint:
      case core::TexelFormat::kRgba16Sint:
      case core::TexelFormat::kR32Sint:
      case core::TexelFormat::kRg32Sint:
      case core::TexelFormat::kRgba32Sint:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("r8sint")<< style::Plain(", ") << style::Enum("rg8sint")<< style::Plain(", ") << style::Enum("rgba8sint")<< style::Plain(", ") << style::Enum("r16sint")<< style::Plain(", ") << style::Enum("rg16sint")<< style::Plain(", ") << style::Enum("rgba16sint")<< style::Plain(", ") << style::Enum("r32sint")<< style::Plain(", ") << style::Enum("rg32sint")<< style::Plain(" or ") << style::Enum("rgba32sint");
  }
};

/// EnumMatcher for 'match u32_texel_format'
constexpr NumberMatcher kU32TexelFormatMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::TexelFormat>(number.Value())) {
      case core::TexelFormat::kR8Uint:
      case core::TexelFormat::kRg8Uint:
      case core::TexelFormat::kR16Uint:
      case core::TexelFormat::kRg16Uint:
      case core::TexelFormat::kRgba8Uint:
      case core::TexelFormat::kRgba16Uint:
      case core::TexelFormat::kR32Uint:
      case core::TexelFormat::kRg32Uint:
      case core::TexelFormat::kRgba32Uint:
      case core::TexelFormat::kRgb10A2Uint:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("r8uint")<< style::Plain(", ") << style::Enum("rg8uint")<< style::Plain(", ") << style::Enum("r16uint")<< style::Plain(", ") << style::Enum("rg16uint")<< style::Plain(", ") << style::Enum("rgba8uint")<< style::Plain(", ") << style::Enum("rgba16uint")<< style::Plain(", ") << style::Enum("r32uint")<< style::Plain(", ") << style::Enum("rg32uint")<< style::Plain(", ") << style::Enum("rgba32uint")<< style::Plain(" or ") << style::Enum("rgb10a2uint");
  }
};

/// EnumMatcher for 'match read_write'
constexpr NumberMatcher kReadWriteMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::Access::kReadWrite)) {
      return Number(static_cast<uint32_t>(core::Access::kReadWrite));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("read_write");
  }
};

/// EnumMatcher for 'match readable'
constexpr NumberMatcher kReadableMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::Access>(number.Value())) {
      case core::Access::kRead:
      case core::Access::kReadWrite:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("read")<< style::Plain(" or ") << style::Enum("read_write");
  }
};

/// EnumMatcher for 'match writable'
constexpr NumberMatcher kWritableMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::Access>(number.Value())) {
      case core::Access::kWrite:
      case core::Access::kReadWrite:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("write")<< style::Plain(" or ") << style::Enum("read_write");
  }
};

/// EnumMatcher for 'match dim_1d'
constexpr NumberMatcher kDim1DMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(spirv::type::Dim::kD1)) {
      return Number(static_cast<uint32_t>(spirv::type::Dim::kD1));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("d1");
  }
};

/// EnumMatcher for 'match dim_2d'
constexpr NumberMatcher kDim2DMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(spirv::type::Dim::kD2)) {
      return Number(static_cast<uint32_t>(spirv::type::Dim::kD2));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("d2");
  }
};

/// EnumMatcher for 'match dim_3d'
constexpr NumberMatcher kDim3DMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(spirv::type::Dim::kD3)) {
      return Number(static_cast<uint32_t>(spirv::type::Dim::kD3));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("d3");
  }
};

/// EnumMatcher for 'match dim_cube'
constexpr NumberMatcher kDimCubeMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(spirv::type::Dim::kCube)) {
      return Number(static_cast<uint32_t>(spirv::type::Dim::kCube));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("Cube");
  }
};

/// EnumMatcher for 'match dim_buffer'
constexpr NumberMatcher kDimBufferMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(spirv::type::Dim::kBuffer)) {
      return Number(static_cast<uint32_t>(spirv::type::Dim::kBuffer));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("Buffer");
  }
};

/// EnumMatcher for 'match dim_subpass'
constexpr NumberMatcher kDimSubpassMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(spirv::type::Dim::kSubpassData)) {
      return Number(static_cast<uint32_t>(spirv::type::Dim::kSubpassData));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("SubpassData");
  }
};

/// EnumMatcher for 'match dim_1d_2d_3d_or_cube'
constexpr NumberMatcher kDim1D2D3DOrCubeMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<spirv::type::Dim>(number.Value())) {
      case spirv::type::Dim::kD1:
      case spirv::type::Dim::kD2:
      case spirv::type::Dim::kD3:
      case spirv::type::Dim::kCube:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("d1")<< style::Plain(", ") << style::Enum("d2")<< style::Plain(", ") << style::Enum("d3")<< style::Plain(" or ") << style::Enum("Cube");
  }
};

/// EnumMatcher for 'match single_sampled'
constexpr NumberMatcher kSingleSampledMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(spirv::type::Multisampled::kSingleSampled)) {
      return Number(static_cast<uint32_t>(spirv::type::Multisampled::kSingleSampled));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("SingleSampled");
  }
};

/// EnumMatcher for 'match multi_sampled'
constexpr NumberMatcher kMultiSampledMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(spirv::type::Multisampled::kMultisampled)) {
      return Number(static_cast<uint32_t>(spirv::type::Multisampled::kMultisampled));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("Multisampled");
  }
};

/// EnumMatcher for 'match is_depth'
constexpr NumberMatcher kIsDepthMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(spirv::type::Depth::kDepth)) {
      return Number(static_cast<uint32_t>(spirv::type::Depth::kDepth));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("Depth");
  }
};

/// EnumMatcher for 'match non_depth'
constexpr NumberMatcher kNonDepthMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<spirv::type::Depth>(number.Value())) {
      case spirv::type::Depth::kNotDepth:
      case spirv::type::Depth::kUnknown:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("NotDepth")<< style::Plain(" or ") << style::Enum("Unknown");
  }
};

/// EnumMatcher for 'match any_depth'
constexpr NumberMatcher kAnyDepthMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<spirv::type::Depth>(number.Value())) {
      case spirv::type::Depth::kDepth:
      case spirv::type::Depth::kNotDepth:
      case spirv::type::Depth::kUnknown:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("Depth")<< style::Plain(", ") << style::Enum("NotDepth")<< style::Plain(" or ") << style::Enum("Unknown");
  }
};

/// EnumMatcher for 'match is_arrayed'
constexpr NumberMatcher kIsArrayedMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(spirv::type::Arrayed::kArrayed)) {
      return Number(static_cast<uint32_t>(spirv::type::Arrayed::kArrayed));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("Arrayed");
  }
};

/// EnumMatcher for 'match non_arrayed'
constexpr NumberMatcher kNonArrayedMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(spirv::type::Arrayed::kNonArrayed)) {
      return Number(static_cast<uint32_t>(spirv::type::Arrayed::kNonArrayed));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("NonArrayed");
  }
};

/// EnumMatcher for 'match any_arrayed'
constexpr NumberMatcher kAnyArrayedMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<spirv::type::Arrayed>(number.Value())) {
      case spirv::type::Arrayed::kArrayed:
      case spirv::type::Arrayed::kNonArrayed:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("Arrayed")<< style::Plain(" or ") << style::Enum("NonArrayed");
  }
};

/// EnumMatcher for 'match sampling_compatible'
constexpr NumberMatcher kSamplingCompatibleMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(spirv::type::Sampled::kSamplingCompatible)) {
      return Number(static_cast<uint32_t>(spirv::type::Sampled::kSamplingCompatible));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("SamplingCompatible");
  }
};

/// EnumMatcher for 'match rw_op_compatible'
constexpr NumberMatcher kRwOpCompatibleMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(spirv::type::Sampled::kReadWriteOpCompatible)) {
      return Number(static_cast<uint32_t>(spirv::type::Sampled::kReadWriteOpCompatible));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("ReadWriteOpCompatible");
  }
};

/// EnumMatcher for 'match subgroup_matrix_kind_left'
constexpr NumberMatcher kSubgroupMatrixKindLeftMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::SubgroupMatrixKind::kLeft)) {
      return Number(static_cast<uint32_t>(core::SubgroupMatrixKind::kLeft));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("left");
  }
};

/// EnumMatcher for 'match subgroup_matrix_kind_right'
constexpr NumberMatcher kSubgroupMatrixKindRightMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::SubgroupMatrixKind::kRight)) {
      return Number(static_cast<uint32_t>(core::SubgroupMatrixKind::kRight));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("right");
  }
};

/// EnumMatcher for 'match subgroup_matrix_kind_result'
constexpr NumberMatcher kSubgroupMatrixKindResultMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::SubgroupMatrixKind::kResult)) {
      return Number(static_cast<uint32_t>(core::SubgroupMatrixKind::kResult));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("result");
  }
};

/// Type and number matchers

/// The template types, types, and type matchers
constexpr TypeMatcher kTypeMatchers[] = {
  /* [0] */ TemplateTypeMatcher<0>::matcher,
  /* [1] */ TemplateTypeMatcher<1>::matcher,
  /* [2] */ TemplateTypeMatcher<2>::matcher,
  /* [3] */ TemplateTypeMatcher<3>::matcher,
  /* [4] */ TemplateTypeMatcher<4>::matcher,
  /* [5] */ TemplateTypeMatcher<5>::matcher,
  /* [6] */ TemplateTypeMatcher<6>::matcher,
  /* [7] */ kBoolMatcher,
  /* [8] */ kF32Matcher,
  /* [9] */ kF16Matcher,
  /* [10] */ kI32Matcher,
  /* [11] */ kU32Matcher,
  /* [12] */ kU64Matcher,
  /* [13] */ kI8Matcher,
  /* [14] */ kU8Matcher,
  /* [15] */ kVec2Matcher,
  /* [16] */ kVec3Matcher,
  /* [17] */ kVec4Matcher,
  /* [18] */ kMat2X2Matcher,
  /* [19] */ kMat2X3Matcher,
  /* [20] */ kMat2X4Matcher,
  /* [21] */ kMat3X2Matcher,
  /* [22] */ kMat3X3Matcher,
  /* [23] */ kMat3X4Matcher,
  /* [24] */ kMat4X2Matcher,
  /* [25] */ kMat4X3Matcher,
  /* [26] */ kMat4X4Matcher,
  /* [27] */ kVecMatcher,
  /* [28] */ kMatMatcher,
  /* [29] */ kAtomicMatcher,
  /* [30] */ kSamplerMatcher,
  /* [31] */ kSamplerFilteredMatcher,
  /* [32] */ kSamplerComparisonMatcher,
  /* [33] */ kPtrMatcher,
  /* [34] */ kStructWithRuntimeArrayMatcher,
  /* [35] */ kImageMatcher,
  /* [36] */ kSampledImageMatcher,
  /* [37] */ kSubgroupMatrixMatcher,
  /* [38] */ kF32F16Matcher,
  /* [39] */ kIu32Matcher,
  /* [40] */ kFiu32Matcher,
  /* [41] */ kFiu32F16Matcher,
  /* [42] */ kScalarMatcher,
  /* [43] */ kIu32Iu8Matcher,
  /* [44] */ kIu8Matcher,
  /* [45] */ kSamplersMatcher,
};

/// The template numbers, and number matchers
constexpr NumberMatcher kNumberMatchers[] = {
  /* [0] */ TemplateNumberMatcher<0>::matcher,
  /* [1] */ TemplateNumberMatcher<1>::matcher,
  /* [2] */ TemplateNumberMatcher<2>::matcher,
  /* [3] */ TemplateNumberMatcher<3>::matcher,
  /* [4] */ TemplateNumberMatcher<4>::matcher,
  /* [5] */ TemplateNumberMatcher<5>::matcher,
  /* [6] */ TemplateNumberMatcher<6>::matcher,
  /* [7] */ kFilterableMatcher,
  /* [8] */ kUnfilterableMatcher,
  /* [9] */ kFilteringMatcher,
  /* [10] */ kNonFilteringMatcher,
  /* [11] */ kTextureFilterMatcher,
  /* [12] */ kSamplerFilterMatcher,
  /* [13] */ kStorageMatcher,
  /* [14] */ kWorkgroupOrStorageMatcher,
  /* [15] */ kFunctionPrivateWorkgroupStorageMatcher,
  /* [16] */ kF32TexelFormatMatcher,
  /* [17] */ kI32TexelFormatMatcher,
  /* [18] */ kU32TexelFormatMatcher,
  /* [19] */ kReadWriteMatcher,
  /* [20] */ kReadableMatcher,
  /* [21] */ kWritableMatcher,
  /* [22] */ kDim1DMatcher,
  /* [23] */ kDim2DMatcher,
  /* [24] */ kDim3DMatcher,
  /* [25] */ kDimCubeMatcher,
  /* [26] */ kDimBufferMatcher,
  /* [27] */ kDimSubpassMatcher,
  /* [28] */ kDim1D2D3DOrCubeMatcher,
  /* [29] */ kSingleSampledMatcher,
  /* [30] */ kMultiSampledMatcher,
  /* [31] */ kIsDepthMatcher,
  /* [32] */ kNonDepthMatcher,
  /* [33] */ kAnyDepthMatcher,
  /* [34] */ kIsArrayedMatcher,
  /* [35] */ kNonArrayedMatcher,
  /* [36] */ kAnyArrayedMatcher,
  /* [37] */ kSamplingCompatibleMatcher,
  /* [38] */ kRwOpCompatibleMatcher,
  /* [39] */ kSubgroupMatrixKindLeftMatcher,
  /* [40] */ kSubgroupMatrixKindRightMatcher,
  /* [41] */ kSubgroupMatrixKindResultMatcher,
};

constexpr MatcherIndex kMatcherIndices[] = {
  /* [0] */ MatcherIndex(36),
  /* [1] */ MatcherIndex(35),
  /* [2] */ MatcherIndex(8),
  /* [3] */ MatcherIndex(23),
  /* [4] */ MatcherIndex(33),
  /* [5] */ MatcherIndex(35),
  /* [6] */ MatcherIndex(29),
  /* [7] */ MatcherIndex(37),
  /* [8] */ MatcherIndex(0),
  /* [9] */ MatcherIndex(20),
  /* [10] */ MatcherIndex(36),
  /* [11] */ MatcherIndex(35),
  /* [12] */ MatcherIndex(8),
  /* [13] */ MatcherIndex(23),
  /* [14] */ MatcherIndex(33),
  /* [15] */ MatcherIndex(34),
  /* [16] */ MatcherIndex(29),
  /* [17] */ MatcherIndex(37),
  /* [18] */ MatcherIndex(0),
  /* [19] */ MatcherIndex(20),
  /* [20] */ MatcherIndex(36),
  /* [21] */ MatcherIndex(35),
  /* [22] */ MatcherIndex(8),
  /* [23] */ MatcherIndex(25),
  /* [24] */ MatcherIndex(33),
  /* [25] */ MatcherIndex(35),
  /* [26] */ MatcherIndex(29),
  /* [27] */ MatcherIndex(37),
  /* [28] */ MatcherIndex(0),
  /* [29] */ MatcherIndex(20),
  /* [30] */ MatcherIndex(36),
  /* [31] */ MatcherIndex(35),
  /* [32] */ MatcherIndex(8),
  /* [33] */ MatcherIndex(25),
  /* [34] */ MatcherIndex(33),
  /* [35] */ MatcherIndex(34),
  /* [36] */ MatcherIndex(29),
  /* [37] */ MatcherIndex(37),
  /* [38] */ MatcherIndex(0),
  /* [39] */ MatcherIndex(20),
  /* [40] */ MatcherIndex(36),
  /* [41] */ MatcherIndex(35),
  /* [42] */ MatcherIndex(0),
  /* [43] */ MatcherIndex(23),
  /* [44] */ MatcherIndex(32),
  /* [45] */ MatcherIndex(35),
  /* [46] */ MatcherIndex(29),
  /* [47] */ MatcherIndex(37),
  /* [48] */ MatcherIndex(2),
  /* [49] */ MatcherIndex(20),
  /* [50] */ MatcherIndex(36),
  /* [51] */ MatcherIndex(35),
  /* [52] */ MatcherIndex(0),
  /* [53] */ MatcherIndex(23),
  /* [54] */ MatcherIndex(32),
  /* [55] */ MatcherIndex(35),
  /* [56] */ MatcherIndex(29),
  /* [57] */ MatcherIndex(37),
  /* [58] */ MatcherIndex(3),
  /* [59] */ MatcherIndex(20),
  /* [60] */ MatcherIndex(36),
  /* [61] */ MatcherIndex(35),
  /* [62] */ MatcherIndex(0),
  /* [63] */ MatcherIndex(23),
  /* [64] */ MatcherIndex(32),
  /* [65] */ MatcherIndex(34),
  /* [66] */ MatcherIndex(29),
  /* [67] */ MatcherIndex(37),
  /* [68] */ MatcherIndex(2),
  /* [69] */ MatcherIndex(20),
  /* [70] */ MatcherIndex(36),
  /* [71] */ MatcherIndex(35),
  /* [72] */ MatcherIndex(0),
  /* [73] */ MatcherIndex(23),
  /* [74] */ MatcherIndex(32),
  /* [75] */ MatcherIndex(34),
  /* [76] */ MatcherIndex(29),
  /* [77] */ MatcherIndex(37),
  /* [78] */ MatcherIndex(3),
  /* [79] */ MatcherIndex(20),
  /* [80] */ MatcherIndex(36),
  /* [81] */ MatcherIndex(35),
  /* [82] */ MatcherIndex(0),
  /* [83] */ MatcherIndex(25),
  /* [84] */ MatcherIndex(32),
  /* [85] */ MatcherIndex(35),
  /* [86] */ MatcherIndex(29),
  /* [87] */ MatcherIndex(37),
  /* [88] */ MatcherIndex(2),
  /* [89] */ MatcherIndex(20),
  /* [90] */ MatcherIndex(36),
  /* [91] */ MatcherIndex(35),
  /* [92] */ MatcherIndex(0),
  /* [93] */ MatcherIndex(25),
  /* [94] */ MatcherIndex(32),
  /* [95] */ MatcherIndex(34),
  /* [96] */ MatcherIndex(29),
  /* [97] */ MatcherIndex(37),
  /* [98] */ MatcherIndex(2),
  /* [99] */ MatcherIndex(20),
  /* [100] */ MatcherIndex(36),
  /* [101] */ MatcherIndex(35),
  /* [102] */ MatcherIndex(8),
  /* [103] */ MatcherIndex(23),
  /* [104] */ MatcherIndex(31),
  /* [105] */ MatcherIndex(35),
  /* [106] */ MatcherIndex(29),
  /* [107] */ MatcherIndex(37),
  /* [108] */ MatcherIndex(1),
  /* [109] */ MatcherIndex(20),
  /* [110] */ MatcherIndex(36),
  /* [111] */ MatcherIndex(35),
  /* [112] */ MatcherIndex(8),
  /* [113] */ MatcherIndex(23),
  /* [114] */ MatcherIndex(31),
  /* [115] */ MatcherIndex(35),
  /* [116] */ MatcherIndex(29),
  /* [117] */ MatcherIndex(37),
  /* [118] */ MatcherIndex(2),
  /* [119] */ MatcherIndex(20),
  /* [120] */ MatcherIndex(36),
  /* [121] */ MatcherIndex(35),
  /* [122] */ MatcherIndex(8),
  /* [123] */ MatcherIndex(23),
  /* [124] */ MatcherIndex(31),
  /* [125] */ MatcherIndex(34),
  /* [126] */ MatcherIndex(29),
  /* [127] */ MatcherIndex(37),
  /* [128] */ MatcherIndex(1),
  /* [129] */ MatcherIndex(20),
  /* [130] */ MatcherIndex(36),
  /* [131] */ MatcherIndex(35),
  /* [132] */ MatcherIndex(8),
  /* [133] */ MatcherIndex(23),
  /* [134] */ MatcherIndex(31),
  /* [135] */ MatcherIndex(34),
  /* [136] */ MatcherIndex(29),
  /* [137] */ MatcherIndex(37),
  /* [138] */ MatcherIndex(2),
  /* [139] */ MatcherIndex(20),
  /* [140] */ MatcherIndex(36),
  /* [141] */ MatcherIndex(35),
  /* [142] */ MatcherIndex(8),
  /* [143] */ MatcherIndex(25),
  /* [144] */ MatcherIndex(31),
  /* [145] */ MatcherIndex(35),
  /* [146] */ MatcherIndex(29),
  /* [147] */ MatcherIndex(37),
  /* [148] */ MatcherIndex(1),
  /* [149] */ MatcherIndex(20),
  /* [150] */ MatcherIndex(36),
  /* [151] */ MatcherIndex(35),
  /* [152] */ MatcherIndex(8),
  /* [153] */ MatcherIndex(25),
  /* [154] */ MatcherIndex(31),
  /* [155] */ MatcherIndex(34),
  /* [156] */ MatcherIndex(29),
  /* [157] */ MatcherIndex(37),
  /* [158] */ MatcherIndex(1),
  /* [159] */ MatcherIndex(20),
  /* [160] */ MatcherIndex(36),
  /* [161] */ MatcherIndex(35),
  /* [162] */ MatcherIndex(0),
  /* [163] */ MatcherIndex(22),
  /* [164] */ MatcherIndex(32),
  /* [165] */ MatcherIndex(35),
  /* [166] */ MatcherIndex(29),
  /* [167] */ MatcherIndex(37),
  /* [168] */ MatcherIndex(1),
  /* [169] */ MatcherIndex(20),
  /* [170] */ MatcherIndex(36),
  /* [171] */ MatcherIndex(35),
  /* [172] */ MatcherIndex(0),
  /* [173] */ MatcherIndex(23),
  /* [174] */ MatcherIndex(32),
  /* [175] */ MatcherIndex(35),
  /* [176] */ MatcherIndex(29),
  /* [177] */ MatcherIndex(37),
  /* [178] */ MatcherIndex(1),
  /* [179] */ MatcherIndex(20),
  /* [180] */ MatcherIndex(36),
  /* [181] */ MatcherIndex(35),
  /* [182] */ MatcherIndex(0),
  /* [183] */ MatcherIndex(23),
  /* [184] */ MatcherIndex(32),
  /* [185] */ MatcherIndex(34),
  /* [186] */ MatcherIndex(29),
  /* [187] */ MatcherIndex(37),
  /* [188] */ MatcherIndex(1),
  /* [189] */ MatcherIndex(20),
  /* [190] */ MatcherIndex(36),
  /* [191] */ MatcherIndex(35),
  /* [192] */ MatcherIndex(0),
  /* [193] */ MatcherIndex(24),
  /* [194] */ MatcherIndex(32),
  /* [195] */ MatcherIndex(35),
  /* [196] */ MatcherIndex(29),
  /* [197] */ MatcherIndex(37),
  /* [198] */ MatcherIndex(1),
  /* [199] */ MatcherIndex(20),
  /* [200] */ MatcherIndex(36),
  /* [201] */ MatcherIndex(35),
  /* [202] */ MatcherIndex(0),
  /* [203] */ MatcherIndex(24),
  /* [204] */ MatcherIndex(32),
  /* [205] */ MatcherIndex(35),
  /* [206] */ MatcherIndex(29),
  /* [207] */ MatcherIndex(37),
  /* [208] */ MatcherIndex(2),
  /* [209] */ MatcherIndex(20),
  /* [210] */ MatcherIndex(36),
  /* [211] */ MatcherIndex(35),
  /* [212] */ MatcherIndex(0),
  /* [213] */ MatcherIndex(25),
  /* [214] */ MatcherIndex(32),
  /* [215] */ MatcherIndex(35),
  /* [216] */ MatcherIndex(29),
  /* [217] */ MatcherIndex(37),
  /* [218] */ MatcherIndex(1),
  /* [219] */ MatcherIndex(20),
  /* [220] */ MatcherIndex(36),
  /* [221] */ MatcherIndex(35),
  /* [222] */ MatcherIndex(0),
  /* [223] */ MatcherIndex(25),
  /* [224] */ MatcherIndex(32),
  /* [225] */ MatcherIndex(34),
  /* [226] */ MatcherIndex(29),
  /* [227] */ MatcherIndex(37),
  /* [228] */ MatcherIndex(1),
  /* [229] */ MatcherIndex(20),
  /* [230] */ MatcherIndex(36),
  /* [231] */ MatcherIndex(35),
  /* [232] */ MatcherIndex(8),
  /* [233] */ MatcherIndex(23),
  /* [234] */ MatcherIndex(31),
  /* [235] */ MatcherIndex(35),
  /* [236] */ MatcherIndex(29),
  /* [237] */ MatcherIndex(37),
  /* [238] */ MatcherIndex(0),
  /* [239] */ MatcherIndex(20),
  /* [240] */ MatcherIndex(36),
  /* [241] */ MatcherIndex(35),
  /* [242] */ MatcherIndex(8),
  /* [243] */ MatcherIndex(25),
  /* [244] */ MatcherIndex(31),
  /* [245] */ MatcherIndex(35),
  /* [246] */ MatcherIndex(29),
  /* [247] */ MatcherIndex(37),
  /* [248] */ MatcherIndex(0),
  /* [249] */ MatcherIndex(20),
  /* [250] */ MatcherIndex(36),
  /* [251] */ MatcherIndex(35),
  /* [252] */ MatcherIndex(8),
  /* [253] */ MatcherIndex(23),
  /* [254] */ MatcherIndex(31),
  /* [255] */ MatcherIndex(34),
  /* [256] */ MatcherIndex(29),
  /* [257] */ MatcherIndex(37),
  /* [258] */ MatcherIndex(0),
  /* [259] */ MatcherIndex(20),
  /* [260] */ MatcherIndex(36),
  /* [261] */ MatcherIndex(35),
  /* [262] */ MatcherIndex(8),
  /* [263] */ MatcherIndex(25),
  /* [264] */ MatcherIndex(31),
  /* [265] */ MatcherIndex(34),
  /* [266] */ MatcherIndex(29),
  /* [267] */ MatcherIndex(37),
  /* [268] */ MatcherIndex(0),
  /* [269] */ MatcherIndex(20),
  /* [270] */ MatcherIndex(36),
  /* [271] */ MatcherIndex(35),
  /* [272] */ MatcherIndex(8),
  /* [273] */ MatcherIndex(23),
  /* [274] */ MatcherIndex(33),
  /* [275] */ MatcherIndex(35),
  /* [276] */ MatcherIndex(29),
  /* [277] */ MatcherIndex(37),
  /* [278] */ MatcherIndex(1),
  /* [279] */ MatcherIndex(20),
  /* [280] */ MatcherIndex(36),
  /* [281] */ MatcherIndex(35),
  /* [282] */ MatcherIndex(8),
  /* [283] */ MatcherIndex(23),
  /* [284] */ MatcherIndex(33),
  /* [285] */ MatcherIndex(34),
  /* [286] */ MatcherIndex(29),
  /* [287] */ MatcherIndex(37),
  /* [288] */ MatcherIndex(1),
  /* [289] */ MatcherIndex(20),
  /* [290] */ MatcherIndex(35),
  /* [291] */ MatcherIndex(0),
  /* [292] */ MatcherIndex(22),
  /* [293] */ MatcherIndex(32),
  /* [294] */ MatcherIndex(35),
  /* [295] */ MatcherIndex(29),
  /* [296] */ MatcherIndex(37),
  /* [297] */ MatcherIndex(2),
  /* [298] */ MatcherIndex(20),
  /* [299] */ MatcherIndex(35),
  /* [300] */ MatcherIndex(0),
  /* [301] */ MatcherIndex(23),
  /* [302] */ MatcherIndex(32),
  /* [303] */ MatcherIndex(35),
  /* [304] */ MatcherIndex(30),
  /* [305] */ MatcherIndex(37),
  /* [306] */ MatcherIndex(2),
  /* [307] */ MatcherIndex(20),
  /* [308] */ MatcherIndex(35),
  /* [309] */ MatcherIndex(8),
  /* [310] */ MatcherIndex(23),
  /* [311] */ MatcherIndex(31),
  /* [312] */ MatcherIndex(35),
  /* [313] */ MatcherIndex(30),
  /* [314] */ MatcherIndex(37),
  /* [315] */ MatcherIndex(1),
  /* [316] */ MatcherIndex(20),
  /* [317] */ MatcherIndex(35),
  /* [318] */ MatcherIndex(0),
  /* [319] */ MatcherIndex(22),
  /* [320] */ MatcherIndex(32),
  /* [321] */ MatcherIndex(35),
  /* [322] */ MatcherIndex(29),
  /* [323] */ MatcherIndex(37),
  /* [324] */ MatcherIndex(3),
  /* [325] */ MatcherIndex(20),
  /* [326] */ MatcherIndex(35),
  /* [327] */ MatcherIndex(0),
  /* [328] */ MatcherIndex(24),
  /* [329] */ MatcherIndex(32),
  /* [330] */ MatcherIndex(35),
  /* [331] */ MatcherIndex(29),
  /* [332] */ MatcherIndex(37),
  /* [333] */ MatcherIndex(3),
  /* [334] */ MatcherIndex(20),
  /* [335] */ MatcherIndex(35),
  /* [336] */ MatcherIndex(0),
  /* [337] */ MatcherIndex(23),
  /* [338] */ MatcherIndex(32),
  /* [339] */ MatcherIndex(35),
  /* [340] */ MatcherIndex(30),
  /* [341] */ MatcherIndex(37),
  /* [342] */ MatcherIndex(3),
  /* [343] */ MatcherIndex(20),
  /* [344] */ MatcherIndex(35),
  /* [345] */ MatcherIndex(8),
  /* [346] */ MatcherIndex(23),
  /* [347] */ MatcherIndex(31),
  /* [348] */ MatcherIndex(35),
  /* [349] */ MatcherIndex(30),
  /* [350] */ MatcherIndex(37),
  /* [351] */ MatcherIndex(2),
  /* [352] */ MatcherIndex(20),
  /* [353] */ MatcherIndex(35),
  /* [354] */ MatcherIndex(1),
  /* [355] */ MatcherIndex(22),
  /* [356] */ MatcherIndex(32),
  /* [357] */ MatcherIndex(35),
  /* [358] */ MatcherIndex(29),
  /* [359] */ MatcherIndex(38),
  /* [360] */ MatcherIndex(2),
  /* [361] */ MatcherIndex(3),
  /* [362] */ MatcherIndex(35),
  /* [363] */ MatcherIndex(1),
  /* [364] */ MatcherIndex(26),
  /* [365] */ MatcherIndex(32),
  /* [366] */ MatcherIndex(35),
  /* [367] */ MatcherIndex(29),
  /* [368] */ MatcherIndex(38),
  /* [369] */ MatcherIndex(2),
  /* [370] */ MatcherIndex(3),
  /* [371] */ MatcherIndex(35),
  /* [372] */ MatcherIndex(1),
  /* [373] */ MatcherIndex(23),
  /* [374] */ MatcherIndex(32),
  /* [375] */ MatcherIndex(35),
  /* [376] */ MatcherIndex(29),
  /* [377] */ MatcherIndex(38),
  /* [378] */ MatcherIndex(2),
  /* [379] */ MatcherIndex(3),
  /* [380] */ MatcherIndex(35),
  /* [381] */ MatcherIndex(1),
  /* [382] */ MatcherIndex(23),
  /* [383] */ MatcherIndex(32),
  /* [384] */ MatcherIndex(34),
  /* [385] */ MatcherIndex(29),
  /* [386] */ MatcherIndex(38),
  /* [387] */ MatcherIndex(2),
  /* [388] */ MatcherIndex(3),
  /* [389] */ MatcherIndex(35),
  /* [390] */ MatcherIndex(1),
  /* [391] */ MatcherIndex(24),
  /* [392] */ MatcherIndex(32),
  /* [393] */ MatcherIndex(35),
  /* [394] */ MatcherIndex(29),
  /* [395] */ MatcherIndex(38),
  /* [396] */ MatcherIndex(2),
  /* [397] */ MatcherIndex(3),
  /* [398] */ MatcherIndex(35),
  /* [399] */ MatcherIndex(1),
  /* [400] */ MatcherIndex(25),
  /* [401] */ MatcherIndex(32),
  /* [402] */ MatcherIndex(35),
  /* [403] */ MatcherIndex(29),
  /* [404] */ MatcherIndex(38),
  /* [405] */ MatcherIndex(2),
  /* [406] */ MatcherIndex(3),
  /* [407] */ MatcherIndex(35),
  /* [408] */ MatcherIndex(1),
  /* [409] */ MatcherIndex(25),
  /* [410] */ MatcherIndex(32),
  /* [411] */ MatcherIndex(34),
  /* [412] */ MatcherIndex(29),
  /* [413] */ MatcherIndex(38),
  /* [414] */ MatcherIndex(2),
  /* [415] */ MatcherIndex(3),
  /* [416] */ MatcherIndex(35),
  /* [417] */ MatcherIndex(1),
  /* [418] */ MatcherIndex(23),
  /* [419] */ MatcherIndex(32),
  /* [420] */ MatcherIndex(35),
  /* [421] */ MatcherIndex(30),
  /* [422] */ MatcherIndex(2),
  /* [423] */ MatcherIndex(3),
  /* [424] */ MatcherIndex(4),
  /* [425] */ MatcherIndex(35),
  /* [426] */ MatcherIndex(8),
  /* [427] */ MatcherIndex(23),
  /* [428] */ MatcherIndex(31),
  /* [429] */ MatcherIndex(35),
  /* [430] */ MatcherIndex(29),
  /* [431] */ MatcherIndex(38),
  /* [432] */ MatcherIndex(1),
  /* [433] */ MatcherIndex(2),
  /* [434] */ MatcherIndex(35),
  /* [435] */ MatcherIndex(8),
  /* [436] */ MatcherIndex(23),
  /* [437] */ MatcherIndex(31),
  /* [438] */ MatcherIndex(34),
  /* [439] */ MatcherIndex(29),
  /* [440] */ MatcherIndex(38),
  /* [441] */ MatcherIndex(1),
  /* [442] */ MatcherIndex(2),
  /* [443] */ MatcherIndex(35),
  /* [444] */ MatcherIndex(8),
  /* [445] */ MatcherIndex(25),
  /* [446] */ MatcherIndex(31),
  /* [447] */ MatcherIndex(35),
  /* [448] */ MatcherIndex(29),
  /* [449] */ MatcherIndex(38),
  /* [450] */ MatcherIndex(1),
  /* [451] */ MatcherIndex(2),
  /* [452] */ MatcherIndex(35),
  /* [453] */ MatcherIndex(8),
  /* [454] */ MatcherIndex(25),
  /* [455] */ MatcherIndex(31),
  /* [456] */ MatcherIndex(34),
  /* [457] */ MatcherIndex(29),
  /* [458] */ MatcherIndex(38),
  /* [459] */ MatcherIndex(1),
  /* [460] */ MatcherIndex(2),
  /* [461] */ MatcherIndex(35),
  /* [462] */ MatcherIndex(8),
  /* [463] */ MatcherIndex(23),
  /* [464] */ MatcherIndex(31),
  /* [465] */ MatcherIndex(35),
  /* [466] */ MatcherIndex(30),
  /* [467] */ MatcherIndex(1),
  /* [468] */ MatcherIndex(2),
  /* [469] */ MatcherIndex(3),
  /* [470] */ MatcherIndex(35),
  /* [471] */ MatcherIndex(1),
  /* [472] */ MatcherIndex(22),
  /* [473] */ MatcherIndex(32),
  /* [474] */ MatcherIndex(35),
  /* [475] */ MatcherIndex(29),
  /* [476] */ MatcherIndex(3),
  /* [477] */ MatcherIndex(4),
  /* [478] */ MatcherIndex(5),
  /* [479] */ MatcherIndex(35),
  /* [480] */ MatcherIndex(1),
  /* [481] */ MatcherIndex(26),
  /* [482] */ MatcherIndex(32),
  /* [483] */ MatcherIndex(35),
  /* [484] */ MatcherIndex(29),
  /* [485] */ MatcherIndex(3),
  /* [486] */ MatcherIndex(4),
  /* [487] */ MatcherIndex(5),
  /* [488] */ MatcherIndex(35),
  /* [489] */ MatcherIndex(1),
  /* [490] */ MatcherIndex(23),
  /* [491] */ MatcherIndex(32),
  /* [492] */ MatcherIndex(35),
  /* [493] */ MatcherIndex(29),
  /* [494] */ MatcherIndex(3),
  /* [495] */ MatcherIndex(4),
  /* [496] */ MatcherIndex(5),
  /* [497] */ MatcherIndex(35),
  /* [498] */ MatcherIndex(1),
  /* [499] */ MatcherIndex(23),
  /* [500] */ MatcherIndex(32),
  /* [501] */ MatcherIndex(34),
  /* [502] */ MatcherIndex(29),
  /* [503] */ MatcherIndex(3),
  /* [504] */ MatcherIndex(4),
  /* [505] */ MatcherIndex(5),
  /* [506] */ MatcherIndex(35),
  /* [507] */ MatcherIndex(1),
  /* [508] */ MatcherIndex(24),
  /* [509] */ MatcherIndex(32),
  /* [510] */ MatcherIndex(35),
  /* [511] */ MatcherIndex(29),
  /* [512] */ MatcherIndex(3),
  /* [513] */ MatcherIndex(4),
  /* [514] */ MatcherIndex(5),
  /* [515] */ MatcherIndex(35),
  /* [516] */ MatcherIndex(1),
  /* [517] */ MatcherIndex(25),
  /* [518] */ MatcherIndex(32),
  /* [519] */ MatcherIndex(35),
  /* [520] */ MatcherIndex(29),
  /* [521] */ MatcherIndex(3),
  /* [522] */ MatcherIndex(4),
  /* [523] */ MatcherIndex(5),
  /* [524] */ MatcherIndex(35),
  /* [525] */ MatcherIndex(1),
  /* [526] */ MatcherIndex(25),
  /* [527] */ MatcherIndex(32),
  /* [528] */ MatcherIndex(34),
  /* [529] */ MatcherIndex(29),
  /* [530] */ MatcherIndex(3),
  /* [531] */ MatcherIndex(4),
  /* [532] */ MatcherIndex(5),
  /* [533] */ MatcherIndex(35),
  /* [534] */ MatcherIndex(8),
  /* [535] */ MatcherIndex(23),
  /* [536] */ MatcherIndex(31),
  /* [537] */ MatcherIndex(35),
  /* [538] */ MatcherIndex(29),
  /* [539] */ MatcherIndex(2),
  /* [540] */ MatcherIndex(3),
  /* [541] */ MatcherIndex(4),
  /* [542] */ MatcherIndex(35),
  /* [543] */ MatcherIndex(8),
  /* [544] */ MatcherIndex(23),
  /* [545] */ MatcherIndex(31),
  /* [546] */ MatcherIndex(34),
  /* [547] */ MatcherIndex(29),
  /* [548] */ MatcherIndex(2),
  /* [549] */ MatcherIndex(3),
  /* [550] */ MatcherIndex(4),
  /* [551] */ MatcherIndex(35),
  /* [552] */ MatcherIndex(8),
  /* [553] */ MatcherIndex(25),
  /* [554] */ MatcherIndex(31),
  /* [555] */ MatcherIndex(35),
  /* [556] */ MatcherIndex(29),
  /* [557] */ MatcherIndex(2),
  /* [558] */ MatcherIndex(3),
  /* [559] */ MatcherIndex(4),
  /* [560] */ MatcherIndex(35),
  /* [561] */ MatcherIndex(8),
  /* [562] */ MatcherIndex(25),
  /* [563] */ MatcherIndex(31),
  /* [564] */ MatcherIndex(34),
  /* [565] */ MatcherIndex(29),
  /* [566] */ MatcherIndex(2),
  /* [567] */ MatcherIndex(3),
  /* [568] */ MatcherIndex(4),
  /* [569] */ MatcherIndex(35),
  /* [570] */ MatcherIndex(1),
  /* [571] */ MatcherIndex(28),
  /* [572] */ MatcherIndex(2),
  /* [573] */ MatcherIndex(3),
  /* [574] */ MatcherIndex(29),
  /* [575] */ MatcherIndex(4),
  /* [576] */ MatcherIndex(5),
  /* [577] */ MatcherIndex(6),
  /* [578] */ MatcherIndex(35),
  /* [579] */ MatcherIndex(1),
  /* [580] */ MatcherIndex(23),
  /* [581] */ MatcherIndex(2),
  /* [582] */ MatcherIndex(3),
  /* [583] */ MatcherIndex(30),
  /* [584] */ MatcherIndex(4),
  /* [585] */ MatcherIndex(5),
  /* [586] */ MatcherIndex(6),
  /* [587] */ MatcherIndex(35),
  /* [588] */ MatcherIndex(8),
  /* [589] */ MatcherIndex(22),
  /* [590] */ MatcherIndex(32),
  /* [591] */ MatcherIndex(35),
  /* [592] */ MatcherIndex(29),
  /* [593] */ MatcherIndex(38),
  /* [594] */ MatcherIndex(0),
  /* [595] */ MatcherIndex(1),
  /* [596] */ MatcherIndex(35),
  /* [597] */ MatcherIndex(8),
  /* [598] */ MatcherIndex(26),
  /* [599] */ MatcherIndex(32),
  /* [600] */ MatcherIndex(35),
  /* [601] */ MatcherIndex(29),
  /* [602] */ MatcherIndex(38),
  /* [603] */ MatcherIndex(0),
  /* [604] */ MatcherIndex(1),
  /* [605] */ MatcherIndex(35),
  /* [606] */ MatcherIndex(10),
  /* [607] */ MatcherIndex(22),
  /* [608] */ MatcherIndex(32),
  /* [609] */ MatcherIndex(35),
  /* [610] */ MatcherIndex(29),
  /* [611] */ MatcherIndex(38),
  /* [612] */ MatcherIndex(0),
  /* [613] */ MatcherIndex(1),
  /* [614] */ MatcherIndex(35),
  /* [615] */ MatcherIndex(10),
  /* [616] */ MatcherIndex(26),
  /* [617] */ MatcherIndex(32),
  /* [618] */ MatcherIndex(35),
  /* [619] */ MatcherIndex(29),
  /* [620] */ MatcherIndex(38),
  /* [621] */ MatcherIndex(0),
  /* [622] */ MatcherIndex(1),
  /* [623] */ MatcherIndex(35),
  /* [624] */ MatcherIndex(11),
  /* [625] */ MatcherIndex(22),
  /* [626] */ MatcherIndex(32),
  /* [627] */ MatcherIndex(35),
  /* [628] */ MatcherIndex(29),
  /* [629] */ MatcherIndex(38),
  /* [630] */ MatcherIndex(0),
  /* [631] */ MatcherIndex(1),
  /* [632] */ MatcherIndex(35),
  /* [633] */ MatcherIndex(11),
  /* [634] */ MatcherIndex(26),
  /* [635] */ MatcherIndex(32),
  /* [636] */ MatcherIndex(35),
  /* [637] */ MatcherIndex(29),
  /* [638] */ MatcherIndex(38),
  /* [639] */ MatcherIndex(0),
  /* [640] */ MatcherIndex(1),
  /* [641] */ MatcherIndex(35),
  /* [642] */ MatcherIndex(8),
  /* [643] */ MatcherIndex(23),
  /* [644] */ MatcherIndex(32),
  /* [645] */ MatcherIndex(35),
  /* [646] */ MatcherIndex(29),
  /* [647] */ MatcherIndex(38),
  /* [648] */ MatcherIndex(0),
  /* [649] */ MatcherIndex(1),
  /* [650] */ MatcherIndex(35),
  /* [651] */ MatcherIndex(10),
  /* [652] */ MatcherIndex(23),
  /* [653] */ MatcherIndex(32),
  /* [654] */ MatcherIndex(35),
  /* [655] */ MatcherIndex(29),
  /* [656] */ MatcherIndex(38),
  /* [657] */ MatcherIndex(0),
  /* [658] */ MatcherIndex(1),
  /* [659] */ MatcherIndex(35),
  /* [660] */ MatcherIndex(11),
  /* [661] */ MatcherIndex(23),
  /* [662] */ MatcherIndex(32),
  /* [663] */ MatcherIndex(35),
  /* [664] */ MatcherIndex(29),
  /* [665] */ MatcherIndex(38),
  /* [666] */ MatcherIndex(0),
  /* [667] */ MatcherIndex(1),
  /* [668] */ MatcherIndex(35),
  /* [669] */ MatcherIndex(8),
  /* [670] */ MatcherIndex(23),
  /* [671] */ MatcherIndex(32),
  /* [672] */ MatcherIndex(34),
  /* [673] */ MatcherIndex(29),
  /* [674] */ MatcherIndex(38),
  /* [675] */ MatcherIndex(0),
  /* [676] */ MatcherIndex(1),
  /* [677] */ MatcherIndex(35),
  /* [678] */ MatcherIndex(10),
  /* [679] */ MatcherIndex(23),
  /* [680] */ MatcherIndex(32),
  /* [681] */ MatcherIndex(34),
  /* [682] */ MatcherIndex(29),
  /* [683] */ MatcherIndex(38),
  /* [684] */ MatcherIndex(0),
  /* [685] */ MatcherIndex(1),
  /* [686] */ MatcherIndex(35),
  /* [687] */ MatcherIndex(11),
  /* [688] */ MatcherIndex(23),
  /* [689] */ MatcherIndex(32),
  /* [690] */ MatcherIndex(34),
  /* [691] */ MatcherIndex(29),
  /* [692] */ MatcherIndex(38),
  /* [693] */ MatcherIndex(0),
  /* [694] */ MatcherIndex(1),
  /* [695] */ MatcherIndex(35),
  /* [696] */ MatcherIndex(8),
  /* [697] */ MatcherIndex(24),
  /* [698] */ MatcherIndex(32),
  /* [699] */ MatcherIndex(35),
  /* [700] */ MatcherIndex(29),
  /* [701] */ MatcherIndex(38),
  /* [702] */ MatcherIndex(0),
  /* [703] */ MatcherIndex(1),
  /* [704] */ MatcherIndex(35),
  /* [705] */ MatcherIndex(10),
  /* [706] */ MatcherIndex(24),
  /* [707] */ MatcherIndex(32),
  /* [708] */ MatcherIndex(35),
  /* [709] */ MatcherIndex(29),
  /* [710] */ MatcherIndex(38),
  /* [711] */ MatcherIndex(0),
  /* [712] */ MatcherIndex(1),
  /* [713] */ MatcherIndex(35),
  /* [714] */ MatcherIndex(11),
  /* [715] */ MatcherIndex(24),
  /* [716] */ MatcherIndex(32),
  /* [717] */ MatcherIndex(35),
  /* [718] */ MatcherIndex(29),
  /* [719] */ MatcherIndex(38),
  /* [720] */ MatcherIndex(0),
  /* [721] */ MatcherIndex(1),
  /* [722] */ MatcherIndex(35),
  /* [723] */ MatcherIndex(1),
  /* [724] */ MatcherIndex(27),
  /* [725] */ MatcherIndex(32),
  /* [726] */ MatcherIndex(35),
  /* [727] */ MatcherIndex(29),
  /* [728] */ MatcherIndex(38),
  /* [729] */ MatcherIndex(0),
  /* [730] */ MatcherIndex(3),
  /* [731] */ MatcherIndex(35),
  /* [732] */ MatcherIndex(8),
  /* [733] */ MatcherIndex(22),
  /* [734] */ MatcherIndex(32),
  /* [735] */ MatcherIndex(35),
  /* [736] */ MatcherIndex(29),
  /* [737] */ MatcherIndex(38),
  /* [738] */ MatcherIndex(16),
  /* [739] */ MatcherIndex(21),
  /* [740] */ MatcherIndex(35),
  /* [741] */ MatcherIndex(8),
  /* [742] */ MatcherIndex(26),
  /* [743] */ MatcherIndex(32),
  /* [744] */ MatcherIndex(35),
  /* [745] */ MatcherIndex(29),
  /* [746] */ MatcherIndex(38),
  /* [747] */ MatcherIndex(16),
  /* [748] */ MatcherIndex(21),
  /* [749] */ MatcherIndex(35),
  /* [750] */ MatcherIndex(10),
  /* [751] */ MatcherIndex(22),
  /* [752] */ MatcherIndex(32),
  /* [753] */ MatcherIndex(35),
  /* [754] */ MatcherIndex(29),
  /* [755] */ MatcherIndex(38),
  /* [756] */ MatcherIndex(17),
  /* [757] */ MatcherIndex(21),
  /* [758] */ MatcherIndex(35),
  /* [759] */ MatcherIndex(10),
  /* [760] */ MatcherIndex(26),
  /* [761] */ MatcherIndex(32),
  /* [762] */ MatcherIndex(35),
  /* [763] */ MatcherIndex(29),
  /* [764] */ MatcherIndex(38),
  /* [765] */ MatcherIndex(17),
  /* [766] */ MatcherIndex(21),
  /* [767] */ MatcherIndex(35),
  /* [768] */ MatcherIndex(11),
  /* [769] */ MatcherIndex(22),
  /* [770] */ MatcherIndex(32),
  /* [771] */ MatcherIndex(35),
  /* [772] */ MatcherIndex(29),
  /* [773] */ MatcherIndex(38),
  /* [774] */ MatcherIndex(18),
  /* [775] */ MatcherIndex(21),
  /* [776] */ MatcherIndex(35),
  /* [777] */ MatcherIndex(11),
  /* [778] */ MatcherIndex(26),
  /* [779] */ MatcherIndex(32),
  /* [780] */ MatcherIndex(35),
  /* [781] */ MatcherIndex(29),
  /* [782] */ MatcherIndex(38),
  /* [783] */ MatcherIndex(18),
  /* [784] */ MatcherIndex(21),
  /* [785] */ MatcherIndex(35),
  /* [786] */ MatcherIndex(8),
  /* [787] */ MatcherIndex(23),
  /* [788] */ MatcherIndex(32),
  /* [789] */ MatcherIndex(35),
  /* [790] */ MatcherIndex(29),
  /* [791] */ MatcherIndex(38),
  /* [792] */ MatcherIndex(16),
  /* [793] */ MatcherIndex(21),
  /* [794] */ MatcherIndex(35),
  /* [795] */ MatcherIndex(10),
  /* [796] */ MatcherIndex(23),
  /* [797] */ MatcherIndex(32),
  /* [798] */ MatcherIndex(35),
  /* [799] */ MatcherIndex(29),
  /* [800] */ MatcherIndex(38),
  /* [801] */ MatcherIndex(17),
  /* [802] */ MatcherIndex(21),
  /* [803] */ MatcherIndex(35),
  /* [804] */ MatcherIndex(11),
  /* [805] */ MatcherIndex(23),
  /* [806] */ MatcherIndex(32),
  /* [807] */ MatcherIndex(35),
  /* [808] */ MatcherIndex(29),
  /* [809] */ MatcherIndex(38),
  /* [810] */ MatcherIndex(18),
  /* [811] */ MatcherIndex(21),
  /* [812] */ MatcherIndex(35),
  /* [813] */ MatcherIndex(8),
  /* [814] */ MatcherIndex(23),
  /* [815] */ MatcherIndex(32),
  /* [816] */ MatcherIndex(34),
  /* [817] */ MatcherIndex(29),
  /* [818] */ MatcherIndex(38),
  /* [819] */ MatcherIndex(16),
  /* [820] */ MatcherIndex(21),
  /* [821] */ MatcherIndex(35),
  /* [822] */ MatcherIndex(10),
  /* [823] */ MatcherIndex(23),
  /* [824] */ MatcherIndex(32),
  /* [825] */ MatcherIndex(34),
  /* [826] */ MatcherIndex(29),
  /* [827] */ MatcherIndex(38),
  /* [828] */ MatcherIndex(17),
  /* [829] */ MatcherIndex(21),
  /* [830] */ MatcherIndex(35),
  /* [831] */ MatcherIndex(11),
  /* [832] */ MatcherIndex(23),
  /* [833] */ MatcherIndex(32),
  /* [834] */ MatcherIndex(34),
  /* [835] */ MatcherIndex(29),
  /* [836] */ MatcherIndex(38),
  /* [837] */ MatcherIndex(18),
  /* [838] */ MatcherIndex(21),
  /* [839] */ MatcherIndex(35),
  /* [840] */ MatcherIndex(8),
  /* [841] */ MatcherIndex(24),
  /* [842] */ MatcherIndex(32),
  /* [843] */ MatcherIndex(35),
  /* [844] */ MatcherIndex(29),
  /* [845] */ MatcherIndex(38),
  /* [846] */ MatcherIndex(16),
  /* [847] */ MatcherIndex(21),
  /* [848] */ MatcherIndex(35),
  /* [849] */ MatcherIndex(10),
  /* [850] */ MatcherIndex(24),
  /* [851] */ MatcherIndex(32),
  /* [852] */ MatcherIndex(35),
  /* [853] */ MatcherIndex(29),
  /* [854] */ MatcherIndex(38),
  /* [855] */ MatcherIndex(17),
  /* [856] */ MatcherIndex(21),
  /* [857] */ MatcherIndex(35),
  /* [858] */ MatcherIndex(11),
  /* [859] */ MatcherIndex(24),
  /* [860] */ MatcherIndex(32),
  /* [861] */ MatcherIndex(35),
  /* [862] */ MatcherIndex(29),
  /* [863] */ MatcherIndex(38),
  /* [864] */ MatcherIndex(18),
  /* [865] */ MatcherIndex(21),
  /* [866] */ MatcherIndex(35),
  /* [867] */ MatcherIndex(1),
  /* [868] */ MatcherIndex(22),
  /* [869] */ MatcherIndex(32),
  /* [870] */ MatcherIndex(35),
  /* [871] */ MatcherIndex(29),
  /* [872] */ MatcherIndex(37),
  /* [873] */ MatcherIndex(2),
  /* [874] */ MatcherIndex(20),
  /* [875] */ MatcherIndex(35),
  /* [876] */ MatcherIndex(1),
  /* [877] */ MatcherIndex(23),
  /* [878] */ MatcherIndex(32),
  /* [879] */ MatcherIndex(36),
  /* [880] */ MatcherIndex(29),
  /* [881] */ MatcherIndex(37),
  /* [882] */ MatcherIndex(2),
  /* [883] */ MatcherIndex(20),
  /* [884] */ MatcherIndex(35),
  /* [885] */ MatcherIndex(1),
  /* [886] */ MatcherIndex(24),
  /* [887] */ MatcherIndex(32),
  /* [888] */ MatcherIndex(35),
  /* [889] */ MatcherIndex(29),
  /* [890] */ MatcherIndex(37),
  /* [891] */ MatcherIndex(2),
  /* [892] */ MatcherIndex(20),
  /* [893] */ MatcherIndex(35),
  /* [894] */ MatcherIndex(1),
  /* [895] */ MatcherIndex(25),
  /* [896] */ MatcherIndex(32),
  /* [897] */ MatcherIndex(36),
  /* [898] */ MatcherIndex(29),
  /* [899] */ MatcherIndex(37),
  /* [900] */ MatcherIndex(2),
  /* [901] */ MatcherIndex(20),
  /* [902] */ MatcherIndex(35),
  /* [903] */ MatcherIndex(8),
  /* [904] */ MatcherIndex(23),
  /* [905] */ MatcherIndex(31),
  /* [906] */ MatcherIndex(36),
  /* [907] */ MatcherIndex(29),
  /* [908] */ MatcherIndex(37),
  /* [909] */ MatcherIndex(1),
  /* [910] */ MatcherIndex(20),
  /* [911] */ MatcherIndex(35),
  /* [912] */ MatcherIndex(8),
  /* [913] */ MatcherIndex(25),
  /* [914] */ MatcherIndex(31),
  /* [915] */ MatcherIndex(36),
  /* [916] */ MatcherIndex(29),
  /* [917] */ MatcherIndex(37),
  /* [918] */ MatcherIndex(1),
  /* [919] */ MatcherIndex(20),
  /* [920] */ MatcherIndex(35),
  /* [921] */ MatcherIndex(1),
  /* [922] */ MatcherIndex(22),
  /* [923] */ MatcherIndex(32),
  /* [924] */ MatcherIndex(35),
  /* [925] */ MatcherIndex(29),
  /* [926] */ MatcherIndex(37),
  /* [927] */ MatcherIndex(3),
  /* [928] */ MatcherIndex(20),
  /* [929] */ MatcherIndex(35),
  /* [930] */ MatcherIndex(1),
  /* [931] */ MatcherIndex(23),
  /* [932] */ MatcherIndex(32),
  /* [933] */ MatcherIndex(36),
  /* [934] */ MatcherIndex(29),
  /* [935] */ MatcherIndex(37),
  /* [936] */ MatcherIndex(3),
  /* [937] */ MatcherIndex(20),
  /* [938] */ MatcherIndex(35),
  /* [939] */ MatcherIndex(1),
  /* [940] */ MatcherIndex(24),
  /* [941] */ MatcherIndex(32),
  /* [942] */ MatcherIndex(35),
  /* [943] */ MatcherIndex(29),
  /* [944] */ MatcherIndex(37),
  /* [945] */ MatcherIndex(3),
  /* [946] */ MatcherIndex(20),
  /* [947] */ MatcherIndex(35),
  /* [948] */ MatcherIndex(1),
  /* [949] */ MatcherIndex(25),
  /* [950] */ MatcherIndex(32),
  /* [951] */ MatcherIndex(36),
  /* [952] */ MatcherIndex(29),
  /* [953] */ MatcherIndex(37),
  /* [954] */ MatcherIndex(3),
  /* [955] */ MatcherIndex(20),
  /* [956] */ MatcherIndex(35),
  /* [957] */ MatcherIndex(8),
  /* [958] */ MatcherIndex(23),
  /* [959] */ MatcherIndex(31),
  /* [960] */ MatcherIndex(36),
  /* [961] */ MatcherIndex(29),
  /* [962] */ MatcherIndex(37),
  /* [963] */ MatcherIndex(2),
  /* [964] */ MatcherIndex(20),
  /* [965] */ MatcherIndex(35),
  /* [966] */ MatcherIndex(8),
  /* [967] */ MatcherIndex(25),
  /* [968] */ MatcherIndex(31),
  /* [969] */ MatcherIndex(36),
  /* [970] */ MatcherIndex(29),
  /* [971] */ MatcherIndex(37),
  /* [972] */ MatcherIndex(2),
  /* [973] */ MatcherIndex(20),
  /* [974] */ MatcherIndex(33),
  /* [975] */ MatcherIndex(2),
  /* [976] */ MatcherIndex(27),
  /* [977] */ MatcherIndex(1),
  /* [978] */ MatcherIndex(0),
  /* [979] */ MatcherIndex(21),
  /* [980] */ MatcherIndex(33),
  /* [981] */ MatcherIndex(3),
  /* [982] */ MatcherIndex(27),
  /* [983] */ MatcherIndex(2),
  /* [984] */ MatcherIndex(1),
  /* [985] */ MatcherIndex(21),
  /* [986] */ MatcherIndex(33),
  /* [987] */ MatcherIndex(2),
  /* [988] */ MatcherIndex(29),
  /* [989] */ MatcherIndex(0),
  /* [990] */ MatcherIndex(19),
  /* [991] */ MatcherIndex(33),
  /* [992] */ MatcherIndex(13),
  /* [993] */ MatcherIndex(29),
  /* [994] */ MatcherIndex(12),
  /* [995] */ MatcherIndex(19),
  /* [996] */ MatcherIndex(37),
  /* [997] */ MatcherIndex(1),
  /* [998] */ MatcherIndex(2),
  /* [999] */ MatcherIndex(3),
  /* [1000] */ MatcherIndex(4),
  /* [1001] */ MatcherIndex(37),
  /* [1002] */ MatcherIndex(0),
  /* [1003] */ MatcherIndex(1),
  /* [1004] */ MatcherIndex(2),
  /* [1005] */ MatcherIndex(3),
  /* [1006] */ MatcherIndex(37),
  /* [1007] */ MatcherIndex(41),
  /* [1008] */ MatcherIndex(1),
  /* [1009] */ MatcherIndex(2),
  /* [1010] */ MatcherIndex(3),
  /* [1011] */ MatcherIndex(37),
  /* [1012] */ MatcherIndex(39),
  /* [1013] */ MatcherIndex(0),
  /* [1014] */ MatcherIndex(4),
  /* [1015] */ MatcherIndex(3),
  /* [1016] */ MatcherIndex(37),
  /* [1017] */ MatcherIndex(40),
  /* [1018] */ MatcherIndex(0),
  /* [1019] */ MatcherIndex(2),
  /* [1020] */ MatcherIndex(4),
  /* [1021] */ MatcherIndex(37),
  /* [1022] */ MatcherIndex(0),
  /* [1023] */ MatcherIndex(13),
  /* [1024] */ MatcherIndex(1),
  /* [1025] */ MatcherIndex(2),
  /* [1026] */ MatcherIndex(37),
  /* [1027] */ MatcherIndex(0),
  /* [1028] */ MatcherIndex(14),
  /* [1029] */ MatcherIndex(1),
  /* [1030] */ MatcherIndex(2),
  /* [1031] */ MatcherIndex(33),
  /* [1032] */ MatcherIndex(13),
  /* [1033] */ MatcherIndex(34),
  /* [1034] */ MatcherIndex(1),
  /* [1035] */ MatcherIndex(33),
  /* [1036] */ MatcherIndex(2),
  /* [1037] */ MatcherIndex(0),
  /* [1038] */ MatcherIndex(20),
  /* [1039] */ MatcherIndex(33),
  /* [1040] */ MatcherIndex(2),
  /* [1041] */ MatcherIndex(0),
  /* [1042] */ MatcherIndex(21),
  /* [1043] */ MatcherIndex(28),
  /* [1044] */ MatcherIndex(2),
  /* [1045] */ MatcherIndex(3),
  /* [1046] */ MatcherIndex(0),
  /* [1047] */ MatcherIndex(28),
  /* [1048] */ MatcherIndex(1),
  /* [1049] */ MatcherIndex(3),
  /* [1050] */ MatcherIndex(0),
  /* [1051] */ MatcherIndex(28),
  /* [1052] */ MatcherIndex(2),
  /* [1053] */ MatcherIndex(1),
  /* [1054] */ MatcherIndex(0),
  /* [1055] */ MatcherIndex(28),
  /* [1056] */ MatcherIndex(1),
  /* [1057] */ MatcherIndex(2),
  /* [1058] */ MatcherIndex(0),
  /* [1059] */ MatcherIndex(33),
  /* [1060] */ MatcherIndex(1),
  /* [1061] */ MatcherIndex(0),
  /* [1062] */ MatcherIndex(21),
  /* [1063] */ MatcherIndex(33),
  /* [1064] */ MatcherIndex(2),
  /* [1065] */ MatcherIndex(1),
  /* [1066] */ MatcherIndex(21),
  /* [1067] */ MatcherIndex(33),
  /* [1068] */ MatcherIndex(14),
  /* [1069] */ MatcherIndex(2),
  /* [1070] */ MatcherIndex(20),
  /* [1071] */ MatcherIndex(33),
  /* [1072] */ MatcherIndex(14),
  /* [1073] */ MatcherIndex(10),
  /* [1074] */ MatcherIndex(20),
  /* [1075] */ MatcherIndex(33),
  /* [1076] */ MatcherIndex(14),
  /* [1077] */ MatcherIndex(11),
  /* [1078] */ MatcherIndex(20),
  /* [1079] */ MatcherIndex(33),
  /* [1080] */ MatcherIndex(14),
  /* [1081] */ MatcherIndex(1),
  /* [1082] */ MatcherIndex(21),
  /* [1083] */ MatcherIndex(33),
  /* [1084] */ MatcherIndex(14),
  /* [1085] */ MatcherIndex(10),
  /* [1086] */ MatcherIndex(21),
  /* [1087] */ MatcherIndex(33),
  /* [1088] */ MatcherIndex(14),
  /* [1089] */ MatcherIndex(11),
  /* [1090] */ MatcherIndex(21),
  /* [1091] */ MatcherIndex(27),
  /* [1092] */ MatcherIndex(0),
  /* [1093] */ MatcherIndex(1),
  /* [1094] */ MatcherIndex(27),
  /* [1095] */ MatcherIndex(2),
  /* [1096] */ MatcherIndex(8),
  /* [1097] */ MatcherIndex(27),
  /* [1098] */ MatcherIndex(3),
  /* [1099] */ MatcherIndex(8),
  /* [1100] */ MatcherIndex(27),
  /* [1101] */ MatcherIndex(1),
  /* [1102] */ MatcherIndex(8),
  /* [1103] */ MatcherIndex(27),
  /* [1104] */ MatcherIndex(2),
  /* [1105] */ MatcherIndex(0),
  /* [1106] */ MatcherIndex(27),
  /* [1107] */ MatcherIndex(0),
  /* [1108] */ MatcherIndex(7),
  /* [1109] */ MatcherIndex(27),
  /* [1110] */ MatcherIndex(3),
  /* [1111] */ MatcherIndex(0),
  /* [1112] */ MatcherIndex(27),
  /* [1113] */ MatcherIndex(3),
  /* [1114] */ MatcherIndex(1),
  /* [1115] */ MatcherIndex(27),
  /* [1116] */ MatcherIndex(3),
  /* [1117] */ MatcherIndex(2),
  /* [1118] */ MatcherIndex(27),
  /* [1119] */ MatcherIndex(4),
  /* [1120] */ MatcherIndex(0),
  /* [1121] */ MatcherIndex(27),
  /* [1122] */ MatcherIndex(4),
  /* [1123] */ MatcherIndex(1),
  /* [1124] */ MatcherIndex(27),
  /* [1125] */ MatcherIndex(4),
  /* [1126] */ MatcherIndex(2),
  /* [1127] */ MatcherIndex(27),
  /* [1128] */ MatcherIndex(4),
  /* [1129] */ MatcherIndex(3),
  /* [1130] */ MatcherIndex(27),
  /* [1131] */ MatcherIndex(0),
  /* [1132] */ MatcherIndex(2),
  /* [1133] */ MatcherIndex(27),
  /* [1134] */ MatcherIndex(2),
  /* [1135] */ MatcherIndex(7),
  /* [1136] */ MatcherIndex(17),
  /* [1137] */ MatcherIndex(8),
  /* [1138] */ MatcherIndex(15),
  /* [1139] */ MatcherIndex(8),
  /* [1140] */ MatcherIndex(15),
  /* [1141] */ MatcherIndex(2),
  /* [1142] */ MatcherIndex(16),
  /* [1143] */ MatcherIndex(8),
  /* [1144] */ MatcherIndex(17),
  /* [1145] */ MatcherIndex(0),
  /* [1146] */ MatcherIndex(15),
  /* [1147] */ MatcherIndex(1),
  /* [1148] */ MatcherIndex(16),
  /* [1149] */ MatcherIndex(1),
  /* [1150] */ MatcherIndex(15),
  /* [1151] */ MatcherIndex(0),
  /* [1152] */ MatcherIndex(16),
  /* [1153] */ MatcherIndex(0),
  /* [1154] */ MatcherIndex(17),
  /* [1155] */ MatcherIndex(10),
  /* [1156] */ MatcherIndex(17),
  /* [1157] */ MatcherIndex(11),
  /* [1158] */ MatcherIndex(16),
  /* [1159] */ MatcherIndex(2),
  /* [1160] */ MatcherIndex(17),
  /* [1161] */ MatcherIndex(1),
  /* [1162] */ MatcherIndex(36),
  /* [1163] */ MatcherIndex(0),
  /* [1164] */ MatcherIndex(31),
  /* [1165] */ MatcherIndex(2),
  /* [1166] */ MatcherIndex(18),
  /* [1167] */ MatcherIndex(0),
  /* [1168] */ MatcherIndex(22),
  /* [1169] */ MatcherIndex(0),
  /* [1170] */ MatcherIndex(26),
  /* [1171] */ MatcherIndex(0),
  /* [1172] */ MatcherIndex(45),
  /* [1173] */ MatcherIndex(42),
  /* [1174] */ MatcherIndex(9),
  /* [1175] */ MatcherIndex(44),
  /* [1176] */ MatcherIndex(43),
};

static_assert(MatcherIndicesIndex::CanIndex(kMatcherIndices),
              "MatcherIndicesIndex is not large enough to index kMatcherIndices");

constexpr ParameterInfo kParameters[] = {
  {
    /* [0] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(986),
  },
  {
    /* [1] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [2] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [3] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [4] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [5] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [6] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [7] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [8] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1039),
  },
  {
    /* [9] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [10] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [11] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [12] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [13] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [14] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1164),
  },
  {
    /* [15] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(40),
  },
  {
    /* [16] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1097),
  },
  {
    /* [17] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [18] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [19] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [20] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [21] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(60),
  },
  {
    /* [22] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [23] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [24] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [25] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [26] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [27] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(60),
  },
  {
    /* [28] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [29] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [30] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [31] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [32] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [33] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(200),
  },
  {
    /* [34] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [35] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [36] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [37] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [38] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1148),
  },
  {
    /* [39] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(200),
  },
  {
    /* [40] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [41] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [42] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [43] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [44] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1148),
  },
  {
    /* [45] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(40),
  },
  {
    /* [46] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [47] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [48] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [49] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [50] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [51] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(40),
  },
  {
    /* [52] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [53] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [54] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [55] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [56] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [57] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(270),
  },
  {
    /* [58] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [59] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [60] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [61] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [62] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [63] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(270),
  },
  {
    /* [64] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [65] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [66] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [67] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [68] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [69] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(270),
  },
  {
    /* [70] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1094),
  },
  {
    /* [71] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [72] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [73] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [74] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [75] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(280),
  },
  {
    /* [76] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [77] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [78] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [79] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [80] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [81] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(280),
  },
  {
    /* [82] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [83] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [84] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [85] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [86] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [87] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(0),
  },
  {
    /* [88] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [89] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [90] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [91] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1140),
  },
  {
    /* [92] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(10),
  },
  {
    /* [93] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [94] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [95] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [96] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1140),
  },
  {
    /* [97] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(50),
  },
  {
    /* [98] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [99] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [100] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [101] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1140),
  },
  {
    /* [102] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(70),
  },
  {
    /* [103] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [104] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [105] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [106] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1140),
  },
  {
    /* [107] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(110),
  },
  {
    /* [108] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [109] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [110] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [111] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [112] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(130),
  },
  {
    /* [113] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [114] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [115] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [116] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [117] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(40),
  },
  {
    /* [118] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1097),
  },
  {
    /* [119] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [120] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [121] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [122] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(60),
  },
  {
    /* [123] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [124] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [125] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [126] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [127] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(60),
  },
  {
    /* [128] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [129] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [130] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [131] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [132] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(200),
  },
  {
    /* [133] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [134] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [135] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [136] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1148),
  },
  {
    /* [137] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(200),
  },
  {
    /* [138] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [139] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [140] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [141] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1148),
  },
  {
    /* [142] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(40),
  },
  {
    /* [143] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [144] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [145] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [146] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [147] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(40),
  },
  {
    /* [148] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [149] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [150] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [151] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [152] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(270),
  },
  {
    /* [153] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [154] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [155] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [156] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [157] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(270),
  },
  {
    /* [158] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [159] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [160] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [161] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [162] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(170),
  },
  {
    /* [163] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1094),
  },
  {
    /* [164] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [165] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [166] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [167] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(40),
  },
  {
    /* [168] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1097),
  },
  {
    /* [169] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [170] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [171] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [172] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(180),
  },
  {
    /* [173] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [174] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [175] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [176] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [177] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(180),
  },
  {
    /* [178] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [179] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [180] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [181] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [182] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(60),
  },
  {
    /* [183] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [184] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [185] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [186] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [187] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(60),
  },
  {
    /* [188] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [189] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [190] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [191] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [192] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(190),
  },
  {
    /* [193] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [194] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [195] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [196] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [197] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(190),
  },
  {
    /* [198] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [199] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [200] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [201] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [202] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(200),
  },
  {
    /* [203] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [204] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [205] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [206] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1148),
  },
  {
    /* [207] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(200),
  },
  {
    /* [208] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [209] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [210] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [211] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1148),
  },
  {
    /* [212] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(210),
  },
  {
    /* [213] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [214] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [215] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [216] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [217] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(210),
  },
  {
    /* [218] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [219] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [220] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [221] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [222] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(220),
  },
  {
    /* [223] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [224] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [225] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [226] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [227] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(100),
  },
  {
    /* [228] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1094),
  },
  {
    /* [229] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [230] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [231] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [232] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(120),
  },
  {
    /* [233] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [234] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [235] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [236] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [237] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(120),
  },
  {
    /* [238] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [239] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [240] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [241] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [242] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(170),
  },
  {
    /* [243] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [244] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [245] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [246] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [247] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(170),
  },
  {
    /* [248] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [249] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [250] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [251] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [252] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(40),
  },
  {
    /* [253] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [254] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [255] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [256] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [257] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(40),
  },
  {
    /* [258] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [259] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [260] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [261] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [262] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(100),
  },
  {
    /* [263] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [264] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [265] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [266] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [267] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(100),
  },
  {
    /* [268] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [269] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [270] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [271] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [272] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(0),
  },
  {
    /* [273] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [274] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [275] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [276] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [277] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(0),
  },
  {
    /* [278] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [279] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [280] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [281] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [282] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(270),
  },
  {
    /* [283] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1094),
  },
  {
    /* [284] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [285] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [286] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [287] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(280),
  },
  {
    /* [288] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [289] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [290] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [291] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [292] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(280),
  },
  {
    /* [293] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [294] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [295] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [296] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [297] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(0),
  },
  {
    /* [298] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1100),
  },
  {
    /* [299] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [300] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [301] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [302] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(10),
  },
  {
    /* [303] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [304] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [305] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [306] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [307] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(10),
  },
  {
    /* [308] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [309] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [310] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [311] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [312] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(20),
  },
  {
    /* [313] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [314] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [315] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [316] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [317] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(20),
  },
  {
    /* [318] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [319] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [320] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [321] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [322] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(30),
  },
  {
    /* [323] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [324] */
    /* usage */ core::ParameterUsage::kDref,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [325] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [326] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [327] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1079),
  },
  {
    /* [328] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1001),
  },
  {
    /* [329] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [330] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [331] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [332] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1083),
  },
  {
    /* [333] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1001),
  },
  {
    /* [334] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [335] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [336] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [337] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1087),
  },
  {
    /* [338] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1001),
  },
  {
    /* [339] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [340] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [341] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [342] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(986),
  },
  {
    /* [343] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [344] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [345] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [346] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [347] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [348] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(58),
  },
  {
    /* [349] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1039),
  },
  {
    /* [350] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [351] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [352] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [353] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(991),
  },
  {
    /* [354] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [355] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [356] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(994),
  },
  {
    /* [357] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(317),
  },
  {
    /* [358] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [359] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [360] */
    /* usage */ core::ParameterUsage::kSample,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [361] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(51),
  },
  {
    /* [362] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [363] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [364] */
    /* usage */ core::ParameterUsage::kSample,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [365] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(71),
  },
  {
    /* [366] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1148),
  },
  {
    /* [367] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [368] */
    /* usage */ core::ParameterUsage::kSample,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [369] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(326),
  },
  {
    /* [370] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1148),
  },
  {
    /* [371] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [372] */
    /* usage */ core::ParameterUsage::kSample,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [373] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(335),
  },
  {
    /* [374] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [375] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [376] */
    /* usage */ core::ParameterUsage::kSample,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [377] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(111),
  },
  {
    /* [378] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [379] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [380] */
    /* usage */ core::ParameterUsage::kSample,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [381] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(131),
  },
  {
    /* [382] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1152),
  },
  {
    /* [383] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [384] */
    /* usage */ core::ParameterUsage::kSample,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [385] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(344),
  },
  {
    /* [386] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [387] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [388] */
    /* usage */ core::ParameterUsage::kSample,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [389] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(40),
  },
  {
    /* [390] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [391] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [392] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [393] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(60),
  },
  {
    /* [394] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [395] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [396] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [397] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(80),
  },
  {
    /* [398] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [399] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [400] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [401] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(90),
  },
  {
    /* [402] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [403] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [404] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [405] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(100),
  },
  {
    /* [406] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1138),
  },
  {
    /* [407] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [408] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [409] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(120),
  },
  {
    /* [410] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [411] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [412] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [413] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(140),
  },
  {
    /* [414] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [415] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [416] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [417] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(150),
  },
  {
    /* [418] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [419] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [420] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [421] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(170),
  },
  {
    /* [422] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1094),
  },
  {
    /* [423] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [424] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [425] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(40),
  },
  {
    /* [426] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1097),
  },
  {
    /* [427] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [428] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [429] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(180),
  },
  {
    /* [430] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [431] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [432] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [433] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(180),
  },
  {
    /* [434] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [435] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [436] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [437] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(60),
  },
  {
    /* [438] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [439] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [440] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [441] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(60),
  },
  {
    /* [442] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [443] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [444] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [445] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(190),
  },
  {
    /* [446] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [447] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [448] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [449] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(190),
  },
  {
    /* [450] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [451] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [452] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [453] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(200),
  },
  {
    /* [454] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [455] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [456] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1148),
  },
  {
    /* [457] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(200),
  },
  {
    /* [458] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [459] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [460] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1148),
  },
  {
    /* [461] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(210),
  },
  {
    /* [462] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [463] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [464] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [465] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(210),
  },
  {
    /* [466] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [467] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [468] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [469] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(220),
  },
  {
    /* [470] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [471] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [472] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [473] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(100),
  },
  {
    /* [474] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1094),
  },
  {
    /* [475] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [476] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [477] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(120),
  },
  {
    /* [478] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [479] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [480] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [481] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(120),
  },
  {
    /* [482] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [483] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [484] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [485] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(170),
  },
  {
    /* [486] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [487] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [488] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [489] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(170),
  },
  {
    /* [490] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [491] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [492] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [493] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(40),
  },
  {
    /* [494] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [495] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [496] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [497] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(40),
  },
  {
    /* [498] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [499] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [500] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [501] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(100),
  },
  {
    /* [502] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [503] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [504] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [505] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(100),
  },
  {
    /* [506] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [507] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [508] */
    /* usage */ core::ParameterUsage::kConstOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [509] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(160),
  },
  {
    /* [510] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [511] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [512] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [513] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(170),
  },
  {
    /* [514] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1094),
  },
  {
    /* [515] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [516] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [517] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(180),
  },
  {
    /* [518] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [519] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [520] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [521] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(180),
  },
  {
    /* [522] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [523] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [524] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [525] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(190),
  },
  {
    /* [526] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [527] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [528] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [529] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(190),
  },
  {
    /* [530] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [531] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [532] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [533] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(210),
  },
  {
    /* [534] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [535] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [536] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [537] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(210),
  },
  {
    /* [538] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [539] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [540] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [541] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(220),
  },
  {
    /* [542] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [543] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [544] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [545] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(230),
  },
  {
    /* [546] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1100),
  },
  {
    /* [547] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [548] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [549] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(250),
  },
  {
    /* [550] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [551] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [552] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [553] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(250),
  },
  {
    /* [554] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [555] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [556] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [557] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(240),
  },
  {
    /* [558] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [559] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [560] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [561] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(240),
  },
  {
    /* [562] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [563] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [564] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [565] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(260),
  },
  {
    /* [566] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [567] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [568] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [569] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(170),
  },
  {
    /* [570] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [571] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [572] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [573] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(170),
  },
  {
    /* [574] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [575] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [576] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [577] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(230),
  },
  {
    /* [578] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1142),
  },
  {
    /* [579] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [580] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [581] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(230),
  },
  {
    /* [582] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [583] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [584] */
    /* usage */ core::ParameterUsage::kLod,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(2),
  },
  {
    /* [585] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(731),
  },
  {
    /* [586] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [587] */
    /* usage */ core::ParameterUsage::kTexel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [588] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [589] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(740),
  },
  {
    /* [590] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [591] */
    /* usage */ core::ParameterUsage::kTexel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [592] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [593] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(749),
  },
  {
    /* [594] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [595] */
    /* usage */ core::ParameterUsage::kTexel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1154),
  },
  {
    /* [596] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [597] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(758),
  },
  {
    /* [598] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [599] */
    /* usage */ core::ParameterUsage::kTexel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1154),
  },
  {
    /* [600] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [601] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(767),
  },
  {
    /* [602] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [603] */
    /* usage */ core::ParameterUsage::kTexel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1156),
  },
  {
    /* [604] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [605] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(776),
  },
  {
    /* [606] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [607] */
    /* usage */ core::ParameterUsage::kTexel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1156),
  },
  {
    /* [608] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [609] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(785),
  },
  {
    /* [610] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [611] */
    /* usage */ core::ParameterUsage::kTexel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [612] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [613] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(794),
  },
  {
    /* [614] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [615] */
    /* usage */ core::ParameterUsage::kTexel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1154),
  },
  {
    /* [616] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [617] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(803),
  },
  {
    /* [618] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [619] */
    /* usage */ core::ParameterUsage::kTexel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1156),
  },
  {
    /* [620] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [621] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(812),
  },
  {
    /* [622] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1152),
  },
  {
    /* [623] */
    /* usage */ core::ParameterUsage::kTexel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [624] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [625] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(821),
  },
  {
    /* [626] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1152),
  },
  {
    /* [627] */
    /* usage */ core::ParameterUsage::kTexel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1154),
  },
  {
    /* [628] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [629] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(830),
  },
  {
    /* [630] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1152),
  },
  {
    /* [631] */
    /* usage */ core::ParameterUsage::kTexel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1156),
  },
  {
    /* [632] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [633] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(839),
  },
  {
    /* [634] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1152),
  },
  {
    /* [635] */
    /* usage */ core::ParameterUsage::kTexel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1136),
  },
  {
    /* [636] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [637] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(848),
  },
  {
    /* [638] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1152),
  },
  {
    /* [639] */
    /* usage */ core::ParameterUsage::kTexel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1154),
  },
  {
    /* [640] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [641] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(857),
  },
  {
    /* [642] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1152),
  },
  {
    /* [643] */
    /* usage */ core::ParameterUsage::kTexel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1156),
  },
  {
    /* [644] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [645] */
    /* usage */ core::ParameterUsage::kBase,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [646] */
    /* usage */ core::ParameterUsage::kInsert,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [647] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1012),
  },
  {
    /* [648] */
    /* usage */ core::ParameterUsage::kCount,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1012),
  },
  {
    /* [649] */
    /* usage */ core::ParameterUsage::kBase,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(976),
  },
  {
    /* [650] */
    /* usage */ core::ParameterUsage::kInsert,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(976),
  },
  {
    /* [651] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1012),
  },
  {
    /* [652] */
    /* usage */ core::ParameterUsage::kCount,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1012),
  },
  {
    /* [653] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1067),
  },
  {
    /* [654] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [655] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [656] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [657] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1071),
  },
  {
    /* [658] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [659] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [660] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [661] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1075),
  },
  {
    /* [662] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [663] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [664] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [665] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1011),
  },
  {
    /* [666] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1016),
  },
  {
    /* [667] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1006),
  },
  {
    /* [668] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [669] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1035),
  },
  {
    /* [670] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [671] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [672] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(290),
  },
  {
    /* [673] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [674] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [675] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(41),
  },
  {
    /* [676] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [677] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [678] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [679] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1148),
  },
  {
    /* [680] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [681] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(201),
  },
  {
    /* [682] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1148),
  },
  {
    /* [683] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [684] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(299),
  },
  {
    /* [685] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1146),
  },
  {
    /* [686] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [687] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(101),
  },
  {
    /* [688] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [689] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [690] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(121),
  },
  {
    /* [691] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1152),
  },
  {
    /* [692] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [693] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(308),
  },
  {
    /* [694] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1150),
  },
  {
    /* [695] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [696] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(587),
  },
  {
    /* [697] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [698] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [699] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(596),
  },
  {
    /* [700] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [701] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [702] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(605),
  },
  {
    /* [703] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [704] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [705] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(614),
  },
  {
    /* [706] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [707] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [708] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(623),
  },
  {
    /* [709] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [710] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [711] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(632),
  },
  {
    /* [712] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [713] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [714] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(641),
  },
  {
    /* [715] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1140),
  },
  {
    /* [716] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [717] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(650),
  },
  {
    /* [718] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1140),
  },
  {
    /* [719] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [720] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(659),
  },
  {
    /* [721] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1140),
  },
  {
    /* [722] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [723] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(668),
  },
  {
    /* [724] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1158),
  },
  {
    /* [725] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [726] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(677),
  },
  {
    /* [727] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1158),
  },
  {
    /* [728] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [729] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(686),
  },
  {
    /* [730] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1158),
  },
  {
    /* [731] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [732] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(695),
  },
  {
    /* [733] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1158),
  },
  {
    /* [734] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [735] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(704),
  },
  {
    /* [736] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1158),
  },
  {
    /* [737] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [738] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(713),
  },
  {
    /* [739] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1158),
  },
  {
    /* [740] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [741] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(160),
  },
  {
    /* [742] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1094),
  },
  {
    /* [743] */
    /* usage */ core::ParameterUsage::kImageOperands,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [744] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1108),
  },
  {
    /* [745] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [746] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [747] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1108),
  },
  {
    /* [748] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1091),
  },
  {
    /* [749] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1091),
  },
  {
    /* [750] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1130),
  },
  {
    /* [751] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1106),
  },
  {
    /* [752] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1091),
  },
  {
    /* [753] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1091),
  },
  {
    /* [754] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1121),
  },
  {
    /* [755] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1124),
  },
  {
    /* [756] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1127),
  },
  {
    /* [757] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(976),
  },
  {
    /* [758] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(976),
  },
  {
    /* [759] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [760] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(976),
  },
  {
    /* [761] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(976),
  },
  {
    /* [762] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(976),
  },
  {
    /* [763] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1051),
  },
  {
    /* [764] */
    /* usage */ core::ParameterUsage::kBase,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [765] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1012),
  },
  {
    /* [766] */
    /* usage */ core::ParameterUsage::kCount,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1012),
  },
  {
    /* [767] */
    /* usage */ core::ParameterUsage::kBase,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(976),
  },
  {
    /* [768] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1012),
  },
  {
    /* [769] */
    /* usage */ core::ParameterUsage::kCount,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1012),
  },
  {
    /* [770] */
    /* usage */ core::ParameterUsage::kScope,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [771] */
    /* usage */ core::ParameterUsage::kE,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [772] */
    /* usage */ core::ParameterUsage::kId,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [773] */
    /* usage */ core::ParameterUsage::kScope,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [774] */
    /* usage */ core::ParameterUsage::kE,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1091),
  },
  {
    /* [775] */
    /* usage */ core::ParameterUsage::kId,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [776] */
    /* usage */ core::ParameterUsage::kScope,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [777] */
    /* usage */ core::ParameterUsage::kE,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [778] */
    /* usage */ core::ParameterUsage::kDir,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [779] */
    /* usage */ core::ParameterUsage::kScope,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [780] */
    /* usage */ core::ParameterUsage::kE,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1091),
  },
  {
    /* [781] */
    /* usage */ core::ParameterUsage::kDir,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [782] */
    /* usage */ core::ParameterUsage::kScope,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [783] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [784] */
    /* usage */ core::ParameterUsage::kId,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [785] */
    /* usage */ core::ParameterUsage::kScope,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [786] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1091),
  },
  {
    /* [787] */
    /* usage */ core::ParameterUsage::kId,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [788] */
    /* usage */ core::ParameterUsage::kScope,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [789] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [790] */
    /* usage */ core::ParameterUsage::kMask,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [791] */
    /* usage */ core::ParameterUsage::kScope,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [792] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1091),
  },
  {
    /* [793] */
    /* usage */ core::ParameterUsage::kMask,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [794] */
    /* usage */ core::ParameterUsage::kScope,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [795] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [796] */
    /* usage */ core::ParameterUsage::kDelta,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [797] */
    /* usage */ core::ParameterUsage::kScope,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [798] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1091),
  },
  {
    /* [799] */
    /* usage */ core::ParameterUsage::kDelta,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [800] */
    /* usage */ core::ParameterUsage::kScope,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [801] */
    /* usage */ core::ParameterUsage::kGroupOperation,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [802] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [803] */
    /* usage */ core::ParameterUsage::kScope,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [804] */
    /* usage */ core::ParameterUsage::kGroupOperation,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(624),
  },
  {
    /* [805] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1091),
  },
  {
    /* [806] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1031),
  },
  {
    /* [807] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [808] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(470),
  },
  {
    /* [809] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [810] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(479),
  },
  {
    /* [811] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [812] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(488),
  },
  {
    /* [813] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [814] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(497),
  },
  {
    /* [815] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [816] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(506),
  },
  {
    /* [817] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [818] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(515),
  },
  {
    /* [819] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [820] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(524),
  },
  {
    /* [821] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [822] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(533),
  },
  {
    /* [823] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [824] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(542),
  },
  {
    /* [825] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [826] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(551),
  },
  {
    /* [827] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [828] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(560),
  },
  {
    /* [829] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(108),
  },
  {
    /* [830] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(722),
  },
  {
    /* [831] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1140),
  },
  {
    /* [832] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1047),
  },
  {
    /* [833] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1051),
  },
  {
    /* [834] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1055),
  },
  {
    /* [835] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [836] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1055),
  },
  {
    /* [837] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(976),
  },
  {
    /* [838] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1103),
  },
  {
    /* [839] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(982),
  },
  {
    /* [840] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1112),
  },
  {
    /* [841] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1115),
  },
  {
    /* [842] */
    /* usage */ core::ParameterUsage::kX,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [843] */
    /* usage */ core::ParameterUsage::kI,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1059),
  },
  {
    /* [844] */
    /* usage */ core::ParameterUsage::kX,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(976),
  },
  {
    /* [845] */
    /* usage */ core::ParameterUsage::kI,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(974),
  },
  {
    /* [846] */
    /* usage */ core::ParameterUsage::kX,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(8),
  },
  {
    /* [847] */
    /* usage */ core::ParameterUsage::kI,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1063),
  },
  {
    /* [848] */
    /* usage */ core::ParameterUsage::kX,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1103),
  },
  {
    /* [849] */
    /* usage */ core::ParameterUsage::kI,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(980),
  },
  {
    /* [850] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1001),
  },
  {
    /* [851] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1001),
  },
  {
    /* [852] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1021),
  },
  {
    /* [853] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1021),
  },
  {
    /* [854] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1026),
  },
  {
    /* [855] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1026),
  },
  {
    /* [856] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(353),
  },
  {
    /* [857] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(362),
  },
  {
    /* [858] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(371),
  },
  {
    /* [859] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(380),
  },
  {
    /* [860] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(389),
  },
  {
    /* [861] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(398),
  },
  {
    /* [862] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(407),
  },
  {
    /* [863] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(416),
  },
  {
    /* [864] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(425),
  },
  {
    /* [865] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(434),
  },
  {
    /* [866] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(443),
  },
  {
    /* [867] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(452),
  },
  {
    /* [868] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(461),
  },
  {
    /* [869] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(569),
  },
  {
    /* [870] */
    /* usage */ core::ParameterUsage::kImage,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(578),
  },
  {
    /* [871] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1162),
  },
  {
    /* [872] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1166),
  },
  {
    /* [873] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1168),
  },
  {
    /* [874] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(1170),
  },
};

static_assert(ParameterIndex::CanIndex(kParameters),
              "ParameterIndex is not large enough to index kParameters");

constexpr TemplateInfo kTemplates[] = {
  {
    /* [0] */
    /* name */ "Z",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [1] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [2] */
    /* name */ "D",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [3] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [4] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [5] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [6] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [7] */
    /* name */ "Z",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [8] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [9] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [10] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(359),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [11] */
    /* name */ "U",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [12] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [13] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [14] */
    /* name */ "L",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [15] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [16] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [17] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [18] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [19] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [20] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [21] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [22] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [23] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [24] */
    /* name */ "L",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [25] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [26] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [27] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [28] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [29] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [30] */
    /* name */ "U",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [31] */
    /* name */ "V",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [32] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [33] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1173),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [34] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(996),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [35] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [36] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(1007),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [37] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [38] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [39] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(996),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [40] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [41] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(992),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [42] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [43] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [44] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(996),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [45] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [46] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(1028),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [47] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [48] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [49] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1174),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [50] */
    /* name */ "TR",
    /* matcher_indices */ MatcherIndicesIndex(359),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [51] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [52] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [53] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [54] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1007),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [55] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [56] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [57] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(2),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [58] */
    /* name */ "TR",
    /* matcher_indices */ MatcherIndicesIndex(2),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [59] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [60] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [61] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [62] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [63] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [64] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [65] */
    /* name */ "TR",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [66] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [67] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [68] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [69] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1175),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [70] */
    /* name */ "TR",
    /* matcher_indices */ MatcherIndicesIndex(1176),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [71] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [72] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [73] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [74] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [75] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [76] */
    /* name */ "Z",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [77] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [78] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [79] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [80] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(9),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [81] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [82] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [83] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [84] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [85] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [86] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [87] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [88] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [89] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [90] */
    /* name */ "Z",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [91] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [92] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [93] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [94] */
    /* name */ "U",
    /* matcher_indices */ MatcherIndicesIndex(624),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [95] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(1028),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [96] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(920),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [97] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [98] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(1172),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [99] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [100] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(920),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [101] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(2),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [102] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(994),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [103] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [104] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(929),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [105] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [106] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(1172),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [107] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [108] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(929),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [109] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(2),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [110] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(994),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [111] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [112] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(938),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [113] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [114] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(1172),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [115] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [116] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(938),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [117] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(2),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [118] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(994),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [119] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [120] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(947),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [121] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [122] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(1172),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [123] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [124] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(947),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [125] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(2),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [126] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(994),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [127] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [128] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(359),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [129] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [130] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [131] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [132] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [133] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [134] */
    /* name */ "U",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [135] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [136] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(359),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [137] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [138] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [139] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(1138),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [140] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [141] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [142] */
    /* name */ "B",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [143] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [144] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [145] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [146] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [147] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [148] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [149] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [150] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [151] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(738),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [152] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(9),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [153] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [154] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(756),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [155] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(9),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [156] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [157] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(774),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [158] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(9),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [159] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [160] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [161] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [162] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [163] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(866),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [164] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [165] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [166] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(875),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [167] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [168] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [169] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(884),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [170] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [171] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [172] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(893),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [173] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1017),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [174] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [175] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(956),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [176] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(1172),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [177] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [178] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(965),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [179] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(1172),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [180] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [181] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(359),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [182] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [183] */
    /* name */ "M",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [184] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [185] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [186] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [187] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(359),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [188] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [189] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(1138),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [190] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(359),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [191] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [192] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(1138),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [193] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [194] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(359),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [195] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [196] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(359),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [197] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [198] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [199] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [200] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(1012),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [201] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [202] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(624),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [203] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [204] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(902),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [205] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [206] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(911),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [207] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [208] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(359),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [209] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(1138),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [210] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(992),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [211] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(606),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [212] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(1028),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [213] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(624),
    /* kind */ TemplateInfo::Kind::kType,
  },
};

static_assert(TemplateIndex::CanIndex(kTemplates),
              "TemplateIndex is not large enough to index kTemplates");

constexpr OverloadInfo kOverloads[] = {
  {
    /* [0] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(509),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [1] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(741),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [2] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(162),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [3] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(421),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [4] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(117),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [5] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(425),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [6] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(172),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [7] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(177),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [8] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(429),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [9] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(433),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [10] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(437),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [11] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(441),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [12] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(122),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [13] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(127),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [14] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(192),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [15] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(197),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [16] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(445),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [17] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(449),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [18] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(132),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [19] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(137),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [20] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(453),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [21] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(457),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [22] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(212),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [23] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(217),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [24] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(461),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [25] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(465),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [26] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(222),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [27] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(469),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [28] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(8),
    /* parameters */ ParameterIndex(545),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [29] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(473),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [30] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(557),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [31] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(561),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [32] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(549),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [33] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(553),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [34] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(477),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [35] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(481),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [36] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(565),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [37] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(509),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [38] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(513),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [39] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(162),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [40] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(167),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [41] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(15),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [42] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(517),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [43] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(521),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [44] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(172),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [45] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(177),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [46] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(182),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [47] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(187),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [48] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(21),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [49] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(27),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [50] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(525),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [51] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(529),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [52] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(192),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [53] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(197),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [54] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(202),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [55] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(207),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [56] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(33),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [57] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(39),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [58] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(533),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [59] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(537),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [60] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(212),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [61] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(217),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [62] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(541),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [63] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(222),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [64] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(8),
    /* parameters */ ParameterIndex(545),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [65] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(227),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [66] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(549),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [67] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(553),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [68] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(232),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [69] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(237),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [70] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(557),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [71] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(561),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [72] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(565),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [73] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(741),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [74] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(242),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [75] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(247),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [76] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(485),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [77] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(489),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [78] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(142),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [79] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(147),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [80] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(493),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [81] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(497),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [82] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(197),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [83] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(449),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [84] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(137),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [85] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(457),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [86] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(577),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [87] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(581),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [88] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(501),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [89] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(505),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [90] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(569),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [91] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(573),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [92] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(242),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [93] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(247),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [94] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(252),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [95] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(257),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [96] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(45),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [97] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(51),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [98] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(529),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [99] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(197),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [100] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(207),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [101] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(39),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [102] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(537),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [103] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(577),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [104] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(581),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [105] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(262),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [106] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(267),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [107] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(144),
    /* parameters */ ParameterIndex(672),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [108] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(144),
    /* parameters */ ParameterIndex(675),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [109] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(144),
    /* parameters */ ParameterIndex(678),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [110] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(144),
    /* parameters */ ParameterIndex(681),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [111] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(144),
    /* parameters */ ParameterIndex(684),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [112] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(687),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [113] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(690),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [114] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(693),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [115] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(74),
    /* parameters */ ParameterIndex(357),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [116] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(74),
    /* parameters */ ParameterIndex(361),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [117] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(74),
    /* parameters */ ParameterIndex(365),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [118] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(74),
    /* parameters */ ParameterIndex(369),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [119] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(74),
    /* parameters */ ParameterIndex(373),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [120] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(75),
    /* parameters */ ParameterIndex(377),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [121] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(75),
    /* parameters */ ParameterIndex(381),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [122] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(75),
    /* parameters */ ParameterIndex(385),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [123] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(151),
    /* parameters */ ParameterIndex(696),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [124] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(151),
    /* parameters */ ParameterIndex(699),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [125] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(154),
    /* parameters */ ParameterIndex(702),
    /* return_matcher_indices */ MatcherIndicesIndex(1154),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [126] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(154),
    /* parameters */ ParameterIndex(705),
    /* return_matcher_indices */ MatcherIndicesIndex(1154),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [127] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(157),
    /* parameters */ ParameterIndex(708),
    /* return_matcher_indices */ MatcherIndicesIndex(1156),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [128] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(157),
    /* parameters */ ParameterIndex(711),
    /* return_matcher_indices */ MatcherIndicesIndex(1156),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [129] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(151),
    /* parameters */ ParameterIndex(714),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [130] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(154),
    /* parameters */ ParameterIndex(717),
    /* return_matcher_indices */ MatcherIndicesIndex(1154),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [131] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(157),
    /* parameters */ ParameterIndex(720),
    /* return_matcher_indices */ MatcherIndicesIndex(1156),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [132] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(151),
    /* parameters */ ParameterIndex(723),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [133] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(154),
    /* parameters */ ParameterIndex(726),
    /* return_matcher_indices */ MatcherIndicesIndex(1154),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [134] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(157),
    /* parameters */ ParameterIndex(729),
    /* return_matcher_indices */ MatcherIndicesIndex(1156),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [135] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(151),
    /* parameters */ ParameterIndex(732),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [136] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(154),
    /* parameters */ ParameterIndex(735),
    /* return_matcher_indices */ MatcherIndicesIndex(1154),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [137] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(157),
    /* parameters */ ParameterIndex(738),
    /* return_matcher_indices */ MatcherIndicesIndex(1156),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [138] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(77),
    /* parameters */ ParameterIndex(830),
    /* return_matcher_indices */ MatcherIndicesIndex(1160),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [139] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(585),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [140] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(589),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [141] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(593),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [142] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(597),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [143] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(601),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [144] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(605),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [145] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(609),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [146] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(613),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [147] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(617),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [148] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(621),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [149] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(625),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [150] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(629),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [151] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(633),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [152] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(637),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [153] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(641),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [154] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(81),
    /* parameters */ ParameterIndex(856),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [155] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(81),
    /* parameters */ ParameterIndex(857),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [156] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(81),
    /* parameters */ ParameterIndex(858),
    /* return_matcher_indices */ MatcherIndicesIndex(1150),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [157] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(81),
    /* parameters */ ParameterIndex(859),
    /* return_matcher_indices */ MatcherIndicesIndex(1152),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [158] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(81),
    /* parameters */ ParameterIndex(860),
    /* return_matcher_indices */ MatcherIndicesIndex(1152),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [159] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(81),
    /* parameters */ ParameterIndex(861),
    /* return_matcher_indices */ MatcherIndicesIndex(1150),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [160] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(81),
    /* parameters */ ParameterIndex(862),
    /* return_matcher_indices */ MatcherIndicesIndex(1152),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [161] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(18),
    /* parameters */ ParameterIndex(863),
    /* return_matcher_indices */ MatcherIndicesIndex(1150),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [162] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(148),
    /* parameters */ ParameterIndex(864),
    /* return_matcher_indices */ MatcherIndicesIndex(1150),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [163] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(148),
    /* parameters */ ParameterIndex(865),
    /* return_matcher_indices */ MatcherIndicesIndex(1152),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [164] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(148),
    /* parameters */ ParameterIndex(866),
    /* return_matcher_indices */ MatcherIndicesIndex(1150),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [165] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(148),
    /* parameters */ ParameterIndex(867),
    /* return_matcher_indices */ MatcherIndicesIndex(1152),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [166] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(85),
    /* parameters */ ParameterIndex(868),
    /* return_matcher_indices */ MatcherIndicesIndex(1150),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [167] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(144),
    /* parameters */ ParameterIndex(389),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [168] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(74),
    /* parameters */ ParameterIndex(97),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [169] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(144),
    /* parameters */ ParameterIndex(393),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [170] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(74),
    /* parameters */ ParameterIndex(102),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [171] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(144),
    /* parameters */ ParameterIndex(397),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [172] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(144),
    /* parameters */ ParameterIndex(401),
    /* return_matcher_indices */ MatcherIndicesIndex(1144),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [173] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(405),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [174] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(75),
    /* parameters */ ParameterIndex(107),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [175] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(409),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [176] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(75),
    /* parameters */ ParameterIndex(112),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [177] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(413),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [178] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(417),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [179] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 6,
    /* templates */ TemplateIndex(12),
    /* parameters */ ParameterIndex(808),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [180] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 6,
    /* templates */ TemplateIndex(12),
    /* parameters */ ParameterIndex(810),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [181] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 6,
    /* templates */ TemplateIndex(12),
    /* parameters */ ParameterIndex(812),
    /* return_matcher_indices */ MatcherIndicesIndex(1150),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [182] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 6,
    /* templates */ TemplateIndex(12),
    /* parameters */ ParameterIndex(814),
    /* return_matcher_indices */ MatcherIndicesIndex(1152),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [183] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 6,
    /* templates */ TemplateIndex(12),
    /* parameters */ ParameterIndex(816),
    /* return_matcher_indices */ MatcherIndicesIndex(1152),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [184] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 6,
    /* templates */ TemplateIndex(12),
    /* parameters */ ParameterIndex(818),
    /* return_matcher_indices */ MatcherIndicesIndex(1150),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [185] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 6,
    /* templates */ TemplateIndex(12),
    /* parameters */ ParameterIndex(820),
    /* return_matcher_indices */ MatcherIndicesIndex(1152),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [186] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(23),
    /* parameters */ ParameterIndex(822),
    /* return_matcher_indices */ MatcherIndicesIndex(1150),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [187] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(23),
    /* parameters */ ParameterIndex(824),
    /* return_matcher_indices */ MatcherIndicesIndex(1152),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [188] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(23),
    /* parameters */ ParameterIndex(826),
    /* return_matcher_indices */ MatcherIndicesIndex(1150),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [189] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(23),
    /* parameters */ ParameterIndex(828),
    /* return_matcher_indices */ MatcherIndicesIndex(1152),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [190] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(96),
    /* parameters */ ParameterIndex(6),
    /* return_matcher_indices */ MatcherIndicesIndex(1162),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [191] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(100),
    /* parameters */ ParameterIndex(13),
    /* return_matcher_indices */ MatcherIndicesIndex(1162),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [192] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(104),
    /* parameters */ ParameterIndex(6),
    /* return_matcher_indices */ MatcherIndicesIndex(1162),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [193] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(108),
    /* parameters */ ParameterIndex(13),
    /* return_matcher_indices */ MatcherIndicesIndex(1162),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [194] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(112),
    /* parameters */ ParameterIndex(6),
    /* return_matcher_indices */ MatcherIndicesIndex(1162),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [195] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(116),
    /* parameters */ ParameterIndex(13),
    /* return_matcher_indices */ MatcherIndicesIndex(1162),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [196] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(120),
    /* parameters */ ParameterIndex(6),
    /* return_matcher_indices */ MatcherIndicesIndex(1162),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [197] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(124),
    /* parameters */ ParameterIndex(13),
    /* return_matcher_indices */ MatcherIndicesIndex(1162),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [198] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(175),
    /* parameters */ ParameterIndex(345),
    /* return_matcher_indices */ MatcherIndicesIndex(1162),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [199] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(178),
    /* parameters */ ParameterIndex(345),
    /* return_matcher_indices */ MatcherIndicesIndex(1162),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [200] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(8),
    /* parameters */ ParameterIndex(297),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [201] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(282),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [202] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(92),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [203] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(307),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [204] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(287),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [205] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(292),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [206] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(312),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [207] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(317),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [208] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(322),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [209] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(8),
    /* parameters */ ParameterIndex(297),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [210] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(69),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [211] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(302),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [212] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(307),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [213] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(75),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [214] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(81),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [215] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(312),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [216] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(317),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [217] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(322),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [218] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(87),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [219] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(87),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [220] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(92),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [221] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(92),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [222] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(312),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [223] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(322),
    /* return_matcher_indices */ MatcherIndicesIndex(1136),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [224] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(163),
    /* parameters */ ParameterIndex(871),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [225] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(166),
    /* parameters */ ParameterIndex(871),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [226] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(169),
    /* parameters */ ParameterIndex(871),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [227] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(172),
    /* parameters */ ParameterIndex(871),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [228] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(204),
    /* parameters */ ParameterIndex(871),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [229] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(206),
    /* parameters */ ParameterIndex(871),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [230] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(272),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [231] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(277),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [232] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(152),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [233] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(157),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [234] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(272),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [235] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(5),
    /* parameters */ ParameterIndex(277),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [236] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(57),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [237] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(7),
    /* parameters */ ParameterIndex(63),
    /* return_matcher_indices */ MatcherIndicesIndex(2),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [238] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(49),
    /* parameters */ ParameterIndex(665),
    /* return_matcher_indices */ MatcherIndicesIndex(1006),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [239] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(57),
    /* parameters */ ParameterIndex(665),
    /* return_matcher_indices */ MatcherIndicesIndex(1006),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [240] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(64),
    /* parameters */ ParameterIndex(665),
    /* return_matcher_indices */ MatcherIndicesIndex(1006),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [241] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(69),
    /* parameters */ ParameterIndex(665),
    /* return_matcher_indices */ MatcherIndicesIndex(1006),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [242] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(93),
    /* parameters */ ParameterIndex(342),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [243] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(93),
    /* parameters */ ParameterIndex(349),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [244] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(353),
    /* return_matcher_indices */ MatcherIndicesIndex(994),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [245] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(33),
    /* parameters */ ParameterIndex(744),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [246] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(32),
    /* parameters */ ParameterIndex(747),
    /* return_matcher_indices */ MatcherIndicesIndex(1091),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [247] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(32),
    /* parameters */ ParameterIndex(751),
    /* return_matcher_indices */ MatcherIndicesIndex(1091),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [248] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(10),
    /* parameters */ ParameterIndex(872),
    /* return_matcher_indices */ MatcherIndicesIndex(1166),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [249] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(10),
    /* parameters */ ParameterIndex(873),
    /* return_matcher_indices */ MatcherIndicesIndex(1168),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [250] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(10),
    /* parameters */ ParameterIndex(874),
    /* return_matcher_indices */ MatcherIndicesIndex(1170),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [251] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(34),
    /* parameters */ ParameterIndex(653),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [252] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(39),
    /* parameters */ ParameterIndex(657),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [253] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(44),
    /* parameters */ ParameterIndex(661),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [254] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(35),
    /* parameters */ ParameterIndex(327),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [255] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(40),
    /* parameters */ ParameterIndex(332),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [256] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(45),
    /* parameters */ ParameterIndex(337),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [257] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(53),
    /* parameters */ ParameterIndex(850),
    /* return_matcher_indices */ MatcherIndicesIndex(1001),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [258] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(61),
    /* parameters */ ParameterIndex(852),
    /* return_matcher_indices */ MatcherIndicesIndex(1021),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [259] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(61),
    /* parameters */ ParameterIndex(854),
    /* return_matcher_indices */ MatcherIndicesIndex(1026),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [260] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(93),
    /* parameters */ ParameterIndex(0),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [261] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(93),
    /* parameters */ ParameterIndex(669),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [262] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(93),
    /* parameters */ ParameterIndex(342),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [263] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(93),
    /* parameters */ ParameterIndex(349),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [264] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(93),
    /* parameters */ ParameterIndex(0),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [265] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(93),
    /* parameters */ ParameterIndex(8),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [266] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(10),
    /* parameters */ ParameterIndex(4),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [267] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(9),
    /* parameters */ ParameterIndex(748),
    /* return_matcher_indices */ MatcherIndicesIndex(1091),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [268] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(28),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [269] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(184),
    /* parameters */ ParameterIndex(839),
    /* return_matcher_indices */ MatcherIndicesIndex(1103),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [270] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(28),
    /* parameters */ ParameterIndex(346),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [271] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(132),
    /* parameters */ ParameterIndex(840),
    /* return_matcher_indices */ MatcherIndicesIndex(1109),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [272] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(28),
    /* parameters */ ParameterIndex(346),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [273] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(28),
    /* parameters */ ParameterIndex(754),
    /* return_matcher_indices */ MatcherIndicesIndex(1118),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [274] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(10),
    /* parameters */ ParameterIndex(4),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [275] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(181),
    /* parameters */ ParameterIndex(757),
    /* return_matcher_indices */ MatcherIndicesIndex(976),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [276] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(10),
    /* parameters */ ParameterIndex(4),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [277] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(181),
    /* parameters */ ParameterIndex(757),
    /* return_matcher_indices */ MatcherIndicesIndex(976),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [278] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(10),
    /* parameters */ ParameterIndex(4),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [279] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(181),
    /* parameters */ ParameterIndex(760),
    /* return_matcher_indices */ MatcherIndicesIndex(976),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [280] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(10),
    /* parameters */ ParameterIndex(345),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [281] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(9),
    /* parameters */ ParameterIndex(749),
    /* return_matcher_indices */ MatcherIndicesIndex(1091),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [282] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(208),
    /* parameters */ ParameterIndex(842),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [283] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(187),
    /* parameters */ ParameterIndex(844),
    /* return_matcher_indices */ MatcherIndicesIndex(976),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [284] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(190),
    /* parameters */ ParameterIndex(846),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [285] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(136),
    /* parameters */ ParameterIndex(848),
    /* return_matcher_indices */ MatcherIndicesIndex(1103),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [286] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(29),
    /* parameters */ ParameterIndex(645),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [287] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(185),
    /* parameters */ ParameterIndex(649),
    /* return_matcher_indices */ MatcherIndicesIndex(976),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [288] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(29),
    /* parameters */ ParameterIndex(764),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [289] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(185),
    /* parameters */ ParameterIndex(767),
    /* return_matcher_indices */ MatcherIndicesIndex(976),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [290] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(140),
    /* parameters */ ParameterIndex(346),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [291] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(140),
    /* parameters */ ParameterIndex(840),
    /* return_matcher_indices */ MatcherIndicesIndex(1109),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [292] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(141),
    /* parameters */ ParameterIndex(345),
    /* return_matcher_indices */ MatcherIndicesIndex(1108),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [293] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(141),
    /* parameters */ ParameterIndex(838),
    /* return_matcher_indices */ MatcherIndicesIndex(1133),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [294] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(193),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [295] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(193),
    /* parameters */ ParameterIndex(839),
    /* return_matcher_indices */ MatcherIndicesIndex(1103),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [296] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(196),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [297] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(196),
    /* parameters */ ParameterIndex(839),
    /* return_matcher_indices */ MatcherIndicesIndex(1103),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [298] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(140),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [299] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(199),
    /* parameters */ ParameterIndex(839),
    /* return_matcher_indices */ MatcherIndicesIndex(1103),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [300] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(33),
    /* parameters */ ParameterIndex(770),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [301] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(32),
    /* parameters */ ParameterIndex(773),
    /* return_matcher_indices */ MatcherIndicesIndex(1091),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [302] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(33),
    /* parameters */ ParameterIndex(782),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [303] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(32),
    /* parameters */ ParameterIndex(785),
    /* return_matcher_indices */ MatcherIndicesIndex(1091),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [304] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(33),
    /* parameters */ ParameterIndex(776),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [305] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(32),
    /* parameters */ ParameterIndex(779),
    /* return_matcher_indices */ MatcherIndicesIndex(1091),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [306] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(33),
    /* parameters */ ParameterIndex(782),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [307] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(32),
    /* parameters */ ParameterIndex(785),
    /* return_matcher_indices */ MatcherIndicesIndex(1091),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [308] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(33),
    /* parameters */ ParameterIndex(788),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [309] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(32),
    /* parameters */ ParameterIndex(791),
    /* return_matcher_indices */ MatcherIndicesIndex(1091),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [310] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(33),
    /* parameters */ ParameterIndex(794),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [311] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(32),
    /* parameters */ ParameterIndex(797),
    /* return_matcher_indices */ MatcherIndicesIndex(1091),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [312] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(29),
    /* parameters */ ParameterIndex(800),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [313] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(92),
    /* parameters */ ParameterIndex(803),
    /* return_matcher_indices */ MatcherIndicesIndex(1091),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [314] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(202),
    /* parameters */ ParameterIndex(806),
    /* return_matcher_indices */ MatcherIndicesIndex(624),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [315] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(93),
    /* parameters */ ParameterIndex(8),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [316] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(9),
    /* parameters */ ParameterIndex(748),
    /* return_matcher_indices */ MatcherIndicesIndex(108),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [317] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 7,
    /* templates */ TemplateIndex(0),
    /* parameters */ ParameterIndex(869),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [318] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 7,
    /* templates */ TemplateIndex(0),
    /* parameters */ ParameterIndex(870),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [319] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(128),
    /* parameters */ ParameterIndex(832),
    /* return_matcher_indices */ MatcherIndicesIndex(1043),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [320] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(181),
    /* parameters */ ParameterIndex(834),
    /* return_matcher_indices */ MatcherIndicesIndex(1055),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [321] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(181),
    /* parameters */ ParameterIndex(836),
    /* return_matcher_indices */ MatcherIndicesIndex(1103),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [322] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(181),
    /* parameters */ ParameterIndex(762),
    /* return_matcher_indices */ MatcherIndicesIndex(1103),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [323] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(181),
    /* parameters */ ParameterIndex(758),
    /* return_matcher_indices */ MatcherIndicesIndex(976),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [324] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(210),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [325] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(212),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(8),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [326] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(181),
    /* parameters */ ParameterIndex(837),
    /* return_matcher_indices */ MatcherIndicesIndex(1051),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [327] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(329),
    /* return_matcher_indices */ MatcherIndicesIndex(606),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [328] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(329),
    /* return_matcher_indices */ MatcherIndicesIndex(624),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
};

static_assert(OverloadIndex::CanIndex(kOverloads),
              "OverloadIndex is not large enough to index kOverloads");

constexpr IntrinsicInfo kBuiltins[] = {
  {
    /* [0] */
    /* fn array_length[I : u32, A : access](ptr<storage, struct_with_runtime_array, A>, I) -> u32 */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(314),
  },
  {
    /* [1] */
    /* fn atomic_load[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, U, U) -> T */
    /* fn atomic_load[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, T, readable>, U, U) -> T */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(260),
  },
  {
    /* [2] */
    /* fn atomic_store[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, U, U, T) */
    /* fn atomic_store[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, T, writable>, U, U, T) */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(262),
  },
  {
    /* [3] */
    /* fn atomic_exchange[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, U, U, T) -> T */
    /* fn atomic_exchange[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, T, writable>, U, U, T) -> T */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(242),
  },
  {
    /* [4] */
    /* fn atomic_compare_exchange[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, U, U, U, T, T) -> T */
    /* fn atomic_compare_exchange[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, T, writable>, U, U, U, T, T) -> T */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(264),
  },
  {
    /* [5] */
    /* fn atomic_i_add[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, U, U, T) -> T */
    /* fn atomic_i_add[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, T, writable>, U, U, T) -> T */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(242),
  },
  {
    /* [6] */
    /* fn atomic_i_sub[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, U, U, T) -> T */
    /* fn atomic_i_sub[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, T, writable>, U, U, T) -> T */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(242),
  },
  {
    /* [7] */
    /* fn atomic_s_max[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, U, U, T) -> T */
    /* fn atomic_s_max[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, T, writable>, U, U, T) -> T */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(242),
  },
  {
    /* [8] */
    /* fn atomic_s_min[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, U, U, T) -> T */
    /* fn atomic_s_min[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, T, writable>, U, U, T) -> T */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(242),
  },
  {
    /* [9] */
    /* fn atomic_u_max[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, U, U, T) -> T */
    /* fn atomic_u_max[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, T, writable>, U, U, T) -> T */
    /* fn atomic_u_max(ptr<storage, atomic<u64>, read_write>, u32, u32, u64) -> u64 */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(242),
  },
  {
    /* [10] */
    /* fn atomic_u_min[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, U, U, T) -> T */
    /* fn atomic_u_min[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, T, writable>, U, U, T) -> T */
    /* fn atomic_u_min(ptr<storage, atomic<u64>, read_write>, u32, u32, u64) -> u64 */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(242),
  },
  {
    /* [11] */
    /* fn atomic_and[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, U, U, T) -> T */
    /* fn atomic_and[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, T, writable>, U, U, T) -> T */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(242),
  },
  {
    /* [12] */
    /* fn atomic_or[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, U, U, T) -> T */
    /* fn atomic_or[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, T, writable>, U, U, T) -> T */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(242),
  },
  {
    /* [13] */
    /* fn atomic_xor[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, U, U, T) -> T */
    /* fn atomic_xor[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, T, writable>, U, U, T) -> T */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(242),
  },
  {
    /* [14] */
    /* fn atomic_i_increment[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, T, writable>, U, U) -> T */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(315),
  },
  {
    /* [15] */
    /* fn atomic_i_decrement[T : iu32, U : u32, S : workgroup_or_storage](ptr<S, T, writable>, U, U) -> T */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(315),
  },
  {
    /* [16] */
    /* fn dot[N : num, T : f32_f16](vec<N, T>, vec<N, T>) -> T */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(316),
  },
  {
    /* [17] */
    /* fn image_dref_gather[F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec2<f32>, dref: f32, image_operands: u32) -> vec4<f32> */
    /* fn image_dref_gather[F : texel_format, A : access, Z : iu32](image: sampled_image<image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec2<f32>, dref: f32, image_operands: u32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_dref_gather[F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, dref: f32, image_operands: u32) -> vec4<f32> */
    /* fn image_dref_gather[F : texel_format, A : access, Z : iu32](image: sampled_image<image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, dref: f32, image_operands: u32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_dref_gather[F : texel_format](image: sampled_image<image<f32, dim_cube, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, dref: f32, image_operands: u32) -> vec4<f32> */
    /* fn image_dref_gather[F : texel_format](image: sampled_image<image<f32, dim_cube, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, dref: f32, image_operands: u32) -> vec4<f32> */
    /* num overloads */ 6,
    /* overloads */ OverloadIndex(218),
  },
  {
    /* [18] */
    /* fn image_fetch[T : fiu32, C : iu32, F : texel_format](image: image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>, coords: C, image_operands: u32) -> vec4<T> */
    /* fn image_fetch[T : fiu32, C : iu32, F : texel_format](image: image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>, coords: vec2<C>, image_operands: u32) -> vec4<T> */
    /* fn image_fetch[T : fiu32, C : iu32, F : texel_format](image: image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>, coords: vec3<C>, image_operands: u32) -> vec4<T> */
    /* fn image_fetch[T : fiu32, C : iu32, F : texel_format](image: image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>, coords: vec3<C>, image_operands: u32) -> vec4<T> */
    /* fn image_fetch[T : fiu32, C : iu32, F : texel_format](image: image<T, dim_2d, non_depth, non_arrayed, multi_sampled, sampling_compatible, F, readable>, coords: vec2<C>, image_operands: u32) -> vec4<T> */
    /* fn image_fetch[C : iu32, F : texel_format](image: image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>, coords: vec2<C>, image_operands: u32) -> vec4<f32> */
    /* fn image_fetch[C : iu32, F : texel_format](image: image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>, coords: vec3<C>, image_operands: u32) -> vec4<f32> */
    /* fn image_fetch[C : iu32, F : texel_format](image: image<f32, dim_2d, is_depth, non_arrayed, multi_sampled, sampling_compatible, F, readable>, coords: vec2<C>, image_operands: u32) -> vec4<f32> */
    /* fn image_fetch[T : fiu32, C : iu32, Z : iu32, F : texel_format](image: image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>, coords: C, image_operands: u32, sample: Z) -> vec4<T> */
    /* fn image_fetch[T : fiu32, C : iu32, Z : iu32, F : texel_format](image: image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>, coords: vec2<C>, image_operands: u32, sample: Z) -> vec4<T> */
    /* fn image_fetch[T : fiu32, C : iu32, Z : iu32, F : texel_format](image: image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>, coords: vec3<C>, image_operands: u32, sample: Z) -> vec4<T> */
    /* fn image_fetch[T : fiu32, C : iu32, Z : iu32, F : texel_format](image: image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>, coords: vec3<C>, image_operands: u32, sample: Z) -> vec4<T> */
    /* fn image_fetch[T : fiu32, C : iu32, Z : iu32, F : texel_format](image: image<T, dim_2d, non_depth, non_arrayed, multi_sampled, sampling_compatible, F, readable>, coords: vec2<C>, image_operands: u32, sample: Z) -> vec4<T> */
    /* fn image_fetch[C : iu32, Z : iu32, F : texel_format](image: image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>, coords: vec2<C>, image_operands: u32, sample: Z) -> vec4<f32> */
    /* fn image_fetch[C : iu32, Z : iu32, F : texel_format](image: image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>, coords: vec3<C>, image_operands: u32, sample: Z) -> vec4<f32> */
    /* fn image_fetch[C : iu32, Z : iu32, F : texel_format](image: image<f32, dim_2d, is_depth, non_arrayed, multi_sampled, sampling_compatible, F, readable>, coords: vec2<C>, image_operands: u32, sample: Z) -> vec4<f32> */
    /* num overloads */ 16,
    /* overloads */ OverloadIndex(107),
  },
  {
    /* [19] */
    /* fn image_gather[T : fiu32, C : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec2<f32>, component: C, image_operands: u32) -> vec4<T> */
    /* fn image_gather[T : fiu32, C : iu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec2<f32>, component: C, image_operands: u32, const_offset: vec2<Z>) -> vec4<T> */
    /* fn image_gather[T : fiu32, C : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, component: C, image_operands: u32) -> vec4<T> */
    /* fn image_gather[T : fiu32, C : iu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, component: C, image_operands: u32, const_offset: vec2<Z>) -> vec4<T> */
    /* fn image_gather[T : fiu32, C : iu32, F : texel_format](image: sampled_image<image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, component: C, image_operands: u32) -> vec4<T> */
    /* fn image_gather[T : fiu32, C : iu32, F : texel_format](image: sampled_image<image<T, dim_cube, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, component: C, image_operands: u32) -> vec4<T> */
    /* fn image_gather[C : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec2<f32>, component: C, image_operands: u32) -> vec4<f32> */
    /* fn image_gather[C : iu32, Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec2<f32>, component: C, image_operands: u32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_gather[C : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, component: C, image_operands: u32) -> vec4<f32> */
    /* fn image_gather[C : iu32, Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, component: C, image_operands: u32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_gather[C : iu32, F : texel_format](image: sampled_image<image<f32, dim_cube, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, component: C, image_operands: u32) -> vec4<f32> */
    /* fn image_gather[C : iu32, F : texel_format](image: sampled_image<image<f32, dim_cube, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, component: C, image_operands: u32) -> vec4<f32> */
    /* num overloads */ 12,
    /* overloads */ OverloadIndex(167),
  },
  {
    /* [20] */
    /* fn image_query_size<R : iu32>[T : fiu32, F : texel_format, A : access](image: image<T, dim_1d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>) -> R */
    /* fn image_query_size<R : iu32>[T : fiu32, F : texel_format, A : access](image: image<T, dim_buffer, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>) -> R */
    /* fn image_query_size<R : iu32>[T : fiu32, F : texel_format, A : access](image: image<T, dim_2d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec2<R> */
    /* fn image_query_size<R : iu32>[T : fiu32, F : texel_format, A : access](image: image<T, dim_2d, non_depth, is_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec3<R> */
    /* fn image_query_size<R : iu32>[T : fiu32, F : texel_format, A : access](image: image<T, dim_3d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec3<R> */
    /* fn image_query_size<R : iu32>[T : fiu32, F : texel_format, A : access](image: image<T, dim_cube, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec2<R> */
    /* fn image_query_size<R : iu32>[T : fiu32, F : texel_format, A : access](image: image<T, dim_cube, non_depth, is_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec3<R> */
    /* fn image_query_size<R : iu32>[T : fiu32, S : sampled, F : texel_format, A : access](image: image<T, dim_2d, non_depth, non_arrayed, multi_sampled, S, F, A>) -> vec2<R> */
    /* fn image_query_size<R : iu32>[F : texel_format, A : access](image: image<f32, dim_2d, is_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec2<R> */
    /* fn image_query_size<R : iu32>[F : texel_format, A : access](image: image<f32, dim_2d, is_depth, is_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec3<R> */
    /* fn image_query_size<R : iu32>[F : texel_format, A : access](image: image<f32, dim_cube, is_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec2<R> */
    /* fn image_query_size<R : iu32>[F : texel_format, A : access](image: image<f32, dim_cube, is_depth, is_arrayed, single_sampled, rw_op_compatible, F, A>) -> vec3<R> */
    /* fn image_query_size<R : iu32>[S : sampled, F : texel_format, A : access](image: image<f32, dim_2d, is_depth, non_arrayed, multi_sampled, S, F, A>) -> vec2<R> */
    /* num overloads */ 13,
    /* overloads */ OverloadIndex(154),
  },
  {
    /* [21] */
    /* fn image_query_size_lod<R : iu32>[T : fiu32, L : iu32, S : sampled, F : texel_format, A : access](image: image<T, dim_1d, non_depth, non_arrayed, single_sampled, S, F, A>, level: L) -> R */
    /* fn image_query_size_lod<R : iu32>[T : fiu32, L : iu32, S : sampled, F : texel_format, A : access](image: image<T, dim_buffer, non_depth, non_arrayed, single_sampled, S, F, A>, level: L) -> R */
    /* fn image_query_size_lod<R : iu32>[T : fiu32, L : iu32, S : sampled, F : texel_format, A : access](image: image<T, dim_2d, non_depth, non_arrayed, single_sampled, S, F, A>, level: L) -> vec2<R> */
    /* fn image_query_size_lod<R : iu32>[T : fiu32, L : iu32, S : sampled, F : texel_format, A : access](image: image<T, dim_2d, non_depth, is_arrayed, single_sampled, S, F, A>, level: L) -> vec3<R> */
    /* fn image_query_size_lod<R : iu32>[T : fiu32, L : iu32, S : sampled, F : texel_format, A : access](image: image<T, dim_3d, non_depth, non_arrayed, single_sampled, S, F, A>, level: L) -> vec3<R> */
    /* fn image_query_size_lod<R : iu32>[T : fiu32, L : iu32, S : sampled, F : texel_format, A : access](image: image<T, dim_cube, non_depth, non_arrayed, single_sampled, S, F, A>, level: L) -> vec2<R> */
    /* fn image_query_size_lod<R : iu32>[T : fiu32, L : iu32, S : sampled, F : texel_format, A : access](image: image<T, dim_cube, non_depth, is_arrayed, single_sampled, S, F, A>, level: L) -> vec3<R> */
    /* fn image_query_size_lod<R : iu32>[L : iu32, S : sampled, F : texel_format, A : access](image: image<f32, dim_2d, is_depth, non_arrayed, single_sampled, S, F, A>, level: L) -> vec2<R> */
    /* fn image_query_size_lod<R : iu32>[L : iu32, S : sampled, F : texel_format, A : access](image: image<f32, dim_2d, is_depth, is_arrayed, single_sampled, S, F, A>, level: L) -> vec3<R> */
    /* fn image_query_size_lod<R : iu32>[L : iu32, S : sampled, F : texel_format, A : access](image: image<f32, dim_cube, is_depth, non_arrayed, single_sampled, S, F, A>, level: L) -> vec2<R> */
    /* fn image_query_size_lod<R : iu32>[L : iu32, S : sampled, F : texel_format, A : access](image: image<f32, dim_cube, is_depth, is_arrayed, single_sampled, S, F, A>, level: L) -> vec3<R> */
    /* num overloads */ 11,
    /* overloads */ OverloadIndex(179),
  },
  {
    /* [22] */
    /* fn image_query_levels<Z : iu32>[T : fiu32, D : depth, R : arrayed, S : sampled, F : texel_format, A : access](image: image<T, dim_1d_2d_3d_or_cube, D, R, single_sampled, S, F, A>) -> Z */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(317),
  },
  {
    /* [23] */
    /* fn image_query_samples<Z : iu32>[T : fiu32, D : depth, R : arrayed, S : sampled, F : texel_format, A : access](image: image<T, dim_2d, D, R, multi_sampled, S, F, A>) -> Z */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(318),
  },
  {
    /* [24] */
    /* fn image_read[F : f32_texel_format, A : readable, C : iu32](image: image<f32, dim_1d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>, coords: C, image_operands: u32) -> vec4<f32> */
    /* fn image_read[F : f32_texel_format, A : readable, C : iu32](image: image<f32, dim_buffer, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>, coords: C, image_operands: u32) -> vec4<f32> */
    /* fn image_read[F : i32_texel_format, A : readable, C : iu32](image: image<i32, dim_1d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>, coords: C, image_operands: u32) -> vec4<i32> */
    /* fn image_read[F : i32_texel_format, A : readable, C : iu32](image: image<i32, dim_buffer, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>, coords: C, image_operands: u32) -> vec4<i32> */
    /* fn image_read[F : u32_texel_format, A : readable, C : iu32](image: image<u32, dim_1d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>, coords: C, image_operands: u32) -> vec4<u32> */
    /* fn image_read[F : u32_texel_format, A : readable, C : iu32](image: image<u32, dim_buffer, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>, coords: C, image_operands: u32) -> vec4<u32> */
    /* fn image_read[F : f32_texel_format, A : readable, C : iu32](image: image<f32, dim_2d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>, coords: vec2<C>, image_operands: u32) -> vec4<f32> */
    /* fn image_read[F : i32_texel_format, A : readable, C : iu32](image: image<i32, dim_2d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>, coords: vec2<C>, image_operands: u32) -> vec4<i32> */
    /* fn image_read[F : u32_texel_format, A : readable, C : iu32](image: image<u32, dim_2d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>, coords: vec2<C>, image_operands: u32) -> vec4<u32> */
    /* fn image_read[F : f32_texel_format, A : readable, C : iu32](image: image<f32, dim_2d, non_depth, is_arrayed, single_sampled, rw_op_compatible, F, A>, coords: vec3<C>, image_operands: u32) -> vec4<f32> */
    /* fn image_read[F : i32_texel_format, A : readable, C : iu32](image: image<i32, dim_2d, non_depth, is_arrayed, single_sampled, rw_op_compatible, F, A>, coords: vec3<C>, image_operands: u32) -> vec4<i32> */
    /* fn image_read[F : u32_texel_format, A : readable, C : iu32](image: image<u32, dim_2d, non_depth, is_arrayed, single_sampled, rw_op_compatible, F, A>, coords: vec3<C>, image_operands: u32) -> vec4<u32> */
    /* fn image_read[F : f32_texel_format, A : readable, C : iu32](image: image<f32, dim_3d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>, coords: vec3<C>, image_operands: u32) -> vec4<f32> */
    /* fn image_read[F : i32_texel_format, A : readable, C : iu32](image: image<i32, dim_3d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>, coords: vec3<C>, image_operands: u32) -> vec4<i32> */
    /* fn image_read[F : u32_texel_format, A : readable, C : iu32](image: image<u32, dim_3d, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>, coords: vec3<C>, image_operands: u32) -> vec4<u32> */
    /* fn image_read[F : texel_format, T : fiu32, C : iu32, A : readable](image: image<T, dim_subpass, non_depth, non_arrayed, single_sampled, rw_op_compatible, F, A>, coords: vec2<C>) -> vec4<T> */
    /* num overloads */ 16,
    /* overloads */ OverloadIndex(123),
  },
  {
    /* [25] */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: f32, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format, N : num](image: sampled_image<image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format, N : num](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format, N : num](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, image_operands: u32, bias: f32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, Z : iu32, F : texel_format, N : num](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, image_operands: u32, bias: f32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, Z : iu32, F : texel_format, N : num](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, image_operands: u32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, bias: f32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, bias: f32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, bias: f32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, bias: f32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, bias: f32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, bias: f32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, bias: f32, const_offset: vec3<Z>) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, bias: f32, const_offset: vec3<Z>) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, const_offset: vec3<Z>) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, const_offset: vec3<Z>) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, bias: f32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, bias: f32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_cube, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_cube, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, bias: f32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[F : texel_format, N : num](image: sampled_image<image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[Z : iu32, F : texel_format, N : num](image: sampled_image<image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, image_operands: u32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_implicit_lod[F : texel_format](image: sampled_image<image<f32, dim_cube, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[F : texel_format](image: sampled_image<image<f32, dim_cube, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_implicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_implicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_implicit_lod[F : texel_format](image: sampled_image<image<f32, dim_cube, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32) -> vec4<f32> */
    /* num overloads */ 37,
    /* overloads */ OverloadIndex(0),
  },
  {
    /* [26] */
    /* fn image_sample_proj_implicit_lod[T : fiu32, F : texel_format, N : num](image: sampled_image<image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, bias: f32) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, bias: f32) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, bias: f32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, bias: f32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, bias: f32) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, bias: f32, const_offset: vec3<Z>) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, const_offset: vec3<Z>) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_proj_implicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, const_offset: vec2<Z>) -> vec4<f32> */
    /* num overloads */ 17,
    /* overloads */ OverloadIndex(73),
  },
  {
    /* [27] */
    /* fn image_sample_proj_dref_implicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, dref: f32, image_operands: u32) -> f32 */
    /* fn image_sample_proj_dref_implicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, dref: f32, image_operands: u32) -> f32 */
    /* fn image_sample_proj_dref_implicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, dref: f32, image_operands: u32, const_offset: vec2<Z>) -> f32 */
    /* fn image_sample_proj_dref_implicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, dref: f32, image_operands: u32, const_offset: vec2<Z>) -> f32 */
    /* num overloads */ 4,
    /* overloads */ OverloadIndex(230),
  },
  {
    /* [28] */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format, N : num](image: sampled_image<image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: f32, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format, N : num](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format, N : num](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, image_operands: u32, ddx: vec2<f32>, ddy: vec2<f32>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, Z : iu32, F : texel_format, N : num](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, image_operands: u32, lod: f32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, Z : iu32, F : texel_format, N : num](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, image_operands: u32, ddx: vec2<f32>, ddy: vec2<f32>, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, ddx: vec2<f32>, ddy: vec2<f32>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, ddx: vec2<f32>, ddy: vec2<f32>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, lod: f32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, ddx: vec2<f32>, ddy: vec2<f32>, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, ddx: vec2<f32>, ddy: vec2<f32>, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, lod: f32, const_offset: vec3<Z>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32, const_offset: vec3<Z>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, ddx: vec3<f32>, ddy: vec3<f32>, const_offset: vec3<Z>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, ddx: vec3<f32>, ddy: vec3<f32>, const_offset: vec3<Z>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_cube, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_cube, non_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[F : texel_format, N : num](image: sampled_image<image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_explicit_lod[Z : iu32, F : texel_format, N : num](image: sampled_image<image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, image_operands: u32, lod: f32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_explicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_explicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, lod: f32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_explicit_lod[F : texel_format](image: sampled_image<image<f32, dim_cube, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_explicit_lod[F : texel_format](image: sampled_image<image<f32, dim_cube, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_explicit_lod[F : texel_format](image: sampled_image<image<f32, dim_cube, is_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* num overloads */ 36,
    /* overloads */ OverloadIndex(37),
  },
  {
    /* [29] */
    /* fn image_sample_proj_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, ddx: vec2<f32>, ddy: vec2<f32>) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, ddx: vec2<f32>, ddy: vec2<f32>) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, lod: f32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, ddx: vec2<f32>, ddy: vec2<f32>, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_2d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, ddx: vec2<f32>, ddy: vec2<f32>, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32, const_offset: vec3<Z>) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[T : fiu32, Z : iu32, F : texel_format](image: sampled_image<image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, ddx: vec3<f32>, ddy: vec3<f32>, const_offset: vec3<Z>) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[T : fiu32, F : texel_format](image: sampled_image<image<T, dim_cube, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, image_operands: u32, lod: f32, const_offset: vec2<Z>) -> vec4<f32> */
    /* fn image_sample_proj_explicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, is_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, image_operands: u32, lod: f32, const_offset: vec2<Z>) -> vec4<f32> */
    /* num overloads */ 17,
    /* overloads */ OverloadIndex(90),
  },
  {
    /* [30] */
    /* fn image_sample_proj_dref_explicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, dref: f32, image_operands: u32, lod: f32) -> f32 */
    /* fn image_sample_proj_dref_explicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, dref: f32, image_operands: u32, lod: f32) -> f32 */
    /* fn image_sample_proj_dref_explicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, dref: f32, image_operands: u32, lod: f32, const_offset: vec2<Z>) -> f32 */
    /* fn image_sample_proj_dref_explicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, dref: f32, image_operands: u32, lod: f32, const_offset: vec2<Z>) -> f32 */
    /* num overloads */ 4,
    /* overloads */ OverloadIndex(234),
  },
  {
    /* [31] */
    /* fn image_sample_dref_implicit_lod[F : texel_format, N : num](image: sampled_image<image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, dref: f32, image_operands: u32) -> f32 */
    /* fn image_sample_dref_implicit_lod[Z : iu32, F : texel_format, N : num](image: sampled_image<image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, dref: f32, image_operands: u32, const_offset: vec2<Z>) -> f32 */
    /* fn image_sample_dref_implicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, dref: f32, image_operands: u32) -> f32 */
    /* fn image_sample_dref_implicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, dref: f32, image_operands: u32) -> f32 */
    /* fn image_sample_dref_implicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, dref: f32, image_operands: u32, const_offset: vec2<Z>) -> f32 */
    /* fn image_sample_dref_implicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, dref: f32, image_operands: u32, const_offset: vec2<Z>) -> f32 */
    /* fn image_sample_dref_implicit_lod[F : texel_format](image: sampled_image<image<f32, dim_cube, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, dref: f32, image_operands: u32) -> f32 */
    /* fn image_sample_dref_implicit_lod[F : texel_format](image: sampled_image<image<f32, dim_cube, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, dref: f32, image_operands: u32) -> f32 */
    /* fn image_sample_dref_implicit_lod[F : texel_format](image: sampled_image<image<f32, dim_cube, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, dref: f32, image_operands: u32) -> f32 */
    /* num overloads */ 9,
    /* overloads */ OverloadIndex(200),
  },
  {
    /* [32] */
    /* fn image_sample_dref_explicit_lod[F : texel_format, N : num](image: sampled_image<image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, dref: f32, image_operands: u32, lod: f32) -> f32 */
    /* fn image_sample_dref_explicit_lod[Z : iu32, F : texel_format, N : num](image: sampled_image<image<f32, dim_2d, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec<N, f32>, dref: f32, image_operands: u32, lod: f32, const_offset: vec2<Z>) -> f32 */
    /* fn image_sample_dref_explicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, dref: f32, image_operands: u32, lod: f32) -> f32 */
    /* fn image_sample_dref_explicit_lod[F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, dref: f32, image_operands: u32, lod: f32) -> f32 */
    /* fn image_sample_dref_explicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, dref: f32, image_operands: u32, lod: f32, const_offset: vec2<Z>) -> f32 */
    /* fn image_sample_dref_explicit_lod[Z : iu32, F : texel_format](image: sampled_image<image<f32, dim_2d, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, dref: f32, image_operands: u32, lod: f32, const_offset: vec2<Z>) -> f32 */
    /* fn image_sample_dref_explicit_lod[F : texel_format](image: sampled_image<image<f32, dim_cube, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec3<f32>, dref: f32, image_operands: u32, lod: f32) -> f32 */
    /* fn image_sample_dref_explicit_lod[F : texel_format](image: sampled_image<image<f32, dim_cube, any_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, dref: f32, image_operands: u32, lod: f32) -> f32 */
    /* fn image_sample_dref_explicit_lod[F : texel_format](image: sampled_image<image<f32, dim_cube, any_depth, is_arrayed, single_sampled, sampling_compatible, F, readable>>, coords: vec4<f32>, dref: f32, image_operands: u32, lod: f32) -> f32 */
    /* num overloads */ 9,
    /* overloads */ OverloadIndex(209),
  },
  {
    /* [33] */
    /* fn image_write[C : iu32, F : texel_format, A : access](image: image<f32, dim_1d, non_depth, non_arrayed, single_sampled, rw_op_compatible, f32_texel_format, writable>, coords: C, texel: vec4<f32>, image_operands: u32) */
    /* fn image_write[C : iu32, F : texel_format, A : access](image: image<f32, dim_buffer, non_depth, non_arrayed, single_sampled, rw_op_compatible, f32_texel_format, writable>, coords: C, texel: vec4<f32>, image_operands: u32) */
    /* fn image_write[C : iu32, F : texel_format, A : access](image: image<i32, dim_1d, non_depth, non_arrayed, single_sampled, rw_op_compatible, i32_texel_format, writable>, coords: C, texel: vec4<i32>, image_operands: u32) */
    /* fn image_write[C : iu32, F : texel_format, A : access](image: image<i32, dim_buffer, non_depth, non_arrayed, single_sampled, rw_op_compatible, i32_texel_format, writable>, coords: C, texel: vec4<i32>, image_operands: u32) */
    /* fn image_write[C : iu32, F : texel_format, A : access](image: image<u32, dim_1d, non_depth, non_arrayed, single_sampled, rw_op_compatible, u32_texel_format, writable>, coords: C, texel: vec4<u32>, image_operands: u32) */
    /* fn image_write[C : iu32, F : texel_format, A : access](image: image<u32, dim_buffer, non_depth, non_arrayed, single_sampled, rw_op_compatible, u32_texel_format, writable>, coords: C, texel: vec4<u32>, image_operands: u32) */
    /* fn image_write[C : iu32, F : texel_format, A : access](image: image<f32, dim_2d, non_depth, non_arrayed, single_sampled, rw_op_compatible, f32_texel_format, writable>, coords: vec2<C>, texel: vec4<f32>, image_operands: u32) */
    /* fn image_write[C : iu32, F : texel_format, A : access](image: image<i32, dim_2d, non_depth, non_arrayed, single_sampled, rw_op_compatible, i32_texel_format, writable>, coords: vec2<C>, texel: vec4<i32>, image_operands: u32) */
    /* fn image_write[C : iu32, F : texel_format, A : access](image: image<u32, dim_2d, non_depth, non_arrayed, single_sampled, rw_op_compatible, u32_texel_format, writable>, coords: vec2<C>, texel: vec4<u32>, image_operands: u32) */
    /* fn image_write[C : iu32, F : texel_format, A : access](image: image<f32, dim_2d, non_depth, is_arrayed, single_sampled, rw_op_compatible, f32_texel_format, writable>, coords: vec3<C>, texel: vec4<f32>, image_operands: u32) */
    /* fn image_write[C : iu32, F : texel_format, A : access](image: image<i32, dim_2d, non_depth, is_arrayed, single_sampled, rw_op_compatible, i32_texel_format, writable>, coords: vec3<C>, texel: vec4<i32>, image_operands: u32) */
    /* fn image_write[C : iu32, F : texel_format, A : access](image: image<u32, dim_2d, non_depth, is_arrayed, single_sampled, rw_op_compatible, u32_texel_format, writable>, coords: vec3<C>, texel: vec4<u32>, image_operands: u32) */
    /* fn image_write[C : iu32, F : texel_format, A : access](image: image<f32, dim_3d, non_depth, non_arrayed, single_sampled, rw_op_compatible, f32_texel_format, writable>, coords: vec3<C>, texel: vec4<f32>, image_operands: u32) */
    /* fn image_write[C : iu32, F : texel_format, A : access](image: image<i32, dim_3d, non_depth, non_arrayed, single_sampled, rw_op_compatible, i32_texel_format, writable>, coords: vec3<C>, texel: vec4<i32>, image_operands: u32) */
    /* fn image_write[C : iu32, F : texel_format, A : access](image: image<u32, dim_3d, non_depth, non_arrayed, single_sampled, rw_op_compatible, u32_texel_format, writable>, coords: vec3<C>, texel: vec4<u32>, image_operands: u32) */
    /* num overloads */ 15,
    /* overloads */ OverloadIndex(139),
  },
  {
    /* [34] */
    /* fn op_image<I : image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>[T : fiu32, F : texel_format](sampled_image<I>) -> I */
    /* fn op_image<I : image<T, dim_2d, non_depth, any_arrayed, single_sampled, sampling_compatible, F, readable>>[T : fiu32, F : texel_format](sampled_image<I>) -> I */
    /* fn op_image<I : image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>[T : fiu32, F : texel_format](sampled_image<I>) -> I */
    /* fn op_image<I : image<T, dim_cube, non_depth, any_arrayed, single_sampled, sampling_compatible, F, readable>>[T : fiu32, F : texel_format](sampled_image<I>) -> I */
    /* fn op_image<I : image<f32, dim_2d, is_depth, any_arrayed, single_sampled, sampling_compatible, F, readable>>[F : texel_format](sampled_image<I>) -> I */
    /* fn op_image<I : image<f32, dim_cube, is_depth, any_arrayed, single_sampled, sampling_compatible, F, readable>>[F : texel_format](sampled_image<I>) -> I */
    /* num overloads */ 6,
    /* overloads */ OverloadIndex(224),
  },
  {
    /* [35] */
    /* fn op_sampled_image<I : image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>[T : fiu32, S : samplers, F : texel_format](I, S) -> sampled_image<I> */
    /* fn op_sampled_image<I : image<T, dim_1d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>[T : f32, K : sampler_filter, F : texel_format](I, sampler_filtered<K>) -> sampled_image<I> */
    /* fn op_sampled_image<I : image<T, dim_2d, non_depth, any_arrayed, single_sampled, sampling_compatible, F, readable>>[T : fiu32, S : samplers, F : texel_format](I, S) -> sampled_image<I> */
    /* fn op_sampled_image<I : image<T, dim_2d, non_depth, any_arrayed, single_sampled, sampling_compatible, F, readable>>[T : f32, K : sampler_filter, F : texel_format](I, sampler_filtered<K>) -> sampled_image<I> */
    /* fn op_sampled_image<I : image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>[T : fiu32, S : samplers, F : texel_format](I, S) -> sampled_image<I> */
    /* fn op_sampled_image<I : image<T, dim_3d, non_depth, non_arrayed, single_sampled, sampling_compatible, F, readable>>[T : f32, K : sampler_filter, F : texel_format](I, sampler_filtered<K>) -> sampled_image<I> */
    /* fn op_sampled_image<I : image<T, dim_cube, non_depth, any_arrayed, single_sampled, sampling_compatible, F, readable>>[T : fiu32, S : samplers, F : texel_format](I, S) -> sampled_image<I> */
    /* fn op_sampled_image<I : image<T, dim_cube, non_depth, any_arrayed, single_sampled, sampling_compatible, F, readable>>[T : f32, K : sampler_filter, F : texel_format](I, sampler_filtered<K>) -> sampled_image<I> */
    /* fn op_sampled_image<I : image<f32, dim_2d, is_depth, any_arrayed, single_sampled, sampling_compatible, F, readable>>[S : samplers, F : texel_format](I, S) -> sampled_image<I> */
    /* fn op_sampled_image<I : image<f32, dim_cube, is_depth, any_arrayed, single_sampled, sampling_compatible, F, readable>>[S : samplers, F : texel_format](I, S) -> sampled_image<I> */
    /* num overloads */ 10,
    /* overloads */ OverloadIndex(190),
  },
  {
    /* [36] */
    /* fn matrix_times_matrix[T : f32_f16, K : num, C : num, R : num](mat<K, R, T>, mat<C, K, T>) -> mat<C, R, T> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(319),
  },
  {
    /* [37] */
    /* fn matrix_times_scalar[T : f32_f16, N : num, M : num](mat<N, M, T>, T) -> mat<N, M, T> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(320),
  },
  {
    /* [38] */
    /* fn matrix_times_vector[T : f32_f16, N : num, M : num](mat<N, M, T>, vec<N, T>) -> vec<M, T> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(321),
  },
  {
    /* [39] */
    /* fn select[T : scalar](bool, T, T) -> T */
    /* fn select[N : num, T : scalar](bool, vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* fn select[N : num, T : scalar](vec<N, bool>, vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(245),
  },
  {
    /* [40] */
    /* fn vector_times_matrix[T : f32_f16, N : num, M : num](vec<N, T>, mat<M, N, T>) -> vec<M, T> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(322),
  },
  {
    /* [41] */
    /* fn vector_times_scalar[T : f32_f16, N : num](vec<N, T>, T) -> vec<N, T> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(323),
  },
  {
    /* [42] */
    /* fn normalize[T : f32_f16](T) -> T */
    /* fn normalize[N : num, T : f32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(266),
  },
  {
    /* [43] */
    /* fn inverse[T : f32_f16](mat2x2<T>) -> mat2x2<T> */
    /* fn inverse[T : f32_f16](mat3x3<T>) -> mat3x3<T> */
    /* fn inverse[T : f32_f16](mat4x4<T>) -> mat4x4<T> */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(248),
  },
  {
    /* [44] */
    /* fn sign<R : iu32>[T : iu32](T) -> R */
    /* fn sign<R : iu32>[T : iu32, N : num](vec<N, T>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(268),
  },
  {
    /* [45] */
    /* fn abs<R : iu32>[T : iu32](T) -> R */
    /* fn abs<R : iu32>[T : iu32, N : num](vec<N, T>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(268),
  },
  {
    /* [46] */
    /* fn s_max<R : iu32>[T : iu32, U : iu32](T, U) -> R */
    /* fn s_max<R : iu32>[T : iu32, U : iu32, N : num](vec<N, T>, vec<N, U>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(270),
  },
  {
    /* [47] */
    /* fn s_min<R : iu32>[T : iu32, U : iu32](T, U) -> R */
    /* fn s_min<R : iu32>[T : iu32, U : iu32, N : num](vec<N, T>, vec<N, U>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(270),
  },
  {
    /* [48] */
    /* fn s_clamp<R : iu32>[T : iu32, U : iu32, V : iu32](T, U, V) -> R */
    /* fn s_clamp<R : iu32>[T : iu32, U : iu32, V : iu32, N : num](vec<N, T>, vec<N, U>, vec<N, V>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(272),
  },
  {
    /* [49] */
    /* fn u_max<R : iu32>[T : iu32, U : iu32](T, U) -> R */
    /* fn u_max<R : iu32>[T : iu32, U : iu32, N : num](vec<N, T>, vec<N, U>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(270),
  },
  {
    /* [50] */
    /* fn u_min<R : iu32>[T : iu32, U : iu32](T, U) -> R */
    /* fn u_min<R : iu32>[T : iu32, U : iu32, N : num](vec<N, T>, vec<N, U>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(270),
  },
  {
    /* [51] */
    /* fn u_clamp<R : iu32>[T : iu32, U : iu32, V : iu32](T, U, V) -> R */
    /* fn u_clamp<R : iu32>[T : iu32, U : iu32, V : iu32, N : num](vec<N, T>, vec<N, U>, vec<N, V>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(272),
  },
  {
    /* [52] */
    /* fn find_i_lsb<R : iu32>[T : iu32](T) -> R */
    /* fn find_i_lsb<R : iu32>[T : iu32, N : num](vec<N, T>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(268),
  },
  {
    /* [53] */
    /* fn find_s_msb<R : iu32>[T : iu32](T) -> R */
    /* fn find_s_msb<R : iu32>[T : iu32, N : num](vec<N, T>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(268),
  },
  {
    /* [54] */
    /* fn find_u_msb<R : iu32>[T : iu32](T) -> R */
    /* fn find_u_msb<R : iu32>[T : iu32, N : num](vec<N, T>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(268),
  },
  {
    /* [55] */
    /* fn refract[T : f32_f16](T, T, T) -> T */
    /* fn refract[T : f32_f16, N : num](vec<N, T>, vec<N, T>, T) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(274),
  },
  {
    /* [56] */
    /* fn reflect[T : f32_f16](T, T) -> T */
    /* fn reflect[T : f32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(276),
  },
  {
    /* [57] */
    /* fn face_forward[T : f32_f16](T, T, T) -> T */
    /* fn face_forward[T : f32_f16, N : num](vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(278),
  },
  {
    /* [58] */
    /* fn ldexp[T : f32_f16, U : iu32](T, U) -> T */
    /* fn ldexp[N : num, T : f32_f16, U : iu32](vec<N, T>, vec<N, U>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(280),
  },
  {
    /* [59] */
    /* fn modf[T : f32_f16, S : function_private_workgroup_storage](x: T, i: ptr<S, T, writable>) -> T */
    /* fn modf[T : f32_f16, N : num, S : function_private_workgroup_storage](x: vec<N, T>, i: ptr<S, vec<N, T>, writable>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(282),
  },
  {
    /* [60] */
    /* fn frexp[T : f32_f16, R : iu32, S : function_private_workgroup_storage](x: T, i: ptr<S, R, writable>) -> T */
    /* fn frexp[T : f32_f16, R : iu32, N : num, S : function_private_workgroup_storage](x: vec<N, T>, i: ptr<S, vec<N, R>, writable>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(284),
  },
  {
    /* [61] */
    /* fn bit_count<R : iu32>[T : iu32](T) -> R */
    /* fn bit_count<R : iu32>[T : iu32, N : num](vec<N, T>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(268),
  },
  {
    /* [62] */
    /* fn bit_field_insert[T : iu32](base: T, insert: T, offset: iu32, count: iu32) -> T */
    /* fn bit_field_insert[T : iu32, N : num](base: vec<N, T>, insert: vec<N, T>, offset: iu32, count: iu32) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(286),
  },
  {
    /* [63] */
    /* fn bit_field_s_extract[T : iu32](base: T, offset: iu32, count: iu32) -> T */
    /* fn bit_field_s_extract[T : iu32, N : num](base: vec<N, T>, offset: iu32, count: iu32) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(288),
  },
  {
    /* [64] */
    /* fn bit_field_u_extract[T : iu32](base: T, offset: iu32, count: iu32) -> T */
    /* fn bit_field_u_extract[T : iu32, N : num](base: vec<N, T>, offset: iu32, count: iu32) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(288),
  },
  {
    /* [65] */
    /* fn add<R : iu32>[A : iu32, B : iu32](A, B) -> R */
    /* fn add<R : iu32>[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(290),
  },
  {
    /* [66] */
    /* fn sub<R : iu32>[A : iu32, B : iu32](A, B) -> R */
    /* fn sub<R : iu32>[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(290),
  },
  {
    /* [67] */
    /* fn mul<R : iu32>[A : iu32, B : iu32](A, B) -> R */
    /* fn mul<R : iu32>[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(290),
  },
  {
    /* [68] */
    /* fn s_div<R : iu32>[A : iu32, B : iu32](A, B) -> R */
    /* fn s_div<R : iu32>[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(290),
  },
  {
    /* [69] */
    /* fn s_mod<R : iu32>[A : iu32, B : iu32](A, B) -> R */
    /* fn s_mod<R : iu32>[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(290),
  },
  {
    /* [70] */
    /* fn s_greater_than[A : iu32, B : iu32](A, B) -> bool */
    /* fn s_greater_than[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(292),
  },
  {
    /* [71] */
    /* fn s_greater_than_equal[A : iu32, B : iu32](A, B) -> bool */
    /* fn s_greater_than_equal[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(292),
  },
  {
    /* [72] */
    /* fn s_less_than[A : iu32, B : iu32](A, B) -> bool */
    /* fn s_less_than[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(292),
  },
  {
    /* [73] */
    /* fn s_less_than_equal[A : iu32, B : iu32](A, B) -> bool */
    /* fn s_less_than_equal[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(292),
  },
  {
    /* [74] */
    /* fn u_greater_than[A : iu32, B : iu32](A, B) -> bool */
    /* fn u_greater_than[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(292),
  },
  {
    /* [75] */
    /* fn u_greater_than_equal[A : iu32, B : iu32](A, B) -> bool */
    /* fn u_greater_than_equal[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(292),
  },
  {
    /* [76] */
    /* fn u_less_than[A : iu32, B : iu32](A, B) -> bool */
    /* fn u_less_than[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(292),
  },
  {
    /* [77] */
    /* fn u_less_than_equal[A : iu32, B : iu32](A, B) -> bool */
    /* fn u_less_than_equal[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(292),
  },
  {
    /* [78] */
    /* fn convert_f_to_s<R : iu32>[T : f32_f16](T) -> R */
    /* fn convert_f_to_s<R : iu32>[T : f32_f16, N : num](vec<N, T>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(294),
  },
  {
    /* [79] */
    /* fn convert_s_to_f<R : f32_f16>[T : iu32](T) -> R */
    /* fn convert_s_to_f<R : f32_f16>[T : iu32, N : num](vec<N, T>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(296),
  },
  {
    /* [80] */
    /* fn convert_u_to_f<R : f32_f16>[T : iu32](T) -> R */
    /* fn convert_u_to_f<R : f32_f16>[T : iu32, N : num](vec<N, T>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(296),
  },
  {
    /* [81] */
    /* fn s_convert<K : i8>[T : i32](T) -> K */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(324),
  },
  {
    /* [82] */
    /* fn u_convert<K : u8>[T : u32](T) -> K */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(325),
  },
  {
    /* [83] */
    /* fn bitwise_and<R : iu32>[A : iu32, B : iu32](A, B) -> R */
    /* fn bitwise_and<R : iu32>[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(290),
  },
  {
    /* [84] */
    /* fn bitwise_or<R : iu32>[A : iu32, B : iu32](A, B) -> R */
    /* fn bitwise_or<R : iu32>[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(290),
  },
  {
    /* [85] */
    /* fn bitwise_xor<R : iu32>[A : iu32, B : iu32](A, B) -> R */
    /* fn bitwise_xor<R : iu32>[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(290),
  },
  {
    /* [86] */
    /* fn equal[A : iu32, B : iu32](A, B) -> bool */
    /* fn equal[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(292),
  },
  {
    /* [87] */
    /* fn not_equal[A : iu32, B : iu32](A, B) -> bool */
    /* fn not_equal[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(292),
  },
  {
    /* [88] */
    /* fn shift_left_logical<R : iu32>[A : iu32, B : iu32](A, B) -> R */
    /* fn shift_left_logical<R : iu32>[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(290),
  },
  {
    /* [89] */
    /* fn shift_right_logical<R : iu32>[A : iu32, B : iu32](A, B) -> R */
    /* fn shift_right_logical<R : iu32>[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(290),
  },
  {
    /* [90] */
    /* fn shift_right_arithmetic<R : iu32>[A : iu32, B : iu32](A, B) -> R */
    /* fn shift_right_arithmetic<R : iu32>[A : iu32, B : iu32, N : num](vec<N, A>, vec<N, B>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(290),
  },
  {
    /* [91] */
    /* fn not<R : iu32>[A : iu32](A) -> R */
    /* fn not<R : iu32>[A : iu32, N : num](vec<N, A>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(298),
  },
  {
    /* [92] */
    /* fn s_negate<R : iu32>[A : iu32](A) -> R */
    /* fn s_negate<R : iu32>[A : iu32, N : num](vec<N, A>) -> vec<N, R> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(298),
  },
  {
    /* [93] */
    /* fn f_mod[T : f32_f16](T, T) -> T */
    /* fn f_mod[T : f32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(276),
  },
  {
    /* [94] */
    /* fn outer_product[T : f32_f16, N : num, M : num](vec<N, T>, vec<M, T>) -> mat<M, N, T> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(326),
  },
  {
    /* [95] */
    /* fn s_dot(u32, u32, u32) -> i32 */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(327),
  },
  {
    /* [96] */
    /* fn u_dot(u32, u32, u32) -> u32 */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(328),
  },
  {
    /* [97] */
    /* fn cooperative_matrix_load<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num](ptr<workgroup_or_storage, S, readable>, u32, u32, u32) -> T */
    /* fn cooperative_matrix_load<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr<workgroup_or_storage, i32, readable>, u32, u32, u32) -> T */
    /* fn cooperative_matrix_load<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr<workgroup_or_storage, u32, readable>, u32, u32, u32) -> T */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(251),
  },
  {
    /* [98] */
    /* fn cooperative_matrix_store[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num](ptr<workgroup_or_storage, S, writable>, subgroup_matrix<K, S, C, R>, u32, u32, u32) */
    /* fn cooperative_matrix_store[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr<workgroup_or_storage, i32, writable>, subgroup_matrix<K, S, C, R>, u32, u32, u32) */
    /* fn cooperative_matrix_store[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr<workgroup_or_storage, u32, writable>, subgroup_matrix<K, S, C, R>, u32, u32, u32) */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(254),
  },
  {
    /* [99] */
    /* fn cooperative_matrix_mul_add[T : f16, TR : f32_f16, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>, subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>, u32) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
    /* fn cooperative_matrix_mul_add[T : f32, TR : f32, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>, subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>, u32) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
    /* fn cooperative_matrix_mul_add[T : iu32, TR : iu32, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>, subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>, u32) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
    /* fn cooperative_matrix_mul_add[T : iu8, TR : iu32_iu8, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>, subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>, u32) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
    /* num overloads */ 4,
    /* overloads */ OverloadIndex(238),
  },
  {
    /* [100] */
    /* fn group_non_uniform_broadcast[T : scalar](scope: u32, e: T, @const id: u32) -> T */
    /* fn group_non_uniform_broadcast[N : num, T : scalar](scope: u32, e: vec<N, T>, @const id: u32) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(300),
  },
  {
    /* [101] */
    /* fn group_non_uniform_broadcast_first[T : scalar](scope: u32, value: T) -> T */
    /* fn group_non_uniform_broadcast_first[N : num, T : scalar](scope: u32, value: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(302),
  },
  {
    /* [102] */
    /* fn group_non_uniform_quad_broadcast[T : scalar](scope: u32, e: T, @const id: u32) -> T */
    /* fn group_non_uniform_quad_broadcast[N : num, T : scalar](scope: u32, e: vec<N, T>, @const id: u32) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(300),
  },
  {
    /* [103] */
    /* fn group_non_uniform_quad_swap[T : scalar](scope: u32, e: T, @const dir: u32) -> T */
    /* fn group_non_uniform_quad_swap[N : num, T : scalar](scope: u32, e: vec<N, T>, @const dir: u32) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(304),
  },
  {
    /* [104] */
    /* fn group_non_uniform_shuffle[T : scalar](scope: u32, value: T, id: u32) -> T */
    /* fn group_non_uniform_shuffle[N : num, T : scalar](scope: u32, value: vec<N, T>, id: u32) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(306),
  },
  {
    /* [105] */
    /* fn group_non_uniform_shuffle_xor[T : scalar](scope: u32, value: T, mask: u32) -> T */
    /* fn group_non_uniform_shuffle_xor[N : num, T : scalar](scope: u32, value: vec<N, T>, mask: u32) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(308),
  },
  {
    /* [106] */
    /* fn group_non_uniform_shuffle_down[T : scalar](scope: u32, value: T, delta: u32) -> T */
    /* fn group_non_uniform_shuffle_down[N : num, T : scalar](scope: u32, value: vec<N, T>, delta: u32) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(310),
  },
  {
    /* [107] */
    /* fn group_non_uniform_shuffle_up[T : scalar](scope: u32, value: T, delta: u32) -> T */
    /* fn group_non_uniform_shuffle_up[N : num, T : scalar](scope: u32, value: vec<N, T>, delta: u32) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(310),
  },
  {
    /* [108] */
    /* fn group_non_uniform_s_min[T : iu32](scope: u32, group_operation: u32, value: T) -> T */
    /* fn group_non_uniform_s_min[N : num, T : iu32](scope: u32, group_operation: u32, value: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(312),
  },
  {
    /* [109] */
    /* fn group_non_uniform_s_max[T : iu32](scope: u32, group_operation: u32, value: T) -> T */
    /* fn group_non_uniform_s_max[N : num, T : iu32](scope: u32, group_operation: u32, value: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(312),
  },
};

constexpr IntrinsicInfo kBinaryOperators[] = {
  {
    /* [0] */
    /* op +[K : subgroup_matrix_kind, T : fiu32_f16, C : num, R : num](subgroup_matrix<K, T, C, R>, subgroup_matrix<K, T, C, R>) -> subgroup_matrix<K, T, C, R> */
    /* op +[K : subgroup_matrix_kind, C : num, R : num](subgroup_matrix<K, i8, C, R>, subgroup_matrix<K, i8, C, R>) -> subgroup_matrix<K, i8, C, R> */
    /* op +[K : subgroup_matrix_kind, C : num, R : num](subgroup_matrix<K, u8, C, R>, subgroup_matrix<K, u8, C, R>) -> subgroup_matrix<K, u8, C, R> */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(257),
  },
  {
    /* [1] */
    /* op -[K : subgroup_matrix_kind, T : fiu32_f16, C : num, R : num](subgroup_matrix<K, T, C, R>, subgroup_matrix<K, T, C, R>) -> subgroup_matrix<K, T, C, R> */
    /* op -[K : subgroup_matrix_kind, C : num, R : num](subgroup_matrix<K, i8, C, R>, subgroup_matrix<K, i8, C, R>) -> subgroup_matrix<K, i8, C, R> */
    /* op -[K : subgroup_matrix_kind, C : num, R : num](subgroup_matrix<K, u8, C, R>, subgroup_matrix<K, u8, C, R>) -> subgroup_matrix<K, u8, C, R> */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(257),
  },
  {
    /* [2] */
    /* op *[K : subgroup_matrix_kind, T : fiu32_f16, C : num, R : num](subgroup_matrix<K, T, C, R>, subgroup_matrix<K, T, C, R>) -> subgroup_matrix<K, T, C, R> */
    /* op *[K : subgroup_matrix_kind, C : num, R : num](subgroup_matrix<K, i8, C, R>, subgroup_matrix<K, i8, C, R>) -> subgroup_matrix<K, i8, C, R> */
    /* op *[K : subgroup_matrix_kind, C : num, R : num](subgroup_matrix<K, u8, C, R>, subgroup_matrix<K, u8, C, R>) -> subgroup_matrix<K, u8, C, R> */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(257),
  },
};
constexpr uint8_t kBinaryOperatorPlus = 0;
constexpr uint8_t kBinaryOperatorMinus = 1;
constexpr uint8_t kBinaryOperatorStar = 2;

}  // anonymous namespace

const core::intrinsic::TableData Dialect::kData{
  /* templates */ kTemplates,
  /* type_matcher_indices */ kMatcherIndices,
  /* type_matchers */ kTypeMatchers,
  /* number_matchers */ kNumberMatchers,
  /* parameters */ kParameters,
  /* overloads */ kOverloads,
  /* const_eval_functions */ Empty,
  /* ctor_conv */ Empty,
  /* builtins */ kBuiltins,
  /* binary '+' */ kBinaryOperators[kBinaryOperatorPlus],
  /* binary '-' */ kBinaryOperators[kBinaryOperatorMinus],
  /* binary '*' */ kBinaryOperators[kBinaryOperatorStar],
  /* binary '/' */ tint::core::intrinsic::kNoOverloads,
  /* binary '%' */ tint::core::intrinsic::kNoOverloads,
  /* binary '^' */ tint::core::intrinsic::kNoOverloads,
  /* binary '&' */ tint::core::intrinsic::kNoOverloads,
  /* binary '|' */ tint::core::intrinsic::kNoOverloads,
  /* binary '&&' */ tint::core::intrinsic::kNoOverloads,
  /* binary '||' */ tint::core::intrinsic::kNoOverloads,
  /* binary '==' */ tint::core::intrinsic::kNoOverloads,
  /* binary '!=' */ tint::core::intrinsic::kNoOverloads,
  /* binary '<' */ tint::core::intrinsic::kNoOverloads,
  /* binary '>' */ tint::core::intrinsic::kNoOverloads,
  /* binary '<=' */ tint::core::intrinsic::kNoOverloads,
  /* binary '>=' */ tint::core::intrinsic::kNoOverloads,
  /* binary '<<' */ tint::core::intrinsic::kNoOverloads,
  /* binary '>>' */ tint::core::intrinsic::kNoOverloads,
  /* unary '!' */ tint::core::intrinsic::kNoOverloads,
  /* unary '~' */ tint::core::intrinsic::kNoOverloads,
  /* unary '-' */ tint::core::intrinsic::kNoOverloads,
  /* unary '*' */ tint::core::intrinsic::kNoOverloads,
  /* unary '&' */ tint::core::intrinsic::kNoOverloads,
};

}  // namespace tint::spirv::intrinsic

// clang-format on
