Merge pull request #2781 from kevin-mccullough/FixLinkTimeValidationForGl_PerVertex
Fix incorrect link time validation for unused gl_PerVertex members
diff --git a/BUILD.bazel b/BUILD.bazel
index e8cf6a8..1115b7d 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -49,6 +49,11 @@
srcs = ["build_info.py"],
)
+py_binary(
+ name = "gen_extension_headers",
+ srcs = ["gen_extension_headers.py"],
+)
+
genrule(
name = "gen_build_info_h",
srcs = ["CHANGES.md", "build_info.h.tmpl"],
@@ -58,6 +63,14 @@
tools = [":build_info"],
)
+genrule(
+ name = "gen_extension_headers_h",
+ srcs = ["glslang/ExtensionHeaders", "gen_extension_headers.py"],
+ outs = ["glslang/glsl_intrinsic_header.h"],
+ cmd_bash = "$(location gen_extension_headers) -i $(location glslang/ExtensionHeaders) -o $(location glslang/glsl_intrinsic_header.h)",
+ tools = [":gen_extension_headers"],
+)
+
COMMON_COPTS = select({
"@bazel_tools//src/conditions:windows": [""],
"//conditions:default": [
@@ -206,6 +219,7 @@
srcs = [
"StandAlone/StandAlone.cpp",
"StandAlone/Worklist.h",
+ ":glslang/glsl_intrinsic_header.h"
],
copts = COMMON_COPTS,
deps = [
diff --git a/BUILD.gn b/BUILD.gn
index a37e1d2..06d3c4b 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -69,6 +69,23 @@
]
}
+action("glslang_extension_headers") {
+ script = "gen_extension_headers.py"
+
+ out_file = "${target_gen_dir}/include/glslang/glsl_intrinsic_header.h"
+
+ inputs = [
+ script
+ ]
+ outputs = [ out_file ]
+ args = [
+ "-i",
+ rebase_path("glslang/ExtensionHeaders", root_build_dir),
+ "-o",
+ rebase_path(out_file, root_build_dir),
+ ]
+}
+
spirv_tools_dir = glslang_spirv_tools_dir
if (!defined(glslang_angle)) {
glslang_angle = false
@@ -302,6 +319,7 @@
":glslang_build_info",
":glslang_default_resource_limits_sources",
":glslang_sources",
+ ":glslang_extension_headers",
]
public_configs = [ ":glslang_hlsl" ]
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index 63932c2..43aba9c 100644
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -1830,10 +1830,10 @@
std::vector<spv::Id> operandIds;
assert(!modeId.second.empty());
for (auto extraOperand : modeId.second) {
- int nextConst = 0;
- spv::Id operandId = createSpvConstantFromConstUnionArray(
- extraOperand->getType(), extraOperand->getConstArray(), nextConst, false);
- operandIds.push_back(operandId);
+ if (extraOperand->getType().getQualifier().isSpecConstant())
+ operandIds.push_back(getSymbolId(extraOperand->getAsSymbolNode()));
+ else
+ operandIds.push_back(createSpvConstant(*extraOperand));
}
builder.addExecutionModeId(shaderEntry, static_cast<spv::ExecutionMode>(modeId.first), operandIds);
}
@@ -4150,58 +4150,48 @@
std::vector<spv::Id> operands;
for (const auto& typeParam : spirvType.typeParams) {
- if (typeParam.isConstant) {
- // Constant expression
- if (typeParam.constant->isLiteral()) {
- if (typeParam.constant->getBasicType() == glslang::EbtFloat) {
- float floatValue = static_cast<float>(typeParam.constant->getConstArray()[0].getDConst());
- unsigned literal = *reinterpret_cast<unsigned*>(&floatValue);
- operands.push_back(literal);
- } else if (typeParam.constant->getBasicType() == glslang::EbtInt) {
- unsigned literal = typeParam.constant->getConstArray()[0].getIConst();
- operands.push_back(literal);
- } else if (typeParam.constant->getBasicType() == glslang::EbtUint) {
- unsigned literal = typeParam.constant->getConstArray()[0].getUConst();
- operands.push_back(literal);
- } else if (typeParam.constant->getBasicType() == glslang::EbtBool) {
- unsigned literal = typeParam.constant->getConstArray()[0].getBConst();
- operands.push_back(literal);
- } else if (typeParam.constant->getBasicType() == glslang::EbtString) {
- auto str = typeParam.constant->getConstArray()[0].getSConst()->c_str();
- unsigned literal = 0;
- char* literalPtr = reinterpret_cast<char*>(&literal);
- unsigned charCount = 0;
- char ch = 0;
- do {
- ch = *(str++);
- *(literalPtr++) = ch;
- ++charCount;
- if (charCount == 4) {
- operands.push_back(literal);
- literalPtr = reinterpret_cast<char*>(&literal);
- charCount = 0;
- }
- } while (ch != 0);
-
- // Partial literal is padded with 0
- if (charCount > 0) {
- for (; charCount < 4; ++charCount)
- *(literalPtr++) = 0;
+ // Constant expression
+ if (typeParam.constant->isLiteral()) {
+ if (typeParam.constant->getBasicType() == glslang::EbtFloat) {
+ float floatValue = static_cast<float>(typeParam.constant->getConstArray()[0].getDConst());
+ unsigned literal = *reinterpret_cast<unsigned*>(&floatValue);
+ operands.push_back(literal);
+ } else if (typeParam.constant->getBasicType() == glslang::EbtInt) {
+ unsigned literal = typeParam.constant->getConstArray()[0].getIConst();
+ operands.push_back(literal);
+ } else if (typeParam.constant->getBasicType() == glslang::EbtUint) {
+ unsigned literal = typeParam.constant->getConstArray()[0].getUConst();
+ operands.push_back(literal);
+ } else if (typeParam.constant->getBasicType() == glslang::EbtBool) {
+ unsigned literal = typeParam.constant->getConstArray()[0].getBConst();
+ operands.push_back(literal);
+ } else if (typeParam.constant->getBasicType() == glslang::EbtString) {
+ auto str = typeParam.constant->getConstArray()[0].getSConst()->c_str();
+ unsigned literal = 0;
+ char* literalPtr = reinterpret_cast<char*>(&literal);
+ unsigned charCount = 0;
+ char ch = 0;
+ do {
+ ch = *(str++);
+ *(literalPtr++) = ch;
+ ++charCount;
+ if (charCount == 4) {
operands.push_back(literal);
+ literalPtr = reinterpret_cast<char*>(&literal);
+ charCount = 0;
}
- } else
- assert(0); // Unexpected type
- } else {
- int nextConst = 0;
- spv::Id constant = createSpvConstantFromConstUnionArray(
- typeParam.constant->getType(), typeParam.constant->getConstArray(), nextConst, false);
- operands.push_back(constant);
- }
- } else {
- // Type specifier
- spv::Id typeId = convertGlslangToSpvType(*typeParam.type);
- operands.push_back(typeId);
- }
+ } while (ch != 0);
+
+ // Partial literal is padded with 0
+ if (charCount > 0) {
+ for (; charCount < 4; ++charCount)
+ *(literalPtr++) = 0;
+ operands.push_back(literal);
+ }
+ } else
+ assert(0); // Unexpected type
+ } else
+ operands.push_back(createSpvConstant(*typeParam.constant));
}
if (spirvInst.set == "")
@@ -8847,12 +8837,12 @@
std::vector<spv::Id> operandIds;
assert(!decorateId.second.empty());
for (auto extraOperand : decorateId.second) {
- int nextConst = 0;
- spv::Id operandId = createSpvConstantFromConstUnionArray(
- extraOperand->getType(), extraOperand->getConstArray(), nextConst, false);
- operandIds.push_back(operandId);
+ if (extraOperand->getQualifier().isSpecConstant())
+ operandIds.push_back(getSymbolId(extraOperand->getAsSymbolNode()));
+ else
+ operandIds.push_back(createSpvConstant(*extraOperand));
}
- builder.addDecoration(id, static_cast<spv::Decoration>(decorateId.first), operandIds);
+ builder.addDecorationId(id, static_cast<spv::Decoration>(decorateId.first), operandIds);
}
// Add spirv_decorate_string
diff --git a/SPIRV/SpvPostProcess.cpp b/SPIRV/SpvPostProcess.cpp
index 23d7b5a..dd6dabc 100644
--- a/SPIRV/SpvPostProcess.cpp
+++ b/SPIRV/SpvPostProcess.cpp
@@ -44,10 +44,8 @@
#include <algorithm>
#include "SpvBuilder.h"
-
#include "spirv.hpp"
-#include "GlslangToSpv.h"
-#include "SpvBuilder.h"
+
namespace spv {
#include "GLSL.std.450.h"
#include "GLSL.ext.KHR.h"
@@ -113,8 +111,6 @@
}
}
break;
- case OpAccessChain:
- case OpPtrAccessChain:
case OpCopyObject:
break;
case OpFConvert:
@@ -161,26 +157,43 @@
switch (inst.getImmediateOperand(1)) {
case GLSLstd450Frexp:
case GLSLstd450FrexpStruct:
- if (getSpvVersion() < glslang::EShTargetSpv_1_3 && containsType(typeId, OpTypeInt, 16))
+ if (getSpvVersion() < spv::Spv_1_3 && containsType(typeId, OpTypeInt, 16))
addExtension(spv::E_SPV_AMD_gpu_shader_int16);
break;
case GLSLstd450InterpolateAtCentroid:
case GLSLstd450InterpolateAtSample:
case GLSLstd450InterpolateAtOffset:
- if (getSpvVersion() < glslang::EShTargetSpv_1_3 && containsType(typeId, OpTypeFloat, 16))
+ if (getSpvVersion() < spv::Spv_1_3 && containsType(typeId, OpTypeFloat, 16))
addExtension(spv::E_SPV_AMD_gpu_shader_half_float);
break;
default:
break;
}
break;
+ case OpAccessChain:
+ case OpPtrAccessChain:
+ if (isPointerType(typeId))
+ break;
+ if (basicTypeOp == OpTypeInt) {
+ if (width == 16)
+ addCapability(CapabilityInt16);
+ else if (width == 8)
+ addCapability(CapabilityInt8);
+ }
default:
- if (basicTypeOp == OpTypeFloat && width == 16)
- addCapability(CapabilityFloat16);
- if (basicTypeOp == OpTypeInt && width == 16)
- addCapability(CapabilityInt16);
- if (basicTypeOp == OpTypeInt && width == 8)
- addCapability(CapabilityInt8);
+ if (basicTypeOp == OpTypeInt) {
+ if (width == 16)
+ addCapability(CapabilityInt16);
+ else if (width == 8)
+ addCapability(CapabilityInt8);
+ else if (width == 64)
+ addCapability(CapabilityInt64);
+ } else if (basicTypeOp == OpTypeFloat) {
+ if (width == 16)
+ addCapability(CapabilityFloat16);
+ else if (width == 64)
+ addCapability(CapabilityFloat64);
+ }
break;
}
}
diff --git a/StandAlone/CMakeLists.txt b/StandAlone/CMakeLists.txt
index 91bec6c..2b163e7 100644
--- a/StandAlone/CMakeLists.txt
+++ b/StandAlone/CMakeLists.txt
@@ -31,6 +31,22 @@
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
+find_host_package(PythonInterp 3 REQUIRED)
+
+set(GLSLANG_INTRINSIC_H "${GLSLANG_GENERATED_INCLUDEDIR}/glslang/glsl_intrinsic_header.h")
+set(GLSLANG_INTRINSIC_PY "${CMAKE_CURRENT_SOURCE_DIR}/../gen_extension_headers.py")
+set(GLSLANG_INTRINSIC_HEADER_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../glslang/ExtensionHeaders")
+
+add_custom_command(
+ OUTPUT ${GLSLANG_INTRINSIC_H}
+ COMMAND ${PYTHON_EXECUTABLE} "${GLSLANG_INTRINSIC_PY}"
+ "-i" ${GLSLANG_INTRINSIC_HEADER_DIR}
+ "-o" ${GLSLANG_INTRINSIC_H}
+ DEPENDS ${GLSLANG_INTRINSIC_PY}
+ COMMENT "Generating ${GLSLANG_INTRINSIC_H}")
+
+#add_custom_target(glslangValidator DEPENDS ${GLSLANG_INTRINSIC_H})
+
add_library(glslang-default-resource-limits
${CMAKE_CURRENT_SOURCE_DIR}/ResourceLimits.cpp
${CMAKE_CURRENT_SOURCE_DIR}/resource_limits_c.cpp)
@@ -41,7 +57,7 @@
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>)
-set(SOURCES StandAlone.cpp DirStackFileIncluder.h)
+set(SOURCES StandAlone.cpp DirStackFileIncluder.h ${GLSLANG_INTRINSIC_H})
add_executable(glslangValidator ${SOURCES})
set_property(TARGET glslangValidator PROPERTY FOLDER tools)
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
index e62f92f..23e510c 100644
--- a/StandAlone/StandAlone.cpp
+++ b/StandAlone/StandAlone.cpp
@@ -2,6 +2,7 @@
// Copyright (C) 2002-2005 3Dlabs Inc. Ltd.
// Copyright (C) 2013-2016 LunarG, Inc.
// Copyright (C) 2016-2020 Google, Inc.
+// Modifications Copyright(C) 2021 Advanced Micro Devices, Inc.All rights reserved.
//
// All rights reserved.
//
@@ -65,6 +66,8 @@
// Build-time generated includes
#include "glslang/build_info.h"
+#include "glslang/glsl_intrinsic_header.h"
+
extern "C" {
GLSLANG_EXPORT void ShOutputHtml();
}
@@ -263,6 +266,7 @@
// Track the user's #define and #undef from the command line.
TPreamble UserPreamble;
+std::string PreambleString;
//
// Create the default name for saving a binary if -o is not provided.
@@ -1204,8 +1208,17 @@
"Use '-e <name>'.\n");
shader->setSourceEntryPoint(sourceEntryPointName);
}
+
+ std::string intrinsicString = getIntrinsic(compUnit.text, compUnit.count);
+
+ PreambleString = "";
if (UserPreamble.isSet())
- shader->setPreamble(UserPreamble.get());
+ PreambleString.append(UserPreamble.get());
+
+ if (!intrinsicString.empty())
+ PreambleString.append(intrinsicString);
+
+ shader->setPreamble(PreambleString.c_str());
shader->addProcesses(Processes);
#ifndef GLSLANG_WEB
diff --git a/Test/GL_ARB_draw_instanced.vert b/Test/GL_ARB_draw_instanced.vert
new file mode 100644
index 0000000..6e39086
--- /dev/null
+++ b/Test/GL_ARB_draw_instanced.vert
@@ -0,0 +1,18 @@
+#version 150
+#extension GL_ARB_draw_instanced : require
+#define ID gl_InstanceID
+
+uniform mat4 gtf_ModelViewProjectionMatrix;
+uniform vec3 instanceOffsets[3];
+in vec4 va[gl_MaxVertexAttribs];
+out vec4 color;
+
+void main (void)
+{
+ vec4 vertex = vec4(va[0].xy / 3.0, va[0].zw) + vec4(instanceOffsets[ID], 1.0);
+ color = vec4(0, 0, 0, 0);
+ for (int i = 1; i < gl_MaxVertexAttribs; i++)
+ color += va[i];
+ gl_Position = gtf_ModelViewProjectionMatrix * vertex;
+ gl_PointSize = 1.0;
+}
diff --git a/Test/GL_EXT_shader_integer_mix.vert b/Test/GL_EXT_shader_integer_mix.vert
new file mode 100644
index 0000000..3616e58
--- /dev/null
+++ b/Test/GL_EXT_shader_integer_mix.vert
@@ -0,0 +1,13 @@
+#version 330
+#extension GL_EXT_shader_integer_mix: require
+
+
+#if !defined GL_EXT_shader_integer_mix
+# error GL_EXT_shader_integer_mix is not defined
+#elif GL_EXT_shader_integer_mix != 1
+# error GL_EXT_shader_integer_mix is not equal to 1
+#endif
+
+void main(void) {
+ gl_Position = vec4(0);
+}
diff --git a/Test/baseResults/GL_ARB_draw_instanced.vert.out b/Test/baseResults/GL_ARB_draw_instanced.vert.out
new file mode 100644
index 0000000..e601bc8
--- /dev/null
+++ b/Test/baseResults/GL_ARB_draw_instanced.vert.out
@@ -0,0 +1,189 @@
+GL_ARB_draw_instanced.vert
+Shader version: 150
+Requested GL_ARB_draw_instanced
+0:? Sequence
+0:10 Function Definition: main( ( global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child ( temp 4-component vector of float)
+0:12 'vertex' ( temp 4-component vector of float)
+0:12 add ( temp 4-component vector of float)
+0:12 Construct vec4 ( temp 4-component vector of float)
+0:12 divide ( temp 2-component vector of float)
+0:12 vector swizzle ( temp 2-component vector of float)
+0:12 direct index ( temp 4-component vector of float)
+0:12 'va' ( in 64-element array of 4-component vector of float)
+0:12 Constant:
+0:12 0 (const int)
+0:12 Sequence
+0:12 Constant:
+0:12 0 (const int)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 3.000000
+0:12 vector swizzle ( temp 2-component vector of float)
+0:12 direct index ( temp 4-component vector of float)
+0:12 'va' ( in 64-element array of 4-component vector of float)
+0:12 Constant:
+0:12 0 (const int)
+0:12 Sequence
+0:12 Constant:
+0:12 2 (const int)
+0:12 Constant:
+0:12 3 (const int)
+0:12 Construct vec4 ( temp 4-component vector of float)
+0:12 indirect index ( temp 3-component vector of float)
+0:12 'instanceOffsets' ( uniform 3-element array of 3-component vector of float)
+0:12 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+0:12 Constant:
+0:12 1.000000
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 'color' ( smooth out 4-component vector of float)
+0:13 Constant:
+0:13 0.000000
+0:13 0.000000
+0:13 0.000000
+0:13 0.000000
+0:14 Sequence
+0:14 Sequence
+0:14 move second child to first child ( temp int)
+0:14 'i' ( temp int)
+0:14 Constant:
+0:14 1 (const int)
+0:14 Loop with condition tested first
+0:14 Loop Condition
+0:14 Compare Less Than ( temp bool)
+0:14 'i' ( temp int)
+0:14 Constant:
+0:14 64 (const int)
+0:14 Loop Body
+0:15 add second child into first child ( temp 4-component vector of float)
+0:15 'color' ( smooth out 4-component vector of float)
+0:15 indirect index ( temp 4-component vector of float)
+0:15 'va' ( in 64-element array of 4-component vector of float)
+0:15 'i' ( temp int)
+0:14 Loop Terminal Expression
+0:14 Post-Increment ( temp int)
+0:14 'i' ( temp int)
+0:16 move second child to first child ( temp 4-component vector of float)
+0:16 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:16 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:16 Constant:
+0:16 0 (const uint)
+0:16 matrix-times-vector ( temp 4-component vector of float)
+0:16 'gtf_ModelViewProjectionMatrix' ( uniform 4X4 matrix of float)
+0:16 'vertex' ( temp 4-component vector of float)
+0:17 move second child to first child ( temp float)
+0:17 gl_PointSize: direct index for structure ( gl_PointSize float PointSize)
+0:17 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:17 Constant:
+0:17 1 (const uint)
+0:17 Constant:
+0:17 1.000000
+0:? Linker Objects
+0:? 'gtf_ModelViewProjectionMatrix' ( uniform 4X4 matrix of float)
+0:? 'instanceOffsets' ( uniform 3-element array of 3-component vector of float)
+0:? 'va' ( in 64-element array of 4-component vector of float)
+0:? 'color' ( smooth out 4-component vector of float)
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 150
+Requested GL_ARB_draw_instanced
+0:? Sequence
+0:10 Function Definition: main( ( global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child ( temp 4-component vector of float)
+0:12 'vertex' ( temp 4-component vector of float)
+0:12 add ( temp 4-component vector of float)
+0:12 Construct vec4 ( temp 4-component vector of float)
+0:12 divide ( temp 2-component vector of float)
+0:12 vector swizzle ( temp 2-component vector of float)
+0:12 direct index ( temp 4-component vector of float)
+0:12 'va' ( in 64-element array of 4-component vector of float)
+0:12 Constant:
+0:12 0 (const int)
+0:12 Sequence
+0:12 Constant:
+0:12 0 (const int)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 3.000000
+0:12 vector swizzle ( temp 2-component vector of float)
+0:12 direct index ( temp 4-component vector of float)
+0:12 'va' ( in 64-element array of 4-component vector of float)
+0:12 Constant:
+0:12 0 (const int)
+0:12 Sequence
+0:12 Constant:
+0:12 2 (const int)
+0:12 Constant:
+0:12 3 (const int)
+0:12 Construct vec4 ( temp 4-component vector of float)
+0:12 indirect index ( temp 3-component vector of float)
+0:12 'instanceOffsets' ( uniform 3-element array of 3-component vector of float)
+0:12 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+0:12 Constant:
+0:12 1.000000
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 'color' ( smooth out 4-component vector of float)
+0:13 Constant:
+0:13 0.000000
+0:13 0.000000
+0:13 0.000000
+0:13 0.000000
+0:14 Sequence
+0:14 Sequence
+0:14 move second child to first child ( temp int)
+0:14 'i' ( temp int)
+0:14 Constant:
+0:14 1 (const int)
+0:14 Loop with condition tested first
+0:14 Loop Condition
+0:14 Compare Less Than ( temp bool)
+0:14 'i' ( temp int)
+0:14 Constant:
+0:14 64 (const int)
+0:14 Loop Body
+0:15 add second child into first child ( temp 4-component vector of float)
+0:15 'color' ( smooth out 4-component vector of float)
+0:15 indirect index ( temp 4-component vector of float)
+0:15 'va' ( in 64-element array of 4-component vector of float)
+0:15 'i' ( temp int)
+0:14 Loop Terminal Expression
+0:14 Post-Increment ( temp int)
+0:14 'i' ( temp int)
+0:16 move second child to first child ( temp 4-component vector of float)
+0:16 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:16 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:16 Constant:
+0:16 0 (const uint)
+0:16 matrix-times-vector ( temp 4-component vector of float)
+0:16 'gtf_ModelViewProjectionMatrix' ( uniform 4X4 matrix of float)
+0:16 'vertex' ( temp 4-component vector of float)
+0:17 move second child to first child ( temp float)
+0:17 gl_PointSize: direct index for structure ( gl_PointSize float PointSize)
+0:17 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:17 Constant:
+0:17 1 (const uint)
+0:17 Constant:
+0:17 1.000000
+0:? Linker Objects
+0:? 'gtf_ModelViewProjectionMatrix' ( uniform 4X4 matrix of float)
+0:? 'instanceOffsets' ( uniform 3-element array of 3-component vector of float)
+0:? 'va' ( in 64-element array of 4-component vector of float)
+0:? 'color' ( smooth out 4-component vector of float)
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/GL_EXT_shader_integer_mix.vert.out b/Test/baseResults/GL_EXT_shader_integer_mix.vert.out
new file mode 100644
index 0000000..4a62b57
--- /dev/null
+++ b/Test/baseResults/GL_EXT_shader_integer_mix.vert.out
@@ -0,0 +1,47 @@
+GL_EXT_shader_integer_mix.vert
+Shader version: 330
+Requested GL_EXT_shader_integer_mix
+0:? Sequence
+0:11 Function Definition: main( ( global void)
+0:11 Function Parameters:
+0:12 Sequence
+0:12 move second child to first child ( temp 4-component vector of float)
+0:12 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:12 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:12 Constant:
+0:12 0 (const uint)
+0:12 Constant:
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:? Linker Objects
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 330
+Requested GL_EXT_shader_integer_mix
+0:? Sequence
+0:11 Function Definition: main( ( global void)
+0:11 Function Parameters:
+0:12 Sequence
+0:12 move second child to first child ( temp 4-component vector of float)
+0:12 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:12 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:12 Constant:
+0:12 0 (const uint)
+0:12 Constant:
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:? Linker Objects
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/rayQuery.rgen.out b/Test/baseResults/rayQuery.rgen.out
index 80e9916..06a1a5a 100644
--- a/Test/baseResults/rayQuery.rgen.out
+++ b/Test/baseResults/rayQuery.rgen.out
@@ -28,8 +28,6 @@
MemberDecorate 26(block) 0 Offset 0
MemberDecorate 26(block) 1 Offset 16
Decorate 26(block) BufferBlock
- Decorate 28 DescriptorSet 0
- Decorate 28 Binding 1
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/spv.1.4.OpEntryPoint.frag.out b/Test/baseResults/spv.1.4.OpEntryPoint.frag.out
index cf5d98a..2c6e6dc 100644
--- a/Test/baseResults/spv.1.4.OpEntryPoint.frag.out
+++ b/Test/baseResults/spv.1.4.OpEntryPoint.frag.out
@@ -1,4 +1,5 @@
spv.1.4.OpEntryPoint.frag
+Validation failed
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 64
diff --git a/Test/baseResults/spv.RayGenShader.rgen.out b/Test/baseResults/spv.RayGenShader.rgen.out
index f8f3fd6..b708537 100644
--- a/Test/baseResults/spv.RayGenShader.rgen.out
+++ b/Test/baseResults/spv.RayGenShader.rgen.out
@@ -31,8 +31,6 @@
MemberDecorate 37(block) 0 Offset 0
MemberDecorate 37(block) 1 Offset 16
Decorate 37(block) BufferBlock
- Decorate 39 DescriptorSet 0
- Decorate 39 Binding 2
Decorate 50(accNV1) DescriptorSet 0
Decorate 50(accNV1) Binding 1
Decorate 53(payload) Location 0
diff --git a/Test/baseResults/spv.RayGenShader11.rgen.out b/Test/baseResults/spv.RayGenShader11.rgen.out
index f6b79c5..48509b0 100644
--- a/Test/baseResults/spv.RayGenShader11.rgen.out
+++ b/Test/baseResults/spv.RayGenShader11.rgen.out
@@ -30,8 +30,6 @@
MemberDecorate 37(block) 0 Offset 0
MemberDecorate 37(block) 1 Offset 16
Decorate 37(block) Block
- Decorate 39 DescriptorSet 0
- Decorate 39 Binding 1
Decorate 52(payload) Location 0
2: TypeVoid
3: TypeFunction 2
diff --git a/Test/baseResults/spv.RayGenShaderArray.rgen.out b/Test/baseResults/spv.RayGenShaderArray.rgen.out
index 63a04b3..8ddfca9 100644
--- a/Test/baseResults/spv.RayGenShaderArray.rgen.out
+++ b/Test/baseResults/spv.RayGenShaderArray.rgen.out
@@ -37,8 +37,6 @@
MemberDecorate 34(block) 1 Offset 16
MemberDecorate 34(block) 2 Offset 28
Decorate 34(block) BufferBlock
- Decorate 36 DescriptorSet 0
- Decorate 36 Binding 2
Decorate 60(accNV1) DescriptorSet 0
Decorate 60(accNV1) Binding 1
Decorate 75 DecorationNonUniformEXT
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out
index 60b5e93..95d9213 100644
--- a/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out
@@ -49,8 +49,6 @@
MemberDecorate 36(block) 9 Offset 120
MemberDecorate 36(block) 10 Offset 128
Decorate 36(block) Block
- Decorate 38 DescriptorSet 0
- Decorate 38 Binding 0
Decorate 60(payload) Location 1
2: TypeVoid
3: TypeFunction 2
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out
index cc175f7..f5e32c1 100644
--- a/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out
@@ -49,8 +49,6 @@
MemberDecorate 36(block) 9 Offset 136
MemberDecorate 36(block) 10 Offset 144
Decorate 36(block) Block
- Decorate 38 DescriptorSet 0
- Decorate 38 Binding 0
Decorate 60(payload) Location 1
2: TypeVoid
3: TypeFunction 2
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out
index afcfa9c..d952adf 100644
--- a/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out
@@ -49,8 +49,6 @@
MemberDecorate 36(block) 9 Offset 120
MemberDecorate 36(block) 10 Offset 128
Decorate 36(block) Block
- Decorate 38 DescriptorSet 0
- Decorate 38 Binding 0
Decorate 60(payload) Location 1
2: TypeVoid
3: TypeFunction 2
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out
index eac481a..c6d6530 100644
--- a/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out
@@ -50,8 +50,6 @@
MemberDecorate 36(block) 9 Offset 96
MemberDecorate 36(block) 10 Offset 104
Decorate 36(block) Block
- Decorate 38 DescriptorSet 0
- Decorate 38 Binding 0
Decorate 60(payload) Location 1
2: TypeVoid
3: TypeFunction 2
diff --git a/Test/baseResults/spv.ext.RayGenShader.rgen.out b/Test/baseResults/spv.ext.RayGenShader.rgen.out
index da516f3..bfaf64b 100644
--- a/Test/baseResults/spv.ext.RayGenShader.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShader.rgen.out
@@ -34,8 +34,6 @@
MemberDecorate 38(block) 0 Offset 0
MemberDecorate 38(block) 1 Offset 16
Decorate 38(block) Block
- Decorate 40 DescriptorSet 0
- Decorate 40 Binding 3
Decorate 53(payload) Location 1
Decorate 54(accEXT1) DescriptorSet 0
Decorate 54(accEXT1) Binding 1
diff --git a/Test/baseResults/spv.ext.RayGenShader11.rgen.out b/Test/baseResults/spv.ext.RayGenShader11.rgen.out
index 00262ac..048b02b 100644
--- a/Test/baseResults/spv.ext.RayGenShader11.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShader11.rgen.out
@@ -30,8 +30,6 @@
MemberDecorate 37(block) 0 Offset 0
MemberDecorate 37(block) 1 Offset 16
Decorate 37(block) Block
- Decorate 39 DescriptorSet 0
- Decorate 39 Binding 1
Decorate 52(payload) Location 1
2: TypeVoid
3: TypeFunction 2
diff --git a/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out b/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
index 473937d..ee39e35 100644
--- a/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
@@ -43,8 +43,6 @@
MemberDecorate 36(block) 3 Offset 32
MemberDecorate 36(block) 4 Offset 40
Decorate 36(block) Block
- Decorate 38 DescriptorSet 0
- Decorate 38 Binding 2
Decorate 61(payload) Location 1
Decorate 65(accEXT1) DescriptorSet 0
Decorate 65(accEXT1) Binding 1
diff --git a/Test/baseResults/spv.float64.frag.out b/Test/baseResults/spv.float64.frag.out
index dfcfc2d..cd5f80d 100644
--- a/Test/baseResults/spv.float64.frag.out
+++ b/Test/baseResults/spv.float64.frag.out
@@ -2,7 +2,7 @@
Validation failed
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 532
+// Id's are bound by 485
Capability Shader
Capability Float16
@@ -14,7 +14,7 @@
Capability InterpolationFunction
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 461
+ EntryPoint Fragment 4 "main" 414
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_EXT_shader_explicit_arithmetic_types"
@@ -29,782 +29,710 @@
Name 6 "literal("
Name 8 "operators("
Name 10 "typeCast("
- Name 12 "builtinAngleTrigFuncs("
- Name 14 "builtinExpFuncs("
- Name 16 "builtinCommonFuncs("
- Name 18 "builtinGeometryFuncs("
- Name 20 "builtinMatrixFuncs("
- Name 22 "builtinVecRelFuncs("
- Name 24 "builtinFragProcFuncs("
- Name 29 "f64v"
- Name 40 "f64v"
- Name 62 "f64m"
- Name 85 "f64"
- Name 109 "b"
- Name 151 "f64v"
- Name 154 "bv"
- Name 165 "f16v"
- Name 173 "i8v"
- Name 179 "i16v"
- Name 185 "i32v"
- Name 191 "i64v"
- Name 197 "u8v"
- Name 203 "u16v"
- Name 208 "u32v"
- Name 214 "u64v"
- Name 219 "f64v2"
- Name 220 "f64v1"
- Name 252 "f64v2"
- Name 253 "f64v1"
- Name 269 "f64v2"
- Name 270 "f64v1"
- Name 291 "f64"
- Name 295 "f64v3"
- Name 335 "bv"
- Name 356 "b"
- Name 366 "iv"
- Name 367 "ResType"
- Name 374 "f64"
- Name 375 "f64v1"
- Name 379 "f64v2"
- Name 385 "f64v3"
- Name 404 "f64m3"
- Name 405 "f64m1"
- Name 407 "f64m2"
- Name 416 "f64v1"
- Name 418 "f64v2"
- Name 423 "f64m4"
- Name 426 "f64"
- Name 429 "f64m5"
- Name 434 "f64m6"
- Name 435 "f64m7"
- Name 438 "bv"
- Name 439 "f64v1"
- Name 441 "f64v2"
- Name 459 "f64v"
- Name 461 "if64v"
- Name 518 "S"
- MemberName 518(S) 0 "x"
- MemberName 518(S) 1 "y"
- MemberName 518(S) 2 "z"
- Name 520 "B1"
- MemberName 520(B1) 0 "a"
- MemberName 520(B1) 1 "b"
- MemberName 520(B1) 2 "c"
- MemberName 520(B1) 3 "d"
- MemberName 520(B1) 4 "e"
- MemberName 520(B1) 5 "f"
- MemberName 520(B1) 6 "g"
- MemberName 520(B1) 7 "h"
- Name 522 ""
- Name 523 "sf16"
- Name 525 "sf"
- Name 526 "sd"
- Name 527 "f16_to_f"
- Name 529 "f16_to_d"
- Name 530 "f_to_f16"
- Name 531 "d_to_f16"
- Decorate 461(if64v) Flat
- Decorate 461(if64v) Location 0
- Decorate 516 ArrayStride 16
- Decorate 517 ArrayStride 64
- MemberDecorate 518(S) 0 Offset 0
- MemberDecorate 518(S) 1 Offset 16
- MemberDecorate 518(S) 2 Offset 32
- Decorate 519 ArrayStride 64
- MemberDecorate 520(B1) 0 Offset 0
- MemberDecorate 520(B1) 1 Offset 16
- MemberDecorate 520(B1) 2 Offset 32
- MemberDecorate 520(B1) 3 Offset 64
- MemberDecorate 520(B1) 4 ColMajor
- MemberDecorate 520(B1) 4 Offset 96
- MemberDecorate 520(B1) 4 MatrixStride 32
- MemberDecorate 520(B1) 5 ColMajor
- MemberDecorate 520(B1) 5 Offset 160
- MemberDecorate 520(B1) 5 MatrixStride 32
- MemberDecorate 520(B1) 6 Offset 288
- MemberDecorate 520(B1) 7 Offset 352
- Decorate 520(B1) Block
- Decorate 522 DescriptorSet 0
- Decorate 522 Binding 0
- Decorate 523(sf16) SpecId 100
- Decorate 525(sf) SpecId 101
- Decorate 526(sd) SpecId 102
+ Name 12 "builtinTranscendentalFuncs("
+ Name 14 "builtinCommonFuncs("
+ Name 16 "builtinGeometryFuncs("
+ Name 18 "builtinMatrixFuncs("
+ Name 20 "builtinVecRelFuncs("
+ Name 22 "builtinFragProcFuncs("
+ Name 27 "f64v"
+ Name 38 "f64v"
+ Name 60 "f64m"
+ Name 83 "f64"
+ Name 107 "b"
+ Name 149 "f64v"
+ Name 152 "bv"
+ Name 163 "f16v"
+ Name 171 "i8v"
+ Name 177 "i16v"
+ Name 183 "i32v"
+ Name 189 "i64v"
+ Name 195 "u8v"
+ Name 201 "u16v"
+ Name 206 "u32v"
+ Name 212 "u64v"
+ Name 215 "f64v2"
+ Name 216 "f64v1"
+ Name 221 "f64v2"
+ Name 222 "f64v1"
+ Name 243 "f64"
+ Name 247 "f64v3"
+ Name 287 "bv"
+ Name 308 "b"
+ Name 318 "iv"
+ Name 319 "ResType"
+ Name 326 "f64"
+ Name 327 "f64v1"
+ Name 331 "f64v2"
+ Name 337 "f64v3"
+ Name 356 "f64m3"
+ Name 357 "f64m1"
+ Name 359 "f64m2"
+ Name 368 "f64v1"
+ Name 370 "f64v2"
+ Name 375 "f64m4"
+ Name 378 "f64"
+ Name 381 "f64m5"
+ Name 387 "f64m6"
+ Name 388 "f64m7"
+ Name 391 "bv"
+ Name 392 "f64v1"
+ Name 394 "f64v2"
+ Name 412 "f64v"
+ Name 414 "if64v"
+ Name 471 "S"
+ MemberName 471(S) 0 "x"
+ MemberName 471(S) 1 "y"
+ MemberName 471(S) 2 "z"
+ Name 473 "B1"
+ MemberName 473(B1) 0 "a"
+ MemberName 473(B1) 1 "b"
+ MemberName 473(B1) 2 "c"
+ MemberName 473(B1) 3 "d"
+ MemberName 473(B1) 4 "e"
+ MemberName 473(B1) 5 "f"
+ MemberName 473(B1) 6 "g"
+ MemberName 473(B1) 7 "h"
+ Name 475 ""
+ Name 476 "sf16"
+ Name 478 "sf"
+ Name 479 "sd"
+ Name 480 "f16_to_f"
+ Name 482 "f16_to_d"
+ Name 483 "f_to_f16"
+ Name 484 "d_to_f16"
+ Decorate 414(if64v) Flat
+ Decorate 414(if64v) Location 0
+ Decorate 469 ArrayStride 16
+ Decorate 470 ArrayStride 64
+ MemberDecorate 471(S) 0 Offset 0
+ MemberDecorate 471(S) 1 Offset 16
+ MemberDecorate 471(S) 2 Offset 32
+ Decorate 472 ArrayStride 64
+ MemberDecorate 473(B1) 0 Offset 0
+ MemberDecorate 473(B1) 1 Offset 16
+ MemberDecorate 473(B1) 2 Offset 32
+ MemberDecorate 473(B1) 3 Offset 64
+ MemberDecorate 473(B1) 4 ColMajor
+ MemberDecorate 473(B1) 4 Offset 96
+ MemberDecorate 473(B1) 4 MatrixStride 32
+ MemberDecorate 473(B1) 5 ColMajor
+ MemberDecorate 473(B1) 5 Offset 160
+ MemberDecorate 473(B1) 5 MatrixStride 32
+ MemberDecorate 473(B1) 6 Offset 288
+ MemberDecorate 473(B1) 7 Offset 352
+ Decorate 473(B1) Block
+ Decorate 475 DescriptorSet 0
+ Decorate 475 Binding 0
+ Decorate 476(sf16) SpecId 100
+ Decorate 478(sf) SpecId 101
+ Decorate 479(sd) SpecId 102
2: TypeVoid
3: TypeFunction 2
- 26: TypeFloat 64
- 27: TypeVector 26(float64_t) 2
- 28: TypePointer Function 27(f64vec2)
- 30:26(float64_t) Constant 2696277389 1051772663
- 31: TypeInt 32 0
- 32: 31(int) Constant 0
- 33: TypePointer Function 26(float64_t)
- 35:26(float64_t) Constant 0 3218079744
- 36:26(float64_t) Constant 3951369912 1067366481
- 37: 27(f64vec2) ConstantComposite 35 36
- 54:26(float64_t) Constant 0 1072693248
- 60: TypeMatrix 27(f64vec2) 2
- 61: TypePointer Function 60
- 88: 31(int) Constant 1
- 107: TypeBool
- 108: TypePointer Function 107(bool)
- 149: TypeVector 26(float64_t) 3
- 150: TypePointer Function 149(f64vec3)
- 152: TypeVector 107(bool) 3
- 153: TypePointer Function 152(bvec3)
- 156:26(float64_t) Constant 0 0
- 157:149(f64vec3) ConstantComposite 156 156 156
- 158:149(f64vec3) ConstantComposite 54 54 54
- 162: TypeFloat 16
- 163: TypeVector 162(float16_t) 3
- 164: TypePointer Function 163(f16vec3)
- 170: TypeInt 8 1
- 171: TypeVector 170(int8_t) 3
- 172: TypePointer Function 171(i8vec3)
- 176: TypeInt 16 1
- 177: TypeVector 176(int16_t) 3
- 178: TypePointer Function 177(i16vec3)
- 182: TypeInt 32 1
- 183: TypeVector 182(int) 3
- 184: TypePointer Function 183(ivec3)
- 188: TypeInt 64 1
- 189: TypeVector 188(int64_t) 3
- 190: TypePointer Function 189(i64vec3)
- 194: TypeInt 8 0
- 195: TypeVector 194(int8_t) 3
- 196: TypePointer Function 195(i8vec3)
- 200: TypeInt 16 0
- 201: TypeVector 200(int16_t) 3
- 202: TypePointer Function 201(i16vec3)
- 206: TypeVector 31(int) 3
- 207: TypePointer Function 206(ivec3)
- 211: TypeInt 64 0
- 212: TypeVector 211(int64_t) 3
- 213: TypePointer Function 212(i64vec3)
- 217: TypeVector 26(float64_t) 4
- 218: TypePointer Function 217(f64vec4)
- 367(ResType): TypeStruct 149(f64vec3) 183(ivec3)
- 402: TypeMatrix 149(f64vec3) 2
- 403: TypePointer Function 402
- 421: TypeMatrix 27(f64vec2) 3
- 422: TypePointer Function 421
- 427: TypeMatrix 149(f64vec3) 3
- 428: TypePointer Function 427
- 432: TypeMatrix 217(f64vec4) 4
- 433: TypePointer Function 432
- 460: TypePointer Input 149(f64vec3)
- 461(if64v): 460(ptr) Variable Input
- 462: TypePointer Input 26(float64_t)
- 505: 182(int) Constant 1
- 512:26(float64_t) Constant 0 1071644672
- 513: 27(f64vec2) ConstantComposite 512 512
- 515: 31(int) Constant 2
- 516: TypeArray 26(float64_t) 515
- 517: TypeArray 402 515
- 518(S): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3)
- 519: TypeArray 518(S) 515
- 520(B1): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3) 516 402 517 518(S) 519
- 521: TypePointer Uniform 520(B1)
- 522: 521(ptr) Variable Uniform
- 523(sf16):162(float16_t) SpecConstant 12288
- 524: TypeFloat 32
- 525(sf): 524(float) SpecConstant 1048576000
- 526(sd):26(float64_t) SpecConstant 0 1071644672
- 527(f16_to_f): 524(float) SpecConstantOp 115 523(sf16)
- 528: 524(float) SpecConstantOp 115 523(sf16)
- 529(f16_to_d):26(float64_t) SpecConstantOp 115 528
- 530(f_to_f16):162(float16_t) SpecConstantOp 115 525(sf)
- 531(d_to_f16):162(float16_t) SpecConstantOp 115 526(sd)
+ 24: TypeFloat 64
+ 25: TypeVector 24(float64_t) 2
+ 26: TypePointer Function 25(f64vec2)
+ 28:24(float64_t) Constant 2696277389 1051772663
+ 29: TypeInt 32 0
+ 30: 29(int) Constant 0
+ 31: TypePointer Function 24(float64_t)
+ 33:24(float64_t) Constant 0 3218079744
+ 34:24(float64_t) Constant 3951369912 1067366481
+ 35: 25(f64vec2) ConstantComposite 33 34
+ 52:24(float64_t) Constant 0 1072693248
+ 58: TypeMatrix 25(f64vec2) 2
+ 59: TypePointer Function 58
+ 86: 29(int) Constant 1
+ 105: TypeBool
+ 106: TypePointer Function 105(bool)
+ 147: TypeVector 24(float64_t) 3
+ 148: TypePointer Function 147(f64vec3)
+ 150: TypeVector 105(bool) 3
+ 151: TypePointer Function 150(bvec3)
+ 154:24(float64_t) Constant 0 0
+ 155:147(f64vec3) ConstantComposite 154 154 154
+ 156:147(f64vec3) ConstantComposite 52 52 52
+ 160: TypeFloat 16
+ 161: TypeVector 160(float16_t) 3
+ 162: TypePointer Function 161(f16vec3)
+ 168: TypeInt 8 1
+ 169: TypeVector 168(int8_t) 3
+ 170: TypePointer Function 169(i8vec3)
+ 174: TypeInt 16 1
+ 175: TypeVector 174(int16_t) 3
+ 176: TypePointer Function 175(i16vec3)
+ 180: TypeInt 32 1
+ 181: TypeVector 180(int) 3
+ 182: TypePointer Function 181(ivec3)
+ 186: TypeInt 64 1
+ 187: TypeVector 186(int64_t) 3
+ 188: TypePointer Function 187(i64vec3)
+ 192: TypeInt 8 0
+ 193: TypeVector 192(int8_t) 3
+ 194: TypePointer Function 193(i8vec3)
+ 198: TypeInt 16 0
+ 199: TypeVector 198(int16_t) 3
+ 200: TypePointer Function 199(i16vec3)
+ 204: TypeVector 29(int) 3
+ 205: TypePointer Function 204(ivec3)
+ 209: TypeInt 64 0
+ 210: TypeVector 209(int64_t) 3
+ 211: TypePointer Function 210(i64vec3)
+ 319(ResType): TypeStruct 147(f64vec3) 181(ivec3)
+ 354: TypeMatrix 147(f64vec3) 2
+ 355: TypePointer Function 354
+ 373: TypeMatrix 25(f64vec2) 3
+ 374: TypePointer Function 373
+ 379: TypeMatrix 147(f64vec3) 3
+ 380: TypePointer Function 379
+ 384: TypeVector 24(float64_t) 4
+ 385: TypeMatrix 384(f64vec4) 4
+ 386: TypePointer Function 385
+ 413: TypePointer Input 147(f64vec3)
+ 414(if64v): 413(ptr) Variable Input
+ 415: TypePointer Input 24(float64_t)
+ 458: 180(int) Constant 1
+ 465:24(float64_t) Constant 0 1071644672
+ 466: 25(f64vec2) ConstantComposite 465 465
+ 468: 29(int) Constant 2
+ 469: TypeArray 24(float64_t) 468
+ 470: TypeArray 354 468
+ 471(S): TypeStruct 24(float64_t) 25(f64vec2) 147(f64vec3)
+ 472: TypeArray 471(S) 468
+ 473(B1): TypeStruct 24(float64_t) 25(f64vec2) 147(f64vec3) 469 354 470 471(S) 472
+ 474: TypePointer Uniform 473(B1)
+ 475: 474(ptr) Variable Uniform
+ 476(sf16):160(float16_t) SpecConstant 12288
+ 477: TypeFloat 32
+ 478(sf): 477(float) SpecConstant 1048576000
+ 479(sd):24(float64_t) SpecConstant 0 1071644672
+ 480(f16_to_f): 477(float) SpecConstantOp 115 476(sf16)
+ 481: 477(float) SpecConstantOp 115 476(sf16)
+ 482(f16_to_d):24(float64_t) SpecConstantOp 115 481
+ 483(f_to_f16):160(float16_t) SpecConstantOp 115 478(sf)
+ 484(d_to_f16):160(float16_t) SpecConstantOp 115 479(sd)
4(main): 2 Function None 3
5: Label
Return
FunctionEnd
6(literal(): 2 Function None 3
7: Label
- 29(f64v): 28(ptr) Variable Function
- 34: 33(ptr) AccessChain 29(f64v) 32
- Store 34 30
- 38: 27(f64vec2) Load 29(f64v)
- 39: 27(f64vec2) FAdd 38 37
- Store 29(f64v) 39
+ 27(f64v): 26(ptr) Variable Function
+ 32: 31(ptr) AccessChain 27(f64v) 30
+ Store 32 28
+ 36: 25(f64vec2) Load 27(f64v)
+ 37: 25(f64vec2) FAdd 36 35
+ Store 27(f64v) 37
Return
FunctionEnd
8(operators(): 2 Function None 3
9: Label
- 40(f64v): 28(ptr) Variable Function
- 62(f64m): 61(ptr) Variable Function
- 85(f64): 33(ptr) Variable Function
- 109(b): 108(ptr) Variable Function
- 41: 27(f64vec2) Load 40(f64v)
- 42: 27(f64vec2) Load 40(f64v)
- 43: 27(f64vec2) FAdd 42 41
- Store 40(f64v) 43
- 44: 27(f64vec2) Load 40(f64v)
- 45: 27(f64vec2) Load 40(f64v)
- 46: 27(f64vec2) FSub 45 44
- Store 40(f64v) 46
- 47: 27(f64vec2) Load 40(f64v)
- 48: 27(f64vec2) Load 40(f64v)
- 49: 27(f64vec2) FMul 48 47
- Store 40(f64v) 49
- 50: 27(f64vec2) Load 40(f64v)
- 51: 27(f64vec2) Load 40(f64v)
- 52: 27(f64vec2) FDiv 51 50
- Store 40(f64v) 52
- 53: 27(f64vec2) Load 40(f64v)
- 55: 27(f64vec2) CompositeConstruct 54 54
- 56: 27(f64vec2) FAdd 53 55
- Store 40(f64v) 56
- 57: 27(f64vec2) Load 40(f64v)
- 58: 27(f64vec2) CompositeConstruct 54 54
- 59: 27(f64vec2) FSub 57 58
- Store 40(f64v) 59
- 63: 60 Load 62(f64m)
- 64: 27(f64vec2) CompositeConstruct 54 54
- 65: 27(f64vec2) CompositeExtract 63 0
- 66: 27(f64vec2) FAdd 65 64
- 67: 27(f64vec2) CompositeExtract 63 1
- 68: 27(f64vec2) FAdd 67 64
- 69: 60 CompositeConstruct 66 68
- Store 62(f64m) 69
- 70: 60 Load 62(f64m)
- 71: 27(f64vec2) CompositeConstruct 54 54
- 72: 27(f64vec2) CompositeExtract 70 0
- 73: 27(f64vec2) FSub 72 71
- 74: 27(f64vec2) CompositeExtract 70 1
- 75: 27(f64vec2) FSub 74 71
- 76: 60 CompositeConstruct 73 75
- Store 62(f64m) 76
- 77: 27(f64vec2) Load 40(f64v)
- 78: 27(f64vec2) FNegate 77
- Store 40(f64v) 78
- 79: 60 Load 62(f64m)
- 80: 27(f64vec2) CompositeExtract 79 0
- 81: 27(f64vec2) FNegate 80
- 82: 27(f64vec2) CompositeExtract 79 1
- 83: 27(f64vec2) FNegate 82
- 84: 60 CompositeConstruct 81 83
- Store 62(f64m) 84
- 86: 33(ptr) AccessChain 40(f64v) 32
- 87:26(float64_t) Load 86
- 89: 33(ptr) AccessChain 40(f64v) 88
- 90:26(float64_t) Load 89
- 91:26(float64_t) FAdd 87 90
- Store 85(f64) 91
- 92: 33(ptr) AccessChain 40(f64v) 32
- 93:26(float64_t) Load 92
- 94: 33(ptr) AccessChain 40(f64v) 88
- 95:26(float64_t) Load 94
- 96:26(float64_t) FSub 93 95
- Store 85(f64) 96
- 97: 33(ptr) AccessChain 40(f64v) 32
- 98:26(float64_t) Load 97
- 99: 33(ptr) AccessChain 40(f64v) 88
- 100:26(float64_t) Load 99
- 101:26(float64_t) FMul 98 100
- Store 85(f64) 101
- 102: 33(ptr) AccessChain 40(f64v) 32
- 103:26(float64_t) Load 102
- 104: 33(ptr) AccessChain 40(f64v) 88
- 105:26(float64_t) Load 104
- 106:26(float64_t) FDiv 103 105
- Store 85(f64) 106
- 110: 33(ptr) AccessChain 40(f64v) 32
- 111:26(float64_t) Load 110
- 112:26(float64_t) Load 85(f64)
- 113: 107(bool) FUnordNotEqual 111 112
- Store 109(b) 113
- 114: 33(ptr) AccessChain 40(f64v) 88
- 115:26(float64_t) Load 114
- 116:26(float64_t) Load 85(f64)
- 117: 107(bool) FOrdEqual 115 116
- Store 109(b) 117
- 118: 33(ptr) AccessChain 40(f64v) 32
- 119:26(float64_t) Load 118
- 120:26(float64_t) Load 85(f64)
- 121: 107(bool) FOrdGreaterThan 119 120
- Store 109(b) 121
- 122: 33(ptr) AccessChain 40(f64v) 88
- 123:26(float64_t) Load 122
- 124:26(float64_t) Load 85(f64)
- 125: 107(bool) FOrdLessThan 123 124
- Store 109(b) 125
- 126: 33(ptr) AccessChain 40(f64v) 32
- 127:26(float64_t) Load 126
- 128:26(float64_t) Load 85(f64)
- 129: 107(bool) FOrdGreaterThanEqual 127 128
- Store 109(b) 129
- 130: 33(ptr) AccessChain 40(f64v) 88
- 131:26(float64_t) Load 130
- 132:26(float64_t) Load 85(f64)
- 133: 107(bool) FOrdLessThanEqual 131 132
- Store 109(b) 133
- 134: 27(f64vec2) Load 40(f64v)
- 135:26(float64_t) Load 85(f64)
- 136: 27(f64vec2) VectorTimesScalar 134 135
- Store 40(f64v) 136
- 137: 60 Load 62(f64m)
- 138:26(float64_t) Load 85(f64)
- 139: 60 MatrixTimesScalar 137 138
- Store 62(f64m) 139
- 140: 60 Load 62(f64m)
- 141: 27(f64vec2) Load 40(f64v)
- 142: 27(f64vec2) MatrixTimesVector 140 141
- Store 40(f64v) 142
- 143: 27(f64vec2) Load 40(f64v)
- 144: 60 Load 62(f64m)
- 145: 27(f64vec2) VectorTimesMatrix 143 144
- Store 40(f64v) 145
- 146: 60 Load 62(f64m)
- 147: 60 Load 62(f64m)
- 148: 60 MatrixTimesMatrix 146 147
- Store 62(f64m) 148
+ 38(f64v): 26(ptr) Variable Function
+ 60(f64m): 59(ptr) Variable Function
+ 83(f64): 31(ptr) Variable Function
+ 107(b): 106(ptr) Variable Function
+ 39: 25(f64vec2) Load 38(f64v)
+ 40: 25(f64vec2) Load 38(f64v)
+ 41: 25(f64vec2) FAdd 40 39
+ Store 38(f64v) 41
+ 42: 25(f64vec2) Load 38(f64v)
+ 43: 25(f64vec2) Load 38(f64v)
+ 44: 25(f64vec2) FSub 43 42
+ Store 38(f64v) 44
+ 45: 25(f64vec2) Load 38(f64v)
+ 46: 25(f64vec2) Load 38(f64v)
+ 47: 25(f64vec2) FMul 46 45
+ Store 38(f64v) 47
+ 48: 25(f64vec2) Load 38(f64v)
+ 49: 25(f64vec2) Load 38(f64v)
+ 50: 25(f64vec2) FDiv 49 48
+ Store 38(f64v) 50
+ 51: 25(f64vec2) Load 38(f64v)
+ 53: 25(f64vec2) CompositeConstruct 52 52
+ 54: 25(f64vec2) FAdd 51 53
+ Store 38(f64v) 54
+ 55: 25(f64vec2) Load 38(f64v)
+ 56: 25(f64vec2) CompositeConstruct 52 52
+ 57: 25(f64vec2) FSub 55 56
+ Store 38(f64v) 57
+ 61: 58 Load 60(f64m)
+ 62: 25(f64vec2) CompositeConstruct 52 52
+ 63: 25(f64vec2) CompositeExtract 61 0
+ 64: 25(f64vec2) FAdd 63 62
+ 65: 25(f64vec2) CompositeExtract 61 1
+ 66: 25(f64vec2) FAdd 65 62
+ 67: 58 CompositeConstruct 64 66
+ Store 60(f64m) 67
+ 68: 58 Load 60(f64m)
+ 69: 25(f64vec2) CompositeConstruct 52 52
+ 70: 25(f64vec2) CompositeExtract 68 0
+ 71: 25(f64vec2) FSub 70 69
+ 72: 25(f64vec2) CompositeExtract 68 1
+ 73: 25(f64vec2) FSub 72 69
+ 74: 58 CompositeConstruct 71 73
+ Store 60(f64m) 74
+ 75: 25(f64vec2) Load 38(f64v)
+ 76: 25(f64vec2) FNegate 75
+ Store 38(f64v) 76
+ 77: 58 Load 60(f64m)
+ 78: 25(f64vec2) CompositeExtract 77 0
+ 79: 25(f64vec2) FNegate 78
+ 80: 25(f64vec2) CompositeExtract 77 1
+ 81: 25(f64vec2) FNegate 80
+ 82: 58 CompositeConstruct 79 81
+ Store 60(f64m) 82
+ 84: 31(ptr) AccessChain 38(f64v) 30
+ 85:24(float64_t) Load 84
+ 87: 31(ptr) AccessChain 38(f64v) 86
+ 88:24(float64_t) Load 87
+ 89:24(float64_t) FAdd 85 88
+ Store 83(f64) 89
+ 90: 31(ptr) AccessChain 38(f64v) 30
+ 91:24(float64_t) Load 90
+ 92: 31(ptr) AccessChain 38(f64v) 86
+ 93:24(float64_t) Load 92
+ 94:24(float64_t) FSub 91 93
+ Store 83(f64) 94
+ 95: 31(ptr) AccessChain 38(f64v) 30
+ 96:24(float64_t) Load 95
+ 97: 31(ptr) AccessChain 38(f64v) 86
+ 98:24(float64_t) Load 97
+ 99:24(float64_t) FMul 96 98
+ Store 83(f64) 99
+ 100: 31(ptr) AccessChain 38(f64v) 30
+ 101:24(float64_t) Load 100
+ 102: 31(ptr) AccessChain 38(f64v) 86
+ 103:24(float64_t) Load 102
+ 104:24(float64_t) FDiv 101 103
+ Store 83(f64) 104
+ 108: 31(ptr) AccessChain 38(f64v) 30
+ 109:24(float64_t) Load 108
+ 110:24(float64_t) Load 83(f64)
+ 111: 105(bool) FUnordNotEqual 109 110
+ Store 107(b) 111
+ 112: 31(ptr) AccessChain 38(f64v) 86
+ 113:24(float64_t) Load 112
+ 114:24(float64_t) Load 83(f64)
+ 115: 105(bool) FOrdEqual 113 114
+ Store 107(b) 115
+ 116: 31(ptr) AccessChain 38(f64v) 30
+ 117:24(float64_t) Load 116
+ 118:24(float64_t) Load 83(f64)
+ 119: 105(bool) FOrdGreaterThan 117 118
+ Store 107(b) 119
+ 120: 31(ptr) AccessChain 38(f64v) 86
+ 121:24(float64_t) Load 120
+ 122:24(float64_t) Load 83(f64)
+ 123: 105(bool) FOrdLessThan 121 122
+ Store 107(b) 123
+ 124: 31(ptr) AccessChain 38(f64v) 30
+ 125:24(float64_t) Load 124
+ 126:24(float64_t) Load 83(f64)
+ 127: 105(bool) FOrdGreaterThanEqual 125 126
+ Store 107(b) 127
+ 128: 31(ptr) AccessChain 38(f64v) 86
+ 129:24(float64_t) Load 128
+ 130:24(float64_t) Load 83(f64)
+ 131: 105(bool) FOrdLessThanEqual 129 130
+ Store 107(b) 131
+ 132: 25(f64vec2) Load 38(f64v)
+ 133:24(float64_t) Load 83(f64)
+ 134: 25(f64vec2) VectorTimesScalar 132 133
+ Store 38(f64v) 134
+ 135: 58 Load 60(f64m)
+ 136:24(float64_t) Load 83(f64)
+ 137: 58 MatrixTimesScalar 135 136
+ Store 60(f64m) 137
+ 138: 58 Load 60(f64m)
+ 139: 25(f64vec2) Load 38(f64v)
+ 140: 25(f64vec2) MatrixTimesVector 138 139
+ Store 38(f64v) 140
+ 141: 25(f64vec2) Load 38(f64v)
+ 142: 58 Load 60(f64m)
+ 143: 25(f64vec2) VectorTimesMatrix 141 142
+ Store 38(f64v) 143
+ 144: 58 Load 60(f64m)
+ 145: 58 Load 60(f64m)
+ 146: 58 MatrixTimesMatrix 144 145
+ Store 60(f64m) 146
Return
FunctionEnd
10(typeCast(): 2 Function None 3
11: Label
- 151(f64v): 150(ptr) Variable Function
- 154(bv): 153(ptr) Variable Function
- 165(f16v): 164(ptr) Variable Function
- 173(i8v): 172(ptr) Variable Function
- 179(i16v): 178(ptr) Variable Function
- 185(i32v): 184(ptr) Variable Function
- 191(i64v): 190(ptr) Variable Function
- 197(u8v): 196(ptr) Variable Function
- 203(u16v): 202(ptr) Variable Function
- 208(u32v): 207(ptr) Variable Function
- 214(u64v): 213(ptr) Variable Function
- 155: 152(bvec3) Load 154(bv)
- 159:149(f64vec3) Select 155 158 157
- Store 151(f64v) 159
- 160:149(f64vec3) Load 151(f64v)
- 161: 152(bvec3) FUnordNotEqual 160 157
- Store 154(bv) 161
- 166:163(f16vec3) Load 165(f16v)
- 167:149(f64vec3) FConvert 166
- Store 151(f64v) 167
- 168:149(f64vec3) Load 151(f64v)
- 169:163(f16vec3) FConvert 168
- Store 165(f16v) 169
- 174:149(f64vec3) Load 151(f64v)
- 175: 171(i8vec3) ConvertFToS 174
- Store 173(i8v) 175
- 180:149(f64vec3) Load 151(f64v)
- 181:177(i16vec3) ConvertFToS 180
- Store 179(i16v) 181
- 186:149(f64vec3) Load 151(f64v)
- 187: 183(ivec3) ConvertFToS 186
- Store 185(i32v) 187
- 192:149(f64vec3) Load 151(f64v)
- 193:189(i64vec3) ConvertFToS 192
- Store 191(i64v) 193
- 198:149(f64vec3) Load 151(f64v)
- 199: 195(i8vec3) ConvertFToU 198
- Store 197(u8v) 199
- 204:149(f64vec3) Load 151(f64v)
- 205:201(i16vec3) ConvertFToU 204
- Store 203(u16v) 205
- 209:149(f64vec3) Load 151(f64v)
- 210: 206(ivec3) ConvertFToU 209
- Store 208(u32v) 210
- 215:149(f64vec3) Load 151(f64v)
- 216:212(i64vec3) ConvertFToU 215
- Store 214(u64v) 216
+ 149(f64v): 148(ptr) Variable Function
+ 152(bv): 151(ptr) Variable Function
+ 163(f16v): 162(ptr) Variable Function
+ 171(i8v): 170(ptr) Variable Function
+ 177(i16v): 176(ptr) Variable Function
+ 183(i32v): 182(ptr) Variable Function
+ 189(i64v): 188(ptr) Variable Function
+ 195(u8v): 194(ptr) Variable Function
+ 201(u16v): 200(ptr) Variable Function
+ 206(u32v): 205(ptr) Variable Function
+ 212(u64v): 211(ptr) Variable Function
+ 153: 150(bvec3) Load 152(bv)
+ 157:147(f64vec3) Select 153 156 155
+ Store 149(f64v) 157
+ 158:147(f64vec3) Load 149(f64v)
+ 159: 150(bvec3) FUnordNotEqual 158 155
+ Store 152(bv) 159
+ 164:161(f16vec3) Load 163(f16v)
+ 165:147(f64vec3) FConvert 164
+ Store 149(f64v) 165
+ 166:147(f64vec3) Load 149(f64v)
+ 167:161(f16vec3) FConvert 166
+ Store 163(f16v) 167
+ 172:147(f64vec3) Load 149(f64v)
+ 173: 169(i8vec3) ConvertFToS 172
+ Store 171(i8v) 173
+ 178:147(f64vec3) Load 149(f64v)
+ 179:175(i16vec3) ConvertFToS 178
+ Store 177(i16v) 179
+ 184:147(f64vec3) Load 149(f64v)
+ 185: 181(ivec3) ConvertFToS 184
+ Store 183(i32v) 185
+ 190:147(f64vec3) Load 149(f64v)
+ 191:187(i64vec3) ConvertFToS 190
+ Store 189(i64v) 191
+ 196:147(f64vec3) Load 149(f64v)
+ 197: 193(i8vec3) ConvertFToU 196
+ Store 195(u8v) 197
+ 202:147(f64vec3) Load 149(f64v)
+ 203:199(i16vec3) ConvertFToU 202
+ Store 201(u16v) 203
+ 207:147(f64vec3) Load 149(f64v)
+ 208: 204(ivec3) ConvertFToU 207
+ Store 206(u32v) 208
+ 213:147(f64vec3) Load 149(f64v)
+ 214:210(i64vec3) ConvertFToU 213
+ Store 212(u64v) 214
Return
FunctionEnd
-12(builtinAngleTrigFuncs(): 2 Function None 3
+12(builtinTranscendentalFuncs(): 2 Function None 3
13: Label
- 219(f64v2): 218(ptr) Variable Function
- 220(f64v1): 218(ptr) Variable Function
- 221:217(f64vec4) Load 220(f64v1)
- 222:217(f64vec4) ExtInst 1(GLSL.std.450) 11(Radians) 221
- Store 219(f64v2) 222
- 223:217(f64vec4) Load 220(f64v1)
- 224:217(f64vec4) ExtInst 1(GLSL.std.450) 12(Degrees) 223
- Store 219(f64v2) 224
- 225:217(f64vec4) Load 220(f64v1)
- 226:217(f64vec4) ExtInst 1(GLSL.std.450) 13(Sin) 225
- Store 219(f64v2) 226
- 227:217(f64vec4) Load 220(f64v1)
- 228:217(f64vec4) ExtInst 1(GLSL.std.450) 14(Cos) 227
- Store 219(f64v2) 228
- 229:217(f64vec4) Load 220(f64v1)
- 230:217(f64vec4) ExtInst 1(GLSL.std.450) 15(Tan) 229
- Store 219(f64v2) 230
- 231:217(f64vec4) Load 220(f64v1)
- 232:217(f64vec4) ExtInst 1(GLSL.std.450) 16(Asin) 231
- Store 219(f64v2) 232
- 233:217(f64vec4) Load 220(f64v1)
- 234:217(f64vec4) ExtInst 1(GLSL.std.450) 17(Acos) 233
- Store 219(f64v2) 234
- 235:217(f64vec4) Load 220(f64v1)
- 236:217(f64vec4) Load 219(f64v2)
- 237:217(f64vec4) ExtInst 1(GLSL.std.450) 25(Atan2) 235 236
- Store 219(f64v2) 237
- 238:217(f64vec4) Load 220(f64v1)
- 239:217(f64vec4) ExtInst 1(GLSL.std.450) 18(Atan) 238
- Store 219(f64v2) 239
- 240:217(f64vec4) Load 220(f64v1)
- 241:217(f64vec4) ExtInst 1(GLSL.std.450) 19(Sinh) 240
- Store 219(f64v2) 241
- 242:217(f64vec4) Load 220(f64v1)
- 243:217(f64vec4) ExtInst 1(GLSL.std.450) 20(Cosh) 242
- Store 219(f64v2) 243
- 244:217(f64vec4) Load 220(f64v1)
- 245:217(f64vec4) ExtInst 1(GLSL.std.450) 21(Tanh) 244
- Store 219(f64v2) 245
- 246:217(f64vec4) Load 220(f64v1)
- 247:217(f64vec4) ExtInst 1(GLSL.std.450) 22(Asinh) 246
- Store 219(f64v2) 247
- 248:217(f64vec4) Load 220(f64v1)
- 249:217(f64vec4) ExtInst 1(GLSL.std.450) 23(Acosh) 248
- Store 219(f64v2) 249
- 250:217(f64vec4) Load 220(f64v1)
- 251:217(f64vec4) ExtInst 1(GLSL.std.450) 24(Atanh) 250
- Store 219(f64v2) 251
+ 215(f64v2): 26(ptr) Variable Function
+ 216(f64v1): 26(ptr) Variable Function
+ 217: 25(f64vec2) Load 216(f64v1)
+ 218: 25(f64vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 217
+ Store 215(f64v2) 218
+ 219: 25(f64vec2) Load 216(f64v1)
+ 220: 25(f64vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 219
+ Store 215(f64v2) 220
Return
FunctionEnd
-14(builtinExpFuncs(): 2 Function None 3
+14(builtinCommonFuncs(): 2 Function None 3
15: Label
- 252(f64v2): 28(ptr) Variable Function
- 253(f64v1): 28(ptr) Variable Function
- 254: 27(f64vec2) Load 253(f64v1)
- 255: 27(f64vec2) Load 252(f64v2)
- 256: 27(f64vec2) ExtInst 1(GLSL.std.450) 26(Pow) 254 255
- Store 252(f64v2) 256
- 257: 27(f64vec2) Load 253(f64v1)
- 258: 27(f64vec2) ExtInst 1(GLSL.std.450) 27(Exp) 257
- Store 252(f64v2) 258
- 259: 27(f64vec2) Load 253(f64v1)
- 260: 27(f64vec2) ExtInst 1(GLSL.std.450) 28(Log) 259
- Store 252(f64v2) 260
- 261: 27(f64vec2) Load 253(f64v1)
- 262: 27(f64vec2) ExtInst 1(GLSL.std.450) 29(Exp2) 261
- Store 252(f64v2) 262
- 263: 27(f64vec2) Load 253(f64v1)
- 264: 27(f64vec2) ExtInst 1(GLSL.std.450) 30(Log2) 263
- Store 252(f64v2) 264
- 265: 27(f64vec2) Load 253(f64v1)
- 266: 27(f64vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 265
- Store 252(f64v2) 266
- 267: 27(f64vec2) Load 253(f64v1)
- 268: 27(f64vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 267
- Store 252(f64v2) 268
+ 221(f64v2): 148(ptr) Variable Function
+ 222(f64v1): 148(ptr) Variable Function
+ 243(f64): 31(ptr) Variable Function
+ 247(f64v3): 148(ptr) Variable Function
+ 287(bv): 151(ptr) Variable Function
+ 308(b): 106(ptr) Variable Function
+ 318(iv): 182(ptr) Variable Function
+ 223:147(f64vec3) Load 222(f64v1)
+ 224:147(f64vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 223
+ Store 221(f64v2) 224
+ 225:147(f64vec3) Load 222(f64v1)
+ 226:147(f64vec3) ExtInst 1(GLSL.std.450) 6(FSign) 225
+ Store 221(f64v2) 226
+ 227:147(f64vec3) Load 222(f64v1)
+ 228:147(f64vec3) ExtInst 1(GLSL.std.450) 8(Floor) 227
+ Store 221(f64v2) 228
+ 229:147(f64vec3) Load 222(f64v1)
+ 230:147(f64vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 229
+ Store 221(f64v2) 230
+ 231:147(f64vec3) Load 222(f64v1)
+ 232:147(f64vec3) ExtInst 1(GLSL.std.450) 1(Round) 231
+ Store 221(f64v2) 232
+ 233:147(f64vec3) Load 222(f64v1)
+ 234:147(f64vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 233
+ Store 221(f64v2) 234
+ 235:147(f64vec3) Load 222(f64v1)
+ 236:147(f64vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 235
+ Store 221(f64v2) 236
+ 237:147(f64vec3) Load 222(f64v1)
+ 238:147(f64vec3) ExtInst 1(GLSL.std.450) 10(Fract) 237
+ Store 221(f64v2) 238
+ 239:147(f64vec3) Load 222(f64v1)
+ 240:147(f64vec3) Load 221(f64v2)
+ 241:147(f64vec3) FMod 239 240
+ Store 221(f64v2) 241
+ 242:147(f64vec3) Load 222(f64v1)
+ 244:24(float64_t) Load 243(f64)
+ 245:147(f64vec3) CompositeConstruct 244 244 244
+ 246:147(f64vec3) FMod 242 245
+ Store 221(f64v2) 246
+ 248:147(f64vec3) Load 222(f64v1)
+ 249:147(f64vec3) ExtInst 1(GLSL.std.450) 35(Modf) 248 221(f64v2)
+ Store 247(f64v3) 249
+ 250:147(f64vec3) Load 222(f64v1)
+ 251:147(f64vec3) Load 221(f64v2)
+ 252:147(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 250 251
+ Store 247(f64v3) 252
+ 253:147(f64vec3) Load 222(f64v1)
+ 254:24(float64_t) Load 243(f64)
+ 255:147(f64vec3) CompositeConstruct 254 254 254
+ 256:147(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 253 255
+ Store 247(f64v3) 256
+ 257:147(f64vec3) Load 222(f64v1)
+ 258:147(f64vec3) Load 221(f64v2)
+ 259:147(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 257 258
+ Store 247(f64v3) 259
+ 260:147(f64vec3) Load 222(f64v1)
+ 261:24(float64_t) Load 243(f64)
+ 262:147(f64vec3) CompositeConstruct 261 261 261
+ 263:147(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 260 262
+ Store 247(f64v3) 263
+ 264:147(f64vec3) Load 222(f64v1)
+ 265:24(float64_t) Load 243(f64)
+ 266: 31(ptr) AccessChain 221(f64v2) 30
+ 267:24(float64_t) Load 266
+ 268:147(f64vec3) CompositeConstruct 265 265 265
+ 269:147(f64vec3) CompositeConstruct 267 267 267
+ 270:147(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 264 268 269
+ Store 247(f64v3) 270
+ 271:147(f64vec3) Load 222(f64v1)
+ 272:147(f64vec3) Load 221(f64v2)
+ 273:24(float64_t) Load 243(f64)
+ 274:147(f64vec3) CompositeConstruct 273 273 273
+ 275:147(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 271 272 274
+ Store 247(f64v3) 275
+ 276:147(f64vec3) Load 222(f64v1)
+ 277:147(f64vec3) Load 221(f64v2)
+ 278:24(float64_t) Load 243(f64)
+ 279:147(f64vec3) CompositeConstruct 278 278 278
+ 280:147(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 276 277 279
+ Store 247(f64v3) 280
+ 281:147(f64vec3) Load 222(f64v1)
+ 282:147(f64vec3) Load 221(f64v2)
+ 283:147(f64vec3) Load 247(f64v3)
+ 284:147(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 281 282 283
+ Store 247(f64v3) 284
+ 285:147(f64vec3) Load 222(f64v1)
+ 286:147(f64vec3) Load 221(f64v2)
+ 288: 150(bvec3) Load 287(bv)
+ 289:147(f64vec3) Select 288 286 285
+ Store 247(f64v3) 289
+ 290:147(f64vec3) Load 222(f64v1)
+ 291:147(f64vec3) Load 221(f64v2)
+ 292:147(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 290 291
+ Store 247(f64v3) 292
+ 293:24(float64_t) Load 243(f64)
+ 294:147(f64vec3) Load 247(f64v3)
+ 295:147(f64vec3) CompositeConstruct 293 293 293
+ 296:147(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 295 294
+ Store 247(f64v3) 296
+ 297:147(f64vec3) Load 222(f64v1)
+ 298:147(f64vec3) Load 221(f64v2)
+ 299:147(f64vec3) Load 247(f64v3)
+ 300:147(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 297 298 299
+ Store 247(f64v3) 300
+ 301:24(float64_t) Load 243(f64)
+ 302: 31(ptr) AccessChain 222(f64v1) 30
+ 303:24(float64_t) Load 302
+ 304:147(f64vec3) Load 221(f64v2)
+ 305:147(f64vec3) CompositeConstruct 301 301 301
+ 306:147(f64vec3) CompositeConstruct 303 303 303
+ 307:147(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 305 306 304
+ Store 247(f64v3) 307
+ 309:24(float64_t) Load 243(f64)
+ 310: 105(bool) IsNan 309
+ Store 308(b) 310
+ 311:147(f64vec3) Load 222(f64v1)
+ 312: 150(bvec3) IsInf 311
+ Store 287(bv) 312
+ 313:147(f64vec3) Load 222(f64v1)
+ 314:147(f64vec3) Load 221(f64v2)
+ 315:147(f64vec3) Load 247(f64v3)
+ 316:147(f64vec3) ExtInst 1(GLSL.std.450) 50(Fma) 313 314 315
+ Store 247(f64v3) 316
+ 317:147(f64vec3) Load 222(f64v1)
+ 320:319(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 317
+ 321: 181(ivec3) CompositeExtract 320 1
+ Store 318(iv) 321
+ 322:147(f64vec3) CompositeExtract 320 0
+ Store 221(f64v2) 322
+ 323:147(f64vec3) Load 222(f64v1)
+ 324: 181(ivec3) Load 318(iv)
+ 325:147(f64vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 323 324
+ Store 221(f64v2) 325
Return
FunctionEnd
-16(builtinCommonFuncs(): 2 Function None 3
+16(builtinGeometryFuncs(): 2 Function None 3
17: Label
- 269(f64v2): 150(ptr) Variable Function
- 270(f64v1): 150(ptr) Variable Function
- 291(f64): 33(ptr) Variable Function
- 295(f64v3): 150(ptr) Variable Function
- 335(bv): 153(ptr) Variable Function
- 356(b): 108(ptr) Variable Function
- 366(iv): 184(ptr) Variable Function
- 271:149(f64vec3) Load 270(f64v1)
- 272:149(f64vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 271
- Store 269(f64v2) 272
- 273:149(f64vec3) Load 270(f64v1)
- 274:149(f64vec3) ExtInst 1(GLSL.std.450) 6(FSign) 273
- Store 269(f64v2) 274
- 275:149(f64vec3) Load 270(f64v1)
- 276:149(f64vec3) ExtInst 1(GLSL.std.450) 8(Floor) 275
- Store 269(f64v2) 276
- 277:149(f64vec3) Load 270(f64v1)
- 278:149(f64vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 277
- Store 269(f64v2) 278
- 279:149(f64vec3) Load 270(f64v1)
- 280:149(f64vec3) ExtInst 1(GLSL.std.450) 1(Round) 279
- Store 269(f64v2) 280
- 281:149(f64vec3) Load 270(f64v1)
- 282:149(f64vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 281
- Store 269(f64v2) 282
- 283:149(f64vec3) Load 270(f64v1)
- 284:149(f64vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 283
- Store 269(f64v2) 284
- 285:149(f64vec3) Load 270(f64v1)
- 286:149(f64vec3) ExtInst 1(GLSL.std.450) 10(Fract) 285
- Store 269(f64v2) 286
- 287:149(f64vec3) Load 270(f64v1)
- 288:149(f64vec3) Load 269(f64v2)
- 289:149(f64vec3) FMod 287 288
- Store 269(f64v2) 289
- 290:149(f64vec3) Load 270(f64v1)
- 292:26(float64_t) Load 291(f64)
- 293:149(f64vec3) CompositeConstruct 292 292 292
- 294:149(f64vec3) FMod 290 293
- Store 269(f64v2) 294
- 296:149(f64vec3) Load 270(f64v1)
- 297:149(f64vec3) ExtInst 1(GLSL.std.450) 35(Modf) 296 269(f64v2)
- Store 295(f64v3) 297
- 298:149(f64vec3) Load 270(f64v1)
- 299:149(f64vec3) Load 269(f64v2)
- 300:149(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 298 299
- Store 295(f64v3) 300
- 301:149(f64vec3) Load 270(f64v1)
- 302:26(float64_t) Load 291(f64)
- 303:149(f64vec3) CompositeConstruct 302 302 302
- 304:149(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 301 303
- Store 295(f64v3) 304
- 305:149(f64vec3) Load 270(f64v1)
- 306:149(f64vec3) Load 269(f64v2)
- 307:149(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 305 306
- Store 295(f64v3) 307
- 308:149(f64vec3) Load 270(f64v1)
- 309:26(float64_t) Load 291(f64)
- 310:149(f64vec3) CompositeConstruct 309 309 309
- 311:149(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 308 310
- Store 295(f64v3) 311
- 312:149(f64vec3) Load 270(f64v1)
- 313:26(float64_t) Load 291(f64)
- 314: 33(ptr) AccessChain 269(f64v2) 32
- 315:26(float64_t) Load 314
- 316:149(f64vec3) CompositeConstruct 313 313 313
- 317:149(f64vec3) CompositeConstruct 315 315 315
- 318:149(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 312 316 317
- Store 295(f64v3) 318
- 319:149(f64vec3) Load 270(f64v1)
- 320:149(f64vec3) Load 269(f64v2)
- 321:26(float64_t) Load 291(f64)
- 322:149(f64vec3) CompositeConstruct 321 321 321
- 323:149(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 319 320 322
- Store 295(f64v3) 323
- 324:149(f64vec3) Load 270(f64v1)
- 325:149(f64vec3) Load 269(f64v2)
- 326:26(float64_t) Load 291(f64)
- 327:149(f64vec3) CompositeConstruct 326 326 326
- 328:149(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 324 325 327
- Store 295(f64v3) 328
- 329:149(f64vec3) Load 270(f64v1)
- 330:149(f64vec3) Load 269(f64v2)
- 331:149(f64vec3) Load 295(f64v3)
- 332:149(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 329 330 331
- Store 295(f64v3) 332
- 333:149(f64vec3) Load 270(f64v1)
- 334:149(f64vec3) Load 269(f64v2)
- 336: 152(bvec3) Load 335(bv)
- 337:149(f64vec3) Select 336 334 333
- Store 295(f64v3) 337
- 338:149(f64vec3) Load 270(f64v1)
- 339:149(f64vec3) Load 269(f64v2)
- 340:149(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 338 339
- Store 295(f64v3) 340
- 341:26(float64_t) Load 291(f64)
- 342:149(f64vec3) Load 295(f64v3)
- 343:149(f64vec3) CompositeConstruct 341 341 341
- 344:149(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 343 342
- Store 295(f64v3) 344
- 345:149(f64vec3) Load 270(f64v1)
- 346:149(f64vec3) Load 269(f64v2)
- 347:149(f64vec3) Load 295(f64v3)
- 348:149(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 345 346 347
- Store 295(f64v3) 348
- 349:26(float64_t) Load 291(f64)
- 350: 33(ptr) AccessChain 270(f64v1) 32
- 351:26(float64_t) Load 350
- 352:149(f64vec3) Load 269(f64v2)
- 353:149(f64vec3) CompositeConstruct 349 349 349
- 354:149(f64vec3) CompositeConstruct 351 351 351
- 355:149(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 353 354 352
- Store 295(f64v3) 355
- 357:26(float64_t) Load 291(f64)
- 358: 107(bool) IsNan 357
- Store 356(b) 358
- 359:149(f64vec3) Load 270(f64v1)
- 360: 152(bvec3) IsInf 359
- Store 335(bv) 360
- 361:149(f64vec3) Load 270(f64v1)
- 362:149(f64vec3) Load 269(f64v2)
- 363:149(f64vec3) Load 295(f64v3)
- 364:149(f64vec3) ExtInst 1(GLSL.std.450) 50(Fma) 361 362 363
- Store 295(f64v3) 364
- 365:149(f64vec3) Load 270(f64v1)
- 368:367(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 365
- 369: 183(ivec3) CompositeExtract 368 1
- Store 366(iv) 369
- 370:149(f64vec3) CompositeExtract 368 0
- Store 269(f64v2) 370
- 371:149(f64vec3) Load 270(f64v1)
- 372: 183(ivec3) Load 366(iv)
- 373:149(f64vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 371 372
- Store 269(f64v2) 373
+ 326(f64): 31(ptr) Variable Function
+ 327(f64v1): 148(ptr) Variable Function
+ 331(f64v2): 148(ptr) Variable Function
+ 337(f64v3): 148(ptr) Variable Function
+ 328:147(f64vec3) Load 327(f64v1)
+ 329:24(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 328
+ Store 326(f64) 329
+ 330:147(f64vec3) Load 327(f64v1)
+ 332:147(f64vec3) Load 331(f64v2)
+ 333:24(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 330 332
+ Store 326(f64) 333
+ 334:147(f64vec3) Load 327(f64v1)
+ 335:147(f64vec3) Load 331(f64v2)
+ 336:24(float64_t) Dot 334 335
+ Store 326(f64) 336
+ 338:147(f64vec3) Load 327(f64v1)
+ 339:147(f64vec3) Load 331(f64v2)
+ 340:147(f64vec3) ExtInst 1(GLSL.std.450) 68(Cross) 338 339
+ Store 337(f64v3) 340
+ 341:147(f64vec3) Load 327(f64v1)
+ 342:147(f64vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 341
+ Store 331(f64v2) 342
+ 343:147(f64vec3) Load 327(f64v1)
+ 344:147(f64vec3) Load 331(f64v2)
+ 345:147(f64vec3) Load 337(f64v3)
+ 346:147(f64vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 343 344 345
+ Store 337(f64v3) 346
+ 347:147(f64vec3) Load 327(f64v1)
+ 348:147(f64vec3) Load 331(f64v2)
+ 349:147(f64vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 347 348
+ Store 337(f64v3) 349
+ 350:147(f64vec3) Load 327(f64v1)
+ 351:147(f64vec3) Load 331(f64v2)
+ 352:24(float64_t) Load 326(f64)
+ 353:147(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 350 351 352
+ Store 337(f64v3) 353
Return
FunctionEnd
-18(builtinGeometryFuncs(): 2 Function None 3
+18(builtinMatrixFuncs(): 2 Function None 3
19: Label
- 374(f64): 33(ptr) Variable Function
- 375(f64v1): 150(ptr) Variable Function
- 379(f64v2): 150(ptr) Variable Function
- 385(f64v3): 150(ptr) Variable Function
- 376:149(f64vec3) Load 375(f64v1)
- 377:26(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 376
- Store 374(f64) 377
- 378:149(f64vec3) Load 375(f64v1)
- 380:149(f64vec3) Load 379(f64v2)
- 381:26(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 378 380
- Store 374(f64) 381
- 382:149(f64vec3) Load 375(f64v1)
- 383:149(f64vec3) Load 379(f64v2)
- 384:26(float64_t) Dot 382 383
- Store 374(f64) 384
- 386:149(f64vec3) Load 375(f64v1)
- 387:149(f64vec3) Load 379(f64v2)
- 388:149(f64vec3) ExtInst 1(GLSL.std.450) 68(Cross) 386 387
- Store 385(f64v3) 388
- 389:149(f64vec3) Load 375(f64v1)
- 390:149(f64vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 389
- Store 379(f64v2) 390
- 391:149(f64vec3) Load 375(f64v1)
- 392:149(f64vec3) Load 379(f64v2)
- 393:149(f64vec3) Load 385(f64v3)
- 394:149(f64vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 391 392 393
- Store 385(f64v3) 394
- 395:149(f64vec3) Load 375(f64v1)
- 396:149(f64vec3) Load 379(f64v2)
- 397:149(f64vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 395 396
- Store 385(f64v3) 397
- 398:149(f64vec3) Load 375(f64v1)
- 399:149(f64vec3) Load 379(f64v2)
- 400:26(float64_t) Load 374(f64)
- 401:149(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 398 399 400
- Store 385(f64v3) 401
+ 356(f64m3): 355(ptr) Variable Function
+ 357(f64m1): 355(ptr) Variable Function
+ 359(f64m2): 355(ptr) Variable Function
+ 368(f64v1): 148(ptr) Variable Function
+ 370(f64v2): 26(ptr) Variable Function
+ 375(f64m4): 374(ptr) Variable Function
+ 378(f64): 31(ptr) Variable Function
+ 381(f64m5): 380(ptr) Variable Function
+ 387(f64m6): 386(ptr) Variable Function
+ 388(f64m7): 386(ptr) Variable Function
+ 358: 354 Load 357(f64m1)
+ 360: 354 Load 359(f64m2)
+ 361:147(f64vec3) CompositeExtract 358 0
+ 362:147(f64vec3) CompositeExtract 360 0
+ 363:147(f64vec3) FMul 361 362
+ 364:147(f64vec3) CompositeExtract 358 1
+ 365:147(f64vec3) CompositeExtract 360 1
+ 366:147(f64vec3) FMul 364 365
+ 367: 354 CompositeConstruct 363 366
+ Store 356(f64m3) 367
+ 369:147(f64vec3) Load 368(f64v1)
+ 371: 25(f64vec2) Load 370(f64v2)
+ 372: 354 OuterProduct 369 371
+ Store 357(f64m1) 372
+ 376: 354 Load 357(f64m1)
+ 377: 373 Transpose 376
+ Store 375(f64m4) 377
+ 382: 379 Load 381(f64m5)
+ 383:24(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 382
+ Store 378(f64) 383
+ 389: 385 Load 388(f64m7)
+ 390: 385 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 389
+ Store 387(f64m6) 390
Return
FunctionEnd
-20(builtinMatrixFuncs(): 2 Function None 3
+20(builtinVecRelFuncs(): 2 Function None 3
21: Label
- 404(f64m3): 403(ptr) Variable Function
- 405(f64m1): 403(ptr) Variable Function
- 407(f64m2): 403(ptr) Variable Function
- 416(f64v1): 150(ptr) Variable Function
- 418(f64v2): 28(ptr) Variable Function
- 423(f64m4): 422(ptr) Variable Function
- 426(f64): 33(ptr) Variable Function
- 429(f64m5): 428(ptr) Variable Function
- 434(f64m6): 433(ptr) Variable Function
- 435(f64m7): 433(ptr) Variable Function
- 406: 402 Load 405(f64m1)
- 408: 402 Load 407(f64m2)
- 409:149(f64vec3) CompositeExtract 406 0
- 410:149(f64vec3) CompositeExtract 408 0
- 411:149(f64vec3) FMul 409 410
- 412:149(f64vec3) CompositeExtract 406 1
- 413:149(f64vec3) CompositeExtract 408 1
- 414:149(f64vec3) FMul 412 413
- 415: 402 CompositeConstruct 411 414
- Store 404(f64m3) 415
- 417:149(f64vec3) Load 416(f64v1)
- 419: 27(f64vec2) Load 418(f64v2)
- 420: 402 OuterProduct 417 419
- Store 405(f64m1) 420
- 424: 402 Load 405(f64m1)
- 425: 421 Transpose 424
- Store 423(f64m4) 425
- 430: 427 Load 429(f64m5)
- 431:26(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 430
- Store 426(f64) 431
- 436: 432 Load 435(f64m7)
- 437: 432 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 436
- Store 434(f64m6) 437
+ 391(bv): 151(ptr) Variable Function
+ 392(f64v1): 148(ptr) Variable Function
+ 394(f64v2): 148(ptr) Variable Function
+ 393:147(f64vec3) Load 392(f64v1)
+ 395:147(f64vec3) Load 394(f64v2)
+ 396: 150(bvec3) FOrdLessThan 393 395
+ Store 391(bv) 396
+ 397:147(f64vec3) Load 392(f64v1)
+ 398:147(f64vec3) Load 394(f64v2)
+ 399: 150(bvec3) FOrdLessThanEqual 397 398
+ Store 391(bv) 399
+ 400:147(f64vec3) Load 392(f64v1)
+ 401:147(f64vec3) Load 394(f64v2)
+ 402: 150(bvec3) FOrdGreaterThan 400 401
+ Store 391(bv) 402
+ 403:147(f64vec3) Load 392(f64v1)
+ 404:147(f64vec3) Load 394(f64v2)
+ 405: 150(bvec3) FOrdGreaterThanEqual 403 404
+ Store 391(bv) 405
+ 406:147(f64vec3) Load 392(f64v1)
+ 407:147(f64vec3) Load 394(f64v2)
+ 408: 150(bvec3) FOrdEqual 406 407
+ Store 391(bv) 408
+ 409:147(f64vec3) Load 392(f64v1)
+ 410:147(f64vec3) Load 394(f64v2)
+ 411: 150(bvec3) FUnordNotEqual 409 410
+ Store 391(bv) 411
Return
FunctionEnd
-22(builtinVecRelFuncs(): 2 Function None 3
+22(builtinFragProcFuncs(): 2 Function None 3
23: Label
- 438(bv): 153(ptr) Variable Function
- 439(f64v1): 150(ptr) Variable Function
- 441(f64v2): 150(ptr) Variable Function
- 440:149(f64vec3) Load 439(f64v1)
- 442:149(f64vec3) Load 441(f64v2)
- 443: 152(bvec3) FOrdLessThan 440 442
- Store 438(bv) 443
- 444:149(f64vec3) Load 439(f64v1)
- 445:149(f64vec3) Load 441(f64v2)
- 446: 152(bvec3) FOrdLessThanEqual 444 445
- Store 438(bv) 446
- 447:149(f64vec3) Load 439(f64v1)
- 448:149(f64vec3) Load 441(f64v2)
- 449: 152(bvec3) FOrdGreaterThan 447 448
- Store 438(bv) 449
- 450:149(f64vec3) Load 439(f64v1)
- 451:149(f64vec3) Load 441(f64v2)
- 452: 152(bvec3) FOrdGreaterThanEqual 450 451
- Store 438(bv) 452
- 453:149(f64vec3) Load 439(f64v1)
- 454:149(f64vec3) Load 441(f64v2)
- 455: 152(bvec3) FOrdEqual 453 454
- Store 438(bv) 455
- 456:149(f64vec3) Load 439(f64v1)
- 457:149(f64vec3) Load 441(f64v2)
- 458: 152(bvec3) FUnordNotEqual 456 457
- Store 438(bv) 458
- Return
- FunctionEnd
-24(builtinFragProcFuncs(): 2 Function None 3
- 25: Label
- 459(f64v): 150(ptr) Variable Function
- 463: 462(ptr) AccessChain 461(if64v) 32
- 464:26(float64_t) Load 463
- 465:26(float64_t) DPdx 464
- 466: 33(ptr) AccessChain 459(f64v) 32
- Store 466 465
- 467: 462(ptr) AccessChain 461(if64v) 88
- 468:26(float64_t) Load 467
- 469:26(float64_t) DPdy 468
- 470: 33(ptr) AccessChain 459(f64v) 88
- Store 470 469
- 471:149(f64vec3) Load 461(if64v)
- 472: 27(f64vec2) VectorShuffle 471 471 0 1
- 473: 27(f64vec2) DPdxFine 472
- 474: 33(ptr) AccessChain 459(f64v) 32
- 475:26(float64_t) CompositeExtract 473 0
- Store 474 475
- 476: 33(ptr) AccessChain 459(f64v) 88
- 477:26(float64_t) CompositeExtract 473 1
- Store 476 477
- 478:149(f64vec3) Load 461(if64v)
- 479: 27(f64vec2) VectorShuffle 478 478 0 1
- 480: 27(f64vec2) DPdyFine 479
- 481: 33(ptr) AccessChain 459(f64v) 32
- 482:26(float64_t) CompositeExtract 480 0
- Store 481 482
- 483: 33(ptr) AccessChain 459(f64v) 88
- 484:26(float64_t) CompositeExtract 480 1
- Store 483 484
- 485:149(f64vec3) Load 461(if64v)
- 486:149(f64vec3) DPdxCoarse 485
- Store 459(f64v) 486
- 487:149(f64vec3) Load 461(if64v)
- 488:149(f64vec3) DPdxCoarse 487
- Store 459(f64v) 488
- 489: 462(ptr) AccessChain 461(if64v) 32
- 490:26(float64_t) Load 489
- 491:26(float64_t) Fwidth 490
- 492: 33(ptr) AccessChain 459(f64v) 32
- Store 492 491
- 493:149(f64vec3) Load 461(if64v)
- 494: 27(f64vec2) VectorShuffle 493 493 0 1
- 495: 27(f64vec2) FwidthFine 494
- 496: 33(ptr) AccessChain 459(f64v) 32
- 497:26(float64_t) CompositeExtract 495 0
- Store 496 497
- 498: 33(ptr) AccessChain 459(f64v) 88
- 499:26(float64_t) CompositeExtract 495 1
- Store 498 499
- 500:149(f64vec3) Load 461(if64v)
- 501:149(f64vec3) FwidthCoarse 500
- Store 459(f64v) 501
- 502: 462(ptr) AccessChain 461(if64v) 32
- 503:26(float64_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 502
- 504: 33(ptr) AccessChain 459(f64v) 32
- Store 504 503
- 506:149(f64vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 461(if64v) 505
- 507: 27(f64vec2) VectorShuffle 506 506 0 1
- 508: 33(ptr) AccessChain 459(f64v) 32
- 509:26(float64_t) CompositeExtract 507 0
- Store 508 509
- 510: 33(ptr) AccessChain 459(f64v) 88
- 511:26(float64_t) CompositeExtract 507 1
- Store 510 511
- 514:149(f64vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 461(if64v) 513
- Store 459(f64v) 514
+ 412(f64v): 148(ptr) Variable Function
+ 416: 415(ptr) AccessChain 414(if64v) 30
+ 417:24(float64_t) Load 416
+ 418:24(float64_t) DPdx 417
+ 419: 31(ptr) AccessChain 412(f64v) 30
+ Store 419 418
+ 420: 415(ptr) AccessChain 414(if64v) 86
+ 421:24(float64_t) Load 420
+ 422:24(float64_t) DPdy 421
+ 423: 31(ptr) AccessChain 412(f64v) 86
+ Store 423 422
+ 424:147(f64vec3) Load 414(if64v)
+ 425: 25(f64vec2) VectorShuffle 424 424 0 1
+ 426: 25(f64vec2) DPdxFine 425
+ 427: 31(ptr) AccessChain 412(f64v) 30
+ 428:24(float64_t) CompositeExtract 426 0
+ Store 427 428
+ 429: 31(ptr) AccessChain 412(f64v) 86
+ 430:24(float64_t) CompositeExtract 426 1
+ Store 429 430
+ 431:147(f64vec3) Load 414(if64v)
+ 432: 25(f64vec2) VectorShuffle 431 431 0 1
+ 433: 25(f64vec2) DPdyFine 432
+ 434: 31(ptr) AccessChain 412(f64v) 30
+ 435:24(float64_t) CompositeExtract 433 0
+ Store 434 435
+ 436: 31(ptr) AccessChain 412(f64v) 86
+ 437:24(float64_t) CompositeExtract 433 1
+ Store 436 437
+ 438:147(f64vec3) Load 414(if64v)
+ 439:147(f64vec3) DPdxCoarse 438
+ Store 412(f64v) 439
+ 440:147(f64vec3) Load 414(if64v)
+ 441:147(f64vec3) DPdxCoarse 440
+ Store 412(f64v) 441
+ 442: 415(ptr) AccessChain 414(if64v) 30
+ 443:24(float64_t) Load 442
+ 444:24(float64_t) Fwidth 443
+ 445: 31(ptr) AccessChain 412(f64v) 30
+ Store 445 444
+ 446:147(f64vec3) Load 414(if64v)
+ 447: 25(f64vec2) VectorShuffle 446 446 0 1
+ 448: 25(f64vec2) FwidthFine 447
+ 449: 31(ptr) AccessChain 412(f64v) 30
+ 450:24(float64_t) CompositeExtract 448 0
+ Store 449 450
+ 451: 31(ptr) AccessChain 412(f64v) 86
+ 452:24(float64_t) CompositeExtract 448 1
+ Store 451 452
+ 453:147(f64vec3) Load 414(if64v)
+ 454:147(f64vec3) FwidthCoarse 453
+ Store 412(f64v) 454
+ 455: 415(ptr) AccessChain 414(if64v) 30
+ 456:24(float64_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 455
+ 457: 31(ptr) AccessChain 412(f64v) 30
+ Store 457 456
+ 459:147(f64vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 414(if64v) 458
+ 460: 25(f64vec2) VectorShuffle 459 459 0 1
+ 461: 31(ptr) AccessChain 412(f64v) 30
+ 462:24(float64_t) CompositeExtract 460 0
+ Store 461 462
+ 463: 31(ptr) AccessChain 412(f64v) 86
+ 464:24(float64_t) CompositeExtract 460 1
+ Store 463 464
+ 467:147(f64vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 414(if64v) 466
+ Store 412(f64v) 467
Return
FunctionEnd
diff --git a/Test/baseResults/spv.int16.frag.out b/Test/baseResults/spv.int16.frag.out
index 43cb09f..3e10a7d 100644
--- a/Test/baseResults/spv.int16.frag.out
+++ b/Test/baseResults/spv.int16.frag.out
@@ -1,7 +1,7 @@
spv.int16.frag
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 535
+// Id's are bound by 549
Capability Shader
Capability Float16
@@ -48,53 +48,55 @@
Name 154 "i8v"
Name 163 "u8v"
Name 176 "bv"
- Name 195 "u16v"
- Name 200 "i16"
- Name 220 "i"
- Name 227 "uv"
- Name 243 "i64"
- Name 281 "b"
- Name 343 "i16v"
- Name 346 "i16"
- Name 356 "u16v"
- Name 358 "u16"
- Name 428 "i32"
- Name 431 "i64"
- Name 434 "i16v4"
- Name 437 "u32"
- Name 438 "u16v2"
- Name 442 "u64"
- Name 445 "u16v4"
- Name 457 "bv"
- Name 530 "Block"
- MemberName 530(Block) 0 "i16"
- MemberName 530(Block) 1 "i16v2"
- MemberName 530(Block) 2 "i16v3"
- MemberName 530(Block) 3 "i16v4"
- MemberName 530(Block) 4 "u16"
- MemberName 530(Block) 5 "u16v2"
- MemberName 530(Block) 6 "u16v3"
- MemberName 530(Block) 7 "u16v4"
- Name 532 "block"
- Name 533 "si16"
- Name 534 "su16"
+ Name 196 "arr"
+ Name 204 "u16v"
+ Name 209 "i16"
+ Name 229 "i"
+ Name 236 "uv"
+ Name 252 "i64"
+ Name 290 "b"
+ Name 353 "f"
+ Name 357 "i16v"
+ Name 360 "i16"
+ Name 370 "u16v"
+ Name 372 "u16"
+ Name 442 "i32"
+ Name 445 "i64"
+ Name 448 "i16v4"
+ Name 451 "u32"
+ Name 452 "u16v2"
+ Name 456 "u64"
+ Name 459 "u16v4"
+ Name 471 "bv"
+ Name 544 "Block"
+ MemberName 544(Block) 0 "i16"
+ MemberName 544(Block) 1 "i16v2"
+ MemberName 544(Block) 2 "i16v3"
+ MemberName 544(Block) 3 "i16v4"
+ MemberName 544(Block) 4 "u16"
+ MemberName 544(Block) 5 "u16v2"
+ MemberName 544(Block) 6 "u16v3"
+ MemberName 544(Block) 7 "u16v4"
+ Name 546 "block"
+ Name 547 "si16"
+ Name 548 "su16"
MemberDecorate 24(Uniforms) 0 Offset 0
Decorate 24(Uniforms) Block
Decorate 26 DescriptorSet 0
Decorate 26 Binding 0
- MemberDecorate 530(Block) 0 Offset 0
- MemberDecorate 530(Block) 1 Offset 4
- MemberDecorate 530(Block) 2 Offset 8
- MemberDecorate 530(Block) 3 Offset 16
- MemberDecorate 530(Block) 4 Offset 24
- MemberDecorate 530(Block) 5 Offset 28
- MemberDecorate 530(Block) 6 Offset 32
- MemberDecorate 530(Block) 7 Offset 40
- Decorate 530(Block) Block
- Decorate 532(block) DescriptorSet 0
- Decorate 532(block) Binding 1
- Decorate 533(si16) SpecId 100
- Decorate 534(su16) SpecId 101
+ MemberDecorate 544(Block) 0 Offset 0
+ MemberDecorate 544(Block) 1 Offset 4
+ MemberDecorate 544(Block) 2 Offset 8
+ MemberDecorate 544(Block) 3 Offset 16
+ MemberDecorate 544(Block) 4 Offset 24
+ MemberDecorate 544(Block) 5 Offset 28
+ MemberDecorate 544(Block) 6 Offset 32
+ MemberDecorate 544(Block) 7 Offset 40
+ Decorate 544(Block) Block
+ Decorate 546(block) DescriptorSet 0
+ Decorate 546(block) Binding 1
+ Decorate 547(si16) SpecId 100
+ Decorate 548(su16) SpecId 101
2: TypeVoid
3: TypeFunction 2
14: TypeInt 16 1
@@ -160,37 +162,46 @@
185: 36(int16_t) Constant 1
186: 57(i16vec2) ConstantComposite 184 184
187: 57(i16vec2) ConstantComposite 185 185
- 193: TypeVector 36(int16_t) 3
- 194: TypePointer Function 193(i16vec3)
- 197: TypeVector 14(int16_t) 3
- 219: TypePointer Function 27(int)
- 225: TypeVector 17(int) 3
- 226: TypePointer Function 225(ivec3)
- 242: TypePointer Function 71(int64_t)
- 264: 17(int) Constant 1
- 270: 17(int) Constant 2
- 276: TypeVector 27(int) 3
- 280: TypePointer Function 173(bool)
- 282: 17(int) Constant 0
- 296: TypePointer Function 17(int)
- 354: 52(i16vec2) ConstantComposite 21 21
- 363:193(i16vec3) ConstantComposite 184 184 184
- 405: 173(bool) ConstantTrue
- 412: 173(bool) ConstantFalse
- 413: 174(bvec2) ConstantComposite 412 412
- 425: TypeVector 173(bool) 3
- 426: 425(bvec3) ConstantComposite 412 412 412
- 432: TypeVector 14(int16_t) 4
- 433: TypePointer Function 432(i16vec4)
- 441: TypePointer Function 77(int64_t)
- 443: TypeVector 36(int16_t) 4
- 444: TypePointer Function 443(i16vec4)
- 456: TypePointer Function 425(bvec3)
- 530(Block): TypeStruct 14(int16_t) 52(i16vec2) 197(i16vec3) 432(i16vec4) 36(int16_t) 57(i16vec2) 193(i16vec3) 443(i16vec4)
- 531: TypePointer Uniform 530(Block)
- 532(block): 531(ptr) Variable Uniform
- 533(si16): 14(int16_t) SpecConstant 4294967286
- 534(su16): 36(int16_t) SpecConstant 20
+ 193: 17(int) Constant 4
+ 194: TypeArray 97(float) 193
+ 195: TypePointer Function 194
+ 197: 97(float) Constant 1065353216
+ 198: 97(float) Constant 1073741824
+ 199: 97(float) Constant 1077936128
+ 200: 97(float) Constant 1082130432
+ 201: 194 ConstantComposite 197 198 199 200
+ 202: TypeVector 36(int16_t) 3
+ 203: TypePointer Function 202(i16vec3)
+ 206: TypeVector 14(int16_t) 3
+ 228: TypePointer Function 27(int)
+ 234: TypeVector 17(int) 3
+ 235: TypePointer Function 234(ivec3)
+ 251: TypePointer Function 71(int64_t)
+ 273: 17(int) Constant 1
+ 279: 17(int) Constant 2
+ 285: TypeVector 27(int) 3
+ 289: TypePointer Function 173(bool)
+ 291: 17(int) Constant 0
+ 305: TypePointer Function 17(int)
+ 352: TypePointer Function 97(float)
+ 368: 52(i16vec2) ConstantComposite 21 21
+ 377:202(i16vec3) ConstantComposite 184 184 184
+ 419: 173(bool) ConstantTrue
+ 426: 173(bool) ConstantFalse
+ 427: 174(bvec2) ConstantComposite 426 426
+ 439: TypeVector 173(bool) 3
+ 440: 439(bvec3) ConstantComposite 426 426 426
+ 446: TypeVector 14(int16_t) 4
+ 447: TypePointer Function 446(i16vec4)
+ 455: TypePointer Function 77(int64_t)
+ 457: TypeVector 36(int16_t) 4
+ 458: TypePointer Function 457(i16vec4)
+ 470: TypePointer Function 439(bvec3)
+ 544(Block): TypeStruct 14(int16_t) 52(i16vec2) 206(i16vec3) 446(i16vec4) 36(int16_t) 57(i16vec2) 202(i16vec3) 457(i16vec4)
+ 545: TypePointer Uniform 544(Block)
+ 546(block): 545(ptr) Variable Uniform
+ 547(si16): 14(int16_t) SpecConstant 4294967286
+ 548(su16): 36(int16_t) SpecConstant 20
4(main): 2 Function None 3
5: Label
Return
@@ -364,397 +375,404 @@
FunctionEnd
10(operators(): 2 Function None 3
11: Label
- 195(u16v): 194(ptr) Variable Function
- 200(i16): 15(ptr) Variable Function
- 220(i): 219(ptr) Variable Function
- 227(uv): 226(ptr) Variable Function
- 243(i64): 242(ptr) Variable Function
- 281(b): 280(ptr) Variable Function
- 196:193(i16vec3) Load 195(u16v)
- 198:197(i16vec3) CompositeConstruct 179 179 179
- 199:193(i16vec3) IAdd 196 198
- Store 195(u16v) 199
- 201: 14(int16_t) Load 200(i16)
- 202: 14(int16_t) ISub 201 179
- Store 200(i16) 202
- 203: 14(int16_t) Load 200(i16)
- 204: 14(int16_t) IAdd 203 179
- Store 200(i16) 204
- 205:193(i16vec3) Load 195(u16v)
- 206:197(i16vec3) CompositeConstruct 179 179 179
- 207:193(i16vec3) ISub 205 206
- Store 195(u16v) 207
- 208:193(i16vec3) Load 195(u16v)
- 209:193(i16vec3) Not 208
- Store 195(u16v) 209
- 210: 14(int16_t) Load 200(i16)
- Store 200(i16) 210
- 211:193(i16vec3) Load 195(u16v)
- 212:193(i16vec3) SNegate 211
- Store 195(u16v) 212
- 213: 14(int16_t) Load 200(i16)
- 214: 14(int16_t) Load 200(i16)
- 215: 14(int16_t) IAdd 214 213
- Store 200(i16) 215
- 216:193(i16vec3) Load 195(u16v)
- 217:193(i16vec3) Load 195(u16v)
- 218:193(i16vec3) ISub 217 216
- Store 195(u16v) 218
- 221: 14(int16_t) Load 200(i16)
- 222: 27(int) SConvert 221
- 223: 27(int) Load 220(i)
- 224: 27(int) IMul 223 222
- Store 220(i) 224
- 228:193(i16vec3) Load 195(u16v)
- 229: 225(ivec3) UConvert 228
- 230: 225(ivec3) Load 227(uv)
- 231: 225(ivec3) UDiv 230 229
- Store 227(uv) 231
- 232: 14(int16_t) Load 200(i16)
- 233: 27(int) SConvert 232
- 234: 17(int) Bitcast 233
- 235: 225(ivec3) Load 227(uv)
- 236: 225(ivec3) CompositeConstruct 234 234 234
- 237: 225(ivec3) UMod 235 236
- Store 227(uv) 237
- 238:193(i16vec3) Load 195(u16v)
- 239: 225(ivec3) UConvert 238
- 240: 225(ivec3) Load 227(uv)
- 241: 225(ivec3) IAdd 239 240
- Store 227(uv) 241
- 244: 14(int16_t) Load 200(i16)
- 245: 71(int64_t) SConvert 244
- 246: 71(int64_t) Load 243(i64)
- 247: 71(int64_t) ISub 245 246
- Store 243(i64) 247
- 248:193(i16vec3) Load 195(u16v)
- 249: 225(ivec3) UConvert 248
- 250: 225(ivec3) Load 227(uv)
- 251: 225(ivec3) IMul 249 250
- Store 227(uv) 251
- 252: 14(int16_t) Load 200(i16)
- 253: 71(int64_t) SConvert 252
- 254: 71(int64_t) Load 243(i64)
- 255: 71(int64_t) IMul 253 254
- Store 243(i64) 255
- 256: 14(int16_t) Load 200(i16)
- 257: 27(int) SConvert 256
- 258: 27(int) Load 220(i)
- 259: 27(int) SMod 257 258
- Store 220(i) 259
- 260: 14(int16_t) Load 200(i16)
- 261:193(i16vec3) Load 195(u16v)
- 262:197(i16vec3) CompositeConstruct 260 260 260
- 263:193(i16vec3) ShiftLeftLogical 261 262
- Store 195(u16v) 263
- 265: 37(ptr) AccessChain 195(u16v) 264
- 266: 36(int16_t) Load 265
- 267: 14(int16_t) Load 200(i16)
- 268: 14(int16_t) ShiftRightArithmetic 267 266
- Store 200(i16) 268
- 269: 14(int16_t) Load 200(i16)
- 271: 37(ptr) AccessChain 195(u16v) 270
- 272: 36(int16_t) Load 271
- 273: 14(int16_t) ShiftLeftLogical 269 272
- Store 200(i16) 273
- 274:193(i16vec3) Load 195(u16v)
- 275: 27(int) Load 220(i)
- 277: 276(ivec3) CompositeConstruct 275 275 275
- 278:193(i16vec3) ShiftLeftLogical 274 277
- 279: 225(ivec3) UConvert 278
- Store 227(uv) 279
- 283: 37(ptr) AccessChain 195(u16v) 282
- 284: 36(int16_t) Load 283
- 285: 14(int16_t) Load 200(i16)
- 286: 36(int16_t) Bitcast 285
- 287: 173(bool) INotEqual 284 286
- Store 281(b) 287
- 288: 14(int16_t) Load 200(i16)
- 289: 36(int16_t) Bitcast 288
- 290: 37(ptr) AccessChain 195(u16v) 282
- 291: 36(int16_t) Load 290
- 292: 173(bool) IEqual 289 291
- Store 281(b) 292
- 293: 37(ptr) AccessChain 195(u16v) 282
- 294: 36(int16_t) Load 293
- 295: 17(int) UConvert 294
- 297: 296(ptr) AccessChain 227(uv) 264
- 298: 17(int) Load 297
- 299: 173(bool) UGreaterThan 295 298
- Store 281(b) 299
- 300: 14(int16_t) Load 200(i16)
- 301: 27(int) SConvert 300
- 302: 27(int) Load 220(i)
- 303: 173(bool) SLessThan 301 302
- Store 281(b) 303
- 304: 37(ptr) AccessChain 195(u16v) 264
- 305: 36(int16_t) Load 304
- 306: 17(int) UConvert 305
- 307: 296(ptr) AccessChain 227(uv) 282
- 308: 17(int) Load 307
- 309: 173(bool) UGreaterThanEqual 306 308
- Store 281(b) 309
- 310: 14(int16_t) Load 200(i16)
- 311: 27(int) SConvert 310
- 312: 27(int) Load 220(i)
- 313: 173(bool) SLessThanEqual 311 312
- Store 281(b) 313
- 314: 14(int16_t) Load 200(i16)
- 315: 27(int) SConvert 314
- 316: 17(int) Bitcast 315
- 317: 225(ivec3) Load 227(uv)
- 318: 225(ivec3) CompositeConstruct 316 316 316
- 319: 225(ivec3) BitwiseOr 317 318
- Store 227(uv) 319
- 320: 14(int16_t) Load 200(i16)
- 321: 27(int) SConvert 320
- 322: 27(int) Load 220(i)
- 323: 27(int) BitwiseOr 321 322
- Store 220(i) 323
- 324: 14(int16_t) Load 200(i16)
- 325: 71(int64_t) SConvert 324
- 326: 71(int64_t) Load 243(i64)
- 327: 71(int64_t) BitwiseAnd 326 325
- Store 243(i64) 327
- 328:193(i16vec3) Load 195(u16v)
- 329: 225(ivec3) UConvert 328
- 330: 225(ivec3) Load 227(uv)
- 331: 225(ivec3) BitwiseAnd 329 330
- Store 227(uv) 331
- 332: 14(int16_t) Load 200(i16)
- 333: 27(int) SConvert 332
- 334: 17(int) Bitcast 333
- 335: 225(ivec3) Load 227(uv)
- 336: 225(ivec3) CompositeConstruct 334 334 334
- 337: 225(ivec3) BitwiseXor 335 336
- Store 227(uv) 337
- 338:193(i16vec3) Load 195(u16v)
- 339: 14(int16_t) Load 200(i16)
- 340: 36(int16_t) Bitcast 339
- 341:193(i16vec3) CompositeConstruct 340 340 340
- 342:193(i16vec3) BitwiseXor 338 341
- Store 195(u16v) 342
+ 196(arr): 195(ptr) Variable Function
+ 204(u16v): 203(ptr) Variable Function
+ 209(i16): 15(ptr) Variable Function
+ 229(i): 228(ptr) Variable Function
+ 236(uv): 235(ptr) Variable Function
+ 252(i64): 251(ptr) Variable Function
+ 290(b): 289(ptr) Variable Function
+ 353(f): 352(ptr) Variable Function
+ Store 196(arr) 201
+ 205:202(i16vec3) Load 204(u16v)
+ 207:206(i16vec3) CompositeConstruct 179 179 179
+ 208:202(i16vec3) IAdd 205 207
+ Store 204(u16v) 208
+ 210: 14(int16_t) Load 209(i16)
+ 211: 14(int16_t) ISub 210 179
+ Store 209(i16) 211
+ 212: 14(int16_t) Load 209(i16)
+ 213: 14(int16_t) IAdd 212 179
+ Store 209(i16) 213
+ 214:202(i16vec3) Load 204(u16v)
+ 215:206(i16vec3) CompositeConstruct 179 179 179
+ 216:202(i16vec3) ISub 214 215
+ Store 204(u16v) 216
+ 217:202(i16vec3) Load 204(u16v)
+ 218:202(i16vec3) Not 217
+ Store 204(u16v) 218
+ 219: 14(int16_t) Load 209(i16)
+ Store 209(i16) 219
+ 220:202(i16vec3) Load 204(u16v)
+ 221:202(i16vec3) SNegate 220
+ Store 204(u16v) 221
+ 222: 14(int16_t) Load 209(i16)
+ 223: 14(int16_t) Load 209(i16)
+ 224: 14(int16_t) IAdd 223 222
+ Store 209(i16) 224
+ 225:202(i16vec3) Load 204(u16v)
+ 226:202(i16vec3) Load 204(u16v)
+ 227:202(i16vec3) ISub 226 225
+ Store 204(u16v) 227
+ 230: 14(int16_t) Load 209(i16)
+ 231: 27(int) SConvert 230
+ 232: 27(int) Load 229(i)
+ 233: 27(int) IMul 232 231
+ Store 229(i) 233
+ 237:202(i16vec3) Load 204(u16v)
+ 238: 234(ivec3) UConvert 237
+ 239: 234(ivec3) Load 236(uv)
+ 240: 234(ivec3) UDiv 239 238
+ Store 236(uv) 240
+ 241: 14(int16_t) Load 209(i16)
+ 242: 27(int) SConvert 241
+ 243: 17(int) Bitcast 242
+ 244: 234(ivec3) Load 236(uv)
+ 245: 234(ivec3) CompositeConstruct 243 243 243
+ 246: 234(ivec3) UMod 244 245
+ Store 236(uv) 246
+ 247:202(i16vec3) Load 204(u16v)
+ 248: 234(ivec3) UConvert 247
+ 249: 234(ivec3) Load 236(uv)
+ 250: 234(ivec3) IAdd 248 249
+ Store 236(uv) 250
+ 253: 14(int16_t) Load 209(i16)
+ 254: 71(int64_t) SConvert 253
+ 255: 71(int64_t) Load 252(i64)
+ 256: 71(int64_t) ISub 254 255
+ Store 252(i64) 256
+ 257:202(i16vec3) Load 204(u16v)
+ 258: 234(ivec3) UConvert 257
+ 259: 234(ivec3) Load 236(uv)
+ 260: 234(ivec3) IMul 258 259
+ Store 236(uv) 260
+ 261: 14(int16_t) Load 209(i16)
+ 262: 71(int64_t) SConvert 261
+ 263: 71(int64_t) Load 252(i64)
+ 264: 71(int64_t) IMul 262 263
+ Store 252(i64) 264
+ 265: 14(int16_t) Load 209(i16)
+ 266: 27(int) SConvert 265
+ 267: 27(int) Load 229(i)
+ 268: 27(int) SMod 266 267
+ Store 229(i) 268
+ 269: 14(int16_t) Load 209(i16)
+ 270:202(i16vec3) Load 204(u16v)
+ 271:206(i16vec3) CompositeConstruct 269 269 269
+ 272:202(i16vec3) ShiftLeftLogical 270 271
+ Store 204(u16v) 272
+ 274: 37(ptr) AccessChain 204(u16v) 273
+ 275: 36(int16_t) Load 274
+ 276: 14(int16_t) Load 209(i16)
+ 277: 14(int16_t) ShiftRightArithmetic 276 275
+ Store 209(i16) 277
+ 278: 14(int16_t) Load 209(i16)
+ 280: 37(ptr) AccessChain 204(u16v) 279
+ 281: 36(int16_t) Load 280
+ 282: 14(int16_t) ShiftLeftLogical 278 281
+ Store 209(i16) 282
+ 283:202(i16vec3) Load 204(u16v)
+ 284: 27(int) Load 229(i)
+ 286: 285(ivec3) CompositeConstruct 284 284 284
+ 287:202(i16vec3) ShiftLeftLogical 283 286
+ 288: 234(ivec3) UConvert 287
+ Store 236(uv) 288
+ 292: 37(ptr) AccessChain 204(u16v) 291
+ 293: 36(int16_t) Load 292
+ 294: 14(int16_t) Load 209(i16)
+ 295: 36(int16_t) Bitcast 294
+ 296: 173(bool) INotEqual 293 295
+ Store 290(b) 296
+ 297: 14(int16_t) Load 209(i16)
+ 298: 36(int16_t) Bitcast 297
+ 299: 37(ptr) AccessChain 204(u16v) 291
+ 300: 36(int16_t) Load 299
+ 301: 173(bool) IEqual 298 300
+ Store 290(b) 301
+ 302: 37(ptr) AccessChain 204(u16v) 291
+ 303: 36(int16_t) Load 302
+ 304: 17(int) UConvert 303
+ 306: 305(ptr) AccessChain 236(uv) 273
+ 307: 17(int) Load 306
+ 308: 173(bool) UGreaterThan 304 307
+ Store 290(b) 308
+ 309: 14(int16_t) Load 209(i16)
+ 310: 27(int) SConvert 309
+ 311: 27(int) Load 229(i)
+ 312: 173(bool) SLessThan 310 311
+ Store 290(b) 312
+ 313: 37(ptr) AccessChain 204(u16v) 273
+ 314: 36(int16_t) Load 313
+ 315: 17(int) UConvert 314
+ 316: 305(ptr) AccessChain 236(uv) 291
+ 317: 17(int) Load 316
+ 318: 173(bool) UGreaterThanEqual 315 317
+ Store 290(b) 318
+ 319: 14(int16_t) Load 209(i16)
+ 320: 27(int) SConvert 319
+ 321: 27(int) Load 229(i)
+ 322: 173(bool) SLessThanEqual 320 321
+ Store 290(b) 322
+ 323: 14(int16_t) Load 209(i16)
+ 324: 27(int) SConvert 323
+ 325: 17(int) Bitcast 324
+ 326: 234(ivec3) Load 236(uv)
+ 327: 234(ivec3) CompositeConstruct 325 325 325
+ 328: 234(ivec3) BitwiseOr 326 327
+ Store 236(uv) 328
+ 329: 14(int16_t) Load 209(i16)
+ 330: 27(int) SConvert 329
+ 331: 27(int) Load 229(i)
+ 332: 27(int) BitwiseOr 330 331
+ Store 229(i) 332
+ 333: 14(int16_t) Load 209(i16)
+ 334: 71(int64_t) SConvert 333
+ 335: 71(int64_t) Load 252(i64)
+ 336: 71(int64_t) BitwiseAnd 335 334
+ Store 252(i64) 336
+ 337:202(i16vec3) Load 204(u16v)
+ 338: 234(ivec3) UConvert 337
+ 339: 234(ivec3) Load 236(uv)
+ 340: 234(ivec3) BitwiseAnd 338 339
+ Store 236(uv) 340
+ 341: 14(int16_t) Load 209(i16)
+ 342: 27(int) SConvert 341
+ 343: 17(int) Bitcast 342
+ 344: 234(ivec3) Load 236(uv)
+ 345: 234(ivec3) CompositeConstruct 343 343 343
+ 346: 234(ivec3) BitwiseXor 344 345
+ Store 236(uv) 346
+ 347:202(i16vec3) Load 204(u16v)
+ 348: 14(int16_t) Load 209(i16)
+ 349: 36(int16_t) Bitcast 348
+ 350:202(i16vec3) CompositeConstruct 349 349 349
+ 351:202(i16vec3) BitwiseXor 347 350
+ Store 204(u16v) 351
+ 354: 14(int16_t) Load 209(i16)
+ 355: 352(ptr) AccessChain 196(arr) 354
+ 356: 97(float) Load 355
+ Store 353(f) 356
Return
FunctionEnd
12(builtinFuncs(): 2 Function None 3
13: Label
- 343(i16v): 53(ptr) Variable Function
- 346(i16): 15(ptr) Variable Function
- 356(u16v): 194(ptr) Variable Function
- 358(u16): 37(ptr) Variable Function
- 428(i32): 219(ptr) Variable Function
- 431(i64): 242(ptr) Variable Function
- 434(i16v4): 433(ptr) Variable Function
- 437(u32): 296(ptr) Variable Function
- 438(u16v2): 58(ptr) Variable Function
- 442(u64): 441(ptr) Variable Function
- 445(u16v4): 444(ptr) Variable Function
- 457(bv): 456(ptr) Variable Function
- 344: 52(i16vec2) Load 343(i16v)
- 345: 52(i16vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 344
- Store 343(i16v) 345
- 347: 14(int16_t) Load 346(i16)
- 348: 14(int16_t) ExtInst 1(GLSL.std.450) 7(SSign) 347
- Store 346(i16) 348
- 349: 52(i16vec2) Load 343(i16v)
- 350: 14(int16_t) Load 346(i16)
- 351: 52(i16vec2) CompositeConstruct 350 350
- 352: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 349 351
- Store 343(i16v) 352
- 353: 52(i16vec2) Load 343(i16v)
- 355: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 353 354
- Store 343(i16v) 355
- 357:193(i16vec3) Load 356(u16v)
- 359: 36(int16_t) Load 358(u16)
- 360:193(i16vec3) CompositeConstruct 359 359 359
- 361:193(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 357 360
- Store 356(u16v) 361
- 362:193(i16vec3) Load 356(u16v)
- 364:193(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 362 363
- Store 356(u16v) 364
- 365: 52(i16vec2) Load 343(i16v)
- 366: 14(int16_t) Load 346(i16)
- 367: 52(i16vec2) CompositeConstruct 366 366
- 368: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 365 367
- Store 343(i16v) 368
- 369: 52(i16vec2) Load 343(i16v)
- 370: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 369 354
- Store 343(i16v) 370
- 371:193(i16vec3) Load 356(u16v)
- 372: 36(int16_t) Load 358(u16)
- 373:193(i16vec3) CompositeConstruct 372 372 372
- 374:193(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 371 373
- Store 356(u16v) 374
- 375:193(i16vec3) Load 356(u16v)
- 376:193(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 375 363
- Store 356(u16v) 376
- 377: 52(i16vec2) Load 343(i16v)
- 378: 14(int16_t) Load 346(i16)
- 379: 14(int16_t) SNegate 378
- 380: 14(int16_t) Load 346(i16)
- 381: 52(i16vec2) CompositeConstruct 379 379
- 382: 52(i16vec2) CompositeConstruct 380 380
- 383: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 377 381 382
- Store 343(i16v) 383
- 384: 52(i16vec2) Load 343(i16v)
- 385: 52(i16vec2) Load 343(i16v)
- 386: 52(i16vec2) SNegate 385
- 387: 52(i16vec2) Load 343(i16v)
- 388: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 384 386 387
- Store 343(i16v) 388
- 389:193(i16vec3) Load 356(u16v)
- 390: 36(int16_t) Load 358(u16)
- 391: 36(int16_t) SNegate 390
- 392: 36(int16_t) Load 358(u16)
- 393:193(i16vec3) CompositeConstruct 391 391 391
- 394:193(i16vec3) CompositeConstruct 392 392 392
- 395:193(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 389 393 394
- Store 356(u16v) 395
- 396:193(i16vec3) Load 356(u16v)
- 397:193(i16vec3) Load 356(u16v)
- 398:193(i16vec3) SNegate 397
- 399:193(i16vec3) Load 356(u16v)
- 400:193(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 396 398 399
- Store 356(u16v) 400
- 401: 15(ptr) AccessChain 343(i16v) 282
- 402: 14(int16_t) Load 401
- 403: 15(ptr) AccessChain 343(i16v) 264
- 404: 14(int16_t) Load 403
- 406: 14(int16_t) Select 405 404 402
- Store 346(i16) 406
- 407: 14(int16_t) Load 346(i16)
- 408: 52(i16vec2) CompositeConstruct 407 407
- 409: 14(int16_t) Load 346(i16)
- 410: 14(int16_t) SNegate 409
- 411: 52(i16vec2) CompositeConstruct 410 410
- 414: 52(i16vec2) Select 413 411 408
- Store 343(i16v) 414
- 415: 37(ptr) AccessChain 356(u16v) 282
- 416: 36(int16_t) Load 415
- 417: 37(ptr) AccessChain 356(u16v) 264
- 418: 36(int16_t) Load 417
- 419: 36(int16_t) Select 405 418 416
- Store 358(u16) 419
- 420: 36(int16_t) Load 358(u16)
- 421:193(i16vec3) CompositeConstruct 420 420 420
- 422: 36(int16_t) Load 358(u16)
- 423: 36(int16_t) SNegate 422
- 424:193(i16vec3) CompositeConstruct 423 423 423
- 427:193(i16vec3) Select 426 424 421
- Store 356(u16v) 427
- 429: 52(i16vec2) Load 343(i16v)
- 430: 27(int) Bitcast 429
- Store 428(i32) 430
- 435:432(i16vec4) Load 434(i16v4)
- 436: 71(int64_t) Bitcast 435
- Store 431(i64) 436
- 439: 57(i16vec2) Load 438(u16v2)
- 440: 17(int) Bitcast 439
- Store 437(u32) 440
- 446:443(i16vec4) Load 445(u16v4)
- 447: 77(int64_t) Bitcast 446
- Store 442(u64) 447
- 448: 27(int) Load 428(i32)
- 449: 52(i16vec2) Bitcast 448
- Store 343(i16v) 449
- 450: 71(int64_t) Load 431(i64)
- 451:432(i16vec4) Bitcast 450
- Store 434(i16v4) 451
- 452: 17(int) Load 437(u32)
- 453: 57(i16vec2) Bitcast 452
- Store 438(u16v2) 453
- 454: 77(int64_t) Load 442(u64)
- 455:443(i16vec4) Bitcast 454
- Store 445(u16v4) 455
- 458:193(i16vec3) Load 356(u16v)
- 459: 36(int16_t) Load 358(u16)
- 460:193(i16vec3) CompositeConstruct 459 459 459
- 461: 425(bvec3) ULessThan 458 460
- Store 457(bv) 461
- 462: 52(i16vec2) Load 343(i16v)
- 463: 14(int16_t) Load 346(i16)
- 464: 52(i16vec2) CompositeConstruct 463 463
- 465: 174(bvec2) SLessThan 462 464
- 466: 280(ptr) AccessChain 457(bv) 282
- 467: 173(bool) CompositeExtract 465 0
- Store 466 467
- 468: 280(ptr) AccessChain 457(bv) 264
- 469: 173(bool) CompositeExtract 465 1
- Store 468 469
- 470:193(i16vec3) Load 356(u16v)
- 471: 36(int16_t) Load 358(u16)
- 472:193(i16vec3) CompositeConstruct 471 471 471
- 473: 425(bvec3) ULessThanEqual 470 472
- Store 457(bv) 473
- 474: 52(i16vec2) Load 343(i16v)
- 475: 14(int16_t) Load 346(i16)
- 476: 52(i16vec2) CompositeConstruct 475 475
- 477: 174(bvec2) SLessThanEqual 474 476
- 478: 280(ptr) AccessChain 457(bv) 282
- 479: 173(bool) CompositeExtract 477 0
- Store 478 479
- 480: 280(ptr) AccessChain 457(bv) 264
- 481: 173(bool) CompositeExtract 477 1
+ 357(i16v): 53(ptr) Variable Function
+ 360(i16): 15(ptr) Variable Function
+ 370(u16v): 203(ptr) Variable Function
+ 372(u16): 37(ptr) Variable Function
+ 442(i32): 228(ptr) Variable Function
+ 445(i64): 251(ptr) Variable Function
+ 448(i16v4): 447(ptr) Variable Function
+ 451(u32): 305(ptr) Variable Function
+ 452(u16v2): 58(ptr) Variable Function
+ 456(u64): 455(ptr) Variable Function
+ 459(u16v4): 458(ptr) Variable Function
+ 471(bv): 470(ptr) Variable Function
+ 358: 52(i16vec2) Load 357(i16v)
+ 359: 52(i16vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 358
+ Store 357(i16v) 359
+ 361: 14(int16_t) Load 360(i16)
+ 362: 14(int16_t) ExtInst 1(GLSL.std.450) 7(SSign) 361
+ Store 360(i16) 362
+ 363: 52(i16vec2) Load 357(i16v)
+ 364: 14(int16_t) Load 360(i16)
+ 365: 52(i16vec2) CompositeConstruct 364 364
+ 366: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 363 365
+ Store 357(i16v) 366
+ 367: 52(i16vec2) Load 357(i16v)
+ 369: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 367 368
+ Store 357(i16v) 369
+ 371:202(i16vec3) Load 370(u16v)
+ 373: 36(int16_t) Load 372(u16)
+ 374:202(i16vec3) CompositeConstruct 373 373 373
+ 375:202(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 371 374
+ Store 370(u16v) 375
+ 376:202(i16vec3) Load 370(u16v)
+ 378:202(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 376 377
+ Store 370(u16v) 378
+ 379: 52(i16vec2) Load 357(i16v)
+ 380: 14(int16_t) Load 360(i16)
+ 381: 52(i16vec2) CompositeConstruct 380 380
+ 382: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 379 381
+ Store 357(i16v) 382
+ 383: 52(i16vec2) Load 357(i16v)
+ 384: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 383 368
+ Store 357(i16v) 384
+ 385:202(i16vec3) Load 370(u16v)
+ 386: 36(int16_t) Load 372(u16)
+ 387:202(i16vec3) CompositeConstruct 386 386 386
+ 388:202(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 385 387
+ Store 370(u16v) 388
+ 389:202(i16vec3) Load 370(u16v)
+ 390:202(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 389 377
+ Store 370(u16v) 390
+ 391: 52(i16vec2) Load 357(i16v)
+ 392: 14(int16_t) Load 360(i16)
+ 393: 14(int16_t) SNegate 392
+ 394: 14(int16_t) Load 360(i16)
+ 395: 52(i16vec2) CompositeConstruct 393 393
+ 396: 52(i16vec2) CompositeConstruct 394 394
+ 397: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 391 395 396
+ Store 357(i16v) 397
+ 398: 52(i16vec2) Load 357(i16v)
+ 399: 52(i16vec2) Load 357(i16v)
+ 400: 52(i16vec2) SNegate 399
+ 401: 52(i16vec2) Load 357(i16v)
+ 402: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 398 400 401
+ Store 357(i16v) 402
+ 403:202(i16vec3) Load 370(u16v)
+ 404: 36(int16_t) Load 372(u16)
+ 405: 36(int16_t) SNegate 404
+ 406: 36(int16_t) Load 372(u16)
+ 407:202(i16vec3) CompositeConstruct 405 405 405
+ 408:202(i16vec3) CompositeConstruct 406 406 406
+ 409:202(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 403 407 408
+ Store 370(u16v) 409
+ 410:202(i16vec3) Load 370(u16v)
+ 411:202(i16vec3) Load 370(u16v)
+ 412:202(i16vec3) SNegate 411
+ 413:202(i16vec3) Load 370(u16v)
+ 414:202(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 410 412 413
+ Store 370(u16v) 414
+ 415: 15(ptr) AccessChain 357(i16v) 291
+ 416: 14(int16_t) Load 415
+ 417: 15(ptr) AccessChain 357(i16v) 273
+ 418: 14(int16_t) Load 417
+ 420: 14(int16_t) Select 419 418 416
+ Store 360(i16) 420
+ 421: 14(int16_t) Load 360(i16)
+ 422: 52(i16vec2) CompositeConstruct 421 421
+ 423: 14(int16_t) Load 360(i16)
+ 424: 14(int16_t) SNegate 423
+ 425: 52(i16vec2) CompositeConstruct 424 424
+ 428: 52(i16vec2) Select 427 425 422
+ Store 357(i16v) 428
+ 429: 37(ptr) AccessChain 370(u16v) 291
+ 430: 36(int16_t) Load 429
+ 431: 37(ptr) AccessChain 370(u16v) 273
+ 432: 36(int16_t) Load 431
+ 433: 36(int16_t) Select 419 432 430
+ Store 372(u16) 433
+ 434: 36(int16_t) Load 372(u16)
+ 435:202(i16vec3) CompositeConstruct 434 434 434
+ 436: 36(int16_t) Load 372(u16)
+ 437: 36(int16_t) SNegate 436
+ 438:202(i16vec3) CompositeConstruct 437 437 437
+ 441:202(i16vec3) Select 440 438 435
+ Store 370(u16v) 441
+ 443: 52(i16vec2) Load 357(i16v)
+ 444: 27(int) Bitcast 443
+ Store 442(i32) 444
+ 449:446(i16vec4) Load 448(i16v4)
+ 450: 71(int64_t) Bitcast 449
+ Store 445(i64) 450
+ 453: 57(i16vec2) Load 452(u16v2)
+ 454: 17(int) Bitcast 453
+ Store 451(u32) 454
+ 460:457(i16vec4) Load 459(u16v4)
+ 461: 77(int64_t) Bitcast 460
+ Store 456(u64) 461
+ 462: 27(int) Load 442(i32)
+ 463: 52(i16vec2) Bitcast 462
+ Store 357(i16v) 463
+ 464: 71(int64_t) Load 445(i64)
+ 465:446(i16vec4) Bitcast 464
+ Store 448(i16v4) 465
+ 466: 17(int) Load 451(u32)
+ 467: 57(i16vec2) Bitcast 466
+ Store 452(u16v2) 467
+ 468: 77(int64_t) Load 456(u64)
+ 469:457(i16vec4) Bitcast 468
+ Store 459(u16v4) 469
+ 472:202(i16vec3) Load 370(u16v)
+ 473: 36(int16_t) Load 372(u16)
+ 474:202(i16vec3) CompositeConstruct 473 473 473
+ 475: 439(bvec3) ULessThan 472 474
+ Store 471(bv) 475
+ 476: 52(i16vec2) Load 357(i16v)
+ 477: 14(int16_t) Load 360(i16)
+ 478: 52(i16vec2) CompositeConstruct 477 477
+ 479: 174(bvec2) SLessThan 476 478
+ 480: 289(ptr) AccessChain 471(bv) 291
+ 481: 173(bool) CompositeExtract 479 0
Store 480 481
- 482:193(i16vec3) Load 356(u16v)
- 483: 36(int16_t) Load 358(u16)
- 484:193(i16vec3) CompositeConstruct 483 483 483
- 485: 425(bvec3) UGreaterThan 482 484
- Store 457(bv) 485
- 486: 52(i16vec2) Load 343(i16v)
- 487: 14(int16_t) Load 346(i16)
- 488: 52(i16vec2) CompositeConstruct 487 487
- 489: 174(bvec2) SGreaterThan 486 488
- 490: 280(ptr) AccessChain 457(bv) 282
- 491: 173(bool) CompositeExtract 489 0
- Store 490 491
- 492: 280(ptr) AccessChain 457(bv) 264
- 493: 173(bool) CompositeExtract 489 1
+ 482: 289(ptr) AccessChain 471(bv) 273
+ 483: 173(bool) CompositeExtract 479 1
+ Store 482 483
+ 484:202(i16vec3) Load 370(u16v)
+ 485: 36(int16_t) Load 372(u16)
+ 486:202(i16vec3) CompositeConstruct 485 485 485
+ 487: 439(bvec3) ULessThanEqual 484 486
+ Store 471(bv) 487
+ 488: 52(i16vec2) Load 357(i16v)
+ 489: 14(int16_t) Load 360(i16)
+ 490: 52(i16vec2) CompositeConstruct 489 489
+ 491: 174(bvec2) SLessThanEqual 488 490
+ 492: 289(ptr) AccessChain 471(bv) 291
+ 493: 173(bool) CompositeExtract 491 0
Store 492 493
- 494:193(i16vec3) Load 356(u16v)
- 495: 36(int16_t) Load 358(u16)
- 496:193(i16vec3) CompositeConstruct 495 495 495
- 497: 425(bvec3) UGreaterThanEqual 494 496
- Store 457(bv) 497
- 498: 52(i16vec2) Load 343(i16v)
- 499: 14(int16_t) Load 346(i16)
- 500: 52(i16vec2) CompositeConstruct 499 499
- 501: 174(bvec2) SGreaterThanEqual 498 500
- 502: 280(ptr) AccessChain 457(bv) 282
- 503: 173(bool) CompositeExtract 501 0
- Store 502 503
- 504: 280(ptr) AccessChain 457(bv) 264
- 505: 173(bool) CompositeExtract 501 1
+ 494: 289(ptr) AccessChain 471(bv) 273
+ 495: 173(bool) CompositeExtract 491 1
+ Store 494 495
+ 496:202(i16vec3) Load 370(u16v)
+ 497: 36(int16_t) Load 372(u16)
+ 498:202(i16vec3) CompositeConstruct 497 497 497
+ 499: 439(bvec3) UGreaterThan 496 498
+ Store 471(bv) 499
+ 500: 52(i16vec2) Load 357(i16v)
+ 501: 14(int16_t) Load 360(i16)
+ 502: 52(i16vec2) CompositeConstruct 501 501
+ 503: 174(bvec2) SGreaterThan 500 502
+ 504: 289(ptr) AccessChain 471(bv) 291
+ 505: 173(bool) CompositeExtract 503 0
Store 504 505
- 506:193(i16vec3) Load 356(u16v)
- 507: 36(int16_t) Load 358(u16)
- 508:193(i16vec3) CompositeConstruct 507 507 507
- 509: 425(bvec3) IEqual 506 508
- Store 457(bv) 509
- 510: 52(i16vec2) Load 343(i16v)
- 511: 14(int16_t) Load 346(i16)
- 512: 52(i16vec2) CompositeConstruct 511 511
- 513: 174(bvec2) IEqual 510 512
- 514: 280(ptr) AccessChain 457(bv) 282
- 515: 173(bool) CompositeExtract 513 0
- Store 514 515
- 516: 280(ptr) AccessChain 457(bv) 264
- 517: 173(bool) CompositeExtract 513 1
+ 506: 289(ptr) AccessChain 471(bv) 273
+ 507: 173(bool) CompositeExtract 503 1
+ Store 506 507
+ 508:202(i16vec3) Load 370(u16v)
+ 509: 36(int16_t) Load 372(u16)
+ 510:202(i16vec3) CompositeConstruct 509 509 509
+ 511: 439(bvec3) UGreaterThanEqual 508 510
+ Store 471(bv) 511
+ 512: 52(i16vec2) Load 357(i16v)
+ 513: 14(int16_t) Load 360(i16)
+ 514: 52(i16vec2) CompositeConstruct 513 513
+ 515: 174(bvec2) SGreaterThanEqual 512 514
+ 516: 289(ptr) AccessChain 471(bv) 291
+ 517: 173(bool) CompositeExtract 515 0
Store 516 517
- 518:193(i16vec3) Load 356(u16v)
- 519: 36(int16_t) Load 358(u16)
- 520:193(i16vec3) CompositeConstruct 519 519 519
- 521: 425(bvec3) INotEqual 518 520
- Store 457(bv) 521
- 522: 52(i16vec2) Load 343(i16v)
- 523: 14(int16_t) Load 346(i16)
- 524: 52(i16vec2) CompositeConstruct 523 523
- 525: 174(bvec2) INotEqual 522 524
- 526: 280(ptr) AccessChain 457(bv) 282
- 527: 173(bool) CompositeExtract 525 0
- Store 526 527
- 528: 280(ptr) AccessChain 457(bv) 264
- 529: 173(bool) CompositeExtract 525 1
+ 518: 289(ptr) AccessChain 471(bv) 273
+ 519: 173(bool) CompositeExtract 515 1
+ Store 518 519
+ 520:202(i16vec3) Load 370(u16v)
+ 521: 36(int16_t) Load 372(u16)
+ 522:202(i16vec3) CompositeConstruct 521 521 521
+ 523: 439(bvec3) IEqual 520 522
+ Store 471(bv) 523
+ 524: 52(i16vec2) Load 357(i16v)
+ 525: 14(int16_t) Load 360(i16)
+ 526: 52(i16vec2) CompositeConstruct 525 525
+ 527: 174(bvec2) IEqual 524 526
+ 528: 289(ptr) AccessChain 471(bv) 291
+ 529: 173(bool) CompositeExtract 527 0
Store 528 529
+ 530: 289(ptr) AccessChain 471(bv) 273
+ 531: 173(bool) CompositeExtract 527 1
+ Store 530 531
+ 532:202(i16vec3) Load 370(u16v)
+ 533: 36(int16_t) Load 372(u16)
+ 534:202(i16vec3) CompositeConstruct 533 533 533
+ 535: 439(bvec3) INotEqual 532 534
+ Store 471(bv) 535
+ 536: 52(i16vec2) Load 357(i16v)
+ 537: 14(int16_t) Load 360(i16)
+ 538: 52(i16vec2) CompositeConstruct 537 537
+ 539: 174(bvec2) INotEqual 536 538
+ 540: 289(ptr) AccessChain 471(bv) 291
+ 541: 173(bool) CompositeExtract 539 0
+ Store 540 541
+ 542: 289(ptr) AccessChain 471(bv) 273
+ 543: 173(bool) CompositeExtract 539 1
+ Store 542 543
Return
FunctionEnd
diff --git a/Test/baseResults/spv.int8.frag.out b/Test/baseResults/spv.int8.frag.out
index a0da3e9..e9cd5f8 100644
--- a/Test/baseResults/spv.int8.frag.out
+++ b/Test/baseResults/spv.int8.frag.out
@@ -1,7 +1,7 @@
spv.int8.frag
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 530
+// Id's are bound by 544
Capability Shader
Capability Float16
@@ -48,53 +48,55 @@
Name 117 "f64v"
Name 144 "u16v"
Name 174 "bv"
- Name 192 "u8v"
- Name 197 "i8"
- Name 217 "i"
- Name 224 "uv"
- Name 240 "i16"
- Name 276 "b"
- Name 338 "i8v"
- Name 341 "i8"
- Name 351 "u8v"
- Name 353 "u8"
- Name 423 "i16"
- Name 426 "i32"
- Name 429 "i8v4"
- Name 433 "u16"
- Name 434 "u8v2"
- Name 437 "u32"
- Name 440 "u8v4"
- Name 452 "bv"
- Name 525 "Block"
- MemberName 525(Block) 0 "i8"
- MemberName 525(Block) 1 "i8v2"
- MemberName 525(Block) 2 "i8v3"
- MemberName 525(Block) 3 "i8v4"
- MemberName 525(Block) 4 "u8"
- MemberName 525(Block) 5 "u8v2"
- MemberName 525(Block) 6 "u8v3"
- MemberName 525(Block) 7 "u8v4"
- Name 527 "block"
- Name 528 "si8"
- Name 529 "su8"
+ Name 193 "arr"
+ Name 201 "u8v"
+ Name 206 "i8"
+ Name 226 "i"
+ Name 233 "uv"
+ Name 249 "i16"
+ Name 285 "b"
+ Name 348 "f"
+ Name 352 "i8v"
+ Name 355 "i8"
+ Name 365 "u8v"
+ Name 367 "u8"
+ Name 437 "i16"
+ Name 440 "i32"
+ Name 443 "i8v4"
+ Name 447 "u16"
+ Name 448 "u8v2"
+ Name 451 "u32"
+ Name 454 "u8v4"
+ Name 466 "bv"
+ Name 539 "Block"
+ MemberName 539(Block) 0 "i8"
+ MemberName 539(Block) 1 "i8v2"
+ MemberName 539(Block) 2 "i8v3"
+ MemberName 539(Block) 3 "i8v4"
+ MemberName 539(Block) 4 "u8"
+ MemberName 539(Block) 5 "u8v2"
+ MemberName 539(Block) 6 "u8v3"
+ MemberName 539(Block) 7 "u8v4"
+ Name 541 "block"
+ Name 542 "si8"
+ Name 543 "su8"
MemberDecorate 24(Uniforms) 0 Offset 0
Decorate 24(Uniforms) Block
Decorate 26 DescriptorSet 0
Decorate 26 Binding 0
- MemberDecorate 525(Block) 0 Offset 0
- MemberDecorate 525(Block) 1 Offset 2
- MemberDecorate 525(Block) 2 Offset 4
- MemberDecorate 525(Block) 3 Offset 8
- MemberDecorate 525(Block) 4 Offset 12
- MemberDecorate 525(Block) 5 Offset 14
- MemberDecorate 525(Block) 6 Offset 16
- MemberDecorate 525(Block) 7 Offset 20
- Decorate 525(Block) Block
- Decorate 527(block) DescriptorSet 0
- Decorate 527(block) Binding 1
- Decorate 528(si8) SpecId 100
- Decorate 529(su8) SpecId 101
+ MemberDecorate 539(Block) 0 Offset 0
+ MemberDecorate 539(Block) 1 Offset 2
+ MemberDecorate 539(Block) 2 Offset 4
+ MemberDecorate 539(Block) 3 Offset 8
+ MemberDecorate 539(Block) 4 Offset 12
+ MemberDecorate 539(Block) 5 Offset 14
+ MemberDecorate 539(Block) 6 Offset 16
+ MemberDecorate 539(Block) 7 Offset 20
+ Decorate 539(Block) Block
+ Decorate 541(block) DescriptorSet 0
+ Decorate 541(block) Binding 1
+ Decorate 542(si8) SpecId 100
+ Decorate 543(su8) SpecId 101
2: TypeVoid
3: TypeFunction 2
14: TypeInt 8 1
@@ -159,36 +161,45 @@
182: 36(int8_t) Constant 1
183: 49(i8vec2) ConstantComposite 181 181
184: 49(i8vec2) ConstantComposite 182 182
- 190: TypeVector 36(int8_t) 3
- 191: TypePointer Function 190(i8vec3)
- 194: TypeVector 14(int8_t) 3
- 216: TypePointer Function 27(int)
- 222: TypeVector 17(int) 3
- 223: TypePointer Function 222(ivec3)
- 239: TypePointer Function 57(int16_t)
- 261: 17(int) Constant 1
- 267: 17(int) Constant 2
- 275: TypePointer Function 171(bool)
- 277: 17(int) Constant 0
- 291: TypePointer Function 17(int)
- 349: 52(i8vec2) ConstantComposite 21 21
- 358: 190(i8vec3) ConstantComposite 181 181 181
- 400: 171(bool) ConstantTrue
- 407: 171(bool) ConstantFalse
- 408: 172(bvec2) ConstantComposite 407 407
- 420: TypeVector 171(bool) 3
- 421: 420(bvec3) ConstantComposite 407 407 407
- 427: TypeVector 14(int8_t) 4
- 428: TypePointer Function 427(i8vec4)
- 432: TypePointer Function 64(int16_t)
- 438: TypeVector 36(int8_t) 4
- 439: TypePointer Function 438(i8vec4)
- 451: TypePointer Function 420(bvec3)
- 525(Block): TypeStruct 14(int8_t) 52(i8vec2) 194(i8vec3) 427(i8vec4) 36(int8_t) 49(i8vec2) 190(i8vec3) 438(i8vec4)
- 526: TypePointer Uniform 525(Block)
- 527(block): 526(ptr) Variable Uniform
- 528(si8): 14(int8_t) SpecConstant 4294967286
- 529(su8): 36(int8_t) SpecConstant 20
+ 190: 17(int) Constant 4
+ 191: TypeArray 108(float) 190
+ 192: TypePointer Function 191
+ 194: 108(float) Constant 1065353216
+ 195: 108(float) Constant 1073741824
+ 196: 108(float) Constant 1077936128
+ 197: 108(float) Constant 1082130432
+ 198: 191 ConstantComposite 194 195 196 197
+ 199: TypeVector 36(int8_t) 3
+ 200: TypePointer Function 199(i8vec3)
+ 203: TypeVector 14(int8_t) 3
+ 225: TypePointer Function 27(int)
+ 231: TypeVector 17(int) 3
+ 232: TypePointer Function 231(ivec3)
+ 248: TypePointer Function 57(int16_t)
+ 270: 17(int) Constant 1
+ 276: 17(int) Constant 2
+ 284: TypePointer Function 171(bool)
+ 286: 17(int) Constant 0
+ 300: TypePointer Function 17(int)
+ 347: TypePointer Function 108(float)
+ 363: 52(i8vec2) ConstantComposite 21 21
+ 372: 199(i8vec3) ConstantComposite 181 181 181
+ 414: 171(bool) ConstantTrue
+ 421: 171(bool) ConstantFalse
+ 422: 172(bvec2) ConstantComposite 421 421
+ 434: TypeVector 171(bool) 3
+ 435: 434(bvec3) ConstantComposite 421 421 421
+ 441: TypeVector 14(int8_t) 4
+ 442: TypePointer Function 441(i8vec4)
+ 446: TypePointer Function 64(int16_t)
+ 452: TypeVector 36(int8_t) 4
+ 453: TypePointer Function 452(i8vec4)
+ 465: TypePointer Function 434(bvec3)
+ 539(Block): TypeStruct 14(int8_t) 52(i8vec2) 203(i8vec3) 441(i8vec4) 36(int8_t) 49(i8vec2) 199(i8vec3) 452(i8vec4)
+ 540: TypePointer Uniform 539(Block)
+ 541(block): 540(ptr) Variable Uniform
+ 542(si8): 14(int8_t) SpecConstant 4294967286
+ 543(su8): 36(int8_t) SpecConstant 20
4(main): 2 Function None 3
5: Label
Return
@@ -360,396 +371,403 @@
FunctionEnd
10(operators(): 2 Function None 3
11: Label
- 192(u8v): 191(ptr) Variable Function
- 197(i8): 15(ptr) Variable Function
- 217(i): 216(ptr) Variable Function
- 224(uv): 223(ptr) Variable Function
- 240(i16): 239(ptr) Variable Function
- 276(b): 275(ptr) Variable Function
- 193: 190(i8vec3) Load 192(u8v)
- 195: 194(i8vec3) CompositeConstruct 176 176 176
- 196: 190(i8vec3) IAdd 193 195
- Store 192(u8v) 196
- 198: 14(int8_t) Load 197(i8)
- 199: 14(int8_t) ISub 198 176
- Store 197(i8) 199
- 200: 14(int8_t) Load 197(i8)
- 201: 14(int8_t) IAdd 200 176
- Store 197(i8) 201
- 202: 190(i8vec3) Load 192(u8v)
- 203: 194(i8vec3) CompositeConstruct 176 176 176
- 204: 190(i8vec3) ISub 202 203
- Store 192(u8v) 204
- 205: 190(i8vec3) Load 192(u8v)
- 206: 190(i8vec3) Not 205
- Store 192(u8v) 206
- 207: 14(int8_t) Load 197(i8)
- Store 197(i8) 207
- 208: 190(i8vec3) Load 192(u8v)
- 209: 190(i8vec3) SNegate 208
- Store 192(u8v) 209
- 210: 14(int8_t) Load 197(i8)
- 211: 14(int8_t) Load 197(i8)
- 212: 14(int8_t) IAdd 211 210
- Store 197(i8) 212
- 213: 190(i8vec3) Load 192(u8v)
- 214: 190(i8vec3) Load 192(u8v)
- 215: 190(i8vec3) ISub 214 213
- Store 192(u8v) 215
- 218: 14(int8_t) Load 197(i8)
- 219: 27(int) SConvert 218
- 220: 27(int) Load 217(i)
- 221: 27(int) IMul 220 219
- Store 217(i) 221
- 225: 190(i8vec3) Load 192(u8v)
- 226: 222(ivec3) UConvert 225
- 227: 222(ivec3) Load 224(uv)
- 228: 222(ivec3) UDiv 227 226
- Store 224(uv) 228
- 229: 14(int8_t) Load 197(i8)
- 230: 27(int) SConvert 229
- 231: 17(int) Bitcast 230
- 232: 222(ivec3) Load 224(uv)
- 233: 222(ivec3) CompositeConstruct 231 231 231
- 234: 222(ivec3) UMod 232 233
- Store 224(uv) 234
- 235: 190(i8vec3) Load 192(u8v)
- 236: 222(ivec3) UConvert 235
- 237: 222(ivec3) Load 224(uv)
- 238: 222(ivec3) IAdd 236 237
- Store 224(uv) 238
- 241: 14(int8_t) Load 197(i8)
- 242: 57(int16_t) SConvert 241
- 243: 57(int16_t) Load 240(i16)
- 244: 57(int16_t) ISub 242 243
- Store 240(i16) 244
- 245: 190(i8vec3) Load 192(u8v)
- 246: 222(ivec3) UConvert 245
- 247: 222(ivec3) Load 224(uv)
- 248: 222(ivec3) IMul 246 247
- Store 224(uv) 248
- 249: 14(int8_t) Load 197(i8)
- 250: 57(int16_t) SConvert 249
- 251: 57(int16_t) Load 240(i16)
- 252: 57(int16_t) IMul 250 251
- Store 240(i16) 252
- 253: 14(int8_t) Load 197(i8)
- 254: 27(int) SConvert 253
- 255: 27(int) Load 217(i)
- 256: 27(int) SMod 254 255
- Store 217(i) 256
- 257: 14(int8_t) Load 197(i8)
- 258: 190(i8vec3) Load 192(u8v)
- 259: 194(i8vec3) CompositeConstruct 257 257 257
- 260: 190(i8vec3) ShiftLeftLogical 258 259
- Store 192(u8v) 260
- 262: 37(ptr) AccessChain 192(u8v) 261
- 263: 36(int8_t) Load 262
- 264: 14(int8_t) Load 197(i8)
- 265: 14(int8_t) ShiftRightArithmetic 264 263
- Store 197(i8) 265
- 266: 14(int8_t) Load 197(i8)
- 268: 37(ptr) AccessChain 192(u8v) 267
- 269: 36(int8_t) Load 268
- 270: 14(int8_t) ShiftLeftLogical 266 269
- Store 197(i8) 270
- 271: 190(i8vec3) Load 192(u8v)
- 272: 14(int8_t) Load 197(i8)
- 273: 194(i8vec3) CompositeConstruct 272 272 272
- 274: 190(i8vec3) ShiftLeftLogical 271 273
- Store 192(u8v) 274
- 278: 37(ptr) AccessChain 192(u8v) 277
- 279: 36(int8_t) Load 278
- 280: 14(int8_t) Load 197(i8)
- 281: 36(int8_t) Bitcast 280
- 282: 171(bool) INotEqual 279 281
- Store 276(b) 282
- 283: 14(int8_t) Load 197(i8)
- 284: 36(int8_t) Bitcast 283
- 285: 37(ptr) AccessChain 192(u8v) 277
- 286: 36(int8_t) Load 285
- 287: 171(bool) IEqual 284 286
- Store 276(b) 287
- 288: 37(ptr) AccessChain 192(u8v) 277
- 289: 36(int8_t) Load 288
- 290: 17(int) UConvert 289
- 292: 291(ptr) AccessChain 224(uv) 261
- 293: 17(int) Load 292
- 294: 171(bool) UGreaterThan 290 293
- Store 276(b) 294
- 295: 14(int8_t) Load 197(i8)
- 296: 27(int) SConvert 295
- 297: 27(int) Load 217(i)
- 298: 171(bool) SLessThan 296 297
- Store 276(b) 298
- 299: 37(ptr) AccessChain 192(u8v) 261
- 300: 36(int8_t) Load 299
- 301: 17(int) UConvert 300
- 302: 291(ptr) AccessChain 224(uv) 277
- 303: 17(int) Load 302
- 304: 171(bool) UGreaterThanEqual 301 303
- Store 276(b) 304
- 305: 14(int8_t) Load 197(i8)
- 306: 27(int) SConvert 305
- 307: 27(int) Load 217(i)
- 308: 171(bool) SLessThanEqual 306 307
- Store 276(b) 308
- 309: 14(int8_t) Load 197(i8)
- 310: 27(int) SConvert 309
- 311: 17(int) Bitcast 310
- 312: 222(ivec3) Load 224(uv)
- 313: 222(ivec3) CompositeConstruct 311 311 311
- 314: 222(ivec3) BitwiseOr 312 313
- Store 224(uv) 314
- 315: 14(int8_t) Load 197(i8)
- 316: 27(int) SConvert 315
- 317: 27(int) Load 217(i)
- 318: 27(int) BitwiseOr 316 317
- Store 217(i) 318
- 319: 14(int8_t) Load 197(i8)
- 320: 57(int16_t) SConvert 319
- 321: 57(int16_t) Load 240(i16)
- 322: 57(int16_t) BitwiseAnd 321 320
- Store 240(i16) 322
- 323: 190(i8vec3) Load 192(u8v)
- 324: 222(ivec3) UConvert 323
- 325: 222(ivec3) Load 224(uv)
- 326: 222(ivec3) BitwiseAnd 324 325
- Store 224(uv) 326
- 327: 14(int8_t) Load 197(i8)
- 328: 27(int) SConvert 327
- 329: 17(int) Bitcast 328
- 330: 222(ivec3) Load 224(uv)
- 331: 222(ivec3) CompositeConstruct 329 329 329
- 332: 222(ivec3) BitwiseXor 330 331
- Store 224(uv) 332
- 333: 190(i8vec3) Load 192(u8v)
- 334: 14(int8_t) Load 197(i8)
- 335: 36(int8_t) Bitcast 334
- 336: 190(i8vec3) CompositeConstruct 335 335 335
- 337: 190(i8vec3) BitwiseXor 333 336
- Store 192(u8v) 337
+ 193(arr): 192(ptr) Variable Function
+ 201(u8v): 200(ptr) Variable Function
+ 206(i8): 15(ptr) Variable Function
+ 226(i): 225(ptr) Variable Function
+ 233(uv): 232(ptr) Variable Function
+ 249(i16): 248(ptr) Variable Function
+ 285(b): 284(ptr) Variable Function
+ 348(f): 347(ptr) Variable Function
+ Store 193(arr) 198
+ 202: 199(i8vec3) Load 201(u8v)
+ 204: 203(i8vec3) CompositeConstruct 176 176 176
+ 205: 199(i8vec3) IAdd 202 204
+ Store 201(u8v) 205
+ 207: 14(int8_t) Load 206(i8)
+ 208: 14(int8_t) ISub 207 176
+ Store 206(i8) 208
+ 209: 14(int8_t) Load 206(i8)
+ 210: 14(int8_t) IAdd 209 176
+ Store 206(i8) 210
+ 211: 199(i8vec3) Load 201(u8v)
+ 212: 203(i8vec3) CompositeConstruct 176 176 176
+ 213: 199(i8vec3) ISub 211 212
+ Store 201(u8v) 213
+ 214: 199(i8vec3) Load 201(u8v)
+ 215: 199(i8vec3) Not 214
+ Store 201(u8v) 215
+ 216: 14(int8_t) Load 206(i8)
+ Store 206(i8) 216
+ 217: 199(i8vec3) Load 201(u8v)
+ 218: 199(i8vec3) SNegate 217
+ Store 201(u8v) 218
+ 219: 14(int8_t) Load 206(i8)
+ 220: 14(int8_t) Load 206(i8)
+ 221: 14(int8_t) IAdd 220 219
+ Store 206(i8) 221
+ 222: 199(i8vec3) Load 201(u8v)
+ 223: 199(i8vec3) Load 201(u8v)
+ 224: 199(i8vec3) ISub 223 222
+ Store 201(u8v) 224
+ 227: 14(int8_t) Load 206(i8)
+ 228: 27(int) SConvert 227
+ 229: 27(int) Load 226(i)
+ 230: 27(int) IMul 229 228
+ Store 226(i) 230
+ 234: 199(i8vec3) Load 201(u8v)
+ 235: 231(ivec3) UConvert 234
+ 236: 231(ivec3) Load 233(uv)
+ 237: 231(ivec3) UDiv 236 235
+ Store 233(uv) 237
+ 238: 14(int8_t) Load 206(i8)
+ 239: 27(int) SConvert 238
+ 240: 17(int) Bitcast 239
+ 241: 231(ivec3) Load 233(uv)
+ 242: 231(ivec3) CompositeConstruct 240 240 240
+ 243: 231(ivec3) UMod 241 242
+ Store 233(uv) 243
+ 244: 199(i8vec3) Load 201(u8v)
+ 245: 231(ivec3) UConvert 244
+ 246: 231(ivec3) Load 233(uv)
+ 247: 231(ivec3) IAdd 245 246
+ Store 233(uv) 247
+ 250: 14(int8_t) Load 206(i8)
+ 251: 57(int16_t) SConvert 250
+ 252: 57(int16_t) Load 249(i16)
+ 253: 57(int16_t) ISub 251 252
+ Store 249(i16) 253
+ 254: 199(i8vec3) Load 201(u8v)
+ 255: 231(ivec3) UConvert 254
+ 256: 231(ivec3) Load 233(uv)
+ 257: 231(ivec3) IMul 255 256
+ Store 233(uv) 257
+ 258: 14(int8_t) Load 206(i8)
+ 259: 57(int16_t) SConvert 258
+ 260: 57(int16_t) Load 249(i16)
+ 261: 57(int16_t) IMul 259 260
+ Store 249(i16) 261
+ 262: 14(int8_t) Load 206(i8)
+ 263: 27(int) SConvert 262
+ 264: 27(int) Load 226(i)
+ 265: 27(int) SMod 263 264
+ Store 226(i) 265
+ 266: 14(int8_t) Load 206(i8)
+ 267: 199(i8vec3) Load 201(u8v)
+ 268: 203(i8vec3) CompositeConstruct 266 266 266
+ 269: 199(i8vec3) ShiftLeftLogical 267 268
+ Store 201(u8v) 269
+ 271: 37(ptr) AccessChain 201(u8v) 270
+ 272: 36(int8_t) Load 271
+ 273: 14(int8_t) Load 206(i8)
+ 274: 14(int8_t) ShiftRightArithmetic 273 272
+ Store 206(i8) 274
+ 275: 14(int8_t) Load 206(i8)
+ 277: 37(ptr) AccessChain 201(u8v) 276
+ 278: 36(int8_t) Load 277
+ 279: 14(int8_t) ShiftLeftLogical 275 278
+ Store 206(i8) 279
+ 280: 199(i8vec3) Load 201(u8v)
+ 281: 14(int8_t) Load 206(i8)
+ 282: 203(i8vec3) CompositeConstruct 281 281 281
+ 283: 199(i8vec3) ShiftLeftLogical 280 282
+ Store 201(u8v) 283
+ 287: 37(ptr) AccessChain 201(u8v) 286
+ 288: 36(int8_t) Load 287
+ 289: 14(int8_t) Load 206(i8)
+ 290: 36(int8_t) Bitcast 289
+ 291: 171(bool) INotEqual 288 290
+ Store 285(b) 291
+ 292: 14(int8_t) Load 206(i8)
+ 293: 36(int8_t) Bitcast 292
+ 294: 37(ptr) AccessChain 201(u8v) 286
+ 295: 36(int8_t) Load 294
+ 296: 171(bool) IEqual 293 295
+ Store 285(b) 296
+ 297: 37(ptr) AccessChain 201(u8v) 286
+ 298: 36(int8_t) Load 297
+ 299: 17(int) UConvert 298
+ 301: 300(ptr) AccessChain 233(uv) 270
+ 302: 17(int) Load 301
+ 303: 171(bool) UGreaterThan 299 302
+ Store 285(b) 303
+ 304: 14(int8_t) Load 206(i8)
+ 305: 27(int) SConvert 304
+ 306: 27(int) Load 226(i)
+ 307: 171(bool) SLessThan 305 306
+ Store 285(b) 307
+ 308: 37(ptr) AccessChain 201(u8v) 270
+ 309: 36(int8_t) Load 308
+ 310: 17(int) UConvert 309
+ 311: 300(ptr) AccessChain 233(uv) 286
+ 312: 17(int) Load 311
+ 313: 171(bool) UGreaterThanEqual 310 312
+ Store 285(b) 313
+ 314: 14(int8_t) Load 206(i8)
+ 315: 27(int) SConvert 314
+ 316: 27(int) Load 226(i)
+ 317: 171(bool) SLessThanEqual 315 316
+ Store 285(b) 317
+ 318: 14(int8_t) Load 206(i8)
+ 319: 27(int) SConvert 318
+ 320: 17(int) Bitcast 319
+ 321: 231(ivec3) Load 233(uv)
+ 322: 231(ivec3) CompositeConstruct 320 320 320
+ 323: 231(ivec3) BitwiseOr 321 322
+ Store 233(uv) 323
+ 324: 14(int8_t) Load 206(i8)
+ 325: 27(int) SConvert 324
+ 326: 27(int) Load 226(i)
+ 327: 27(int) BitwiseOr 325 326
+ Store 226(i) 327
+ 328: 14(int8_t) Load 206(i8)
+ 329: 57(int16_t) SConvert 328
+ 330: 57(int16_t) Load 249(i16)
+ 331: 57(int16_t) BitwiseAnd 330 329
+ Store 249(i16) 331
+ 332: 199(i8vec3) Load 201(u8v)
+ 333: 231(ivec3) UConvert 332
+ 334: 231(ivec3) Load 233(uv)
+ 335: 231(ivec3) BitwiseAnd 333 334
+ Store 233(uv) 335
+ 336: 14(int8_t) Load 206(i8)
+ 337: 27(int) SConvert 336
+ 338: 17(int) Bitcast 337
+ 339: 231(ivec3) Load 233(uv)
+ 340: 231(ivec3) CompositeConstruct 338 338 338
+ 341: 231(ivec3) BitwiseXor 339 340
+ Store 233(uv) 341
+ 342: 199(i8vec3) Load 201(u8v)
+ 343: 14(int8_t) Load 206(i8)
+ 344: 36(int8_t) Bitcast 343
+ 345: 199(i8vec3) CompositeConstruct 344 344 344
+ 346: 199(i8vec3) BitwiseXor 342 345
+ Store 201(u8v) 346
+ 349: 14(int8_t) Load 206(i8)
+ 350: 347(ptr) AccessChain 193(arr) 349
+ 351: 108(float) Load 350
+ Store 348(f) 351
Return
FunctionEnd
12(builtinFuncs(): 2 Function None 3
13: Label
- 338(i8v): 53(ptr) Variable Function
- 341(i8): 15(ptr) Variable Function
- 351(u8v): 191(ptr) Variable Function
- 353(u8): 37(ptr) Variable Function
- 423(i16): 239(ptr) Variable Function
- 426(i32): 216(ptr) Variable Function
- 429(i8v4): 428(ptr) Variable Function
- 433(u16): 432(ptr) Variable Function
- 434(u8v2): 50(ptr) Variable Function
- 437(u32): 291(ptr) Variable Function
- 440(u8v4): 439(ptr) Variable Function
- 452(bv): 451(ptr) Variable Function
- 339: 52(i8vec2) Load 338(i8v)
- 340: 52(i8vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 339
- Store 338(i8v) 340
- 342: 14(int8_t) Load 341(i8)
- 343: 14(int8_t) ExtInst 1(GLSL.std.450) 7(SSign) 342
- Store 341(i8) 343
- 344: 52(i8vec2) Load 338(i8v)
- 345: 14(int8_t) Load 341(i8)
- 346: 52(i8vec2) CompositeConstruct 345 345
- 347: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 344 346
- Store 338(i8v) 347
- 348: 52(i8vec2) Load 338(i8v)
- 350: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 348 349
- Store 338(i8v) 350
- 352: 190(i8vec3) Load 351(u8v)
- 354: 36(int8_t) Load 353(u8)
- 355: 190(i8vec3) CompositeConstruct 354 354 354
- 356: 190(i8vec3) ExtInst 1(GLSL.std.450) 38(UMin) 352 355
- Store 351(u8v) 356
- 357: 190(i8vec3) Load 351(u8v)
- 359: 190(i8vec3) ExtInst 1(GLSL.std.450) 38(UMin) 357 358
- Store 351(u8v) 359
- 360: 52(i8vec2) Load 338(i8v)
- 361: 14(int8_t) Load 341(i8)
- 362: 52(i8vec2) CompositeConstruct 361 361
- 363: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 360 362
- Store 338(i8v) 363
- 364: 52(i8vec2) Load 338(i8v)
- 365: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 364 349
- Store 338(i8v) 365
- 366: 190(i8vec3) Load 351(u8v)
- 367: 36(int8_t) Load 353(u8)
- 368: 190(i8vec3) CompositeConstruct 367 367 367
- 369: 190(i8vec3) ExtInst 1(GLSL.std.450) 41(UMax) 366 368
- Store 351(u8v) 369
- 370: 190(i8vec3) Load 351(u8v)
- 371: 190(i8vec3) ExtInst 1(GLSL.std.450) 41(UMax) 370 358
- Store 351(u8v) 371
- 372: 52(i8vec2) Load 338(i8v)
- 373: 14(int8_t) Load 341(i8)
- 374: 14(int8_t) SNegate 373
- 375: 14(int8_t) Load 341(i8)
- 376: 52(i8vec2) CompositeConstruct 374 374
- 377: 52(i8vec2) CompositeConstruct 375 375
- 378: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 372 376 377
- Store 338(i8v) 378
- 379: 52(i8vec2) Load 338(i8v)
- 380: 52(i8vec2) Load 338(i8v)
- 381: 52(i8vec2) SNegate 380
- 382: 52(i8vec2) Load 338(i8v)
- 383: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 379 381 382
- Store 338(i8v) 383
- 384: 190(i8vec3) Load 351(u8v)
- 385: 36(int8_t) Load 353(u8)
- 386: 36(int8_t) SNegate 385
- 387: 36(int8_t) Load 353(u8)
- 388: 190(i8vec3) CompositeConstruct 386 386 386
- 389: 190(i8vec3) CompositeConstruct 387 387 387
- 390: 190(i8vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 384 388 389
- Store 351(u8v) 390
- 391: 190(i8vec3) Load 351(u8v)
- 392: 190(i8vec3) Load 351(u8v)
- 393: 190(i8vec3) SNegate 392
- 394: 190(i8vec3) Load 351(u8v)
- 395: 190(i8vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 391 393 394
- Store 351(u8v) 395
- 396: 15(ptr) AccessChain 338(i8v) 277
- 397: 14(int8_t) Load 396
- 398: 15(ptr) AccessChain 338(i8v) 261
- 399: 14(int8_t) Load 398
- 401: 14(int8_t) Select 400 399 397
- Store 341(i8) 401
- 402: 14(int8_t) Load 341(i8)
- 403: 52(i8vec2) CompositeConstruct 402 402
- 404: 14(int8_t) Load 341(i8)
- 405: 14(int8_t) SNegate 404
- 406: 52(i8vec2) CompositeConstruct 405 405
- 409: 52(i8vec2) Select 408 406 403
- Store 338(i8v) 409
- 410: 37(ptr) AccessChain 351(u8v) 277
- 411: 36(int8_t) Load 410
- 412: 37(ptr) AccessChain 351(u8v) 261
- 413: 36(int8_t) Load 412
- 414: 36(int8_t) Select 400 413 411
- Store 353(u8) 414
- 415: 36(int8_t) Load 353(u8)
- 416: 190(i8vec3) CompositeConstruct 415 415 415
- 417: 36(int8_t) Load 353(u8)
- 418: 36(int8_t) SNegate 417
- 419: 190(i8vec3) CompositeConstruct 418 418 418
- 422: 190(i8vec3) Select 421 419 416
- Store 351(u8v) 422
- 424: 52(i8vec2) Load 338(i8v)
- 425: 57(int16_t) Bitcast 424
- Store 423(i16) 425
- 430: 427(i8vec4) Load 429(i8v4)
- 431: 27(int) Bitcast 430
- Store 426(i32) 431
- 435: 49(i8vec2) Load 434(u8v2)
- 436: 64(int16_t) Bitcast 435
- Store 433(u16) 436
- 441: 438(i8vec4) Load 440(u8v4)
- 442: 17(int) Bitcast 441
- Store 437(u32) 442
- 443: 57(int16_t) Load 423(i16)
- 444: 52(i8vec2) Bitcast 443
- Store 338(i8v) 444
- 445: 27(int) Load 426(i32)
- 446: 427(i8vec4) Bitcast 445
- Store 429(i8v4) 446
- 447: 64(int16_t) Load 433(u16)
- 448: 49(i8vec2) Bitcast 447
- Store 434(u8v2) 448
- 449: 17(int) Load 437(u32)
- 450: 438(i8vec4) Bitcast 449
- Store 440(u8v4) 450
- 453: 190(i8vec3) Load 351(u8v)
- 454: 36(int8_t) Load 353(u8)
- 455: 190(i8vec3) CompositeConstruct 454 454 454
- 456: 420(bvec3) ULessThan 453 455
- Store 452(bv) 456
- 457: 52(i8vec2) Load 338(i8v)
- 458: 14(int8_t) Load 341(i8)
- 459: 52(i8vec2) CompositeConstruct 458 458
- 460: 172(bvec2) SLessThan 457 459
- 461: 275(ptr) AccessChain 452(bv) 277
- 462: 171(bool) CompositeExtract 460 0
- Store 461 462
- 463: 275(ptr) AccessChain 452(bv) 261
- 464: 171(bool) CompositeExtract 460 1
- Store 463 464
- 465: 190(i8vec3) Load 351(u8v)
- 466: 36(int8_t) Load 353(u8)
- 467: 190(i8vec3) CompositeConstruct 466 466 466
- 468: 420(bvec3) ULessThanEqual 465 467
- Store 452(bv) 468
- 469: 52(i8vec2) Load 338(i8v)
- 470: 14(int8_t) Load 341(i8)
- 471: 52(i8vec2) CompositeConstruct 470 470
- 472: 172(bvec2) SLessThanEqual 469 471
- 473: 275(ptr) AccessChain 452(bv) 277
- 474: 171(bool) CompositeExtract 472 0
- Store 473 474
- 475: 275(ptr) AccessChain 452(bv) 261
- 476: 171(bool) CompositeExtract 472 1
+ 352(i8v): 53(ptr) Variable Function
+ 355(i8): 15(ptr) Variable Function
+ 365(u8v): 200(ptr) Variable Function
+ 367(u8): 37(ptr) Variable Function
+ 437(i16): 248(ptr) Variable Function
+ 440(i32): 225(ptr) Variable Function
+ 443(i8v4): 442(ptr) Variable Function
+ 447(u16): 446(ptr) Variable Function
+ 448(u8v2): 50(ptr) Variable Function
+ 451(u32): 300(ptr) Variable Function
+ 454(u8v4): 453(ptr) Variable Function
+ 466(bv): 465(ptr) Variable Function
+ 353: 52(i8vec2) Load 352(i8v)
+ 354: 52(i8vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 353
+ Store 352(i8v) 354
+ 356: 14(int8_t) Load 355(i8)
+ 357: 14(int8_t) ExtInst 1(GLSL.std.450) 7(SSign) 356
+ Store 355(i8) 357
+ 358: 52(i8vec2) Load 352(i8v)
+ 359: 14(int8_t) Load 355(i8)
+ 360: 52(i8vec2) CompositeConstruct 359 359
+ 361: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 358 360
+ Store 352(i8v) 361
+ 362: 52(i8vec2) Load 352(i8v)
+ 364: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 362 363
+ Store 352(i8v) 364
+ 366: 199(i8vec3) Load 365(u8v)
+ 368: 36(int8_t) Load 367(u8)
+ 369: 199(i8vec3) CompositeConstruct 368 368 368
+ 370: 199(i8vec3) ExtInst 1(GLSL.std.450) 38(UMin) 366 369
+ Store 365(u8v) 370
+ 371: 199(i8vec3) Load 365(u8v)
+ 373: 199(i8vec3) ExtInst 1(GLSL.std.450) 38(UMin) 371 372
+ Store 365(u8v) 373
+ 374: 52(i8vec2) Load 352(i8v)
+ 375: 14(int8_t) Load 355(i8)
+ 376: 52(i8vec2) CompositeConstruct 375 375
+ 377: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 374 376
+ Store 352(i8v) 377
+ 378: 52(i8vec2) Load 352(i8v)
+ 379: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 378 363
+ Store 352(i8v) 379
+ 380: 199(i8vec3) Load 365(u8v)
+ 381: 36(int8_t) Load 367(u8)
+ 382: 199(i8vec3) CompositeConstruct 381 381 381
+ 383: 199(i8vec3) ExtInst 1(GLSL.std.450) 41(UMax) 380 382
+ Store 365(u8v) 383
+ 384: 199(i8vec3) Load 365(u8v)
+ 385: 199(i8vec3) ExtInst 1(GLSL.std.450) 41(UMax) 384 372
+ Store 365(u8v) 385
+ 386: 52(i8vec2) Load 352(i8v)
+ 387: 14(int8_t) Load 355(i8)
+ 388: 14(int8_t) SNegate 387
+ 389: 14(int8_t) Load 355(i8)
+ 390: 52(i8vec2) CompositeConstruct 388 388
+ 391: 52(i8vec2) CompositeConstruct 389 389
+ 392: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 386 390 391
+ Store 352(i8v) 392
+ 393: 52(i8vec2) Load 352(i8v)
+ 394: 52(i8vec2) Load 352(i8v)
+ 395: 52(i8vec2) SNegate 394
+ 396: 52(i8vec2) Load 352(i8v)
+ 397: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 393 395 396
+ Store 352(i8v) 397
+ 398: 199(i8vec3) Load 365(u8v)
+ 399: 36(int8_t) Load 367(u8)
+ 400: 36(int8_t) SNegate 399
+ 401: 36(int8_t) Load 367(u8)
+ 402: 199(i8vec3) CompositeConstruct 400 400 400
+ 403: 199(i8vec3) CompositeConstruct 401 401 401
+ 404: 199(i8vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 398 402 403
+ Store 365(u8v) 404
+ 405: 199(i8vec3) Load 365(u8v)
+ 406: 199(i8vec3) Load 365(u8v)
+ 407: 199(i8vec3) SNegate 406
+ 408: 199(i8vec3) Load 365(u8v)
+ 409: 199(i8vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 405 407 408
+ Store 365(u8v) 409
+ 410: 15(ptr) AccessChain 352(i8v) 286
+ 411: 14(int8_t) Load 410
+ 412: 15(ptr) AccessChain 352(i8v) 270
+ 413: 14(int8_t) Load 412
+ 415: 14(int8_t) Select 414 413 411
+ Store 355(i8) 415
+ 416: 14(int8_t) Load 355(i8)
+ 417: 52(i8vec2) CompositeConstruct 416 416
+ 418: 14(int8_t) Load 355(i8)
+ 419: 14(int8_t) SNegate 418
+ 420: 52(i8vec2) CompositeConstruct 419 419
+ 423: 52(i8vec2) Select 422 420 417
+ Store 352(i8v) 423
+ 424: 37(ptr) AccessChain 365(u8v) 286
+ 425: 36(int8_t) Load 424
+ 426: 37(ptr) AccessChain 365(u8v) 270
+ 427: 36(int8_t) Load 426
+ 428: 36(int8_t) Select 414 427 425
+ Store 367(u8) 428
+ 429: 36(int8_t) Load 367(u8)
+ 430: 199(i8vec3) CompositeConstruct 429 429 429
+ 431: 36(int8_t) Load 367(u8)
+ 432: 36(int8_t) SNegate 431
+ 433: 199(i8vec3) CompositeConstruct 432 432 432
+ 436: 199(i8vec3) Select 435 433 430
+ Store 365(u8v) 436
+ 438: 52(i8vec2) Load 352(i8v)
+ 439: 57(int16_t) Bitcast 438
+ Store 437(i16) 439
+ 444: 441(i8vec4) Load 443(i8v4)
+ 445: 27(int) Bitcast 444
+ Store 440(i32) 445
+ 449: 49(i8vec2) Load 448(u8v2)
+ 450: 64(int16_t) Bitcast 449
+ Store 447(u16) 450
+ 455: 452(i8vec4) Load 454(u8v4)
+ 456: 17(int) Bitcast 455
+ Store 451(u32) 456
+ 457: 57(int16_t) Load 437(i16)
+ 458: 52(i8vec2) Bitcast 457
+ Store 352(i8v) 458
+ 459: 27(int) Load 440(i32)
+ 460: 441(i8vec4) Bitcast 459
+ Store 443(i8v4) 460
+ 461: 64(int16_t) Load 447(u16)
+ 462: 49(i8vec2) Bitcast 461
+ Store 448(u8v2) 462
+ 463: 17(int) Load 451(u32)
+ 464: 452(i8vec4) Bitcast 463
+ Store 454(u8v4) 464
+ 467: 199(i8vec3) Load 365(u8v)
+ 468: 36(int8_t) Load 367(u8)
+ 469: 199(i8vec3) CompositeConstruct 468 468 468
+ 470: 434(bvec3) ULessThan 467 469
+ Store 466(bv) 470
+ 471: 52(i8vec2) Load 352(i8v)
+ 472: 14(int8_t) Load 355(i8)
+ 473: 52(i8vec2) CompositeConstruct 472 472
+ 474: 172(bvec2) SLessThan 471 473
+ 475: 284(ptr) AccessChain 466(bv) 286
+ 476: 171(bool) CompositeExtract 474 0
Store 475 476
- 477: 190(i8vec3) Load 351(u8v)
- 478: 36(int8_t) Load 353(u8)
- 479: 190(i8vec3) CompositeConstruct 478 478 478
- 480: 420(bvec3) UGreaterThan 477 479
- Store 452(bv) 480
- 481: 52(i8vec2) Load 338(i8v)
- 482: 14(int8_t) Load 341(i8)
- 483: 52(i8vec2) CompositeConstruct 482 482
- 484: 172(bvec2) SGreaterThan 481 483
- 485: 275(ptr) AccessChain 452(bv) 277
- 486: 171(bool) CompositeExtract 484 0
- Store 485 486
- 487: 275(ptr) AccessChain 452(bv) 261
- 488: 171(bool) CompositeExtract 484 1
+ 477: 284(ptr) AccessChain 466(bv) 270
+ 478: 171(bool) CompositeExtract 474 1
+ Store 477 478
+ 479: 199(i8vec3) Load 365(u8v)
+ 480: 36(int8_t) Load 367(u8)
+ 481: 199(i8vec3) CompositeConstruct 480 480 480
+ 482: 434(bvec3) ULessThanEqual 479 481
+ Store 466(bv) 482
+ 483: 52(i8vec2) Load 352(i8v)
+ 484: 14(int8_t) Load 355(i8)
+ 485: 52(i8vec2) CompositeConstruct 484 484
+ 486: 172(bvec2) SLessThanEqual 483 485
+ 487: 284(ptr) AccessChain 466(bv) 286
+ 488: 171(bool) CompositeExtract 486 0
Store 487 488
- 489: 190(i8vec3) Load 351(u8v)
- 490: 36(int8_t) Load 353(u8)
- 491: 190(i8vec3) CompositeConstruct 490 490 490
- 492: 420(bvec3) UGreaterThanEqual 489 491
- Store 452(bv) 492
- 493: 52(i8vec2) Load 338(i8v)
- 494: 14(int8_t) Load 341(i8)
- 495: 52(i8vec2) CompositeConstruct 494 494
- 496: 172(bvec2) SGreaterThanEqual 493 495
- 497: 275(ptr) AccessChain 452(bv) 277
- 498: 171(bool) CompositeExtract 496 0
- Store 497 498
- 499: 275(ptr) AccessChain 452(bv) 261
- 500: 171(bool) CompositeExtract 496 1
+ 489: 284(ptr) AccessChain 466(bv) 270
+ 490: 171(bool) CompositeExtract 486 1
+ Store 489 490
+ 491: 199(i8vec3) Load 365(u8v)
+ 492: 36(int8_t) Load 367(u8)
+ 493: 199(i8vec3) CompositeConstruct 492 492 492
+ 494: 434(bvec3) UGreaterThan 491 493
+ Store 466(bv) 494
+ 495: 52(i8vec2) Load 352(i8v)
+ 496: 14(int8_t) Load 355(i8)
+ 497: 52(i8vec2) CompositeConstruct 496 496
+ 498: 172(bvec2) SGreaterThan 495 497
+ 499: 284(ptr) AccessChain 466(bv) 286
+ 500: 171(bool) CompositeExtract 498 0
Store 499 500
- 501: 190(i8vec3) Load 351(u8v)
- 502: 36(int8_t) Load 353(u8)
- 503: 190(i8vec3) CompositeConstruct 502 502 502
- 504: 420(bvec3) IEqual 501 503
- Store 452(bv) 504
- 505: 52(i8vec2) Load 338(i8v)
- 506: 14(int8_t) Load 341(i8)
- 507: 52(i8vec2) CompositeConstruct 506 506
- 508: 172(bvec2) IEqual 505 507
- 509: 275(ptr) AccessChain 452(bv) 277
- 510: 171(bool) CompositeExtract 508 0
- Store 509 510
- 511: 275(ptr) AccessChain 452(bv) 261
- 512: 171(bool) CompositeExtract 508 1
+ 501: 284(ptr) AccessChain 466(bv) 270
+ 502: 171(bool) CompositeExtract 498 1
+ Store 501 502
+ 503: 199(i8vec3) Load 365(u8v)
+ 504: 36(int8_t) Load 367(u8)
+ 505: 199(i8vec3) CompositeConstruct 504 504 504
+ 506: 434(bvec3) UGreaterThanEqual 503 505
+ Store 466(bv) 506
+ 507: 52(i8vec2) Load 352(i8v)
+ 508: 14(int8_t) Load 355(i8)
+ 509: 52(i8vec2) CompositeConstruct 508 508
+ 510: 172(bvec2) SGreaterThanEqual 507 509
+ 511: 284(ptr) AccessChain 466(bv) 286
+ 512: 171(bool) CompositeExtract 510 0
Store 511 512
- 513: 190(i8vec3) Load 351(u8v)
- 514: 36(int8_t) Load 353(u8)
- 515: 190(i8vec3) CompositeConstruct 514 514 514
- 516: 420(bvec3) INotEqual 513 515
- Store 452(bv) 516
- 517: 52(i8vec2) Load 338(i8v)
- 518: 14(int8_t) Load 341(i8)
- 519: 52(i8vec2) CompositeConstruct 518 518
- 520: 172(bvec2) INotEqual 517 519
- 521: 275(ptr) AccessChain 452(bv) 277
- 522: 171(bool) CompositeExtract 520 0
- Store 521 522
- 523: 275(ptr) AccessChain 452(bv) 261
- 524: 171(bool) CompositeExtract 520 1
+ 513: 284(ptr) AccessChain 466(bv) 270
+ 514: 171(bool) CompositeExtract 510 1
+ Store 513 514
+ 515: 199(i8vec3) Load 365(u8v)
+ 516: 36(int8_t) Load 367(u8)
+ 517: 199(i8vec3) CompositeConstruct 516 516 516
+ 518: 434(bvec3) IEqual 515 517
+ Store 466(bv) 518
+ 519: 52(i8vec2) Load 352(i8v)
+ 520: 14(int8_t) Load 355(i8)
+ 521: 52(i8vec2) CompositeConstruct 520 520
+ 522: 172(bvec2) IEqual 519 521
+ 523: 284(ptr) AccessChain 466(bv) 286
+ 524: 171(bool) CompositeExtract 522 0
Store 523 524
+ 525: 284(ptr) AccessChain 466(bv) 270
+ 526: 171(bool) CompositeExtract 522 1
+ Store 525 526
+ 527: 199(i8vec3) Load 365(u8v)
+ 528: 36(int8_t) Load 367(u8)
+ 529: 199(i8vec3) CompositeConstruct 528 528 528
+ 530: 434(bvec3) INotEqual 527 529
+ Store 466(bv) 530
+ 531: 52(i8vec2) Load 352(i8v)
+ 532: 14(int8_t) Load 355(i8)
+ 533: 52(i8vec2) CompositeConstruct 532 532
+ 534: 172(bvec2) INotEqual 531 533
+ 535: 284(ptr) AccessChain 466(bv) 286
+ 536: 171(bool) CompositeExtract 534 0
+ Store 535 536
+ 537: 284(ptr) AccessChain 466(bv) 270
+ 538: 171(bool) CompositeExtract 534 1
+ Store 537 538
Return
FunctionEnd
diff --git a/Test/baseResults/spv.intrinsicsSpecConst.vert.out b/Test/baseResults/spv.intrinsicsSpecConst.vert.out
new file mode 100644
index 0000000..11751d6
--- /dev/null
+++ b/Test/baseResults/spv.intrinsicsSpecConst.vert.out
@@ -0,0 +1,35 @@
+spv.intrinsicsSpecConst.vert
+Validation failed
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 13
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 10
+ ExecutionModeId 4 DenormFlushToZero 7
+ Source GLSL 450
+ SourceExtension "GL_EXT_spirv_intrinsics"
+ Name 4 "main"
+ Name 7 "targetWidth"
+ Name 10 "pointSize"
+ Name 11 "builtIn"
+ Decorate 7(targetWidth) SpecId 5
+ Decorate 10(pointSize) Location 0
+ Decorate 11(builtIn) SpecId 6
+ DecorateId 10(pointSize) BuiltIn 11(builtIn)
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7(targetWidth): 6(int) SpecConstant 32
+ 8: TypeFloat 32
+ 9: TypePointer Output 8(float)
+ 10(pointSize): 9(ptr) Variable Output
+ 11(builtIn): 6(int) SpecConstant 1
+ 12: 8(float) Constant 1082130432
+ 4(main): 2 Function None 3
+ 5: Label
+ Store 10(pointSize) 12
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.intrinsicsSpirvLiteral.vert.out b/Test/baseResults/spv.intrinsicsSpirvLiteral.vert.out
index af4ac16..68ad949 100644
--- a/Test/baseResults/spv.intrinsicsSpirvLiteral.vert.out
+++ b/Test/baseResults/spv.intrinsicsSpirvLiteral.vert.out
@@ -1,4 +1,5 @@
spv.intrinsicsSpirvLiteral.vert
+Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 12
diff --git a/Test/baseResults/spv.viewportArray2.tesc.out b/Test/baseResults/spv.viewportArray2.tesc.out
index 74235a5..e95ada4 100644
--- a/Test/baseResults/spv.viewportArray2.tesc.out
+++ b/Test/baseResults/spv.viewportArray2.tesc.out
@@ -1,8 +1,7 @@
spv.viewportArray2.tesc
-Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 25
+// Id's are bound by 23
Capability Tessellation
Capability ShaderViewportIndexLayerNV
@@ -11,23 +10,21 @@
Extension "SPV_NV_viewport_array2"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint TessellationControl 4 "main" 14 16 22 24
+ EntryPoint TessellationControl 4 "main" 14 16 22
ExecutionMode 4 OutputVertices 4
- Source GLSL 450
+ Source GLSL 430
SourceExtension "GL_NV_viewport_array2"
Name 4 "main"
Name 10 "gl_PerVertex"
MemberName 10(gl_PerVertex) 0 "gl_ViewportMask"
Name 14 "gl_out"
Name 16 "gl_InvocationID"
- Name 22 "gl_ViewportIndex"
- Name 24 "gl_Layer"
+ Name 22 "gl_Layer"
MemberDecorate 10(gl_PerVertex) 0 BuiltIn ViewportMaskNV
Decorate 10(gl_PerVertex) Block
Decorate 16(gl_InvocationID) BuiltIn InvocationId
- Decorate 22(gl_ViewportIndex) BuiltIn ViewportIndex
- Decorate 24(gl_Layer) BuiltIn Layer
- Decorate 24(gl_Layer) ViewportRelativeNV
+ Decorate 22(gl_Layer) BuiltIn Layer
+ Decorate 22(gl_Layer) ViewportRelativeNV
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@@ -44,14 +41,11 @@
18: 6(int) Constant 0
19: 6(int) Constant 1
20: TypePointer Output 6(int)
-22(gl_ViewportIndex): 20(ptr) Variable Output
- 23: 6(int) Constant 2
- 24(gl_Layer): 20(ptr) Variable Output
+ 22(gl_Layer): 20(ptr) Variable Output
4(main): 2 Function None 3
5: Label
17: 6(int) Load 16(gl_InvocationID)
21: 20(ptr) AccessChain 14(gl_out) 17 18 18
Store 21 19
- Store 22(gl_ViewportIndex) 23
Return
FunctionEnd
diff --git a/Test/spv.float64.frag b/Test/spv.float64.frag
index faaac23..6e9f22d 100644
--- a/Test/spv.float64.frag
+++ b/Test/spv.float64.frag
@@ -127,36 +127,12 @@
u64v = u64vec3(f64v); // float64 -> uint64
}
-void builtinAngleTrigFuncs()
-{
- f64vec4 f64v1, f64v2;
+// Trig, pow, exp and log are not supported for f64
- f64v2 = radians(f64v1);
- f64v2 = degrees(f64v1);
- f64v2 = sin(f64v1);
- f64v2 = cos(f64v1);
- f64v2 = tan(f64v1);
- f64v2 = asin(f64v1);
- f64v2 = acos(f64v1);
- f64v2 = atan(f64v1, f64v2);
- f64v2 = atan(f64v1);
- f64v2 = sinh(f64v1);
- f64v2 = cosh(f64v1);
- f64v2 = tanh(f64v1);
- f64v2 = asinh(f64v1);
- f64v2 = acosh(f64v1);
- f64v2 = atanh(f64v1);
-}
-
-void builtinExpFuncs()
+void builtinTranscendentalFuncs()
{
f64vec2 f64v1, f64v2;
- f64v2 = pow(f64v1, f64v2);
- f64v2 = exp(f64v1);
- f64v2 = log(f64v1);
- f64v2 = exp2(f64v1);
- f64v2 = log2(f64v1);
f64v2 = sqrt(f64v1);
f64v2 = inversesqrt(f64v1);
}
diff --git a/Test/spv.int16.frag b/Test/spv.int16.frag
index 2feff4f..26a8c9b 100644
--- a/Test/spv.int16.frag
+++ b/Test/spv.int16.frag
@@ -116,6 +116,8 @@
int32_t i;
int64_t i64;
bool b;
+ float f;
+ float arr[4] = {1.0, 2.0, 3.0, 4.0};
// Unary
u16v++;
@@ -163,6 +165,9 @@
uv = u16v & uv;
uv ^= i16;
u16v = u16v ^ i16;
+
+ // Index
+ f = arr[i16];
}
void builtinFuncs()
diff --git a/Test/spv.int8.frag b/Test/spv.int8.frag
index 80702b7..bd3de17 100644
--- a/Test/spv.int8.frag
+++ b/Test/spv.int8.frag
@@ -117,6 +117,8 @@
int32_t i;
int16_t i16;
bool b;
+ float arr[4] = {1.0, 2.0, 3.0, 4.0};
+ float f;
// Unary
u8v++;
@@ -164,6 +166,9 @@
uv = u8v & uv;
uv ^= i8;
u8v = u8v ^ i8;
+
+ // Index
+ f = arr[i8];
}
void builtinFuncs()
diff --git a/Test/spv.intrinsicsSpecConst.vert b/Test/spv.intrinsicsSpecConst.vert
new file mode 100644
index 0000000..19cc5ef
--- /dev/null
+++ b/Test/spv.intrinsicsSpecConst.vert
@@ -0,0 +1,14 @@
+#version 450 core
+
+#extension GL_EXT_spirv_intrinsics: enable
+
+layout(constant_id = 5) const uint targetWidth = 32;
+spirv_execution_mode_id(4460/*=DenormFlushToZero*/, targetWidth);
+
+layout(constant_id = 6) const uint builtIn = 1;
+spirv_decorate_id(11/*=BuiltIn*/, builtIn) out float pointSize;
+
+void main()
+{
+ pointSize = 4.0;
+}
diff --git a/Test/spv.viewportArray2.tesc b/Test/spv.viewportArray2.tesc
index 7fc208a..24a1d8c 100644
--- a/Test/spv.viewportArray2.tesc
+++ b/Test/spv.viewportArray2.tesc
@@ -1,4 +1,4 @@
-#version 450
+#version 430
#extension GL_NV_viewport_array2 :require
layout(vertices = 4) out;
@@ -12,5 +12,4 @@
void main()
{
gl_out[gl_InvocationID].gl_ViewportMask[0] = 1;
- gl_ViewportIndex = 2;
}
diff --git a/gen_extension_headers.py b/gen_extension_headers.py
new file mode 100644
index 0000000..a787f9a
--- /dev/null
+++ b/gen_extension_headers.py
@@ -0,0 +1,98 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2020 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import glob
+import sys
+import os
+
+def generate_main(glsl_files, output_header_file):
+ # Write commit ID to output header file
+ with open(output_header_file, "w") as header_file:
+ # Copyright Notice
+ header_string = '/***************************************************************************\n'
+ header_string += ' *\n'
+ header_string += ' * Copyright (c) 2015-2021 The Khronos Group Inc.\n'
+ header_string += ' * Copyright (c) 2015-2021 Valve Corporation\n'
+ header_string += ' * Copyright (c) 2015-2021 LunarG, Inc.\n'
+ header_string += ' * Copyright (c) 2015-2021 Google Inc.\n'
+ header_string += ' * Copyright (c) 2021 Advanced Micro Devices, Inc.All rights reserved.\n'
+ header_string += ' *\n'
+ header_string += ' ****************************************************************************/\n'
+ header_string += '#pragma once\n\n'
+ header_string += '#ifndef _INTRINSIC_EXTENSION_HEADER_H_\n'
+ header_string += '#define _INTRINSIC_EXTENSION_HEADER_H_\n\n'
+ header_file.write(header_string)
+
+ symbol_name_list = []
+
+ for i in glsl_files:
+ glsl_contents = open(i,"r").read()
+
+ filename = os.path.basename(i)
+ symbol_name = filename.split(".")[0]
+ symbol_name_list.append(symbol_name)
+ header_name = symbol_name + ".h"
+ header_str = 'std::string %s_GLSL = R"(\n%s\n)";\n' % (symbol_name, glsl_contents)
+ header_str += '\n'
+ header_file.write(header_str)
+
+ contents = ''
+ contents += '\n'
+ contents += 'std::string getIntrinsic(const char* const* shaders, int n) {\n'
+ contents += '\tstd::string shaderString = "";\n';
+
+ contents += '\tfor (int i = 0; i < n; i++) {\n'
+
+ for symbol_name in symbol_name_list:
+ contents += '\t\tif (strstr(shaders[i], "%s") != NULL) {\n' % (symbol_name)
+ contents += '\t\t shaderString.append(%s_GLSL);\n' % (symbol_name)
+ contents += '\t\t}\n'
+
+ contents += '\t}\n'
+ contents += '\treturn shaderString;\n';
+ contents += '}\n'
+
+ contents += '\n#endif\n'
+ header_file.write(contents)
+
+def main():
+ if len(sys.argv) < 2:
+ raise Exception("Invalid number of arguments")
+
+ i = 0
+ while i < len(sys.argv):
+ opt = sys.argv[i]
+ i = i + 1
+
+ if opt == "-i" or opt == "-o":
+ if i == len(sys.argv):
+ raise Exception("Expected path after {}".format(opt))
+ val = sys.argv[i]
+ i = i + 1
+ if (opt == "-i"):
+ input_dir = val
+ elif (opt == "-o"):
+ output_file = val
+ else:
+ raise Exception("Unknown flag {}".format(opt))
+
+ glsl_files = glob.glob(input_dir + '/*.glsl')
+
+ # Generate main header
+ generate_main(glsl_files, output_file)
+
+if __name__ == '__main__':
+ main()
\ No newline at end of file
diff --git a/glslang/CInterface/glslang_c_interface.cpp b/glslang/CInterface/glslang_c_interface.cpp
index 2e04f53..4fdeff7 100644
--- a/glslang/CInterface/glslang_c_interface.cpp
+++ b/glslang/CInterface/glslang_c_interface.cpp
@@ -269,6 +269,8 @@
switch (client_version) {
case GLSLANG_TARGET_VULKAN_1_1:
return glslang::EShTargetVulkan_1_1;
+ case GLSLANG_TARGET_VULKAN_1_2:
+ return glslang::EShTargetVulkan_1_2;
case GLSLANG_TARGET_OPENGL_450:
return glslang::EShTargetOpenGL_450;
default:
diff --git a/glslang/ExtensionHeaders/GL_EXT_shader_realtime_clock.glsl b/glslang/ExtensionHeaders/GL_EXT_shader_realtime_clock.glsl
new file mode 100644
index 0000000..f74df6f
--- /dev/null
+++ b/glslang/ExtensionHeaders/GL_EXT_shader_realtime_clock.glsl
@@ -0,0 +1,54 @@
+//
+// Copyright (C) 2002-2005 3Dlabs Inc. Ltd.
+// Copyright (C) 2013-2016 LunarG, Inc.
+// Copyright (C) 2016-2020 Google, Inc.
+// Modifications Copyright(C) 2021 Advanced Micro Devices, Inc.All rights reserved.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+//
+// Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//
+// 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.
+//
+// Neither the name of 3Dlabs Inc. Ltd. 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 HOLDERS 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.
+//
+
+#extension GL_EXT_spirv_intrinsics : enable
+#extension GL_ARB_gpu_shader_int64 : enable
+
+uvec2 clockRealtime2x32EXT(void) {
+ spirv_instruction (extensions = ["SPV_KHR_shader_clock"], capabilities = [5055], id = 5056)
+ uvec2 clockRealtime2x32EXT_internal(uint scope);
+
+ return clockRealtime2x32EXT_internal(1 /*Device scope*/);
+}
+
+uint64_t clockRealtimeEXT(void) {
+ spirv_instruction (extensions = ["SPV_KHR_shader_clock"], capabilities = [5055], id = 5056)
+ uint64_t clockRealtimeEXT_internal(uint scope);
+
+ return clockRealtimeEXT_internal(1 /*Device scope*/);
+}
\ No newline at end of file
diff --git a/glslang/Include/Common.h b/glslang/Include/Common.h
index e7b5e07..a24977f 100644
--- a/glslang/Include/Common.h
+++ b/glslang/Include/Common.h
@@ -39,6 +39,7 @@
#include <algorithm>
#include <cassert>
+#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <list>
@@ -302,6 +303,34 @@
return result;
}
+inline bool IsInfinity(double x) {
+#ifdef _MSC_VER
+ switch (_fpclass(x)) {
+ case _FPCLASS_NINF:
+ case _FPCLASS_PINF:
+ return true;
+ default:
+ return false;
+ }
+#else
+ return std::isinf(x);
+#endif
+}
+
+inline bool IsNan(double x) {
+#ifdef _MSC_VER
+ switch (_fpclass(x)) {
+ case _FPCLASS_SNAN:
+ case _FPCLASS_QNAN:
+ return true;
+ default:
+ return false;
+ }
+#else
+ return std::isnan(x);
+#endif
+}
+
} // end namespace glslang
#endif // _COMMON_INCLUDED_
diff --git a/glslang/Include/PoolAlloc.h b/glslang/Include/PoolAlloc.h
index b8eccb8..1f5cac7 100644
--- a/glslang/Include/PoolAlloc.h
+++ b/glslang/Include/PoolAlloc.h
@@ -306,6 +306,8 @@
TPoolAllocator& getAllocator() const { return allocator; }
+ pool_allocator select_on_container_copy_construction() const { return pool_allocator{}; }
+
protected:
pool_allocator& operator=(const pool_allocator&) { return *this; }
TPoolAllocator& allocator;
diff --git a/glslang/Include/SpirvIntrinsics.h b/glslang/Include/SpirvIntrinsics.h
index e7a999d..3c7d72c 100644
--- a/glslang/Include/SpirvIntrinsics.h
+++ b/glslang/Include/SpirvIntrinsics.h
@@ -65,7 +65,7 @@
// spirv_execution_mode
TMap<int, TVector<const TIntermConstantUnion*>> modes;
// spirv_execution_mode_id
- TMap<int, TVector<const TIntermConstantUnion*> > modeIds;
+ TMap<int, TVector<const TIntermTyped*> > modeIds;
};
// SPIR-V decorations
@@ -75,7 +75,7 @@
// spirv_decorate
TMap<int, TVector<const TIntermConstantUnion*> > decorates;
// spirv_decorate_id
- TMap<int, TVector<const TIntermConstantUnion*> > decorateIds;
+ TMap<int, TVector<const TIntermTyped*>> decorateIds;
// spirv_decorate_string
TMap<int, TVector<const TIntermConstantUnion*> > decorateStrings;
};
@@ -98,20 +98,12 @@
struct TSpirvTypeParameter {
POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator())
- TSpirvTypeParameter(const TIntermConstantUnion* arg) { isConstant = true; constant = arg; }
- TSpirvTypeParameter(const TType* arg) { isConstant = false; type = arg; }
+ TSpirvTypeParameter(const TIntermConstantUnion* arg) { constant = arg; }
- bool operator==(const TSpirvTypeParameter& rhs) const
- {
- return isConstant == rhs.isConstant && ((isConstant && constant == rhs.constant) || (!isConstant && type == rhs.type));
- }
+ bool operator==(const TSpirvTypeParameter& rhs) const { return constant == rhs.constant; }
bool operator!=(const TSpirvTypeParameter& rhs) const { return !operator==(rhs); }
- bool isConstant;
- union {
- const TIntermConstantUnion* constant;
- const TType* type;
- };
+ const TIntermConstantUnion* constant;
};
typedef TVector<TSpirvTypeParameter> TSpirvTypeParameters;
diff --git a/glslang/MachineIndependent/Constant.cpp b/glslang/MachineIndependent/Constant.cpp
index 7f5d4c4..5fc61db 100644
--- a/glslang/MachineIndependent/Constant.cpp
+++ b/glslang/MachineIndependent/Constant.cpp
@@ -46,35 +46,6 @@
using namespace glslang;
-typedef union {
- double d;
- int i[2];
-} DoubleIntUnion;
-
-// Some helper functions
-
-bool isNan(double x)
-{
- DoubleIntUnion u;
- // tough to find a platform independent library function, do it directly
- u.d = x;
- int bitPatternL = u.i[0];
- int bitPatternH = u.i[1];
- return (bitPatternH & 0x7ff80000) == 0x7ff80000 &&
- ((bitPatternH & 0xFFFFF) != 0 || bitPatternL != 0);
-}
-
-bool isInf(double x)
-{
- DoubleIntUnion u;
- // tough to find a platform independent library function, do it directly
- u.d = x;
- int bitPatternL = u.i[0];
- int bitPatternH = u.i[1];
- return (bitPatternH & 0x7ff00000) == 0x7ff00000 &&
- (bitPatternH & 0xFFFFF) == 0 && bitPatternL == 0;
-}
-
const double pi = 3.1415926535897932384626433832795;
} // end anonymous namespace
@@ -663,12 +634,12 @@
case EOpIsNan:
{
- newConstArray[i].setBConst(isNan(unionArray[i].getDConst()));
+ newConstArray[i].setBConst(IsNan(unionArray[i].getDConst()));
break;
}
case EOpIsInf:
{
- newConstArray[i].setBConst(isInf(unionArray[i].getDConst()));
+ newConstArray[i].setBConst(IsInfinity(unionArray[i].getDConst()));
break;
}
diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp
index ee4e2ca..728cd4a 100644
--- a/glslang/MachineIndependent/Initialize.cpp
+++ b/glslang/MachineIndependent/Initialize.cpp
@@ -3,7 +3,7 @@
// Copyright (C) 2012-2016 LunarG, Inc.
// Copyright (C) 2015-2020 Google, Inc.
// Copyright (C) 2017 ARM Limited.
-// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved.
+// Modifications Copyright (C) 2020-2021 Advanced Micro Devices, Inc. All rights reserved.
//
// All rights reserved.
//
@@ -4159,106 +4159,6 @@
"u16vec4 unpack16(uint64_t);"
"i32vec2 unpack32(int64_t);"
"u32vec2 unpack32(uint64_t);"
-
- "float64_t radians(float64_t);"
- "f64vec2 radians(f64vec2);"
- "f64vec3 radians(f64vec3);"
- "f64vec4 radians(f64vec4);"
-
- "float64_t degrees(float64_t);"
- "f64vec2 degrees(f64vec2);"
- "f64vec3 degrees(f64vec3);"
- "f64vec4 degrees(f64vec4);"
-
- "float64_t sin(float64_t);"
- "f64vec2 sin(f64vec2);"
- "f64vec3 sin(f64vec3);"
- "f64vec4 sin(f64vec4);"
-
- "float64_t cos(float64_t);"
- "f64vec2 cos(f64vec2);"
- "f64vec3 cos(f64vec3);"
- "f64vec4 cos(f64vec4);"
-
- "float64_t tan(float64_t);"
- "f64vec2 tan(f64vec2);"
- "f64vec3 tan(f64vec3);"
- "f64vec4 tan(f64vec4);"
-
- "float64_t asin(float64_t);"
- "f64vec2 asin(f64vec2);"
- "f64vec3 asin(f64vec3);"
- "f64vec4 asin(f64vec4);"
-
- "float64_t acos(float64_t);"
- "f64vec2 acos(f64vec2);"
- "f64vec3 acos(f64vec3);"
- "f64vec4 acos(f64vec4);"
-
- "float64_t atan(float64_t, float64_t);"
- "f64vec2 atan(f64vec2, f64vec2);"
- "f64vec3 atan(f64vec3, f64vec3);"
- "f64vec4 atan(f64vec4, f64vec4);"
-
- "float64_t atan(float64_t);"
- "f64vec2 atan(f64vec2);"
- "f64vec3 atan(f64vec3);"
- "f64vec4 atan(f64vec4);"
-
- "float64_t sinh(float64_t);"
- "f64vec2 sinh(f64vec2);"
- "f64vec3 sinh(f64vec3);"
- "f64vec4 sinh(f64vec4);"
-
- "float64_t cosh(float64_t);"
- "f64vec2 cosh(f64vec2);"
- "f64vec3 cosh(f64vec3);"
- "f64vec4 cosh(f64vec4);"
-
- "float64_t tanh(float64_t);"
- "f64vec2 tanh(f64vec2);"
- "f64vec3 tanh(f64vec3);"
- "f64vec4 tanh(f64vec4);"
-
- "float64_t asinh(float64_t);"
- "f64vec2 asinh(f64vec2);"
- "f64vec3 asinh(f64vec3);"
- "f64vec4 asinh(f64vec4);"
-
- "float64_t acosh(float64_t);"
- "f64vec2 acosh(f64vec2);"
- "f64vec3 acosh(f64vec3);"
- "f64vec4 acosh(f64vec4);"
-
- "float64_t atanh(float64_t);"
- "f64vec2 atanh(f64vec2);"
- "f64vec3 atanh(f64vec3);"
- "f64vec4 atanh(f64vec4);"
-
- "float64_t pow(float64_t, float64_t);"
- "f64vec2 pow(f64vec2, f64vec2);"
- "f64vec3 pow(f64vec3, f64vec3);"
- "f64vec4 pow(f64vec4, f64vec4);"
-
- "float64_t exp(float64_t);"
- "f64vec2 exp(f64vec2);"
- "f64vec3 exp(f64vec3);"
- "f64vec4 exp(f64vec4);"
-
- "float64_t log(float64_t);"
- "f64vec2 log(f64vec2);"
- "f64vec3 log(f64vec3);"
- "f64vec4 log(f64vec4);"
-
- "float64_t exp2(float64_t);"
- "f64vec2 exp2(f64vec2);"
- "f64vec3 exp2(f64vec3);"
- "f64vec4 exp2(f64vec4);"
-
- "float64_t log2(float64_t);"
- "f64vec2 log2(f64vec2);"
- "f64vec3 log2(f64vec3);"
- "f64vec4 log2(f64vec4);"
"\n");
}
@@ -4653,13 +4553,11 @@
"\n");
}
- // GL_ARB_shader_clock & GL_EXT_shader_realtime_clock
+ // GL_ARB_shader_clock
if (profile != EEsProfile && version >= 450) {
commonBuiltins.append(
"uvec2 clock2x32ARB();"
"uint64_t clockARB();"
- "uvec2 clockRealtime2x32EXT();"
- "uint64_t clockRealtimeEXT();"
"\n");
}
@@ -5174,9 +5072,13 @@
);
}
- if (version >= 450)
+ if (version >= 430)
stageBuiltins[EShLangVertex].append(
"out int gl_ViewportMask[];" // GL_NV_viewport_array2
+ );
+
+ if (version >= 450)
+ stageBuiltins[EShLangVertex].append(
"out int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering
"out vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering
"out vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes
@@ -5312,9 +5214,13 @@
"in int gl_InvocationID;"
);
- if (version >= 450)
+ if (version >= 430)
stageBuiltins[EShLangGeometry].append(
"out int gl_ViewportMask[];" // GL_NV_viewport_array2
+ );
+
+ if (version >= 450)
+ stageBuiltins[EShLangGeometry].append(
"out int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering
"out vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering
"out vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes
@@ -5390,7 +5296,13 @@
if (version >= 450)
stageBuiltins[EShLangTessControl].append(
"float gl_CullDistance[];"
+ );
+ if (version >= 430)
+ stageBuiltins[EShLangTessControl].append(
"int gl_ViewportMask[];" // GL_NV_viewport_array2
+ );
+ if (version >= 450)
+ stageBuiltins[EShLangTessControl].append(
"vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering
"int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering
"vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes
@@ -5493,9 +5405,13 @@
"out int gl_Layer;"
"\n");
- if (version >= 450)
+ if (version >= 430)
stageBuiltins[EShLangTessEvaluation].append(
"out int gl_ViewportMask[];" // GL_NV_viewport_array2
+ );
+
+ if (version >= 450)
+ stageBuiltins[EShLangTessEvaluation].append(
"out vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering
"out int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering
"out vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes
@@ -8408,9 +8324,6 @@
symbolTable.setFunctionExtensions("clockARB", 1, &E_GL_ARB_shader_clock);
symbolTable.setFunctionExtensions("clock2x32ARB", 1, &E_GL_ARB_shader_clock);
- symbolTable.setFunctionExtensions("clockRealtimeEXT", 1, &E_GL_EXT_shader_realtime_clock);
- symbolTable.setFunctionExtensions("clockRealtime2x32EXT", 1, &E_GL_EXT_shader_realtime_clock);
-
if (profile == EEsProfile && version < 320) {
symbolTable.setVariableExtensions("gl_PrimitiveID", Num_AEP_geometry_shader, AEP_geometry_shader);
symbolTable.setVariableExtensions("gl_Layer", Num_AEP_geometry_shader, AEP_geometry_shader);
diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp
index b2b187b..9ab1207 100644
--- a/glslang/MachineIndependent/ParseHelper.cpp
+++ b/glslang/MachineIndependent/ParseHelper.cpp
@@ -3029,11 +3029,14 @@
//
// Both test, and if necessary spit out an error, to see if the node is really
-// an integer.
+// a 32-bit integer or can implicitly convert to one.
//
void TParseContext::integerCheck(const TIntermTyped* node, const char* token)
{
- if ((node->getBasicType() == EbtInt || node->getBasicType() == EbtUint) && node->isScalar())
+ auto from_type = node->getBasicType();
+ if ((from_type == EbtInt || from_type == EbtUint ||
+ intermediate.canImplicitlyPromote(from_type, EbtInt, EOpNull) ||
+ intermediate.canImplicitlyPromote(from_type, EbtUint, EOpNull)) && node->isScalar())
return;
error(node->getLoc(), "scalar integer expression required", token, "");
@@ -9243,11 +9246,14 @@
// "it is an error to have no statement between a label and the end of the switch statement."
// The specifications were updated to remove this (being ill-defined what a "statement" was),
// so, this became a warning. However, 3.0 tests still check for the error.
- if (isEsProfile() && version <= 300 && ! relaxedErrors())
+ if (isEsProfile() && (version <= 300 || version >= 320) && ! relaxedErrors())
+ error(loc, "last case/default label not followed by statements", "switch", "");
+ else if (!isEsProfile() && (version <= 430 || version >= 460))
error(loc, "last case/default label not followed by statements", "switch", "");
else
warn(loc, "last case/default label not followed by statements", "switch", "");
+
// emulate a break for error recovery
lastStatements = intermediate.makeAggregate(intermediate.addBranch(EOpBreak, loc));
lastStatements->setOperator(EOpSequence);
diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h
index 442741d..885fd90 100644
--- a/glslang/MachineIndependent/ParseHelper.h
+++ b/glslang/MachineIndependent/ParseHelper.h
@@ -480,7 +480,6 @@
TSpirvRequirement* mergeSpirvRequirements(const TSourceLoc& loc, TSpirvRequirement* spirvReq1,
TSpirvRequirement* spirvReq2);
TSpirvTypeParameters* makeSpirvTypeParameters(const TSourceLoc& loc, const TIntermConstantUnion* constant);
- TSpirvTypeParameters* makeSpirvTypeParameters(const TPublicType& type);
TSpirvTypeParameters* mergeSpirvTypeParameters(TSpirvTypeParameters* spirvTypeParams1,
TSpirvTypeParameters* spirvTypeParams2);
TSpirvInstruction* makeSpirvInstruction(const TSourceLoc& loc, const TString& name, const TString& value);
diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp
index d02eae6..a2dd71c 100644
--- a/glslang/MachineIndependent/ShaderLang.cpp
+++ b/glslang/MachineIndependent/ShaderLang.cpp
@@ -1343,7 +1343,6 @@
glslang::GetGlobalLock();
++NumberOfClients;
- glslang::ReleaseGlobalLock();
if (PerProcessGPA == nullptr)
PerProcessGPA = new TPoolAllocator();
@@ -1353,6 +1352,7 @@
glslang::HlslScanContext::fillInKeywordMap();
#endif
+ glslang::ReleaseGlobalLock();
return 1;
}
@@ -1415,9 +1415,10 @@
--NumberOfClients;
assert(NumberOfClients >= 0);
bool finalize = NumberOfClients == 0;
- glslang::ReleaseGlobalLock();
- if (! finalize)
+ if (! finalize) {
+ glslang::ReleaseGlobalLock();
return 1;
+ }
for (int version = 0; version < VersionCount; ++version) {
for (int spvVersion = 0; spvVersion < SpvVersionCount; ++spvVersion) {
@@ -1455,6 +1456,7 @@
glslang::HlslScanContext::deleteKeywordMap();
#endif
+ glslang::ReleaseGlobalLock();
return 1;
}
diff --git a/glslang/MachineIndependent/SpirvIntrinsics.cpp b/glslang/MachineIndependent/SpirvIntrinsics.cpp
index 38094ea..6650f7d 100644
--- a/glslang/MachineIndependent/SpirvIntrinsics.cpp
+++ b/glslang/MachineIndependent/SpirvIntrinsics.cpp
@@ -130,11 +130,11 @@
spirvExecutionMode = new TSpirvExecutionMode;
assert(args);
- TVector<const TIntermConstantUnion*> extraOperands;
+ TVector<const TIntermTyped*> extraOperands;
for (auto arg : args->getSequence()) {
- auto extraOperand = arg->getAsConstantUnion();
- assert(extraOperand != nullptr);
+ auto extraOperand = arg->getAsTyped();
+ assert(extraOperand != nullptr && extraOperand->getQualifier().isConstant());
extraOperands.push_back(extraOperand);
}
spirvExecutionMode->modeIds[executionMode] = extraOperands;
@@ -165,10 +165,10 @@
spirvDecorate = new TSpirvDecorate;
assert(args);
- TVector<const TIntermConstantUnion*> extraOperands;
+ TVector<const TIntermTyped*> extraOperands;
for (auto arg : args->getSequence()) {
- auto extraOperand = arg->getAsConstantUnion();
- assert(extraOperand != nullptr);
+ auto extraOperand = arg->getAsTyped();
+ assert(extraOperand != nullptr && extraOperand->getQualifier().isConstant());
extraOperands.push_back(extraOperand);
}
spirvDecorate->decorateIds[decoration] = extraOperands;
@@ -201,25 +201,27 @@
const auto appendBool = [&](bool b) { qualifierString.append(std::to_string(b).c_str()); };
const auto appendStr = [&](const char* s) { qualifierString.append(s); };
- const auto appendDecorate = [&](const TIntermConstantUnion* constant) {
+ const auto appendDecorate = [&](const TIntermTyped* constant) {
+ auto& constArray = constant->getAsConstantUnion() != nullptr ? constant->getAsConstantUnion()->getConstArray()
+ : constant->getAsSymbolNode()->getConstArray();
if (constant->getBasicType() == EbtFloat) {
- float value = static_cast<float>(constant->getConstArray()[0].getDConst());
+ float value = static_cast<float>(constArray[0].getDConst());
appendFloat(value);
}
else if (constant->getBasicType() == EbtInt) {
- int value = constant->getConstArray()[0].getIConst();
+ int value = constArray[0].getIConst();
appendInt(value);
}
else if (constant->getBasicType() == EbtUint) {
- unsigned value = constant->getConstArray()[0].getUConst();
+ unsigned value = constArray[0].getUConst();
appendUint(value);
}
else if (constant->getBasicType() == EbtBool) {
- bool value = constant->getConstArray()[0].getBConst();
+ bool value = constArray[0].getBConst();
appendBool(value);
}
else if (constant->getBasicType() == EbtString) {
- const TString* value = constant->getConstArray()[0].getSConst();
+ const TString* value = constArray[0].getSConst();
appendStr(value->c_str());
}
else
@@ -290,13 +292,6 @@
return spirvTypeParams;
}
-TSpirvTypeParameters* TParseContext::makeSpirvTypeParameters(const TPublicType& type)
-{
- TSpirvTypeParameters* spirvTypeParams = new TSpirvTypeParameters;
- spirvTypeParams->push_back(TSpirvTypeParameter(new TType(type)));
- return spirvTypeParams;
-}
-
TSpirvTypeParameters* TParseContext::mergeSpirvTypeParameters(TSpirvTypeParameters* spirvTypeParams1, TSpirvTypeParameters* spirvTypeParams2)
{
// Merge SPIR-V type parameters of the second one to the first one
diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp
index 097ee84..2fc0d9e 100644
--- a/glslang/MachineIndependent/Versions.cpp
+++ b/glslang/MachineIndependent/Versions.cpp
@@ -225,6 +225,7 @@
extensionBehavior[E_GL_ARB_shading_language_packing] = EBhDisable;
extensionBehavior[E_GL_ARB_texture_query_lod] = EBhDisable;
extensionBehavior[E_GL_ARB_vertex_attrib_64bit] = EBhDisable;
+ extensionBehavior[E_GL_ARB_draw_instanced] = EBhDisable;
extensionBehavior[E_GL_KHR_shader_subgroup_basic] = EBhDisable;
extensionBehavior[E_GL_KHR_shader_subgroup_vote] = EBhDisable;
@@ -465,6 +466,7 @@
"#define GL_ARB_shader_storage_buffer_object 1\n"
"#define GL_ARB_texture_query_lod 1\n"
"#define GL_ARB_vertex_attrib_64bit 1\n"
+ "#define GL_ARB_draw_instanced 1\n"
"#define GL_EXT_shader_non_constant_global_initializers 1\n"
"#define GL_EXT_shader_image_load_formatted 1\n"
"#define GL_EXT_post_depth_coverage 1\n"
@@ -482,6 +484,7 @@
"#define GL_EXT_debug_printf 1\n"
"#define GL_EXT_fragment_shading_rate 1\n"
"#define GL_EXT_shared_memory_block 1\n"
+ "#define GL_EXT_shader_integer_mix 1\n"
// GL_KHR_shader_subgroup
"#define GL_KHR_shader_subgroup_basic 1\n"
diff --git a/glslang/MachineIndependent/Versions.h b/glslang/MachineIndependent/Versions.h
index 949a7a1..2dbac0b 100644
--- a/glslang/MachineIndependent/Versions.h
+++ b/glslang/MachineIndependent/Versions.h
@@ -161,6 +161,7 @@
const char* const E_GL_ARB_shading_language_packing = "GL_ARB_shading_language_packing";
const char* const E_GL_ARB_texture_query_lod = "GL_ARB_texture_query_lod";
const char* const E_GL_ARB_vertex_attrib_64bit = "GL_ARB_vertex_attrib_64bit";
+const char* const E_GL_ARB_draw_instanced = "GL_ARB_draw_instanced";
const char* const E_GL_KHR_shader_subgroup_basic = "GL_KHR_shader_subgroup_basic";
const char* const E_GL_KHR_shader_subgroup_vote = "GL_KHR_shader_subgroup_vote";
diff --git a/glslang/MachineIndependent/glslang.m4 b/glslang/MachineIndependent/glslang.m4
index 3626502..d4cc5bc 100644
--- a/glslang/MachineIndependent/glslang.m4
+++ b/glslang/MachineIndependent/glslang.m4
@@ -4367,9 +4367,6 @@
: constant_expression {
$$ = parseContext.makeSpirvTypeParameters($1->getLoc(), $1->getAsConstantUnion());
}
- | type_specifier {
- $$ = parseContext.makeSpirvTypeParameters($1);
- }
spirv_instruction_qualifier
: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN {
diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y
index ad48386..df53eb5 100644
--- a/glslang/MachineIndependent/glslang.y
+++ b/glslang/MachineIndependent/glslang.y
@@ -4367,9 +4367,6 @@
: constant_expression {
$$ = parseContext.makeSpirvTypeParameters($1->getLoc(), $1->getAsConstantUnion());
}
- | type_specifier {
- $$ = parseContext.makeSpirvTypeParameters($1);
- }
spirv_instruction_qualifier
: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN {
diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp
index 33b8a92..5ba6a6d 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp
+++ b/glslang/MachineIndependent/glslang_tab.cpp
@@ -1034,16 +1034,16 @@
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 442
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 12453
+#define YYLAST 12452
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 455
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 131
/* YYNRULES -- Number of rules. */
-#define YYNRULES 684
+#define YYNRULES 683
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 930
+#define YYNSTATES 929
/* YYMAXUTOK -- Last valid token kind. */
#define YYMAXUTOK 709
@@ -1204,8 +1204,8 @@
4183, 4187, 4194, 4197, 4202, 4205, 4208, 4211, 4214, 4219,
4228, 4239, 4244, 4252, 4256, 4261, 4265, 4270, 4274, 4279,
4283, 4290, 4293, 4298, 4301, 4304, 4307, 4312, 4320, 4330,
- 4334, 4339, 4343, 4348, 4352, 4359, 4362, 4367, 4370, 4375,
- 4378, 4384, 4387, 4392, 4395
+ 4334, 4339, 4343, 4348, 4352, 4359, 4362, 4367, 4372, 4375,
+ 4381, 4384, 4389, 4392
};
#endif
@@ -1433,7 +1433,7 @@
};
#endif
-#define YYPACT_NINF (-863)
+#define YYPACT_NINF (-859)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -1447,99 +1447,99 @@
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 4549, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -260, -182, -177, -163, -130,
- -115, -100, -89, -863, -863, -196, -863, -863, -863, -863,
- -863, -324, -863, -863, -863, -863, -863, -306, -863, -863,
- -863, -863, -863, -863, -77, -66, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -332, -175,
- -153, -161, 7713, -266, -863, -71, -863, -863, -863, -863,
- 5453, -863, -863, -863, -863, -116, -863, -863, 933, -863,
- -863, 7713, -35, -863, -863, -863, 5905, -54, -139, -138,
- -137, -128, -124, -54, -123, -51, 12061, -863, -15, -347,
- -44, -863, -295, -863, -9, -6, 7713, -863, -863, -863,
- 7713, -39, -38, -863, -303, -863, -226, -863, -863, 10762,
- -3, -863, -863, -863, 1, -32, 7713, -863, -5, -8,
- -1, -863, -230, -863, -219, -2, 3, 4, 5, -215,
- 6, 8, 10, 11, 12, 15, -214, 13, 16, 21,
- -134, -863, 17, 7713, -863, 19, -863, -212, -863, -863,
- -211, 9030, -863, -273, 1385, -863, -863, -863, -863, -863,
- -3, -263, -863, 9463, -236, -863, -28, -863, -106, 10762,
- 10762, -863, 10762, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -264, -863, -863, -863, 23, -203, 11195, 25,
- -863, 10762, -863, -863, -311, 24, -6, 29, -863, -309,
- -54, -863, -20, -863, -323, 28, -118, 10762, -112, -863,
- -155, -111, 10762, -103, 35, -98, -54, -863, 11628, -863,
- -94, 10762, 32, -51, -863, 7713, 18, 6357, -863, 7713,
- 10762, -863, -347, -863, 33, -863, -863, -72, -254, -86,
- -297, -68, -13, 26, 20, 50, 49, -300, 42, 9896,
- -863, 43, -863, -863, 55, 58, 60, -863, 65, 71,
- 62, 10329, 73, 10762, 66, 69, 70, 72, 74, -241,
- -863, -863, -41, -863, -175, 83, 85, -863, -863, -863,
- -863, -863, 1837, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, 5001, 24, 9463, -233, 8164, -863, -863, 9463,
- 7713, -863, 51, -863, -863, -863, -194, -863, -863, 10762,
- 52, -863, -863, 10762, 88, -863, -863, -863, 10762, -863,
- -863, -863, -315, -863, -863, -191, 82, -863, -863, -863,
- -863, -863, -863, -190, -863, -187, -863, -863, -186, 86,
- -863, -863, -863, -863, -169, -863, -168, -863, -167, 89,
- -863, -165, 91, -157, 82, -863, 85, -156, -863, 94,
- 98, -863, -863, 18, -3, -40, -863, -863, -863, 6809,
- -863, -863, -863, 10762, 10762, 10762, 10762, 10762, 10762, 10762,
- 10762, 10762, 10762, 10762, 10762, 10762, 10762, 10762, 10762, 10762,
- 10762, 10762, -863, -863, -863, 97, -863, 2289, -863, -863,
- -863, 2289, -863, 10762, -863, -863, -34, 10762, -79, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, 10762, 10762, -863, -863, -863,
- -863, -863, -863, -863, 9463, -863, -863, -208, -863, 7261,
- -863, -863, 99, 96, -863, -863, -863, -863, -863, -132,
- -131, -863, -307, -863, -323, -863, -323, -863, 10762, 10762,
- -863, -155, -863, -155, -863, 10762, 10762, -863, 93, 35,
- -863, 11628, -863, 10762, -863, -863, -33, 24, 18, -863,
- -863, -863, -863, -863, -72, -72, -254, -254, -86, -86,
- -86, -86, -297, -297, -68, -13, 26, 20, 50, 49,
- 10762, -863, 2289, 4097, 57, 3645, -154, -863, -152, -863,
- -863, -863, -863, -863, 8597, -863, -863, -863, 105, -863,
- 75, -863, -145, -863, -144, -863, -143, -863, -142, -863,
- -141, -140, -863, -863, -863, -27, 100, 96, 76, 106,
- 109, -863, -863, 4097, 107, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, 10762, -863, 101, 2741,
- 10762, -863, 103, 113, 67, 112, 3193, -863, 114, -863,
- 9463, -863, -863, -863, -133, 10762, 2741, 107, -863, -863,
- 2289, -863, 110, 96, -863, -863, 2289, 116, -863, -863
+ 4548, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -312, -274, -244, -212, -208,
+ -201, -181, -169, -859, -859, -194, -859, -859, -859, -859,
+ -859, -285, -859, -859, -859, -859, -859, -317, -859, -859,
+ -859, -859, -859, -859, -132, -73, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -329, -70,
+ -158, -145, 7712, -221, -859, -164, -859, -859, -859, -859,
+ 5452, -859, -859, -859, -859, -68, -859, -859, 932, -859,
+ -859, 7712, -55, -859, -859, -859, 5904, -80, -154, -150,
+ -142, -135, -130, -80, -129, -79, 12060, -859, -45, -354,
+ -76, -859, -308, -859, -43, -40, 7712, -859, -859, -859,
+ 7712, -72, -71, -859, -265, -859, -257, -859, -859, 10761,
+ -39, -859, -859, -859, -35, -69, 7712, -859, -42, -38,
+ -37, -859, -302, -859, -235, -32, -33, -28, -27, -217,
+ -26, -23, -22, -21, -20, -16, -216, -29, -15, -31,
+ -303, -859, -13, 7712, -859, -14, -859, -214, -859, -859,
+ -205, 9029, -859, -279, 1384, -859, -859, -859, -859, -859,
+ -39, -299, -859, 9462, -275, -859, -34, -859, -137, 10761,
+ 10761, -859, 10761, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -248, -859, -859, -859, -3, -203, 11194, -1,
+ -859, 10761, -859, -859, -310, 3, -40, 1, -859, -309,
+ -80, -859, -30, -859, -319, 5, -128, 10761, -124, -859,
+ -157, -122, 10761, -120, 10, -118, -80, -859, 11627, -859,
+ -116, 10761, 7, -79, -859, 7712, -25, 6356, -859, 7712,
+ 10761, -859, -354, -859, -19, -859, -859, -78, -263, -94,
+ -298, -52, -18, -8, -12, 29, 28, -301, 15, 9895,
+ -859, 16, -859, -859, 19, 12, 17, -859, 20, 23,
+ 18, 10328, 24, 10761, 21, 22, 25, 27, 30, -215,
+ -859, -859, -117, -859, -70, 26, 34, -859, -859, -859,
+ -859, -859, 1836, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, 5000, 3, 9462, -264, 8163, -859, -859, 9462,
+ 7712, -859, -11, -859, -859, -859, -195, -859, -859, 10761,
+ -6, -859, -859, 10761, 37, -859, -859, -859, 10761, -859,
+ -859, -859, -322, -859, -859, -192, 35, -859, -859, -859,
+ -859, -859, -859, -179, -859, -178, -859, -859, -177, 32,
+ -859, -859, -859, -859, -175, -859, -174, -859, -167, 36,
+ -859, -166, 38, -165, 35, -859, -163, -859, 45, 46,
+ -859, -859, -25, -39, -115, -859, -859, -859, 6808, -859,
+ -859, -859, 10761, 10761, 10761, 10761, 10761, 10761, 10761, 10761,
+ 10761, 10761, 10761, 10761, 10761, 10761, 10761, 10761, 10761, 10761,
+ 10761, -859, -859, -859, 51, -859, 2288, -859, -859, -859,
+ 2288, -859, 10761, -859, -859, -88, 10761, -63, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, 10761, 10761, -859, -859, -859, -859,
+ -859, -859, -859, 9462, -859, -859, -108, -859, 7260, -859,
+ -859, 52, 53, -859, -859, -859, -859, -859, -138, -136,
+ -859, -304, -859, -319, -859, -319, -859, 10761, 10761, -859,
+ -157, -859, -157, -859, 10761, 10761, -859, 65, 10, -859,
+ 11627, -859, 10761, -859, -859, -86, 3, -25, -859, -859,
+ -859, -859, -859, -78, -78, -263, -263, -94, -94, -94,
+ -94, -298, -298, -52, -18, -8, -12, 29, 28, 10761,
+ -859, 2288, 4096, 31, 3644, -156, -859, -155, -859, -859,
+ -859, -859, -859, 8596, -859, -859, -859, 66, -859, 39,
+ -859, -153, -859, -151, -859, -148, -859, -146, -859, -144,
+ -143, -859, -859, -859, -61, 64, 53, 40, 72, 74,
+ -859, -859, 4096, 75, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, 10761, -859, 71, 2740, 10761,
+ -859, 73, 81, 41, 80, 3192, -859, 83, -859, 9462,
+ -859, -859, -859, -141, 10761, 2740, 75, -859, -859, 2288,
+ -859, 78, 53, -859, -859, 2288, 86, -859, -859
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1592,7 +1592,7 @@
0, 99, 0, 94, 0, 109, 0, 121, 115, 123,
0, 124, 0, 97, 131, 102, 0, 154, 136, 0,
204, 210, 1, 617, 0, 0, 0, 96, 0, 0,
- 0, 628, 0, 681, 0, 0, 0, 0, 0, 0,
+ 0, 628, 0, 680, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 626,
0, 624, 0, 0, 533, 149, 151, 0, 147, 202,
0, 0, 100, 0, 0, 622, 110, 116, 120, 122,
@@ -1601,7 +1601,7 @@
8, 2, 16, 14, 15, 17, 10, 11, 12, 13,
3, 18, 37, 20, 25, 26, 0, 0, 30, 0,
213, 0, 36, 34, 0, 205, 111, 0, 95, 0,
- 0, 679, 0, 636, 0, 0, 0, 0, 0, 653,
+ 0, 678, 0, 636, 0, 0, 0, 0, 0, 653,
0, 0, 0, 0, 0, 0, 0, 673, 0, 651,
0, 0, 0, 0, 98, 0, 0, 0, 537, 0,
0, 146, 0, 200, 0, 206, 45, 49, 52, 55,
@@ -1613,70 +1613,70 @@
594, 560, 0, 119, 0, 127, 0, 545, 134, 0,
0, 107, 0, 104, 38, 39, 0, 22, 23, 0,
0, 28, 27, 0, 215, 31, 33, 40, 0, 212,
- 112, 683, 0, 684, 629, 0, 0, 682, 648, 644,
+ 112, 682, 0, 683, 629, 0, 0, 681, 648, 644,
645, 646, 647, 0, 642, 0, 93, 649, 0, 0,
663, 664, 665, 666, 0, 661, 0, 667, 0, 0,
- 669, 0, 0, 0, 2, 677, 678, 0, 675, 0,
- 0, 623, 625, 0, 543, 0, 541, 536, 538, 0,
- 150, 148, 203, 0, 0, 0, 0, 0, 0, 0,
+ 669, 0, 0, 0, 2, 677, 0, 675, 0, 0,
+ 623, 625, 0, 543, 0, 541, 536, 538, 0, 150,
+ 148, 203, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 76, 207, 208, 0, 563, 0, 596, 609,
- 608, 0, 600, 0, 612, 610, 0, 0, 0, 593,
- 613, 614, 615, 562, 81, 82, 84, 83, 86, 87,
- 88, 89, 90, 85, 80, 0, 0, 578, 574, 576,
- 580, 587, 595, 129, 0, 548, 549, 0, 133, 0,
- 108, 4, 0, 24, 21, 32, 214, 632, 634, 0,
- 0, 680, 0, 638, 0, 637, 0, 640, 0, 0,
- 655, 0, 654, 0, 657, 0, 0, 659, 0, 0,
- 674, 0, 671, 0, 652, 627, 0, 544, 0, 539,
- 534, 46, 47, 48, 51, 50, 53, 54, 58, 59,
- 56, 57, 61, 62, 64, 66, 68, 70, 72, 74,
- 0, 209, 565, 0, 0, 0, 0, 611, 0, 592,
- 79, 92, 128, 546, 0, 106, 19, 630, 0, 631,
- 0, 643, 0, 650, 0, 662, 0, 668, 0, 670,
- 0, 0, 676, 540, 542, 0, 0, 584, 0, 0,
- 0, 603, 602, 605, 571, 588, 547, 550, 633, 635,
- 639, 641, 656, 658, 660, 672, 0, 566, 0, 0,
- 0, 604, 0, 0, 583, 0, 0, 581, 0, 77,
- 0, 568, 597, 567, 0, 606, 0, 571, 570, 572,
- 590, 585, 0, 607, 601, 582, 591, 0, 599, 589
+ 0, 76, 207, 208, 0, 563, 0, 596, 609, 608,
+ 0, 600, 0, 612, 610, 0, 0, 0, 593, 613,
+ 614, 615, 562, 81, 82, 84, 83, 86, 87, 88,
+ 89, 90, 85, 80, 0, 0, 578, 574, 576, 580,
+ 587, 595, 129, 0, 548, 549, 0, 133, 0, 108,
+ 4, 0, 24, 21, 32, 214, 632, 634, 0, 0,
+ 679, 0, 638, 0, 637, 0, 640, 0, 0, 655,
+ 0, 654, 0, 657, 0, 0, 659, 0, 0, 674,
+ 0, 671, 0, 652, 627, 0, 544, 0, 539, 534,
+ 46, 47, 48, 51, 50, 53, 54, 58, 59, 56,
+ 57, 61, 62, 64, 66, 68, 70, 72, 74, 0,
+ 209, 565, 0, 0, 0, 0, 611, 0, 592, 79,
+ 92, 128, 546, 0, 106, 19, 630, 0, 631, 0,
+ 643, 0, 650, 0, 662, 0, 668, 0, 670, 0,
+ 0, 676, 540, 542, 0, 0, 584, 0, 0, 0,
+ 603, 602, 605, 571, 588, 547, 550, 633, 635, 639,
+ 641, 656, 658, 660, 672, 0, 566, 0, 0, 0,
+ 604, 0, 0, 583, 0, 0, 581, 0, 77, 0,
+ 568, 597, 567, 0, 606, 0, 571, 570, 572, 590,
+ 585, 0, 607, 601, 582, 591, 0, 599, 589
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -418, -863, -380, -379, -484, -382, -258, -256,
- -253, -257, -252, -255, -863, -478, -863, -485, -863, -491,
- -530, 14, -863, -863, -863, 7, -397, -863, -863, 44,
- 53, 47, -863, -863, -400, -863, -863, -863, -863, -92,
- -863, -377, -362, -863, 9, -863, 0, -414, -863, -863,
- -863, -863, 150, -863, -863, -863, -546, -548, -218, -331,
- -624, -863, -359, -609, -862, -863, -417, -863, -863, -427,
- -426, -863, -863, 68, -719, -355, -863, -136, -863, -389,
- -863, -135, -863, -863, -863, -863, -129, -863, -863, -863,
- -863, -863, -863, -863, -863, 102, -863, -863, 2, -863,
- -65, -234, -432, -863, -863, -863, -301, -293, -294, -863,
- -863, -304, -299, -302, -298, -863, -296, -305, -863, -383,
- -526
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -209, -859, -418, -417, -602, -421, -291, -284,
+ -286, -283, -281, -287, -859, -473, -859, -490, -859, -497,
+ -520, 13, -859, -859, -859, 14, -394, -859, -859, 33,
+ 42, 44, -859, -859, -395, -859, -859, -859, -859, -121,
+ -859, -381, -369, -859, 9, -859, 0, -424, -859, -859,
+ -859, -859, 113, -859, -859, -859, -545, -549, -252, -365,
+ -617, -859, -391, -618, -858, -859, -450, -859, -859, -459,
+ -458, -859, -859, 43, -721, -387, -859, -173, -859, -422,
+ -859, -170, -859, -859, -859, -859, -168, -859, -859, -859,
+ -859, -859, -859, -859, -859, 67, -859, -859, 2, -859,
+ -97, -300, -386, -859, -859, -859, -326, -323, -327, -859,
+ -859, -330, -325, -328, -332, -859, -331, -334, -859, -390,
+ -530
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 520, 521, 522, 782, 523, 524, 525, 526, 527,
+ -1, 520, 521, 522, 781, 523, 524, 525, 526, 527,
528, 529, 609, 531, 577, 578, 579, 580, 581, 582,
- 583, 584, 585, 586, 587, 610, 840, 611, 765, 612,
+ 583, 584, 585, 586, 587, 610, 839, 611, 764, 612,
695, 613, 378, 640, 498, 614, 380, 381, 382, 427,
428, 429, 383, 384, 385, 386, 387, 388, 477, 478,
389, 390, 391, 392, 532, 480, 533, 483, 440, 441,
- 534, 395, 396, 397, 569, 473, 567, 568, 705, 706,
- 638, 777, 617, 618, 619, 620, 621, 737, 876, 912,
- 904, 905, 906, 913, 622, 623, 624, 625, 907, 879,
- 626, 627, 908, 927, 628, 629, 630, 843, 741, 845,
- 883, 902, 903, 631, 398, 399, 400, 424, 632, 470,
- 471, 450, 451, 789, 790, 402, 673, 674, 678, 403,
- 404, 684, 685, 688, 691, 405, 697, 698, 406, 452,
+ 534, 395, 396, 397, 569, 473, 567, 568, 704, 705,
+ 638, 776, 617, 618, 619, 620, 621, 736, 875, 911,
+ 903, 904, 905, 912, 622, 623, 624, 625, 906, 878,
+ 626, 627, 907, 926, 628, 629, 630, 842, 740, 844,
+ 882, 901, 902, 631, 398, 399, 400, 424, 632, 470,
+ 471, 450, 451, 788, 789, 402, 673, 674, 678, 403,
+ 404, 684, 685, 688, 691, 405, 696, 697, 406, 452,
453
};
@@ -1685,67 +1685,67 @@
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 394, 445, 401, 588, 444, 430, 445, 379, 637, 393,
- 773, 646, 776, 769, 377, 778, 667, 677, 842, 708,
- 494, 530, 687, 709, 446, 668, 535, 421, 437, 446,
- 466, 700, 667, 787, 720, 721, 731, 911, 475, 661,
- 710, 661, 662, 655, 919, 658, 492, 417, 481, 430,
- 328, 329, 330, 422, 911, 493, 481, 659, 669, 670,
- 671, 672, 476, 576, 482, 647, 648, 788, 437, 676,
- 722, 723, 732, 663, 676, 663, 633, 635, 589, 418,
- 676, 644, 645, 676, 437, -35, 590, 649, 481, 407,
- 432, 650, 676, 433, 779, 634, 565, 754, 755, 756,
- 757, 758, 759, 760, 761, 762, 763, 716, 664, 717,
- 746, 735, 748, 657, 664, 589, 664, 764, 589, 664,
- 541, 664, 639, 664, 664, 774, 542, 495, 664, 576,
- 496, 543, 844, 497, 576, 549, 557, 544, 571, 573,
- 576, 550, 558, 576, 572, 574, 853, 652, 854, 637,
- 852, 637, 576, 653, 637, 415, 781, 665, 783, 791,
- 793, 708, 766, 795, 797, 542, 794, 408, 785, 796,
- 798, 576, 409, 693, 456, 458, 460, 462, 464, 465,
- 468, 800, 802, 804, 423, 807, 410, 801, 803, 805,
- 565, 808, 565, 810, 812, 426, 884, 425, 885, 811,
- 813, 926, 766, 437, 766, 890, 891, 892, 893, 894,
- 895, 794, 798, 801, 805, 808, 813, 922, 562, 411,
- 857, 859, 563, 766, 858, 860, 680, 681, 682, 683,
- 887, 708, 445, 769, 412, 444, 828, 829, 830, 831,
- 786, 718, 719, 454, 457, 459, 455, 455, 455, 413,
- 642, 439, 846, 643, 461, 446, 848, 455, 463, 467,
- 414, 455, 455, 565, 675, 724, 725, 455, 863, 677,
- 679, 686, 419, 455, 455, 867, 687, 766, 849, 689,
- 850, 851, 455, 420, 692, 667, 921, 455, 699, 637,
- 817, 455, 713, 714, 715, 821, 822, 823, 576, 576,
+ 394, 430, 401, 637, 768, 646, 445, 444, 588, 393,
+ 494, 445, 667, 377, 379, 841, 535, 772, 707, 775,
+ 446, 437, 777, 466, 708, 446, 786, 677, 667, 668,
+ 421, 475, 687, 719, 720, 730, 417, 407, 655, 661,
+ 910, 699, 662, 481, 661, 430, 658, 918, 541, 562,
+ 709, 482, 481, 563, 542, 476, 422, 910, 659, 634,
+ 787, 437, 669, 670, 671, 672, 633, 635, 418, 721,
+ 722, 731, 589, 663, 676, 408, 589, 437, 663, 676,
+ 590, 647, 648, 639, 492, 676, 481, 589, 676, 328,
+ 329, 330, 565, 493, 773, 778, 495, 676, 715, 496,
+ 716, -35, 497, 649, 745, 409, 747, 650, 456, 458,
+ 460, 462, 464, 465, 468, 543, 734, 827, 828, 829,
+ 830, 544, 843, 753, 754, 755, 756, 757, 758, 759,
+ 760, 761, 762, 549, 557, 432, 571, 410, 433, 550,
+ 558, 411, 572, 763, 637, 573, 637, 652, 412, 637,
+ 665, 574, 782, 653, 664, 780, 851, 415, 790, 707,
+ 664, 765, 664, 784, 542, 664, 693, 664, 413, 664,
+ 664, 792, 794, 796, 664, 799, 801, 793, 795, 797,
+ 414, 800, 802, 803, 806, 809, 565, 811, 565, 804,
+ 807, 810, 425, 812, 883, 884, 437, 889, 925, 890,
+ 765, 765, 891, 793, 892, 797, 893, 894, 800, 921,
+ 804, 426, 807, 812, 856, 765, 858, 419, 857, 642,
+ 859, 434, 643, 768, 680, 681, 682, 683, 454, 707,
+ 530, 455, 457, 717, 718, 455, 886, 445, 444, 765,
+ 459, 817, 766, 455, 818, 845, 852, 461, 853, 847,
+ 455, 446, 463, 467, 675, 455, 455, 455, 679, 565,
+ 686, 455, 689, 455, 692, 455, 698, 455, 765, 455,
+ 817, 846, 576, 872, 849, 850, 420, 862, 677, 816,
+ 667, 723, 724, 637, 866, 687, 712, 713, 714, 423,
+ 644, 645, 920, 765, 848, 765, 895, 823, 824, 439,
+ 825, 826, 831, 832, 447, 449, 469, 768, 474, 479,
+ 484, 325, 481, 490, 491, 536, 537, 538, 561, 540,
+ 539, 559, 657, 546, 676, 676, 545, 565, 547, 548,
+ 551, 676, 676, 552, 553, 554, 555, 676, 576, 676,
+ 556, 560, 874, 576, 570, 876, 564, 651, 656, 576,
+ 492, 641, 576, 725, 589, 666, 662, 727, 690, 700,
+ 703, 576, 726, 637, 728, 729, 711, 732, 737, 741,
+ 735, 738, 742, 746, 779, -36, 739, 743, 748, 783,
+ 576, 749, 431, -34, 750, 876, 751, -29, 798, 752,
+ 438, 393, 805, 791, 808, 813, 814, 565, 394, 393,
+ 401, 394, 913, 840, 855, 908, 394, 393, 401, 765,
+ 393, 377, 379, 868, 887, 393, 472, 922, 896, 637,
+ 448, 888, 898, 899, 879, 897, 431, 486, -569, 909,
+ 431, 915, 914, 591, 833, 393, 919, 927, 916, 393,
+ 928, 835, 834, 838, 416, 836, 438, 877, 837, 785,
+ 815, 710, 873, 880, 917, 393, 923, 881, 924, 769,
+ 900, 446, 770, 488, 771, 443, 701, 485, 487, 861,
+ 860, 863, 865, 566, 489, 864, 869, 867, 871, 870,
+ 0, 0, 393, 0, 616, 0, 0, 877, 0, 0,
+ 0, 0, 0, 615, 0, 0, 0, 0, 0, 0,
+ 0, 446, 0, 820, 821, 822, 576, 576, 576, 576,
576, 576, 576, 576, 576, 576, 576, 576, 576, 576,
- 576, 576, 576, 576, 434, 766, 818, 769, 767, 819,
- 676, 676, 766, 818, 447, 847, 873, 676, 676, 766,
- 896, 449, 565, 676, 469, 676, 824, 825, 474, 826,
- 827, 479, 832, 833, 484, 325, 490, 491, 481, 875,
- 539, 536, 877, 537, 538, 540, 545, 641, 726, 546,
- 547, 548, 551, 559, 552, 666, 553, 554, 555, 637,
- 561, 556, 560, 651, 656, 589, 564, 570, 492, 662,
- 576, 576, 431, 690, 701, 729, 730, 576, 576, 728,
- 438, 393, 877, 576, 733, 576, 727, 736, 394, 393,
- 401, 394, 565, 704, 738, 379, 394, 393, 401, 914,
- 393, 909, 377, 448, 742, 393, 472, 739, 712, 740,
- 743, 744, 747, 749, 923, 637, 431, 486, 750, 751,
- 431, 752, -36, 753, -34, 393, 780, 784, -29, 393,
- 792, 869, 799, 878, 814, 806, 438, 809, 815, 841,
- 880, 856, 766, 888, 897, 393, 899, 889, 900, 910,
- -569, 898, 915, 916, 917, 591, 446, 920, 834, 928,
- 929, 835, 837, 566, 488, 836, 839, 489, 838, 487,
- 711, 416, 393, 878, 616, 816, 881, 874, 918, 924,
- 882, 925, 485, 615, 901, 862, 770, 771, 702, 866,
- 443, 861, 865, 772, 868, 864, 446, 0, 872, 0,
- 0, 870, 0, 0, 0, 871, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 576, 576, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 660, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 696, 0,
- 0, 0, 0, 0, 0, 703, 0, 566, 0, 566,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 702, 0, 566, 0, 566,
0, 0, 0, 0, 393, 0, 393, 0, 393, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 576, 576,
+ 0, 0, 0, 0, 0, 576, 576, 0, 0, 0,
+ 0, 576, 0, 576, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 616, 0, 0, 0, 0, 0, 0, 0,
0, 615, 394, 0, 0, 0, 0, 0, 0, 0,
@@ -1755,759 +1755,81 @@
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 566,
- 0, 0, 0, 0, 0, 0, 0, 0, 393, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 566, 0,
+ 0, 0, 0, 0, 0, 0, 0, 393, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 616, 0, 0,
- 0, 616, 0, 0, 0, 0, 615, 0, 0, 0,
- 615, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 566,
- 0, 0, 0, 0, 0, 0, 0, 0, 393, 0,
+ 0, 0, 0, 0, 0, 0, 616, 0, 0, 0,
+ 616, 0, 0, 0, 0, 615, 0, 0, 0, 615,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 696, 0, 696, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 616, 616, 0, 616, 0, 401, 0, 0,
- 0, 615, 615, 0, 615, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 616, 0, 0, 0, 0, 0, 0,
- 0, 0, 615, 0, 0, 0, 0, 0, 0, 616,
- 0, 0, 0, 0, 0, 0, 616, 0, 615, 0,
- 0, 0, 0, 0, 0, 615, 616, 0, 0, 0,
- 616, 0, 0, 0, 0, 615, 616, 0, 0, 615,
- 0, 0, 0, 442, 0, 615, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 325, 0, 0, 0, 0, 0,
- 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 327, 328, 329, 330,
- 331, 0, 0, 0, 0, 0, 0, 0, 0, 332,
- 333, 334, 335, 336, 337, 338, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 339, 340, 341, 342, 343, 344, 0, 0, 0,
- 0, 0, 0, 0, 0, 345, 0, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
- 369, 370, 371, 372, 373, 374, 375, 376, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 499, 500, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 501, 502, 0, 325, 0, 591, 592,
- 0, 0, 0, 0, 593, 503, 504, 505, 506, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 331, 0, 0, 0, 507, 508, 509, 510,
- 511, 332, 333, 334, 335, 336, 337, 338, 594, 595,
- 596, 597, 0, 598, 599, 600, 601, 602, 603, 604,
- 605, 606, 607, 339, 340, 341, 342, 343, 344, 512,
- 513, 514, 515, 516, 517, 518, 519, 345, 608, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 324, 0, 0, 499, 500, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 501, 502, 0, 325, 0,
- 591, 768, 0, 0, 0, 0, 593, 503, 504, 505,
- 506, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 327, 328, 329, 330, 331, 0, 0, 0, 507, 508,
- 509, 510, 511, 332, 333, 334, 335, 336, 337, 338,
- 594, 595, 596, 597, 0, 598, 599, 600, 601, 602,
- 603, 604, 605, 606, 607, 339, 340, 341, 342, 343,
- 344, 512, 513, 514, 515, 516, 517, 518, 519, 345,
- 608, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 324, 0, 0, 499, 500,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 501, 502, 0,
- 325, 0, 591, 0, 0, 0, 0, 0, 593, 503,
- 504, 505, 506, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 327, 328, 329, 330, 331, 0, 0, 0,
- 507, 508, 509, 510, 511, 332, 333, 334, 335, 336,
- 337, 338, 594, 595, 596, 597, 0, 598, 599, 600,
- 601, 602, 603, 604, 605, 606, 607, 339, 340, 341,
- 342, 343, 344, 512, 513, 514, 515, 516, 517, 518,
- 519, 345, 608, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
- 373, 374, 375, 376, 1, 2, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 324, 0, 0,
- 499, 500, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 501,
- 502, 0, 325, 0, 484, 0, 0, 0, 0, 0,
- 593, 503, 504, 505, 506, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 327, 328, 329, 330, 331, 0,
- 0, 0, 507, 508, 509, 510, 511, 332, 333, 334,
- 335, 336, 337, 338, 594, 595, 596, 597, 0, 598,
- 599, 600, 601, 602, 603, 604, 605, 606, 607, 339,
- 340, 341, 342, 343, 344, 512, 513, 514, 515, 516,
- 517, 518, 519, 345, 608, 346, 347, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
- 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
- 371, 372, 373, 374, 375, 376, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 0, 0, 499, 500, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 501, 502, 0, 325, 0, 0, 0, 0, 0,
- 0, 0, 593, 503, 504, 505, 506, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 327, 328, 329, 330,
- 331, 0, 0, 0, 507, 508, 509, 510, 511, 332,
- 333, 334, 335, 336, 337, 338, 594, 595, 596, 597,
- 0, 598, 599, 600, 601, 602, 603, 604, 605, 606,
- 607, 339, 340, 341, 342, 343, 344, 512, 513, 514,
- 515, 516, 517, 518, 519, 345, 608, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
- 369, 370, 371, 372, 373, 374, 375, 376, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 499, 500, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 501, 502, 0, 325, 0, 0, 0,
- 0, 0, 0, 0, 593, 503, 504, 505, 506, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 331, 0, 0, 0, 507, 508, 509, 510,
- 511, 332, 333, 334, 335, 336, 337, 338, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 512,
- 513, 514, 515, 516, 517, 518, 519, 345, 0, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 0, 0, 0, 318, 319, 320,
- 321, 322, 323, 324, 0, 0, 499, 500, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 501, 502, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 503, 504, 505,
- 506, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 327, 328, 329, 330, 0, 0, 0, 0, 507, 508,
- 509, 510, 511, 332, 333, 334, 335, 336, 337, 338,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 339, 340, 341, 342, 343,
- 344, 512, 513, 514, 515, 516, 517, 518, 519, 345,
- 0, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 324, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 325, 0, 0, 0, 0, 0, 0, 0, 326, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 327, 328, 329, 330, 331, 0, 0, 0,
- 0, 0, 0, 0, 0, 332, 333, 334, 335, 336,
- 337, 338, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 339, 340, 341,
- 342, 343, 344, 0, 0, 0, 0, 0, 0, 0,
- 0, 345, 0, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
- 373, 374, 375, 376, 1, 2, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 0, 0,
- 0, 318, 319, 320, 321, 322, 323, 324, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 566, 0,
+ 0, 0, 0, 0, 0, 0, 0, 393, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 327, 328, 329, 330, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 332, 333, 334,
- 335, 336, 337, 338, 594, 0, 0, 597, 0, 598,
- 599, 0, 0, 602, 0, 0, 0, 0, 0, 339,
- 340, 341, 342, 343, 344, 0, 0, 0, 0, 0,
- 0, 0, 0, 345, 0, 346, 347, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
- 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
- 371, 372, 373, 374, 375, 376, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 0, 0, 0, 318, 319, 320, 321, 322, 323, 324,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 616, 616, 0, 616, 0, 401, 0, 0, 0,
+ 615, 615, 0, 615, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 435, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 327, 328, 329, 330,
- 0, 0, 0, 0, 0, 0, 0, 0, 436, 332,
- 333, 334, 335, 336, 337, 338, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 339, 340, 341, 342, 343, 344, 0, 0, 0,
- 0, 0, 0, 0, 0, 345, 0, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
- 369, 370, 371, 372, 373, 374, 375, 376, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 0, 0, 0, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 325, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 332, 333, 334, 335, 336, 337, 338, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 0,
- 0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 0, 0, 0, 318, 319, 320,
- 321, 322, 323, 324, 0, 0, 0, 0, 0, 0,
+ 0, 0, 616, 0, 0, 0, 0, 0, 0, 0,
+ 0, 615, 0, 0, 0, 0, 0, 0, 616, 0,
+ 0, 0, 0, 0, 0, 616, 0, 615, 0, 0,
+ 0, 0, 0, 0, 615, 616, 0, 0, 0, 616,
+ 0, 0, 0, 0, 615, 616, 0, 0, 615, 0,
+ 0, 0, 442, 0, 615, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 707, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 325, 0, 0, 0, 0, 0, 0,
+ 0, 326, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 327, 328, 329, 330, 331,
+ 0, 0, 0, 0, 0, 0, 0, 0, 332, 333,
+ 334, 335, 336, 337, 338, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 327, 328, 329, 330, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 332, 333, 334, 335, 336, 337, 338,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 339, 340, 341, 342, 343,
- 344, 0, 0, 0, 0, 0, 0, 0, 0, 345,
- 0, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 0, 0, 0, 318,
- 319, 320, 321, 322, 323, 324, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 820, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 327, 328, 329, 330, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 332, 333, 334, 335, 336,
- 337, 338, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 339, 340, 341,
- 342, 343, 344, 0, 0, 0, 0, 0, 0, 0,
- 0, 345, 0, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
- 373, 374, 375, 376, 1, 2, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 0, 0,
- 0, 318, 319, 320, 321, 322, 323, 324, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 855, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 327, 328, 329, 330, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 332, 333, 334,
- 335, 336, 337, 338, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 339,
- 340, 341, 342, 343, 344, 0, 0, 0, 0, 0,
- 0, 0, 0, 345, 0, 346, 347, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
- 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
- 371, 372, 373, 374, 375, 376, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 0, 0, 0, 318, 319, 320, 321, 322, 323, 324,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 327, 328, 329, 330,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 332,
- 333, 334, 335, 336, 337, 338, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 339, 340, 341, 342, 343, 344, 0, 0, 0,
- 0, 0, 0, 0, 0, 345, 0, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
- 369, 370, 371, 372, 373, 374, 375, 376, 2, 3,
+ 339, 340, 341, 342, 343, 344, 0, 0, 0, 0,
+ 0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 0, 0, 61, 62, 63,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
@@ -2533,68 +1855,343 @@
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 0, 0, 0, 0, 0, 0, 321, 0, 0,
- 0, 0, 0, 499, 500, 0, 0, 0, 0, 0,
+ 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
+ 324, 0, 0, 499, 500, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 501, 502, 0, 0, 0, 636, 775, 0,
- 0, 0, 0, 0, 503, 504, 505, 506, 0, 0,
+ 0, 0, 501, 502, 0, 325, 0, 591, 592, 0,
+ 0, 0, 0, 593, 503, 504, 505, 506, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
+ 330, 331, 0, 0, 0, 507, 508, 509, 510, 511,
+ 332, 333, 334, 335, 336, 337, 338, 594, 595, 596,
+ 597, 0, 598, 599, 600, 601, 602, 603, 604, 605,
+ 606, 607, 339, 340, 341, 342, 343, 344, 512, 513,
+ 514, 515, 516, 517, 518, 519, 345, 608, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 1,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
+ 322, 323, 324, 0, 0, 499, 500, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 507, 508, 509, 510, 511,
- 332, 0, 0, 0, 0, 337, 338, 0, 0, 0,
+ 0, 0, 0, 0, 501, 502, 0, 325, 0, 591,
+ 767, 0, 0, 0, 0, 593, 503, 504, 505, 506,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 327,
+ 328, 329, 330, 331, 0, 0, 0, 507, 508, 509,
+ 510, 511, 332, 333, 334, 335, 336, 337, 338, 594,
+ 595, 596, 597, 0, 598, 599, 600, 601, 602, 603,
+ 604, 605, 606, 607, 339, 340, 341, 342, 343, 344,
+ 512, 513, 514, 515, 516, 517, 518, 519, 345, 608,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
+ 376, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 322, 323, 324, 0, 0, 499, 500, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 512, 513,
- 514, 515, 516, 517, 518, 519, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 358, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 0, 0,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 0, 0, 0, 0, 0, 0,
- 321, 0, 0, 0, 0, 0, 499, 500, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 501, 502, 0, 0, 0,
- 636, 886, 0, 0, 0, 0, 0, 503, 504, 505,
- 506, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 507, 508,
- 509, 510, 511, 332, 0, 0, 0, 0, 337, 338,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 512, 513, 514, 515, 516, 517, 518, 519, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 358, 2, 3, 4, 5, 6, 7,
+ 0, 0, 0, 0, 0, 0, 501, 502, 0, 325,
+ 0, 591, 0, 0, 0, 0, 0, 593, 503, 504,
+ 505, 506, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 327, 328, 329, 330, 331, 0, 0, 0, 507,
+ 508, 509, 510, 511, 332, 333, 334, 335, 336, 337,
+ 338, 594, 595, 596, 597, 0, 598, 599, 600, 601,
+ 602, 603, 604, 605, 606, 607, 339, 340, 341, 342,
+ 343, 344, 512, 513, 514, 515, 516, 517, 518, 519,
+ 345, 608, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 0, 0, 61, 62, 63, 64, 65, 66, 67,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, 319, 320, 321, 322, 323, 324, 0, 0, 499,
+ 500, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 501, 502,
+ 0, 325, 0, 484, 0, 0, 0, 0, 0, 593,
+ 503, 504, 505, 506, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 327, 328, 329, 330, 331, 0, 0,
+ 0, 507, 508, 509, 510, 511, 332, 333, 334, 335,
+ 336, 337, 338, 594, 595, 596, 597, 0, 598, 599,
+ 600, 601, 602, 603, 604, 605, 606, 607, 339, 340,
+ 341, 342, 343, 344, 512, 513, 514, 515, 516, 517,
+ 518, 519, 345, 608, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 374, 375, 376, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 0,
+ 0, 499, 500, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 501, 502, 0, 325, 0, 0, 0, 0, 0, 0,
+ 0, 593, 503, 504, 505, 506, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 327, 328, 329, 330, 331,
+ 0, 0, 0, 507, 508, 509, 510, 511, 332, 333,
+ 334, 335, 336, 337, 338, 594, 595, 596, 597, 0,
+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
+ 339, 340, 341, 342, 343, 344, 512, 513, 514, 515,
+ 516, 517, 518, 519, 345, 608, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 1, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
+ 324, 0, 0, 499, 500, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 501, 502, 0, 325, 0, 0, 0, 0,
+ 0, 0, 0, 593, 503, 504, 505, 506, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
+ 330, 331, 0, 0, 0, 507, 508, 509, 510, 511,
+ 332, 333, 334, 335, 336, 337, 338, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 339, 340, 341, 342, 343, 344, 512, 513,
+ 514, 515, 516, 517, 518, 519, 345, 0, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 1,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 0, 0, 0, 318, 319, 320, 321,
+ 322, 323, 324, 0, 0, 499, 500, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 501, 502, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 503, 504, 505, 506,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 327,
+ 328, 329, 330, 0, 0, 0, 0, 507, 508, 509,
+ 510, 511, 332, 333, 334, 335, 336, 337, 338, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 339, 340, 341, 342, 343, 344,
+ 512, 513, 514, 515, 516, 517, 518, 519, 345, 0,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
+ 376, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 322, 323, 324, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 325,
+ 0, 0, 0, 0, 0, 0, 0, 326, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 327, 328, 329, 330, 331, 0, 0, 0, 0,
+ 0, 0, 0, 0, 332, 333, 334, 335, 336, 337,
+ 338, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 339, 340, 341, 342,
+ 343, 344, 0, 0, 0, 0, 0, 0, 0, 0,
+ 345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 1, 2, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
@@ -2620,18 +2217,291 @@
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, 0, 0, 0,
- 0, 0, 0, 321, 0, 0, 0, 0, 0, 499,
- 500, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 501, 502,
- 0, 0, 575, 0, 0, 0, 0, 0, 0, 0,
- 503, 504, 505, 506, 0, 0, 0, 0, 0, 0,
+ 318, 319, 320, 321, 322, 323, 324, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 507, 508, 509, 510, 511, 332, 0, 0, 0,
- 0, 337, 338, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 512, 513, 514, 515, 516, 517,
- 518, 519, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 358, 2, 3, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 327, 328, 329, 330, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 332, 333, 334, 335,
+ 336, 337, 338, 594, 0, 0, 597, 0, 598, 599,
+ 0, 0, 602, 0, 0, 0, 0, 0, 339, 340,
+ 341, 342, 343, 344, 0, 0, 0, 0, 0, 0,
+ 0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 374, 375, 376, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 0,
+ 0, 0, 318, 319, 320, 321, 322, 323, 324, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 435, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 327, 328, 329, 330, 0,
+ 0, 0, 0, 0, 0, 0, 0, 436, 332, 333,
+ 334, 335, 336, 337, 338, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 339, 340, 341, 342, 343, 344, 0, 0, 0, 0,
+ 0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 1, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 0, 0, 0, 318, 319, 320, 321, 322, 323,
+ 324, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 325, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
+ 330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 332, 333, 334, 335, 336, 337, 338, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 339, 340, 341, 342, 343, 344, 0, 0,
+ 0, 0, 0, 0, 0, 0, 345, 0, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 1,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 0, 0, 0, 318, 319, 320, 321,
+ 322, 323, 324, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 706, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 327,
+ 328, 329, 330, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 332, 333, 334, 335, 336, 337, 338, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 339, 340, 341, 342, 343, 344,
+ 0, 0, 0, 0, 0, 0, 0, 0, 345, 0,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
+ 376, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 0, 0, 0, 318, 319,
+ 320, 321, 322, 323, 324, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 819, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 327, 328, 329, 330, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 332, 333, 334, 335, 336, 337,
+ 338, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 339, 340, 341, 342,
+ 343, 344, 0, 0, 0, 0, 0, 0, 0, 0,
+ 345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 1, 2, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 0, 0, 0,
+ 318, 319, 320, 321, 322, 323, 324, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 854, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 327, 328, 329, 330, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 332, 333, 334, 335,
+ 336, 337, 338, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 339, 340,
+ 341, 342, 343, 344, 0, 0, 0, 0, 0, 0,
+ 0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 374, 375, 376, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 0,
+ 0, 0, 318, 319, 320, 321, 322, 323, 324, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 327, 328, 329, 330, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 332, 333,
+ 334, 335, 336, 337, 338, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 339, 340, 341, 342, 343, 344, 0, 0, 0, 0,
+ 0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
@@ -2666,7 +2536,7 @@
0, 0, 0, 0, 0, 0, 321, 0, 0, 0,
0, 0, 499, 500, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 501, 502, 0, 0, 0, 636, 0, 0, 0,
+ 0, 501, 502, 0, 0, 0, 636, 774, 0, 0,
0, 0, 0, 503, 504, 505, 506, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 507, 508, 509, 510, 511, 332,
@@ -2709,8 +2579,8 @@
312, 313, 314, 0, 0, 0, 0, 0, 0, 321,
0, 0, 0, 0, 0, 499, 500, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 501, 502, 0, 0, 734, 0,
- 0, 0, 0, 0, 0, 0, 503, 504, 505, 506,
+ 0, 0, 0, 0, 501, 502, 0, 0, 0, 636,
+ 885, 0, 0, 0, 0, 0, 503, 504, 505, 506,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 507, 508, 509,
510, 511, 332, 0, 0, 0, 0, 337, 338, 0,
@@ -2753,7 +2623,7 @@
0, 0, 321, 0, 0, 0, 0, 0, 499, 500,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 501, 502, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 745, 503,
+ 0, 575, 0, 0, 0, 0, 0, 0, 0, 503,
504, 505, 506, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
507, 508, 509, 510, 511, 332, 0, 0, 0, 0,
@@ -2796,7 +2666,7 @@
0, 0, 0, 0, 0, 321, 0, 0, 0, 0,
0, 499, 500, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 501, 502, 0, 0, 0, 0, 0, 0, 0, 0,
+ 501, 502, 0, 0, 0, 636, 0, 0, 0, 0,
0, 0, 503, 504, 505, 506, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 507, 508, 509, 510, 511, 332, 0,
@@ -2839,11 +2709,11 @@
313, 314, 0, 0, 0, 0, 0, 0, 321, 0,
0, 0, 0, 0, 499, 500, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 501, 502, 0, 0, 0, 0, 0,
+ 0, 0, 0, 501, 502, 0, 0, 733, 0, 0,
0, 0, 0, 0, 0, 503, 504, 505, 506, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 507, 508, 509, 510,
- 511, 332, 0, 0, 0, 0, 337, 654, 0, 0,
+ 511, 332, 0, 0, 0, 0, 337, 338, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 512,
513, 514, 515, 516, 517, 518, 519, 0, 0, 0,
@@ -2883,10 +2753,10 @@
0, 321, 0, 0, 0, 0, 0, 499, 500, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 501, 502, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 503, 504,
+ 0, 0, 0, 0, 0, 0, 0, 744, 503, 504,
505, 506, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 507,
- 508, 509, 510, 694, 332, 0, 0, 0, 0, 337,
+ 508, 509, 510, 511, 332, 0, 0, 0, 0, 337,
338, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 512, 513, 514, 515, 516, 517, 518, 519,
@@ -2924,78 +2794,208 @@
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 0, 0,
0, 0, 0, 0, 321, 0, 0, 0, 0, 0,
+ 499, 500, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 501,
+ 502, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 503, 504, 505, 506, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 507, 508, 509, 510, 511, 332, 0, 0,
+ 0, 0, 337, 338, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 512, 513, 514, 515, 516,
+ 517, 518, 519, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 358, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 0, 0, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 0, 0, 0, 0, 0, 0, 321, 0, 0,
+ 0, 0, 0, 499, 500, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 501, 502, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 503, 504, 505, 506, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 507, 508, 509, 510, 511,
+ 332, 0, 0, 0, 0, 337, 654, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 512, 513,
+ 514, 515, 516, 517, 518, 519, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 358, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 0, 0,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
+ 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 0, 0, 0, 0, 0, 0,
+ 321, 0, 0, 0, 0, 0, 499, 500, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 501, 502, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 503, 504, 505,
+ 506, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 507, 508,
+ 509, 510, 694, 332, 0, 0, 0, 0, 337, 338,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 512, 513, 514, 515, 516, 517, 518, 519, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 358, 2, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 0, 0, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 0, 0, 0,
+ 0, 0, 0, 321, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 332, 0, 0,
- 0, 0, 337, 338
+ 0, 0, 0, 0, 0, 0, 332, 0, 0, 0,
+ 0, 337, 338
};
static const yytype_int16 yycheck[] =
{
- 0, 401, 0, 481, 401, 382, 406, 0, 493, 0,
- 634, 502, 636, 622, 0, 639, 542, 547, 737, 567,
- 434, 439, 552, 569, 401, 348, 440, 359, 390, 406,
- 413, 561, 558, 348, 331, 332, 336, 899, 385, 348,
- 570, 348, 351, 528, 906, 356, 349, 353, 351, 426,
- 374, 375, 376, 385, 916, 358, 351, 368, 381, 382,
- 383, 384, 409, 481, 359, 329, 330, 382, 430, 547,
- 367, 368, 372, 382, 552, 382, 490, 491, 351, 385,
- 558, 499, 500, 561, 446, 349, 359, 351, 351, 349,
- 356, 355, 570, 359, 640, 358, 473, 338, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 361, 540, 363,
- 601, 589, 603, 531, 546, 351, 548, 358, 351, 551,
- 350, 553, 358, 555, 556, 358, 356, 353, 560, 547,
- 356, 350, 741, 359, 552, 350, 350, 356, 350, 350,
- 558, 356, 356, 561, 356, 356, 354, 350, 356, 634,
- 774, 636, 570, 356, 639, 351, 350, 540, 649, 350,
- 350, 709, 356, 350, 350, 356, 356, 349, 653, 356,
- 356, 589, 349, 556, 408, 409, 410, 411, 412, 413,
- 414, 350, 350, 350, 359, 350, 349, 356, 356, 356,
- 567, 356, 569, 350, 350, 356, 350, 350, 350, 356,
- 356, 920, 356, 565, 356, 350, 350, 350, 350, 350,
- 350, 356, 356, 356, 356, 356, 356, 350, 352, 349,
- 352, 352, 356, 356, 356, 356, 381, 382, 383, 384,
- 854, 779, 632, 842, 349, 632, 720, 721, 722, 723,
- 658, 327, 328, 382, 382, 382, 385, 385, 385, 349,
- 356, 367, 743, 359, 382, 632, 747, 385, 382, 382,
- 349, 385, 385, 640, 382, 333, 334, 385, 798, 799,
- 382, 382, 349, 385, 385, 805, 806, 356, 357, 382,
- 765, 766, 385, 349, 382, 811, 910, 385, 382, 774,
- 704, 385, 364, 365, 366, 713, 714, 715, 716, 717,
- 718, 719, 720, 721, 722, 723, 724, 725, 726, 727,
- 728, 729, 730, 731, 385, 356, 356, 926, 359, 359,
- 798, 799, 356, 356, 359, 359, 359, 805, 806, 356,
- 357, 385, 709, 811, 385, 813, 716, 717, 353, 718,
- 719, 385, 724, 725, 353, 351, 385, 385, 351, 840,
- 358, 350, 843, 385, 359, 356, 358, 385, 371, 356,
- 356, 356, 356, 350, 356, 385, 356, 356, 356, 854,
- 349, 356, 356, 350, 349, 351, 359, 358, 349, 351,
- 798, 799, 382, 348, 352, 335, 337, 805, 806, 369,
- 390, 382, 883, 811, 352, 813, 370, 354, 398, 390,
- 398, 401, 779, 385, 349, 398, 406, 398, 406, 900,
- 401, 896, 398, 406, 349, 406, 416, 359, 385, 359,
- 349, 359, 349, 357, 915, 910, 426, 425, 359, 359,
- 430, 359, 349, 359, 349, 426, 385, 385, 350, 430,
- 358, 348, 356, 843, 350, 356, 446, 356, 350, 352,
- 393, 352, 356, 348, 354, 446, 350, 382, 349, 358,
- 353, 385, 359, 350, 397, 353, 843, 353, 726, 359,
- 354, 727, 729, 473, 430, 728, 731, 430, 730, 426,
- 572, 331, 473, 883, 484, 703, 845, 818, 905, 916,
- 845, 917, 424, 484, 883, 796, 632, 632, 563, 803,
- 398, 794, 801, 632, 806, 799, 883, -1, 813, -1,
- -1, 809, -1, -1, -1, 811, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 0, 382, 0, 493, 622, 502, 401, 401, 481, 0,
+ 434, 406, 542, 0, 0, 736, 440, 634, 567, 636,
+ 401, 390, 639, 413, 569, 406, 348, 547, 558, 348,
+ 359, 385, 552, 331, 332, 336, 353, 349, 528, 348,
+ 898, 561, 351, 351, 348, 426, 356, 905, 350, 352,
+ 570, 359, 351, 356, 356, 409, 385, 915, 368, 358,
+ 382, 430, 381, 382, 383, 384, 490, 491, 385, 367,
+ 368, 372, 351, 382, 547, 349, 351, 446, 382, 552,
+ 359, 329, 330, 358, 349, 558, 351, 351, 561, 374,
+ 375, 376, 473, 358, 358, 640, 353, 570, 361, 356,
+ 363, 349, 359, 351, 601, 349, 603, 355, 408, 409,
+ 410, 411, 412, 413, 414, 350, 589, 719, 720, 721,
+ 722, 356, 740, 338, 339, 340, 341, 342, 343, 344,
+ 345, 346, 347, 350, 350, 356, 350, 349, 359, 356,
+ 356, 349, 356, 358, 634, 350, 636, 350, 349, 639,
+ 540, 356, 649, 356, 540, 350, 773, 351, 350, 708,
+ 546, 356, 548, 653, 356, 551, 556, 553, 349, 555,
+ 556, 350, 350, 350, 560, 350, 350, 356, 356, 356,
+ 349, 356, 356, 350, 350, 350, 567, 350, 569, 356,
+ 356, 356, 350, 356, 350, 350, 565, 350, 919, 350,
+ 356, 356, 350, 356, 350, 356, 350, 350, 356, 350,
+ 356, 356, 356, 356, 352, 356, 352, 349, 356, 356,
+ 356, 385, 359, 841, 381, 382, 383, 384, 382, 778,
+ 439, 385, 382, 327, 328, 385, 853, 632, 632, 356,
+ 382, 356, 359, 385, 359, 742, 354, 382, 356, 746,
+ 385, 632, 382, 382, 382, 385, 385, 385, 382, 640,
+ 382, 385, 382, 385, 382, 385, 382, 385, 356, 385,
+ 356, 359, 481, 359, 764, 765, 349, 797, 798, 703,
+ 810, 333, 334, 773, 804, 805, 364, 365, 366, 359,
+ 499, 500, 909, 356, 357, 356, 357, 715, 716, 367,
+ 717, 718, 723, 724, 359, 385, 385, 925, 353, 385,
+ 353, 351, 351, 385, 385, 350, 385, 359, 349, 356,
+ 358, 350, 531, 356, 797, 798, 358, 708, 356, 356,
+ 356, 804, 805, 356, 356, 356, 356, 810, 547, 812,
+ 356, 356, 839, 552, 358, 842, 359, 350, 349, 558,
+ 349, 385, 561, 371, 351, 385, 351, 369, 348, 352,
+ 385, 570, 370, 853, 335, 337, 385, 352, 349, 349,
+ 354, 359, 349, 349, 385, 349, 359, 359, 357, 385,
+ 589, 359, 382, 349, 359, 882, 359, 350, 356, 359,
+ 390, 382, 356, 358, 356, 350, 350, 778, 398, 390,
+ 398, 401, 899, 352, 352, 895, 406, 398, 406, 356,
+ 401, 398, 398, 348, 348, 406, 416, 914, 354, 909,
+ 406, 382, 350, 349, 393, 385, 426, 425, 353, 358,
+ 430, 350, 359, 353, 725, 426, 353, 359, 397, 430,
+ 354, 727, 726, 730, 331, 728, 446, 842, 729, 658,
+ 702, 572, 817, 844, 904, 446, 915, 844, 916, 632,
+ 882, 842, 632, 430, 632, 398, 563, 424, 426, 795,
+ 793, 798, 802, 473, 430, 800, 808, 805, 812, 810,
+ -1, -1, 473, -1, 484, -1, -1, 882, -1, -1,
+ -1, -1, -1, 484, -1, -1, -1, -1, -1, -1,
+ -1, 882, -1, 712, 713, 714, 715, 716, 717, 718,
+ 719, 720, 721, 722, 723, 724, 725, 726, 727, 728,
+ 729, 730, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 536, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 558, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 565, -1, 567, -1, 569,
-1, -1, -1, -1, 565, -1, 567, -1, 569, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 797, 798,
+ -1, -1, -1, -1, -1, 804, 805, -1, -1, -1,
+ -1, 810, -1, 812, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 622, -1, -1, -1, -1, -1, -1, -1,
-1, 622, 632, -1, -1, -1, -1, -1, -1, -1,
@@ -3005,759 +3005,81 @@
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 709,
- -1, -1, -1, -1, -1, -1, -1, -1, 709, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 708, -1,
+ -1, -1, -1, -1, -1, -1, -1, 708, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 737, -1, -1,
- -1, 741, -1, -1, -1, -1, 737, -1, -1, -1,
- 741, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 779,
- -1, -1, -1, -1, -1, -1, -1, -1, 779, -1,
+ -1, -1, -1, -1, -1, -1, 736, -1, -1, -1,
+ 740, -1, -1, -1, -1, 736, -1, -1, -1, 740,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 811, -1, 813, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 842, 843, -1, 845, -1, 845, -1, -1,
- -1, 842, 843, -1, 845, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 883, -1, -1, -1, -1, -1, -1,
- -1, -1, 883, -1, -1, -1, -1, -1, -1, 899,
- -1, -1, -1, -1, -1, -1, 906, -1, 899, -1,
- -1, -1, -1, -1, -1, 906, 916, -1, -1, -1,
- 920, -1, -1, -1, -1, 916, 926, -1, -1, 920,
- -1, -1, -1, 0, -1, 926, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 351, -1, -1, -1, -1, -1,
- -1, -1, 359, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 373, 374, 375, 376,
- 377, -1, -1, -1, -1, -1, -1, -1, -1, 386,
- 387, 388, 389, 390, 391, 392, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 408, 409, 410, 411, 412, 413, -1, -1, -1,
- -1, -1, -1, -1, -1, 422, -1, 424, 425, 426,
- 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 450, 451, 452, 453, 454, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, 329, 330, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 348, 349, -1, 351, -1, 353, 354,
- -1, -1, -1, -1, 359, 360, 361, 362, 363, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, 377, -1, -1, -1, 381, 382, 383, 384,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, -1, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 325, 326, -1, -1, 329, 330, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 348, 349, -1, 351, -1,
- 353, 354, -1, -1, -1, -1, 359, 360, 361, 362,
- 363, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 373, 374, 375, 376, 377, -1, -1, -1, 381, 382,
- 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
- 393, 394, 395, 396, -1, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
- 413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
- 423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
- 453, 454, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 324, 325, 326, -1, -1, 329, 330,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 348, 349, -1,
- 351, -1, 353, -1, -1, -1, -1, -1, 359, 360,
- 361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 373, 374, 375, 376, 377, -1, -1, -1,
- 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
- 391, 392, 393, 394, 395, 396, -1, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
- 421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
- 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
- 451, 452, 453, 454, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 324, 325, 326, -1, -1,
- 329, 330, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 348,
- 349, -1, 351, -1, 353, -1, -1, -1, -1, -1,
- 359, 360, 361, 362, 363, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 373, 374, 375, 376, 377, -1,
- -1, -1, 381, 382, 383, 384, 385, 386, 387, 388,
- 389, 390, 391, 392, 393, 394, 395, 396, -1, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
- 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
- 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 450, 451, 452, 453, 454, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
- -1, -1, 329, 330, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 348, 349, -1, 351, -1, -1, -1, -1, -1,
- -1, -1, 359, 360, 361, 362, 363, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 373, 374, 375, 376,
- 377, -1, -1, -1, 381, 382, 383, 384, 385, 386,
- 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- -1, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
- 417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
- 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 450, 451, 452, 453, 454, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, 329, 330, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 348, 349, -1, 351, -1, -1, -1,
- -1, -1, -1, -1, 359, 360, 361, 362, 363, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, 377, -1, -1, -1, 381, 382, 383, 384,
- 385, 386, 387, 388, 389, 390, 391, 392, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 420, 421, 422, -1, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, -1, -1, -1, 320, 321, 322,
- 323, 324, 325, 326, -1, -1, 329, 330, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 348, 349, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 360, 361, 362,
- 363, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 373, 374, 375, 376, -1, -1, -1, -1, 381, 382,
- 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 408, 409, 410, 411, 412,
- 413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
- -1, 424, 425, 426, 427, 428, 429, 430, 431, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
- 453, 454, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 324, 325, 326, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 351, -1, -1, -1, -1, -1, -1, -1, 359, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 373, 374, 375, 376, 377, -1, -1, -1,
- -1, -1, -1, -1, -1, 386, 387, 388, 389, 390,
- 391, 392, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 408, 409, 410,
- 411, 412, 413, -1, -1, -1, -1, -1, -1, -1,
- -1, 422, -1, 424, 425, 426, 427, 428, 429, 430,
- 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
- 451, 452, 453, 454, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, -1, -1,
- -1, 320, 321, 322, 323, 324, 325, 326, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 778, -1,
+ -1, -1, -1, -1, -1, -1, -1, 778, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 373, 374, 375, 376, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 386, 387, 388,
- 389, 390, 391, 392, 393, -1, -1, 396, -1, 398,
- 399, -1, -1, 402, -1, -1, -1, -1, -1, 408,
- 409, 410, 411, 412, 413, -1, -1, -1, -1, -1,
- -1, -1, -1, 422, -1, 424, 425, 426, 427, 428,
- 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 450, 451, 452, 453, 454, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- -1, -1, -1, 320, 321, 322, 323, 324, 325, 326,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 841, 842, -1, 844, -1, 844, -1, -1, -1,
+ 841, 842, -1, 844, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 359, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 373, 374, 375, 376,
- -1, -1, -1, -1, -1, -1, -1, -1, 385, 386,
- 387, 388, 389, 390, 391, 392, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 408, 409, 410, 411, 412, 413, -1, -1, -1,
- -1, -1, -1, -1, -1, 422, -1, 424, 425, 426,
- 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 450, 451, 452, 453, 454, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, -1, -1, -1, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 351, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 386, 387, 388, 389, 390, 391, 392, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, -1,
- -1, -1, -1, -1, -1, -1, -1, 422, -1, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, -1, -1, -1, 320, 321, 322,
- 323, 324, 325, 326, -1, -1, -1, -1, -1, -1,
+ -1, -1, 882, -1, -1, -1, -1, -1, -1, -1,
+ -1, 882, -1, -1, -1, -1, -1, -1, 898, -1,
+ -1, -1, -1, -1, -1, 905, -1, 898, -1, -1,
+ -1, -1, -1, -1, 905, 915, -1, -1, -1, 919,
+ -1, -1, -1, -1, 915, 925, -1, -1, 919, -1,
+ -1, -1, 0, -1, 925, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 354, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 351, -1, -1, -1, -1, -1, -1,
+ -1, 359, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 373, 374, 375, 376, 377,
+ -1, -1, -1, -1, -1, -1, -1, -1, 386, 387,
+ 388, 389, 390, 391, 392, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 373, 374, 375, 376, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 386, 387, 388, 389, 390, 391, 392,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 408, 409, 410, 411, 412,
- 413, -1, -1, -1, -1, -1, -1, -1, -1, 422,
- -1, 424, 425, 426, 427, 428, 429, 430, 431, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
- 453, 454, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 316, -1, -1, -1, 320,
- 321, 322, 323, 324, 325, 326, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 354, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 373, 374, 375, 376, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 386, 387, 388, 389, 390,
- 391, 392, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 408, 409, 410,
- 411, 412, 413, -1, -1, -1, -1, -1, -1, -1,
- -1, 422, -1, 424, 425, 426, 427, 428, 429, 430,
- 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
- 451, 452, 453, 454, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, -1, -1,
- -1, 320, 321, 322, 323, 324, 325, 326, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 354, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 373, 374, 375, 376, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 386, 387, 388,
- 389, 390, 391, 392, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 408,
- 409, 410, 411, 412, 413, -1, -1, -1, -1, -1,
- -1, -1, -1, 422, -1, 424, 425, 426, 427, 428,
- 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 450, 451, 452, 453, 454, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- -1, -1, -1, 320, 321, 322, 323, 324, 325, 326,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 373, 374, 375, 376,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 386,
- 387, 388, 389, 390, 391, 392, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 408, 409, 410, 411, 412, 413, -1, -1, -1,
- -1, -1, -1, -1, -1, 422, -1, 424, 425, 426,
- 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 450, 451, 452, 453, 454, 4, 5,
+ 408, 409, 410, 411, 412, 413, -1, -1, -1, -1,
+ -1, -1, -1, -1, 422, -1, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
+ 448, 449, 450, 451, 452, 453, 454, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, -1, -1, 63, 64, 65,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
@@ -3783,68 +3105,343 @@
286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
- 316, -1, -1, -1, -1, -1, -1, 323, -1, -1,
- -1, -1, -1, 329, 330, -1, -1, -1, -1, -1,
+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, -1, -1, 329, 330, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 348, 349, -1, -1, -1, 353, 354, -1,
- -1, -1, -1, -1, 360, 361, 362, 363, -1, -1,
+ -1, -1, 348, 349, -1, 351, -1, 353, 354, -1,
+ -1, -1, -1, 359, 360, 361, 362, 363, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 373, 374, 375,
+ 376, 377, -1, -1, -1, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
+ 396, -1, 398, 399, 400, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, -1, -1, 329, 330, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 381, 382, 383, 384, 385,
- 386, -1, -1, -1, -1, 391, 392, -1, -1, -1,
+ -1, -1, -1, -1, 348, 349, -1, 351, -1, 353,
+ 354, -1, -1, -1, -1, 359, 360, 361, 362, 363,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 373,
+ 374, 375, 376, 377, -1, -1, -1, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, 395, 396, -1, 398, 399, 400, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
+ 454, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, -1, -1, 329, 330, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 414, 415,
- 416, 417, 418, 419, 420, 421, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 436, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, -1, -1,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, -1, -1, -1, -1, -1, -1,
- 323, -1, -1, -1, -1, -1, 329, 330, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 348, 349, -1, -1, -1,
- 353, 354, -1, -1, -1, -1, -1, 360, 361, 362,
- 363, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 381, 382,
- 383, 384, 385, 386, -1, -1, -1, -1, 391, 392,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 414, 415, 416, 417, 418, 419, 420, 421, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 436, 4, 5, 6, 7, 8, 9,
+ -1, -1, -1, -1, -1, -1, 348, 349, -1, 351,
+ -1, 353, -1, -1, -1, -1, -1, 359, 360, 361,
+ 362, 363, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 373, 374, 375, 376, 377, -1, -1, -1, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, 395, 396, -1, 398, 399, 400, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
+ 452, 453, 454, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, -1, -1, 63, 64, 65, 66, 67, 68, 69,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, -1, -1, 329,
+ 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 348, 349,
+ -1, 351, -1, 353, -1, -1, -1, -1, -1, 359,
+ 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 373, 374, 375, 376, 377, -1, -1,
+ -1, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, 395, 396, -1, 398, 399,
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
+ 450, 451, 452, 453, 454, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, -1,
+ -1, 329, 330, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 348, 349, -1, 351, -1, -1, -1, -1, -1, -1,
+ -1, 359, 360, 361, 362, 363, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 373, 374, 375, 376, 377,
+ -1, -1, -1, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, 395, 396, -1,
+ 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
+ 448, 449, 450, 451, 452, 453, 454, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, -1, -1, 329, 330, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 348, 349, -1, 351, -1, -1, -1, -1,
+ -1, -1, -1, 359, 360, 361, 362, 363, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 373, 374, 375,
+ 376, 377, -1, -1, -1, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 419, 420, 421, 422, -1, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, -1, -1, -1, 320, 321, 322, 323,
+ 324, 325, 326, -1, -1, 329, 330, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 348, 349, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 360, 361, 362, 363,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 373,
+ 374, 375, 376, -1, -1, -1, -1, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 419, 420, 421, 422, -1,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
+ 454, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 351,
+ -1, -1, -1, -1, -1, -1, -1, 359, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 373, 374, 375, 376, 377, -1, -1, -1, -1,
+ -1, -1, -1, -1, 386, 387, 388, 389, 390, 391,
+ 392, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 408, 409, 410, 411,
+ 412, 413, -1, -1, -1, -1, -1, -1, -1, -1,
+ 422, -1, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
+ 452, 453, 454, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
@@ -3870,18 +3467,291 @@
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
- -1, -1, -1, 323, -1, -1, -1, -1, -1, 329,
- 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 348, 349,
- -1, -1, 352, -1, -1, -1, -1, -1, -1, -1,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
+ 320, 321, 322, 323, 324, 325, 326, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 381, 382, 383, 384, 385, 386, -1, -1, -1,
- -1, 391, 392, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 414, 415, 416, 417, 418, 419,
- 420, 421, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 436, 4, 5, 6,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 373, 374, 375, 376, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 386, 387, 388, 389,
+ 390, 391, 392, 393, -1, -1, 396, -1, 398, 399,
+ -1, -1, 402, -1, -1, -1, -1, -1, 408, 409,
+ 410, 411, 412, 413, -1, -1, -1, -1, -1, -1,
+ -1, -1, 422, -1, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
+ 450, 451, 452, 453, 454, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
+ -1, -1, 320, 321, 322, 323, 324, 325, 326, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 359, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 373, 374, 375, 376, -1,
+ -1, -1, -1, -1, -1, -1, -1, 385, 386, 387,
+ 388, 389, 390, 391, 392, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 408, 409, 410, 411, 412, 413, -1, -1, -1, -1,
+ -1, -1, -1, -1, 422, -1, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
+ 448, 449, 450, 451, 452, 453, 454, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, -1, -1, -1, 320, 321, 322, 323, 324, 325,
+ 326, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 351, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 373, 374, 375,
+ 376, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 386, 387, 388, 389, 390, 391, 392, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 408, 409, 410, 411, 412, 413, -1, -1,
+ -1, -1, -1, -1, -1, -1, 422, -1, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, -1, -1, -1, 320, 321, 322, 323,
+ 324, 325, 326, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 354, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 373,
+ 374, 375, 376, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 386, 387, 388, 389, 390, 391, 392, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 408, 409, 410, 411, 412, 413,
+ -1, -1, -1, -1, -1, -1, -1, -1, 422, -1,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
+ 454, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, -1, -1, -1, 320, 321,
+ 322, 323, 324, 325, 326, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 354, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 373, 374, 375, 376, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 386, 387, 388, 389, 390, 391,
+ 392, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 408, 409, 410, 411,
+ 412, 413, -1, -1, -1, -1, -1, -1, -1, -1,
+ 422, -1, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
+ 452, 453, 454, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
+ 320, 321, 322, 323, 324, 325, 326, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 354, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 373, 374, 375, 376, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 386, 387, 388, 389,
+ 390, 391, 392, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 408, 409,
+ 410, 411, 412, 413, -1, -1, -1, -1, -1, -1,
+ -1, -1, 422, -1, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
+ 450, 451, 452, 453, 454, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
+ -1, -1, 320, 321, 322, 323, 324, 325, 326, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 373, 374, 375, 376, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 386, 387,
+ 388, 389, 390, 391, 392, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 408, 409, 410, 411, 412, 413, -1, -1, -1, -1,
+ -1, -1, -1, -1, 422, -1, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
+ 448, 449, 450, 451, 452, 453, 454, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
@@ -3916,7 +3786,7 @@
-1, -1, -1, -1, -1, -1, 323, -1, -1, -1,
-1, -1, 329, 330, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 348, 349, -1, -1, -1, 353, -1, -1, -1,
+ -1, 348, 349, -1, -1, -1, 353, 354, -1, -1,
-1, -1, -1, 360, 361, 362, 363, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 381, 382, 383, 384, 385, 386,
@@ -3959,8 +3829,8 @@
314, 315, 316, -1, -1, -1, -1, -1, -1, 323,
-1, -1, -1, -1, -1, 329, 330, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 348, 349, -1, -1, 352, -1,
- -1, -1, -1, -1, -1, -1, 360, 361, 362, 363,
+ -1, -1, -1, -1, 348, 349, -1, -1, -1, 353,
+ 354, -1, -1, -1, -1, -1, 360, 361, 362, 363,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 381, 382, 383,
384, 385, 386, -1, -1, -1, -1, 391, 392, -1,
@@ -4003,7 +3873,7 @@
-1, -1, 323, -1, -1, -1, -1, -1, 329, 330,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 348, 349, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 359, 360,
+ -1, 352, -1, -1, -1, -1, -1, -1, -1, 360,
361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
381, 382, 383, 384, 385, 386, -1, -1, -1, -1,
@@ -4046,7 +3916,7 @@
-1, -1, -1, -1, -1, 323, -1, -1, -1, -1,
-1, 329, 330, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 348, 349, -1, -1, -1, -1, -1, -1, -1, -1,
+ 348, 349, -1, -1, -1, 353, -1, -1, -1, -1,
-1, -1, 360, 361, 362, 363, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 381, 382, 383, 384, 385, 386, -1,
@@ -4089,7 +3959,7 @@
315, 316, -1, -1, -1, -1, -1, -1, 323, -1,
-1, -1, -1, -1, 329, 330, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 348, 349, -1, -1, -1, -1, -1,
+ -1, -1, -1, 348, 349, -1, -1, 352, -1, -1,
-1, -1, -1, -1, -1, 360, 361, 362, 363, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 381, 382, 383, 384,
@@ -4133,7 +4003,7 @@
-1, 323, -1, -1, -1, -1, -1, 329, 330, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 348, 349, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 360, 361,
+ -1, -1, -1, -1, -1, -1, -1, 359, 360, 361,
362, 363, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 381,
382, 383, 384, 385, 386, -1, -1, -1, -1, 391,
@@ -4174,13 +4044,143 @@
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, -1,
-1, -1, -1, -1, 323, -1, -1, -1, -1, -1,
+ 329, 330, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 348,
+ 349, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 360, 361, 362, 363, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 381, 382, 383, 384, 385, 386, -1, -1,
+ -1, -1, 391, 392, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 414, 415, 416, 417, 418,
+ 419, 420, 421, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 436, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, -1, -1, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, -1, -1, -1, -1, -1, -1, 323, -1, -1,
+ -1, -1, -1, 329, 330, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 348, 349, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 360, 361, 362, 363, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 381, 382, 383, 384, 385,
+ 386, -1, -1, -1, -1, 391, 392, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 414, 415,
+ 416, 417, 418, 419, 420, 421, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 436, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, -1, -1,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, -1, -1, -1, -1, -1, -1,
+ 323, -1, -1, -1, -1, -1, 329, 330, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 348, 349, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 360, 361, 362,
+ 363, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 381, 382,
+ 383, 384, 385, 386, -1, -1, -1, -1, 391, 392,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 414, 415, 416, 417, 418, 419, 420, 421, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 436, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, -1, -1, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
+ -1, -1, -1, 323, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 386, -1, -1,
- -1, -1, 391, 392
+ -1, -1, -1, -1, -1, -1, 386, -1, -1, -1,
+ -1, 391, 392
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -4256,30 +4256,30 @@
563, 348, 351, 382, 567, 584, 385, 585, 348, 381,
382, 383, 384, 571, 572, 382, 480, 485, 573, 382,
381, 382, 383, 384, 576, 577, 382, 485, 578, 382,
- 348, 579, 382, 584, 385, 485, 511, 581, 582, 382,
- 485, 352, 565, 511, 385, 523, 524, 354, 522, 521,
- 485, 504, 385, 364, 365, 366, 361, 363, 327, 328,
- 331, 332, 367, 368, 333, 334, 371, 370, 369, 335,
- 337, 336, 372, 352, 352, 480, 354, 532, 349, 359,
- 359, 553, 349, 349, 359, 359, 484, 349, 484, 357,
- 359, 359, 359, 359, 338, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 358, 483, 356, 359, 354, 528,
- 542, 546, 551, 525, 358, 354, 525, 526, 525, 521,
- 385, 350, 459, 484, 385, 482, 467, 348, 382, 568,
- 569, 350, 358, 350, 356, 350, 356, 350, 356, 356,
- 350, 356, 350, 356, 350, 356, 356, 350, 356, 356,
- 350, 356, 350, 356, 350, 350, 523, 512, 356, 359,
- 354, 467, 467, 467, 469, 469, 470, 470, 471, 471,
- 471, 471, 472, 472, 473, 474, 475, 476, 477, 478,
- 481, 352, 539, 552, 528, 554, 484, 359, 484, 357,
- 482, 482, 525, 354, 356, 354, 352, 352, 356, 352,
- 356, 572, 571, 485, 573, 577, 576, 485, 578, 348,
- 579, 581, 582, 359, 524, 484, 533, 484, 499, 544,
- 393, 527, 540, 555, 350, 350, 354, 525, 348, 382,
- 350, 350, 350, 350, 350, 350, 357, 354, 385, 350,
- 349, 544, 556, 557, 535, 536, 537, 543, 547, 482,
- 358, 529, 534, 538, 484, 359, 350, 397, 531, 529,
- 353, 525, 350, 484, 534, 535, 539, 548, 359, 354
+ 348, 579, 382, 584, 385, 485, 581, 582, 382, 485,
+ 352, 565, 511, 385, 523, 524, 354, 522, 521, 485,
+ 504, 385, 364, 365, 366, 361, 363, 327, 328, 331,
+ 332, 367, 368, 333, 334, 371, 370, 369, 335, 337,
+ 336, 372, 352, 352, 480, 354, 532, 349, 359, 359,
+ 553, 349, 349, 359, 359, 484, 349, 484, 357, 359,
+ 359, 359, 359, 338, 339, 340, 341, 342, 343, 344,
+ 345, 346, 347, 358, 483, 356, 359, 354, 528, 542,
+ 546, 551, 525, 358, 354, 525, 526, 525, 521, 385,
+ 350, 459, 484, 385, 482, 467, 348, 382, 568, 569,
+ 350, 358, 350, 356, 350, 356, 350, 356, 356, 350,
+ 356, 350, 356, 350, 356, 356, 350, 356, 356, 350,
+ 356, 350, 356, 350, 350, 523, 512, 356, 359, 354,
+ 467, 467, 467, 469, 469, 470, 470, 471, 471, 471,
+ 471, 472, 472, 473, 474, 475, 476, 477, 478, 481,
+ 352, 539, 552, 528, 554, 484, 359, 484, 357, 482,
+ 482, 525, 354, 356, 354, 352, 352, 356, 352, 356,
+ 572, 571, 485, 573, 577, 576, 485, 578, 348, 579,
+ 581, 582, 359, 524, 484, 533, 484, 499, 544, 393,
+ 527, 540, 555, 350, 350, 354, 525, 348, 382, 350,
+ 350, 350, 350, 350, 350, 357, 354, 385, 350, 349,
+ 544, 556, 557, 535, 536, 537, 543, 547, 482, 358,
+ 529, 534, 538, 484, 359, 350, 397, 531, 529, 353,
+ 525, 350, 484, 534, 535, 539, 548, 359, 354
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
@@ -4352,8 +4352,8 @@
570, 570, 571, 571, 572, 572, 572, 572, 572, 573,
573, 574, 574, 575, 575, 575, 575, 575, 575, 575,
575, 576, 576, 577, 577, 577, 577, 578, 578, 579,
- 579, 580, 580, 580, 580, 581, 581, 582, 582, 583,
- 583, 584, 584, 585, 585
+ 579, 580, 580, 580, 580, 581, 581, 582, 583, 583,
+ 584, 584, 585, 585
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -4426,8 +4426,8 @@
6, 8, 1, 3, 1, 1, 1, 1, 1, 1,
3, 4, 6, 4, 6, 6, 8, 6, 8, 6,
8, 1, 3, 1, 1, 1, 1, 1, 3, 1,
- 3, 6, 8, 4, 6, 1, 3, 1, 1, 4,
- 6, 1, 3, 3, 3
+ 3, 6, 8, 4, 6, 1, 3, 1, 4, 6,
+ 1, 3, 3, 3
};
@@ -12155,65 +12155,57 @@
#line 12156 "MachineIndependent/glslang_tab.cpp"
break;
- case 678: /* spirv_type_parameter: type_specifier */
-#line 4370 "MachineIndependent/glslang.y"
- {
- (yyval.interm.spirvTypeParams) = parseContext.makeSpirvTypeParameters((yyvsp[0].interm.type));
+ case 678: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */
+#line 4372 "MachineIndependent/glslang.y"
+ {
+ (yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst);
}
#line 12164 "MachineIndependent/glslang_tab.cpp"
break;
- case 679: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */
+ case 679: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */
#line 4375 "MachineIndependent/glslang.y"
- {
- (yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst);
- }
-#line 12172 "MachineIndependent/glslang_tab.cpp"
- break;
-
- case 680: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */
-#line 4378 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
(yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst);
}
+#line 12173 "MachineIndependent/glslang_tab.cpp"
+ break;
+
+ case 680: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_id */
+#line 4381 "MachineIndependent/glslang.y"
+ {
+ (yyval.interm.spirvInst) = (yyvsp[0].interm.spirvInst);
+ }
#line 12181 "MachineIndependent/glslang_tab.cpp"
break;
- case 681: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_id */
+ case 681: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_list COMMA spirv_instruction_qualifier_id */
#line 4384 "MachineIndependent/glslang.y"
- {
- (yyval.interm.spirvInst) = (yyvsp[0].interm.spirvInst);
+ {
+ (yyval.interm.spirvInst) = parseContext.mergeSpirvInstruction((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvInst), (yyvsp[0].interm.spirvInst));
}
#line 12189 "MachineIndependent/glslang_tab.cpp"
break;
- case 682: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_list COMMA spirv_instruction_qualifier_id */
-#line 4387 "MachineIndependent/glslang.y"
- {
- (yyval.interm.spirvInst) = parseContext.mergeSpirvInstruction((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvInst), (yyvsp[0].interm.spirvInst));
+ case 682: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL STRING_LITERAL */
+#line 4389 "MachineIndependent/glslang.y"
+ {
+ (yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, *(yyvsp[0].lex).string);
}
#line 12197 "MachineIndependent/glslang_tab.cpp"
break;
- case 683: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL STRING_LITERAL */
+ case 683: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL INTCONSTANT */
#line 4392 "MachineIndependent/glslang.y"
- {
- (yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, *(yyvsp[0].lex).string);
+ {
+ (yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[0].lex).i);
}
#line 12205 "MachineIndependent/glslang_tab.cpp"
break;
- case 684: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL INTCONSTANT */
-#line 4395 "MachineIndependent/glslang.y"
- {
- (yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[0].lex).i);
- }
-#line 12213 "MachineIndependent/glslang_tab.cpp"
- break;
-
-#line 12217 "MachineIndependent/glslang_tab.cpp"
+#line 12209 "MachineIndependent/glslang_tab.cpp"
default: break;
}
@@ -12438,5 +12430,5 @@
return yyresult;
}
-#line 4400 "MachineIndependent/glslang.y"
+#line 4397 "MachineIndependent/glslang.y"
diff --git a/glslang/MachineIndependent/intermOut.cpp b/glslang/MachineIndependent/intermOut.cpp
index a0fade1..d8a3aab 100644
--- a/glslang/MachineIndependent/intermOut.cpp
+++ b/glslang/MachineIndependent/intermOut.cpp
@@ -48,37 +48,6 @@
#endif
#include <cstdint>
-namespace {
-
-bool IsInfinity(double x) {
-#ifdef _MSC_VER
- switch (_fpclass(x)) {
- case _FPCLASS_NINF:
- case _FPCLASS_PINF:
- return true;
- default:
- return false;
- }
-#else
- return std::isinf(x);
-#endif
-}
-
-bool IsNan(double x) {
-#ifdef _MSC_VER
- switch (_fpclass(x)) {
- case _FPCLASS_SNAN:
- case _FPCLASS_QNAN:
- return true;
- default:
- return false;
- }
-#else
- return std::isnan(x);
-#endif
-}
-
-}
namespace glslang {
diff --git a/glslang/MachineIndependent/iomapper.cpp b/glslang/MachineIndependent/iomapper.cpp
index a1db5c1..19eabdf 100644
--- a/glslang/MachineIndependent/iomapper.cpp
+++ b/glslang/MachineIndependent/iomapper.cpp
@@ -79,7 +79,7 @@
target = &inputList;
else if (base->getQualifier().storage == EvqVaryingOut)
target = &outputList;
- else if (base->getQualifier().isUniformOrBuffer() && !base->getQualifier().isPushConstant())
+ else if (base->getQualifier().isUniformOrBuffer() && !base->getQualifier().isPushConstant() && !base->getQualifier().isShaderRecord())
target = &uniformList;
// If a global is being visited, then we should also traverse it incase it's evaluation
// ends up visiting inputs we want to tag as live
diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp
index c433521..b1adfc9 100644
--- a/glslang/MachineIndependent/linkValidate.cpp
+++ b/glslang/MachineIndependent/linkValidate.cpp
@@ -966,10 +966,10 @@
// current implementation only has one offset.
if (symbol.getQualifier().layoutMatrix != unitSymbol.getQualifier().layoutMatrix ||
symbol.getQualifier().layoutPacking != unitSymbol.getQualifier().layoutPacking ||
- symbol.getQualifier().layoutLocation != unitSymbol.getQualifier().layoutLocation ||
+ (symbol.getQualifier().hasLocation() && unitSymbol.getQualifier().hasLocation() && symbol.getQualifier().layoutLocation != unitSymbol.getQualifier().layoutLocation) ||
symbol.getQualifier().layoutComponent != unitSymbol.getQualifier().layoutComponent ||
symbol.getQualifier().layoutIndex != unitSymbol.getQualifier().layoutIndex ||
- symbol.getQualifier().layoutBinding != unitSymbol.getQualifier().layoutBinding ||
+ (symbol.getQualifier().hasBinding() && unitSymbol.getQualifier().hasBinding() && symbol.getQualifier().layoutBinding != unitSymbol.getQualifier().layoutBinding) ||
(symbol.getQualifier().hasBinding() && (symbol.getQualifier().layoutOffset != unitSymbol.getQualifier().layoutOffset))) {
error(infoSink, "Layout qualification must match:");
writeTypeComparison = true;
diff --git a/glslang/OSDependent/Unix/ossource.cpp b/glslang/OSDependent/Unix/ossource.cpp
index 3f029f0..81da99c 100644
--- a/glslang/OSDependent/Unix/ossource.cpp
+++ b/glslang/OSDependent/Unix/ossource.cpp
@@ -172,7 +172,7 @@
pthread_mutex_t gMutex;
}
-void InitGlobalLock()
+static void InitMutex(void)
{
pthread_mutexattr_t mutexattr;
pthread_mutexattr_init(&mutexattr);
@@ -180,6 +180,12 @@
pthread_mutex_init(&gMutex, &mutexattr);
}
+void InitGlobalLock()
+{
+ static pthread_once_t once = PTHREAD_ONCE_INIT;
+ pthread_once(&once, InitMutex);
+}
+
void GetGlobalLock()
{
pthread_mutex_lock(&gMutex);
diff --git a/gtests/AST.FromFile.cpp b/gtests/AST.FromFile.cpp
index 6e7a659..f9680dd 100644
--- a/gtests/AST.FromFile.cpp
+++ b/gtests/AST.FromFile.cpp
@@ -284,7 +284,9 @@
"textureoffset_sampler2darrayshadow.vert",
"atomicAdd.comp",
"GL_ARB_gpu_shader5.u2i.vert",
- "atomicCounterARBOps.vert"
+ "atomicCounterARBOps.vert",
+ "GL_EXT_shader_integer_mix.vert",
+ "GL_ARB_draw_instanced.vert",
})),
FileNameAsCustomTestSuffix
);
diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp
index 29740f3..ef11764 100644
--- a/gtests/Spv.FromFile.cpp
+++ b/gtests/Spv.FromFile.cpp
@@ -365,6 +365,7 @@
"spv.int64.frag",
"spv.intcoopmat.comp",
"spv.intOps.vert",
+ "spv.intrinsicsSpecConst.vert",
"spv.intrinsicsSpirvByReference.vert",
"spv.intrinsicsSpirvDecorate.frag",
"spv.intrinsicsSpirvExecutionMode.frag",
diff --git a/known_good.json b/known_good.json
index e1c2ce8..bed5dd8 100644
--- a/known_good.json
+++ b/known_good.json
@@ -5,14 +5,14 @@
"site" : "github",
"subrepo" : "KhronosGroup/SPIRV-Tools",
"subdir" : "External/spirv-tools",
- "commit" : "1fbed83c8aab8517d821fcb4164c08567951938f"
+ "commit" : "339d4475c1a806c187c57678af26733575d1cecd"
},
{
"name" : "spirv-tools/external/spirv-headers",
"site" : "github",
"subrepo" : "KhronosGroup/SPIRV-Headers",
"subdir" : "External/spirv-tools/external/spirv-headers",
- "commit" : "449bc986ba6f4c5e10e32828783f9daef2a77644"
+ "commit" : "29817199b7069bac971e5365d180295d4b077ebe"
}
]
}